Siirry sisältöön

All versions since 20.17.0

20.17.0

• docs: :memo: generated changelog and updated version files • feat: add 6 reusable UI decorator components for layout consolidation (#337) (#337) • feat: add CSS container queries for responsive list grid layout (#336) • feat: add quick-link cards and welcome text to homepage • fix: :bug: fixed common header height • fix: :bug: fixed duplicates issue • perf: :zap: removal of superflous classes • refactor: :lipstick: fixed light mode and added some truncation • refactor: :recycle: added an extra link to share modal • refactor: :recycle: disabled media button for when post wis QUOTE • refactor: :recycle: move list components using reusable list decorator • refactor: :zap: made larger availabel to drag • refactor: consolidate 33 card-based list components into shared-ui-reusable-list-decorator (#334) • refactor: consolidate 46 form components into shared-ui-reusable-form-decorator (#335) • refactor: consolidate 9 decorator components into shared feature-decorator (#333) • refactor: migrate 63 components to shared UI decorator libraries (#338)

20.17.1

• docs: :memo: generated changelog and updated version files

20.18.0

  • docs: :globe_with_meridians: updated i18n keys
  • docs: :memo: added descriptive text to policy page
  • docs: :memo: changed section header
  • docs: :memo: changed title name
  • docs: :memo: generated changelog and updated version files [no ci]
  • docs: :memo: new translations by OpenAI
  • docs: :memo: updated text slightly
  • feat: add 10 reusable shared component and directive libraries (round 2) (#344)
  • feat: add dark mode support to preview modal (#369)
  • feat: add file hash map, add mocking and dry runs and add dry-run execution summary
  • feat: add global section-counter scss utility and migrate dashboard
  • feat: add manages route and refactor user tab layout (#430)
  • feat: add metrics banner and dark mode row fixes to booking grid (#424)
  • feat: add mobile responsive dropdown to tabbed form decorator (#380)
  • feat: add postLogoutRedirectUris, redesign ui-card, unify card-list-label style
  • feat: add reusable dashboard decorator and section components (#433)
  • feat: add reusable-table-decorator and migrate 10 grids (#398)
  • feat: add session-expired page and redirect on refresh token failure (#427)
  • feat: add SPA and MACHINE_2_MACHINE client types (#434)
  • feat: add ui-section-delimiter reusable component
  • feat: apply dashboard decorator pattern to agent dashboard (#437)
  • feat: apply dashboard decorator pattern to automate dashboard (#438)
  • feat: booking details hero card UX redesign (#401)
  • feat: compact number formatting for aggregate data dashboard cards (#448)
  • feat: constrain page section title paragraph text width responsively (#382)
  • feat: dashboard redesign with purple accent and UI polish
  • feat: dashboard redesign, Inter font, Bootstrap dark mode, shared-styles consolidation (#392)
  • feat: dashboard UI overhaul (#422)
  • feat: embed page UI redesign (#391)
  • feat: enhance dashboard metrics banner and fix analytics i18n
  • feat: global form UI/UX polish with larger inputs, bold labels, and fixed ng-select borders (#348)
  • feat: improve calendar integration UI with lg sizing and HintCard (#400)
  • feat: improve list picker UX with search, select-all, and count (#403)
  • feat: leverage shared-ui-reusable-form-decorator in welcome text feature (#445)
  • feat: pipeline gate UX redesign (#416)
  • feat: redesign dashboard status section with always-visible layout (#397)
  • feat: redesign manager list ui with card layout and improved invite form (#374)
  • feat: redesign no-result-box with icon, BEM styles, and simplified template
  • feat: redesign profile suggestions tasks section with ring progress meter (#394)
  • feat: refactor dashboard to use shared decorator and section components (#436)
  • feat: replace card wrappers with reusable chart section decorator (#432)
  • feat: replace color palette selector with random theme button (#381)
  • feat: replace online presence flat list with card-based layout (#383)
  • feat: replace tabbed form with linear stepped wizard questionnaire (#407)
  • feat: reusable decorator layout ownership — list decorator slots + TranslocoDirective migration (#386)
  • feat: selectable theme card grid + image change bug fix (#388)
  • feat: standardize NAVIGATOR section across all app en.json files (#421)
  • feat: switch translation script to OpenAI (#340)
  • feat: use shared layout components and relocate app launcher
  • fix: :bug: fixed a bug in special rate bundle where all discounts got selected
  • fix: :bug: fixed hotel data disappearing after inventory update
  • fix: :bug: fixed review form url
  • fix: :lipstick: fixed bad layout
  • fix: :lipstick: fixed scroll to top after navigate
  • fix: :lipstick: hide bulk rate editor on submit
  • fix: :memo: fixed i18n keys
  • fix: :wrench: added missing package.json
  • fix: add missing name input and fix override type mismatches in BaseFormInputComponent
  • fix: add NgTemplateOutlet import to booking grid components using ngTemplateOutlet
  • fix: align ng-select search cursor with value text (#371)
  • fix: complete level=“page” to level=“h3” migration in ui-page-section-title consumers
  • fix: dark mode compatibility and missing i18n keys (#404)
  • fix: dark/light mode support for pricing table (#419)
  • fix: fix analytics dashboard form-select visibility and layout (#396)
  • fix: fix double border and use shared components in managed-by form (#378)
  • fix: fix light mode visibility and theme-aware app launcher buttons
  • fix: fix metrics banner overflow, mobile spacing, and chart backgrounds (#425)
  • fix: improve text quality in administration app (#365)
  • fix: improve text quality in api-docs app (#356)
  • fix: improve text quality in automate app (#359)
  • fix: improve text quality in campaigns app (#350)
  • fix: improve text quality in corporate app (#351)
  • fix: improve text quality in extranet app (#362)
  • fix: improve text quality in internet-booking-engine app (#363)
  • fix: improve text quality in my-account app (#364)
  • fix: improve text quality in online-travel-agency app (#358)
  • fix: improve text quality in payment-admin app (#360)
  • fix: improve text quality in payment-portal app (#354)
  • fix: improve text quality in payment-widget app (#352)
  • fix: improve text quality in social-list app (#361)
  • fix: improve text quality in social-list-native app (#355)
  • fix: improve text quality in studio app (#367)
  • fix: improve text quality in travel-agent app (#366)
  • fix: improve text quality in web-components app (#357)
  • fix: map form UI polish and display bug fixes (#390)
  • fix: no-available-rooms shown for gate 1-4 failures (#417)
  • fix: remove redundant nullish coalescing in form templates and improve type safety (#349)
  • fix: remove unused imports and resolve NG8113 compiler warnings (#399)
  • fix: replace hardcoded light-mode colors with bootstrap css variables for dark mode (#409)
  • fix: reset ng-select inner padding to align with form-control-lg (#370)
  • fix: summarize unrecoverable translation failures (#342)
  • fix: target .main-content scroll container instead of window on navigation (#442)
  • fix: truncate long values in ui-list-item-pair to prevent overflow (#429)
  • fix: use theme-aware color for ring meter percent symbol (#395)
  • fix: wrap shared-ui-select-input-form with shared-ui-form-field-layout (#408)
  • refactor: :recycle: address now required for TA and hotel
  • refactor: :recycle: externalized cdk-drag CSS into its own partial
  • refactor: :recycle: extracted shared breadcrumb, section title, and form field layout components
  • refactor: :recycle: fixed cyclical depenedency
  • refactor: :recycle: fixed nullish coalesence
  • refactor: :recycle: fixed potential issue
  • refactor: :recycle: grid decorator now leverages list decorator
  • refactor: :recycle: improved hotel landing page
  • refactor: :recycle: increase session time by not trying to refresh token in SPA
  • refactor: :recycle: making address mandatory for hotels to fill out
  • refactor: :recycle: migrated to the new responsive router link component
  • refactor: :recycle: moved a library
  • refactor: :recycle: moved green index lbrary
  • refactor: :recycle: optimized components
  • refactor: :recycle: renamed activity form
  • refactor: :recycle: small refactorings to make admin stylish
  • refactor: :recycle: working towards making address part of creation
  • refactor: :zap: OIDC now works flawlessly
  • refactor: apply shared reusable components and directives across codebase (round 2) (#346)
  • refactor: apply shared section title and form field layout to batch 1 ui forms
  • refactor: apply shared section title and form field layout to batch 10 remaining domain ui forms
  • refactor: apply shared section title and form field layout to batch 2 ui forms
  • refactor: apply shared section title and form field layout to batch 4 ui forms
  • refactor: apply shared section title and form field layout to batch 7 ui forms
  • refactor: apply shared section title and form field layout to geo-name ui forms
  • refactor: apply shared section title and form field layout to payment and travel-inventory ui forms
  • refactor: apply shared section title and form field layout to rate-plan restriction ui forms
  • refactor: apply shared section title and form field layout to special-rate qualifier ui forms
  • refactor: center form fields and use bootstrap large input group
  • refactor: centralize Bootstrap variables, global CSS, and migrate managed-social forms
  • refactor: extract BaseFormInputComponent and UiFormFieldComponent to eliminate CVA duplication (#347)
  • refactor: fix ui-page-section-title level naming and add h1/h2 support (#376)
  • refactor: flatten ui-chart-form and redesign data point layout (#384)
  • refactor: flatten ui-form into feature-form, migrate to reusable decorators (#379)
  • refactor: inline ui-form into feature and improve lookup section (#389)
  • refactor: lock down shared-ui-list-item-pair API to typed inputs (#428)
  • refactor: merge ANALYTICS_CHART i18n scope into ANALYTICS (#385)
  • refactor: migrate choose-channel-manager to shared-ui-reusable-form-decorator (#418)
  • refactor: migrate inventory-list to shared-ui-reusable-table-decorator (#415)
  • refactor: migrate missed itinerary section titles in customization ui-form
  • refactor: migrate tables to shared-ui-reusable-table-decorator (#423)
  • refactor: move non-title content from #header to #subHeader slot (#405)
  • refactor: reduce template duplication across all migrated grid components
  • refactor: replace hand-rolled grid layout with shared decorator components (#435)
  • refactor: replace ngbDropdown with native select in reusable-tabbed-form-decorator
  • refactor: replace raw Bootstrap heading patterns with shared-ui-page-section-title (#375)
  • refactor: replace UntypedFormGroup with FormGroup and formGroup.get() with formGroup.controls (#410)
  • refactor: standardise form ui components and improve multi-select styling
  • refactor: use reusable page title and form field layout in overview form (#372)
  • refactor: wrap feature-form in reusable decorator components (#406)
  • refactor: wrap level field in shared-ui-form-field-layout with lg size (#431)
  • refactor: wrap media-feature-form in shared-ui-reusable-form-decorator
  • refactor: wrap shared-ui-date-picker-form with shared-ui-form-field-layout (#402)
  • style: :fire: removed wrapping layout decorator
  • style: :lipstick: defaulting create button to large
  • style: :lipstick: fixed reset button not being dark mode friendly
  • style: :lipstick: fixed submit button horizontal width
  • style: :lipstick: fixed welcome text form
  • style: :lipstick: improved reusability
  • style: :lipstick: improved UI
  • style: :lipstick: made all form-field-layout a bit wider
  • style: :lipstick: made submit buttons large
  • style: :lipstick: migrated localized description form
  • style: :lipstick: removed br
  • style: :lipstick: removed padding in GM form
  • style: :lipstick: removed top margin and padding
  • style: :lipstick: some style alignment applied
  • style: :wrench: changed selector
  • style: fix dark mode for form controls and hours of operation layout
  • style: fix rate calendar dark mode, center table, and update bulk form layout (#412)
  • style: improve announcement modal UI with indigo card design (#452)
  • style: standardise checkmarks and reposition testimonials section (#446)
  • style: wrap rate-plan restriction form fields with shared-ui-form-field-layout and bootstrap lg (#411)
  • style: wrap special-rate qualifier form fields with shared-ui-form-field-layout (#413) (#413)

20.19.0

20.20.0

  • feat(social-list): add design customization for backgrounds, gradients, profile sizing, and fonts (#464)
  • fix: :bug: fixed online presence form on WinkLinks
  • fix(authentication): wait for oauth init before checking token in route guards (#463)

20.21.0

  • chore: :wrench: started using Cloudinary video player min css
  • feat(social-list): page title rename, icon sizing, and font picker modal (#466)
  • feat(social-list): real-time design preview via postMessage (#467)
  • fix: :bug: instagram wasn’t displaying its iframe
  • fix: :recycle: fixed early session timeout
  • fix(#468): :bug: added loading hotel info in orchestrator to satisfy contract
  • fix(meta): load instagram embed.js after blockquote is in DOM

20.22.0

  • chore: :rotating_light: fixed a bunch of linter and tests
  • chore: :wrench: AI test script
  • chore: replace Object.assign with spread operator (#473)
  • chore(test): swap jest text reporter for text-summary
  • docs: :globe_with_meridians: updated i18n files
  • docs: :memo: added missing ROOM_CONFIGURATION_FORM back to i18n files
  • docs: :memo: fixed incorrect i18n key ref
  • docs: :memo: updated i18n
  • feat: :sparkles: Revolut payout portal integration (Phases 8-9)
  • feat: monorepo health improvements — ESLint boundaries, build scripts, Nx generators
  • feat: Revolut payout portal integration (Phases 8-9) (#504)
  • feat(add-on): simplify configuration tab by inlining transactional fields (#507)
  • feat(room-type-configurator): improve ancillary list UI/UX
  • feat(room-type-configurator): overhaul no-availability empty state in modal (#506)
  • feat(room-type-configurator): redesign modal layout and ancillary item cards (#499)
  • feat(room-type-configurator): redesign modal UI with tabs, theme tokens, and payment flow polish (#501)
  • feat(seller-url): mirror supplier-url preview components and fix media selection (#498)
  • feat(social-list): add embed support warnings to web link modal (#481)
  • fix: :bug: fixed booking request not being available
  • fix: :lipstick: incorrect style removed
  • fix: :recycle: added TA’s booking user if available
  • fix: :recycle: fixed failing projects
  • fix: :rotating_light: fixed 2 lint errors and synced all project versions
  • fix: :rotating_light: fixed compilation error
  • fix: :white_check_mark: fixed tests and compilations
  • fix: :white_check_mark: fixing tests and configuring some stuff
  • fix: :wrench: fixed compilation error
  • fix: :wrench: made sure to avoid an object that might be immutable
  • fix: consolidate card footer action buttons into ngbDropdown menu (#492)
  • fix: dark mode and dropdown consistency for card footer actions (#487)
  • fix: monorepo cleanup — Sentry token, tsconfig boundary, eslint dedup
  • fix: resolve 48 lint errors across monorepo (#478)
  • fix: resolve all CI lint errors (WS-SA-LINT-823) (#483)
  • fix: resolve all CI lint errors and warnings (WS-SA-LINT-825) (#485)
  • fix: resolve all CI test failures and deprecation warnings (WS-SA-823) (#484)
  • fix: resolve all lint errors, fix tests, and update peerDependencies across monorepo (#472)
  • fix: resolve all typescript compilation errors across monorepo
  • fix: resolve CI test failures with ESM config, missing imports, and mock fixes (WS-SA-TEST-825)
  • fix: resolve lint errors in shortened-url-publisher and payment-admin projects (#479)
  • fix: resolve merge conflict markers left by squash-merge of PR #504
  • fix: resolve remaining CI test failures with provider and mock fixes (WS-SA-TEST-825)
  • fix: social-list dashboard empty due to id token check blocking data load (#480)
  • fix: sync lib dependency versions with root package.json and fix lint errors (#505)
  • fix(room-type-configurator): total price now updates when itinerary changes (#508)
  • refactor: :recycle: added better data to the room config card
  • refactor: :recycle: remove sentry feedback in OTA and OBE
  • refactor: :recycle: updated spotify regex
  • refactor: :zap: removed some derived state and improved room configuration modal
  • refactor: consolidate shared UI to directives and signals (Phase 2) (#489)
  • refactor: migrate modal-opening logic and replace SubmitButtonDirective with ConfirmationModalService
  • refactor: migrate ui-submit-button and ui-status-badge to Angular directives (#488)
  • style: :lipstick: fixed layout concerns
  • style: :lipstick: fixed pattern dark mode friendly
  • style: :lipstick: improved payment widget
  • style: :lipstick: made a uniform cancel link on payment widget
  • style: :lipstick: remove rounded corners om image carousel
  • style: :lipstick: removed unwanted border from drag handle
  • test: :green_heart: fix lint errors
  • test: :green_heart: fixed 2 tests
  • test: :green_heart: fixed failing tests
  • test: :green_heart: fixed lint errors and warnings
  • test: :rotating_light: fixed 111 lint issues
  • test: :rotating_light: fixed lint error
  • test: achieve 85% code coverage across all projects for CI green build (#500)
  • test: comprehensive test improvements for ci green build
  • test: fix failing tests and coverage across 342 files (#502)

20.23.0

  • chore: bump internal library versions to 20.22.0 and apply WCAG/test fixes (#513)
  • feat: WCAG 2.2 AA compliance foundations (#509)
  • feat(add-on): date range restriction type (#511)
  • feat(payment-admin): add revolut integration status page and sidebar alert (#514)
  • feat(room-type-configurator): add vertical card UI for add-on ancillaries (#510)
  • fix: :bug: new add-on can now be saved
  • fix: :recycle: fixed back-end urls
  • refactor: :recycle: added included in price flag on add-on
  • refactor: :recycle: added toast to revolut actions
  • refactor(payment): migrate bank account list to ReusableListDecoratorComponent (#516)
  • style: :lipstick: added prices next to room types. improved add-on
  • style: :lipstick: improved dark mode in IBE header
  • test: :green_heart: fixed lint errors
  • test: :rotating_light: fixed lint errors
  • test: :wrench: fix lint error
  • test: :wrench: fixed lint errors
  • test: fix failing tests and improve coverage across 500+ projects (#512)
  • test: fix Jest coverage violations across 380+ libraries to meet 85% threshold (#518)

20.24.0

  • feat(customization): add Google Tag Manager container ID support
  • refactor: :fire: remove social-list-native
  • refactor: :recycle: refactored links that worked
  • test: :green_heart: update code coverage (#520)

20.24.1

  • test: :rotating_light: fixed lint error

20.24.2

  • fix: :lipstick: incorrect syntax in index.html fixed
  • fix: :wrench: updated sync-package-versions script
  • test: :green_heart: update code coverage

20.25.0

20.25.1

20.26.0

  • chore: :arrow_up: upgraded Angular to latest version
  • chore: :arrow_up: upgraded some 3rd party deps
  • chore: :recycle: renamed EngineClient to CustomizationClient everywhere
  • chore: :triangular_flag_on_post: added a payout feature flag
  • chore: :wrench: enabled payouts in staging
  • chore: consolidate bootstrap libraries and refactor domain consumers
  • chore: ignore .claude/scheduled_tasks.lock runtime artifact
  • chore(booking-engine): drop unused @wink/property-inventory/domain dependency from flow lib
  • chore(claude): guard against wink:label misuse and duplicated wink: prefix
  • docs: :globe_with_meridians: creating translations
  • docs: :globe_with_meridians: update translations across all apps
  • docs: :memo: added missing i18n keys
  • docs: :memo: added missing i18n keys for GRI and BED
  • docs: :memo: removed comment
  • docs: :memo: translation complete
  • docs: :memo: updated keys and layout in WinkLinks
  • docs: :memo: updated translations
  • docs: add ngx-date-fns skill
  • docs: generated changelog and updated version files
  • feat: add code-viewer and agent sidebar libs, rename travel-agent route lib
  • feat: capture optional recipient address on bank-account form (#606)
  • feat: design changes (#447)
  • feat: display git commit hash in footer for staging build identification
  • feat: improve modal UX, add missing i18n keys, and fix affiliate publisher service rename
  • feat: show ledger balance as withdrawable funds in funds-transfer (#604)
  • feat: support room-stay quantity>1 and multi-room-type carts in the IBE (#611)
  • feat(access): add ACL section/scope model, page-level gating, and button authorization (#621)
  • feat(admin): add property decorator/status, fix breadcrumbs, redesign checklist
  • feat(admin): add refund requests section with approve/modify/reject
  • feat(administration): add external portal link to account and property decorators
  • feat(api-docs): migrate from Bootstrap 5 to Tailwind CSS v4 + daisyUI
  • feat(application): create-only client type, split create/update payloads, scopes on card
  • feat(booking): add Google Calendar link and restyle public booking details
  • feat(booking): admin refund flow with async settlement tracking and currency fixes (#642)
  • feat(booking): unify cancellation rule and add refund-preview cancel modals (#645)
  • feat(corporate): add dark mode support with consistent branding (#525)
  • feat(corporate): migrate corporate app to Tailwind CSS v4 with new header and homepage (#524)
  • feat(dynamic-seller-list): render saved searches as a code-block DSL
  • feat(extranet): overhaul booking details page UI and domain types
  • feat(google-tag-manager): revamp GA4 enhanced ecommerce item tracking (#522)
  • feat(green-index): differentiate intro page for first-time vs returning users
  • feat(lead): add bulk status update to lead grid with NgRx wiring and filter row polish
  • feat(managing-entity): add bulk status update to admin grid with back-end endpoint and tests
  • feat(managing-entity): add edit-access UI for existing managers
  • feat(payment-admin): add aggregate data service, leaderboard entities, and dashboard redesign
  • feat(payment-admin): redesign dashboard with httpResource, funds flow, and leaderboards
  • feat(payment-admin): redesign refund modal with pinned header/footer and live calculator
  • feat(payment-portal): add payout withdrawal system with fee estimation and history (#581)
  • feat(payment): disable stripe advanced fraud signals on staging for e2e
  • feat(portal): add hotel/creator toggle to portal landing page
  • feat(portal): add missing social-list design i18n keys
  • feat(property): add bulk status update to admin grid with NgRx wiring
  • feat(property): popularity index pipe and card data unification
  • feat(rate-verifier): add room quantity selector to test booking modal
  • feat(social-list): redesign link manager and social insights UI
  • feat(special-rate-bundle): add localized descriptions to bundled promotions (#573)
  • feat(static-seller-list): redesign curated list cards with daisyUI shell
  • feat(tailwind): complete Bootstrap to Tailwind CSS + daisyUI migration
  • feat(user): add bulk enable/disable to user grid with NgRx wiring
  • feat(user): add enabled/disabled filter to user grid status column
  • feat(wizard): gate extranet behind property-setup wizard and rebuild onboarding flow
  • fix: :bug: fix an issue when wizard loading for non hotel
  • fix: :bug: fixed OTA landing page missing itinerary picker
  • fix: :bug: fixed partnerships section
  • fix: :bug: fixed redirect url to booking details
  • fix: :bug: IBE now runs again using cid
  • fix: :chore: fixed paths
  • fix: :green_heart: correct ng-package.json dest paths for renamed route libraries
  • fix: :green_heart: fix build paths and lint errors after directory renames
  • fix: :green_heart: update angular 21.2.11→21.2.12 and sentry 10.51.0→10.52.0 in library peer deps
  • fix: :green_heart: update peer dependencies to fix lint errors across 53 libraries
  • fix: :recycle: fixed GA$ select
  • fix: :recycle: fixed incorrect sidebar link to activities
  • fix: :recycle: improved forwarding to new account you manage
  • fix: :rotating_light: fix lint errors and failing tests across 7 libraries
  • fix: :rotating_light: fixed all lint errors
  • fix: :rotating_light: fixed compilation errors
  • fix: :rotating_light: fixed tests and lint errors
  • fix: :white_check_mark: update tests for GA4 context interface after enhanced ecommerce revamp
  • fix: :wrench: fixed customization client failures
  • fix: :wrench: fixed report generation missing numbers
  • fix: :wrench: removed apps in versions document
  • fix: :zap: remove old signal
  • fix: add missing peerDependencies to resolve dependency-checks lint errors
  • fix: add missing whenPropertySelected$ effect to WizardEffects
  • fix: added activities on hotel addons (#651)
  • fix: addons changes (#654)
  • fix: address sentry follow-ups from pr #559
  • fix: booking engine design issues (#643)
  • fix: booking engine improvement (#636)
  • fix: booking engine minor changes and fixes (#570)
  • fix: booking engine minor issue fixes (#634)
  • fix: booking engine stuff (#628)
  • fix: booking engine suggested changes and discount chnages on payment (#571)
  • fix: bridge form valueChanges to signals so breadcrumb labels react to typing
  • fix: build error fix (#619)
  • fix: cart issue (#566)
  • fix: checkout page changes (#556)
  • fix: correct booking/ui-breakdown lib tags and shore up tests
  • fix: correct peerDependencies in payment-portal and shortened-url packages
  • fix: dark mode and mobile design (#547)
  • fix: date picker issue and hotel adons change (#582)
  • fix: design changes (#599)
  • fix: design changes sugested by yann (#584)
  • fix: design fixes
  • fix: design issue and currency conversion (#542)
  • fix: eliminate white footer in social-list sign-up page
  • fix: ensure all lint and tests pass for uncommitted files
  • fix: hotel adons change (#583)
  • fix: improve checkbox spacing and modal layout in test booking form
  • fix: infromation login flow fix (#536)
  • fix: merge hotel addons and room addons (#650)
  • fix: migrate 15 projects to new GA4ItemContextInterface API (#528)
  • fix: minor issue fixes (#552)
  • fix: multiroom booking and profile page
  • fix: multiroom booking issues changes (#622)
  • fix: ng05104 issue for booking engine (#624)
  • fix: payment failure
  • fix: payment flow (#641)
  • fix: payment issue (#544)
  • fix: pipe changes (#545)
  • fix: pipe changes and rooms left functionality improvement (#550)
  • fix: profile api changes and payment modal design changes (#612)
  • fix: rate plan design issue (#564)
  • fix: refactor payment modal (#618)
  • fix: refactor room type component (#613)
  • fix: replace invalid dark:text-white-secondary class with valid dark variant
  • fix: reservation dates for hotel adons (#630)
  • fix: resolve lint errors and test failures across 13 projects
  • fix: resolve lint errors and test failures across 30 projects
  • fix: resolve lint errors and test failures in multi-project changes
  • fix: resolve test failures across 10 projects after footer and payment-portal refactors
  • fix: restyle grid filter rows and align dark base surfaces
  • fix: room card design (#563)
  • fix: room componenet size (#605)
  • fix: route issue for OTA (#598)
  • fix: set globalThis.Prism before loading prism-markup plugin
  • fix: test cases and side menu profile issue (#533)
  • fix: update booking-status tests and peerDependencies for new TEST_PAYMENT_SUCCEEDED enum value
  • fix: wink-3rd-party-gtm duplicate tag (#568)
  • fix: yann suggested design changes (#539)
  • fix(a11y): add accessible names to form controls and lift create-wizard contrast
  • fix(a11y): darken booking-engine header avatar initials palette for AA contrast
  • fix(a11y): raise color contrast on tabs, pricing badge and avatar initials
  • fix(a11y): resolve blocking axe violations in portal shell
  • fix(admin): restore missing DASHBOARD and CHART i18n keys from payment-admin
  • fix(admin): restore REVOLUT i18n keys removed in PR #561
  • fix(analytics): use consistent card background on gradient stacked area charts
  • fix(application): copy secret in modal and keep scopes after update
  • fix(auth): only arm automatic silent refresh when a refresh token exists
  • fix(booking-engine,customization): repair corrupted specs and decouple scheduler modal
  • fix(booking-engine): remove redundant optional chaining on add-on quantities signal
  • fix(booking-engine): update transactional menu tests to use i18n translations
  • fix(booking-grid): guard missing property/state instead of throwing (#648)
  • fix(booking): after-refund breakdown shows original sell rate + amount refunded
  • fix(booking): clean up request-refund-modal daisyUI layout
  • fix(booking): NgRx feature-key collision + null-safe booking selectors (#646)
  • fix(booking): reflect room quantity in booking details line items
  • fix(booking): show amount paid in receipt header after full refund
  • fix(booking): use form-field-layout for cancellation reason modal spacing
  • fix(campaigns): restore Tailwind/daisyUI generation in build styles
  • fix(e2e-utils): remove dangling eslint-disable for unconfigured playwright rule
  • fix(extranet): redesign booking engine page with dark mode and guided UX (#580)
  • fix(extranet): select property when managing entity changes (#577)
  • fix(extranet): statically type booking row template in hotel-booking-grid
  • fix(i18n): add ATTRACTION.NAME_PLACEHOLDER key for attraction form breadcrumb
  • fix(inventory): missing i18n keys and latest-inventory header style
  • fix(lead): make lead form address hints dark-mode friendly
  • fix(lint): sync library peerDependencies and fix regex-spaces
  • fix(managed-social): resolve lint errors in calendar post modal spec
  • fix(portal): correct i18n keys, routes, and icons in sidebar sections (#579)
  • fix(portal): gate extranet/social/agent routes by managing-entity type
  • fix(portal): ui polish for dropdowns, buttons, sidebar, and rate verifier (#578)
  • fix(portals): link contact to /contact page instead of mailto
  • fix(publisher): null-safe NgRx publisher selectors (#647)
  • fix(rate-tester): null-safe room result arrays at the store entry point (#649)
  • fix(rate-verifier): use number input for test booking quantity
  • fix(rate): add dark mode support to rate calendar grid (#576)
  • fix(seller-url): stack url form fields full-width instead of cramped grid columns
  • fix(shared): consolidate prismjs bootstrap into @wink/shared/util-prism
  • fix(shopping-cart): omit dates on non-appointment ancillaries
  • fix(shopping-cart): prevent duplicate carts when adding a second room type
  • fix(shortened-url): add missing portal i18n keys for link shortener
  • fix(shortened-url): brighten action-button text and drop dead variant classes
  • fix(social-list): brighten FAQ text in dark mode
  • fix(special-rate-bundle): persist bundles created without override (#574) (#575)
  • fix(studio): browse drawer rendering, sort dropdown, i18n gaps
  • fix(styles): alias daisyUI error/neutral color scales to wink danger/muted
  • fix(tailwind): collapse duplicated wink: prefix in template classes
  • fix(tests): align specs and peerDeps with recent booking/admin/payment refactors
  • fix(tests): fix spec failures from httpResource migration and sidebar refactors
  • fix(travel-agent): correct route-authenticated ng-package dest after rename
  • perf: :fire: removed unused decorator
  • perf: reduce initial bundle size for administration and extranet apps (#561)
  • perf(sentry): lazy-load replay/feedback via cdn to shrink initial bundle
  • refactor: :art: no changes
  • refactor: :chart_with_upwards_trend: migrating analytics to new domain model
  • refactor: :chart_with_upwards_trend: migrating GA4 analytics
  • refactor: :chart_with_upwards_trend: migrating ga4 checkout
  • refactor: :fire: remove hotel location
  • refactor: :fire: removed mocks from package.json
  • refactor: :memo: added missing i18n keys
  • refactor: :recycle: added a ancillary type filter on dates
  • refactor: :recycle: added beneficiary breakdown in booking itself
  • refactor: :recycle: added group data on thank you component
  • refactor: :recycle: added logo and icon to brand section
  • refactor: :recycle: added managingEntityIdentifier to application and webhook
  • refactor: :recycle: added MCP scope in application form
  • refactor: :recycle: added mode = creator to portal url
  • refactor: :recycle: added Revolut payments
  • refactor: :recycle: compiles and runs again
  • refactor: :recycle: consolidated create / update routes
  • refactor: :recycle: everything compiles again
  • refactor: :recycle: fixed breadcrumbs and links everywhere
  • refactor: :recycle: fixed bulk updates everywhere
  • refactor: :recycle: fixed hotel checklist from running when not hotel
  • refactor: :recycle: fixed map form and card
  • refactor: :recycle: fixed some keys
  • refactor: :recycle: fixed some text color
  • refactor: :recycle: fixing colors and WinkLinks
  • refactor: :recycle: fixing up portal paths
  • refactor: :recycle: improved recognition form
  • refactor: :recycle: improved WCAG Skip link to use routerLink
  • refactor: :recycle: made sure activeCancellationPolicy is used everywhere
  • refactor: :recycle: made using activeCancellationPolicy is used everywhere
  • refactor: :recycle: migrated interfaces from PR 331
  • refactor: :recycle: missing keys and paths
  • refactor: :recycle: moved administration to admin
  • refactor: :recycle: myAccountUrl now points to IAM server
  • refactor: :recycle: nothing depends on clientId any longer except OAuth2
  • refactor: :recycle: re-organizing routes
  • refactor: :recycle: removed commented out member variables
  • refactor: :recycle: removed hotel location from hotel landing bottom
  • refactor: :recycle: removed WordPress modal
  • refactor: :recycle: switched to Stripe checkout session
  • refactor: :recycle: unify insight pages layout and clean up social-list
  • refactor: :recycle: updated footer links
  • refactor: :recycle: updated how the price is displayed in Stripe widget
  • refactor: :recycle: updated versions in all packages. custom font now loads in IBE
  • refactor: :zap: let’s try to load all modules at the same time
  • refactor: consolidate booking-contract domain and reorganize payment libs (#553)
  • refactor: consolidate URL creation pipes into managing-entity domain
  • refactor: harden release script with guards, confirmation, and error handling
  • refactor: only load wizard when managing entity is a hotel
  • refactor: rename extranet app to portal (#562)
  • refactor: standardize card image rendering with mediaCardImage directive
  • refactor(a11y): extract avatar-initials palette to a shared constant
  • refactor(api): normalize backend URLs + apply *-data.service.ts naming
  • refactor(booking): collapse refund list to a single refund
  • refactor(booking): gate resend-email via ngx-date-fns pipes
  • refactor(booking): merge booking-contract state into admin-booking and clean up dead code
  • refactor(booking): split booking-session state from consumer-booking
  • refactor(dashboard): drop dead goToAnalytics binding and redirectToAnalytics handler
  • refactor(dashboard): split overview/analytics by managing-entity type with deferred lazy loading
  • refactor(inventory): redesign card header and align quick-search form
  • refactor(portal): extract sidebar into section components to fix perf (#579)
  • refactor(portals): extract creator section into PortalCreatorHomeComponent
  • refactor(property): remove managing entity status column, icons, and filter from property grid
  • refactor(shared): add copyToClipboard directive and migrate clipboard usage
  • refactor(sidebar): consolidate browse hotels/inventory under creator studio
  • refactor(studio): redesign inventory search page and standardize flip cards
  • refactor(studio): redesign supplier search page and standardize cards
  • style: :lipstick: added affiliate video
  • style: :lipstick: formatting studio content
  • style: :lipstick: improved social pages
  • style: :lipstick: loading in sidebar now working better
  • style: :lipstick: moved portal home to the right place
  • style: :lipstick: resolves #614
  • style: :lipstick: updated our ghost element loading with pure Tailwind CSS
  • style: align sellable URL cards with guest-room UX (#557)
  • style(#617): :lipstick: improved payment and checkout modals
  • test: :green_heart: fix coverage thresholds for 31 failing projects
  • test: :green_heart: fix tests
  • test: :green_heart: fixed 2 failing tests
  • test: :green_heart: fixed all tests and lint errors
  • test: :green_heart: fixed lint error
  • test: :green_heart: fixed lint tests
  • test: :green_heart: fixed more tests
  • test: :green_heart: fixed tests
  • test: :green_heart: fixed tests and coverage
  • test: :green_heart: fixing tests
  • test: :green_heart: lint and errors fixed
  • test: :green_heart: more tests (#523)
  • test: :green_heart: tests passing
  • test: :rotating_light: fixed lint error
  • test: :rotating_light: fixed lint errors and some tests
  • test: add GA4 effect tests to meet coverage thresholds (#529)
  • test: fix coverage thresholds for booking-admin, lead-admin, property-admin, user-admin
  • test: fix failing tests and restore 85% coverage across 17 projects
  • test: fix spec failures from BookingContractDataService rename and missing providers
  • test: fix test coverage above 85% for inventory-supplier projects
  • test: green_heart: updated tests
  • test: improve coverage for 6 projects to meet 85% threshold
  • test: improve coverage for add-on-card, room-types, and green-index-form
  • test: repair stale specs across 16 projects after production drift
  • test: replace cypress with playwright and add e2e booking happy path (#526)
  • test: update stale specs to match current component behavior
  • test(booking-engine): add jest coverage and fix lint for payment-modal refactor
  • test(booking-engine): rewrite e2e booking harness and add create-and-cancel flow
  • test(checkout): improve payment modal test coverage from 84% to 96% branch
  • test(customization): fix lint errors and improve type safety in feature-form spec (#569)
  • test(e2e): add page-health harness and smoke/deep cadence split
  • test(portal): add end-to-end Playwright coverage for portal app
  • test(property): fix inventory-usage spec url to match normalized endpoint
  • test(social-list): make e2e run authless and green
  • test(sso): add IdP account-lifecycle e2e (Turnstile-gated)

20.26.1

  • docs: generated changelog and updated version files
  • fix: banner design issue (#655)
  • fix: banner size for transcational view (#656)
  • fix(dashboard): improve mobile layout for dashboard sections and metrics
  • fix(i18n): add missing account-type labels for portal create form
  • refactor: :fire: removed clientId on syndication account
  • test: reduce e2e page-health timeouts from 15-30s to 5s for fast failure feedback

20.27.0

  • chore: :wrench: add wink-file-bug Claude Code skill
  • chore: :wrench: relocate wink-file-bug skill to .agents with .claude symlink
  • feat(booking): show the guest (traveler) instead of the booker in booking views
  • fix: :bug: make wink-file-bug issue-type set best-effort (older-gh path)
  • fix: :recycle: added guestUser on PublicRoomStay
  • fix: booking engine design (#660)
  • fix(booking): correct admin export firstName path and align grid filter specs
  • fix(external-event): add TIME_AGO i18n, raw receiver, highlighted code viewer
  • fix(payment-admin): stop dashboard aggregate calls firing before the bearer token

20.28.0

  • feat(application): add scopes to create/update responses and improve ui-card
  • feat(branding): add profile picture and logo remove endpoints with immediate UI updates
  • fix(application): accept bare localhost/127.0.0.1 without scheme in redirect URI validator
  • fix(application): allow http(s)://localhost and http(s)://127.0.0.1 as valid web redirect URIs
  • fix(application): fix submit button and allow localhost redirect URIs on update form
  • fix(customization): add email logo dimensions and sample link, closes #665
  • fix(managing-entity): fix infinite change detection and missing i18n keys
  • fix(payment-portal): prevent text wrapping and add horizontal scroll on mobile

20.29.0

  • feat(google-tag-manager): fire client-side purchase for 3rd-party containers on thank-you (#666)
  • fix(booking-engine): fix CI lint and test failures across multiple projects

20.30.0

  • fix: :recycle: improved orchestration effect for purchase event
  • fix(lint): sync package.json peer dependencies with actual imports
  • refactor: :recycle: slight improvement to variable use

20.30.1

  • fix: :recycle: removed incorrect import

20.31.0

  • chore: :fire: removed unused guards
  • chore: update booking-engine-flow coverage threshold from 85% to 80%
  • fix: :bug: fixed both sides of relationships requests
  • fix: :bug: fixed WC loader
  • fix: :recycle: added iconIdentifier to application
  • fix: add missing peerDependency to lead-route-list
  • test: add test coverage for room-type-configurator and customization libraries
  • test: improve test coverage to 85% threshold across 5 critical libraries
  • test: increase branch coverage to 81.33% across booking-engine-flow
  • test: increase branch coverage to 81.47% - add guest booking and checkout tests
  • test(fixtures): realistic luxury e2e fixtures for @wink/util-fixtures (#667)

20.31.1

  • fix: :bug: fixed latest inventory cards missing actions

20.31.2 Latest

  • fix: :bug: skip no-op release commit so set -e can’t abort the release
  • fix: add missing chevron to multi-level dropdown actions button
  • fix: fixed TA requests page
  • style: :lipstick: improved sales channel cards