Skip to content Version 20.26.0 Latest
- 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)