Zum Inhalt springen

Changelog

31.5.2 Latest

  • refactor: :recycle: added quote cache to integrations-app

31.5.1

  • fix: :bug: emit GCP-recognized severity field in structured logs
  • fix: :bug: normalize negative-zero Decimal128 when reading BigDecimal fields
  • refactor(partner-app): shed 12 unused MongoDB repositories via module splits (#501)
  • test: :green_heart: all tests pass
  • test(booking): :white_check_mark: provide CacheManager bean in BookingServiceConfig

31.5.0

  • feat: Partner API usage metering + standalone partner-app (#298)
  • feat(cache): two-tier L1 caching for inventory, master-rate & property-aggregate (#494)
  • feat(customization): GTM-as-black-box — caching, client-side purchase, drop server-side MP fields (#495)
  • fix(sso): drop trailing slash before query string in portal dashboard redirect URLs
  • refactor: :recycle: disabled lazy init
  • refactor: :recycle: fixed Exely JSON payload structure
  • refactor: :recycle: fixed payment_intent.succeeded
  • refactor: :recycle: reset Exely booking status on cancel
  • refactor: shed eager mail/google-places infra from lean apps (#500)
  • refactor(datasource): extract stripe-free booking/checkout repositories into datasource modules
  • refactor(google-hotel): integrator feed gets an add-on/sellable-free rate path; trim IntegrationsDbConfig (#497)
  • refactor(integrations-app): trim IntegrationsDbConfig to runtime-needed repositories
  • refactor(inventory): split inventory-domain into datasource/consumer/projection modules (#496)
  • refactor(managing-entity): platform-wide consumer/publisher split to keep ShortenedUrl off integrations-app (#499)
  • refactor(rate-plan): split into datasource/consumer/publisher to keep cancellation-policy off integrations-app (#498)
  • test(checkout): cover GA4-redirect + Stripe session-id two-layer URL hand-off

31.4.0

  • feat(financials): fee-total model rework — totalPlatformFee(+InPercent), TripPay→PaymentProcessing rename, gross-based platform fee (#493)
  • fix(acl): register managing-entity cache so @RequireAccountPermission resolves teams
  • refactor: :recycle: changed Exely query so bookings will return when the exely booking is confirmed
  • refactor(api): use native mapping version attribute for v2.0 endpoints

31.3.0

  • docs: :globe_with_meridians: updated translation keys
  • docs: :memo: add JaCoCo 85% rollout plan and cache-domain test logback config
  • docs: :memo: JaCoCo 85% rollout COMPLETE — 40 modules gated, 500+ tests added
  • docs: :memo: phase0 discovery complete — 40 real modules, 13 empty stubs, 500+ tests needed
  • docs: :memo: phase1 task1 json-domain complete — 100% coverage
  • docs: :memo: phase1 task2 geo-name-web complete — 89% coverage
  • docs: :memo: phase1 task3 analytics-domain complete — 86.6% coverage
  • docs: :memo: phase1 tasks 1-3 complete
  • docs: :memo: phase1 tasks 1-3 complete — 3 modules at 85%+
  • docs: :memo: phase1-2 summary — 7 modules complete at 91.2% avg coverage
  • docs: :memo: phase2 task6 inventory-domain complete — 85.8% coverage + bug fix
  • docs: :memo: phase2 task7 message-template-domain complete — 100% coverage
  • docs: :memo: phase2 tasks 12-15 complete — 15/16 Tier 2 modules at 85%+
  • docs: :memo: phase2 tasks 8-11 complete — 4 modules at 85%+ (11/7 total complete)
  • docs: :memo: phase2-3 checkoint — 20 modules at 85%+ (16 Tier2 + 4 Tier3)
  • feat(analytics): multi-party server-side GA4/GTM purchase tracking (#485)
  • feat(booking): only email travelers on concrete Stripe payment failures (#491)
  • feat(cache): add managingEntityIdsByUser ID-list cache to ManagingEntityService (#484)
  • feat(room-type): draft + per-section PATCH endpoints; refactor: remove fake-async from request/response services (#481)
  • fix: :recycle: fixed selfAcquired and selfDisburses
  • fix(booking,accounting): agent refunds settle + self-managed agents kept off the ledger (#488)
  • fix(booking): :bug: settle admin manual refunds with no Stripe PaymentIntent (#492)
  • fix(booking): apply channel-manager status filter to all pull paths (Exely, CloudBeds)
  • fix(booking): filter booking status for channel-manager delivery and review emails (#489)
  • fix(booking): scope channel-manager pulls by rateSource + hide INITIALIZED from non-admin (#490)
  • fix(customization): map CustomizationException to 404; 409 for primary removal (#482)
  • fix(lookup-web): handle missing ‘term’ param as 400 Bad Request (#483)
  • perf(rate): eliminate N+1 query in RateRepository.findByDateRange Map overloads
  • refactor: :recycle: fixed Stripe issues due to new Stripe version
  • refactor: :recycle: remove leftover PasswordEncoder dependency from YanoljaServiceImpl
  • refactor: :recycle: removed property status everywhere
  • refactor: :recycle: removed unused imports
  • refactor: :recycle: tried to get more insight into why Exely is failing in staging
  • refactor: :recycle: updated Yanolja by removing bcrypted password
  • test: :green_heart: fixed some AI generated tests
  • test: :white_check_mark: booking-domain — enable JaCoCo 85% gate → 86.9%
  • test: :white_check_mark: booking-web — boost instruction coverage from 85% to 93%
  • test: :white_check_mark: booking-web — enable JaCoCo 85% gate → 85%+
  • test: :white_check_mark: cache-domain, lookup-web — → 85%+
  • test: :white_check_mark: caldav-web — enable JaCoCo 85% gate and add 404 test
  • test: :white_check_mark: customization-web — enable JaCoCo 85% gate → 100%
  • test: :white_check_mark: customization-web, message-template-web, report-web — → 85%+
  • test: :white_check_mark: enable JaCoCo 85% gate on 49 empty/tiny modules (integrations, mcp stubs, scaffolding)
  • test: :white_check_mark: fix cancellationType assertion in BookingPhase0TypesTest
  • test: :white_check_mark: fix disabled tests and raise coverage in 5 modules to 80%+ gate
  • test: :white_check_mark: improve room-type-domain JaCoCo coverage with comprehensive event listener tests
  • test: :white_check_mark: lookup-web — enable JaCoCo 85% gate → 95%+
  • test: :white_check_mark: message-template-domain coverage verified at 100%
  • test: :white_check_mark: message-template-web — enable JaCoCo 85% gate → 100%
  • test: :white_check_mark: payment-web — enable JaCoCo 85% gate → 89.6%
  • test: :white_check_mark: phase1 analytics-domain coverage — 65% → 85%+
  • test: :white_check_mark: phase1 analytics-domain coverage — 86.6%
  • test: :white_check_mark: phase1 application-domain coverage — 50% → 95.7%
  • test: :white_check_mark: phase1 application-domain coverage — 50% → 95.7%+
  • test: :white_check_mark: phase1 geo-name-web coverage — 50% → 89%+ (gate enabled)
  • test: :white_check_mark: phase1 json-domain coverage — 0% → 85%
  • test: :white_check_mark: phase1 point-of-interest-domain coverage — ~40% → 89%+
  • test: :white_check_mark: phase1 point-of-interest-domain coverage — 40% → 89.3%
  • test: :white_check_mark: phase2 add-on-web — → 85%+
  • test: :white_check_mark: phase2 customization-client-domain — → 85%+
  • test: :white_check_mark: phase2 exchange-rate-web — → 85%+
  • test: :white_check_mark: phase2 geo-ip-web — → 85%+
  • test: :white_check_mark: phase2 inventory-domain coverage — 65% → 85.8%+
  • test: :white_check_mark: phase2 invite-domain — → 85%+
  • test: :white_check_mark: phase2-final cancellation-policy-web — → 85%+
  • test: :white_check_mark: phase3 accounting-domain — → 85%+
  • test: :white_check_mark: phase3 checkout-domain — → 85%+
  • test: :white_check_mark: phase3 lookup-domain — → 85%+
  • test: :white_check_mark: reconcile tests after origin/develop merge
  • test: :white_check_mark: report-web — enable JaCoCo 85% gate → pass
  • test: :white_check_mark: scheduler-domain — → 85%+
  • test: :white_check_mark: shortened-url-domain — enable JaCoCo 85% gate
  • test(room-type): :white_check_mark: fix failing tests and restore 85% gate; enable events-command-gateway and translate-inventory gates

31.2.0

  • feat: add comprehensive external webhook event catalogue (#479)
  • test: :green_heart: fixed test

31.1.2

  • test: :green_heart: fixed test

31.1.1

  • chore: remove ALLOTZ and FASTBOOKING channel managers
  • docs: :memo: add Bamboo CI pipeline commands to CLAUDE.md
  • fix: :bug: fix forgot-password flow and reset code length
  • fix: :bug: restore magic link (OTT) passwordless login after Spring Boot 4.1 upgrade

31.1.0

  • feat(cache): add Caffeine L1 cache for managing entities and harden shared cache infra (#478)
  • refactor: :recycle: priritizing supplier GA4 config

31.0.0

  • docs: :memo: added RequestBodu openapi annotations
  • feat: add Layer C entity-type access control via @RequireManagingEntityType (#476)
  • feat(channel-manager): :sparkles: expose per-room unitAmount on PropertyBooking
  • fix: :bug: resolve bedType from OTA bed codes in booking emails
  • fix(analytics): :bug: split studio/extranet booking analytics to stop dual @PreAuthorize 500
  • fix(channel-manager): :bug: emit one RoomStay per room for Allotz, Rate-Gain, Travelclick
  • fix(channel-manager): emit one Siteminder RoomStay per room (#477)
  • fix(google-places): :bug: correct scrambled address field mapping
  • fix(managing-entity): :bug: reject blank address1 during registration
  • fix(property-aggregate): :bug: repair availability filter dropped by Criteria mutation
  • refactor(mcp): :recycle: split booking analytics and review MCP tools to match controller split
  • test: :green_heart: fixed setUp issue while running surefire with fork = 3
  • test: :green_heart: fixed some weird MongoDb issue
  • test: :green_heart: fixed test
  • test: :white_check_mark: added enough coverage to property-web