Zum Inhalt springen

Changelog

34.5.1 Latest

  • refactor(analytics): :truck: move rollup documents out of the api layer (#708)

34.5.0

  • feat(checkout): :sparkles: guard checkout against charging more than quoted
  • fix(open-api): :white_check_mark: publish Media in the gRPC OpenAPI test so the 64-bit assertion runs

34.4.0

  • fix(subscription): :white_check_mark: pin PARTNER_MEDIA_API into the platform pricing rate card test

34.3.0

  • docs: :wrench: added tech comments
  • docs(scripts): :memo: record partner media Metronome runs across all three accounts (#696)
  • feat(analytics): :sparkles: cache assembled chart responses in the consumer facades (#702)
  • feat(analytics): :sparkles: incremental rollup writer with watermarks, lease, and backfill endpoint (#700)
  • feat(analytics): :sparkles: rollup document schema for booking, link, and API usage time series (#699)
  • feat(analytics): :sparkles: route chart and usage reads to the rollup collections behind a flag (#701)
  • feat(media): env/account CDN folders, asset metadata standard, migration suite (#695)
  • feat(partner): partner media retrieval API with per-hotel metering (#693)
  • fix(analytics): :bug: accept the staging analytics database name in the rollup index script (#705)
  • fix(analytics): :bug: repair grouped-chart group keys, projection copy-paste bugs, and quadratic gap-fill (#698)
  • fix(booking): cap Stripe refunds at the PaymentIntent’s remaining refundable amount (#694)
  • fix(pricing-view): :bug: compare EFFECTIVE currency in the shadow snapshot diff (#697)
  • fix(scripts): :bug: eviction reminder printed prod for staging-target hotels (#706)
  • fix(scripts): :bug: harden media-migration suite from live-run findings (#704)

34.2.3

  • fix(channel-manager): :bug: stamp the property currency on eZee rate pushes (#689)
  • fix(rate): :bug: floor quantity at 0 and repair the 30 negative rows (#690)
  • fix(scripts): :bug: repair negative VariableCharge.fixedAmount, the last bad-data class (#692)
  • fix(web): :bug: stop reporting client errors to Sentry (#691)
  • fix(web): :bug: unwrap CompletionException so async 4xx are not served as 500 (#688)

34.2.2

  • fix(pricing-view): :bug: fall back to the room-type base-rate currency instead of skipping the hotel (#687)

34.2.1

  • fix(build): :wrench: scope MaxDirectMemorySize per app — it is taken off the heap (#685)
  • fix(pricing-view): :bug: keep the full master-rate set on the availableOnly=false path (#684)

34.2.0

  • feat(payment): :sparkles: process stripe booking webhook synchronously and fail loud so stripe retries (#681)
  • feat(pricing-view): :chart_with_upwards_trend: emit shadow denominators and count distinct drifting hotels (#683)
  • fix(pricing-view): :building_construction: move @Document PricingView out of the api layer (#682)

34.1.0

  • feat(monitoring): :chart_with_upwards_trend: Micrometer -> Google Cloud Monitoring export (allow-listed) (#679)
  • feat(pricing-view): nightly-grain pricing read model + maintenance pipeline (#675)
  • feat(pricing-view): view-backed pricing gateway with shadow mode (#677)
  • fix(pricing-view): rewrite staleness gate as digest-drift convergence probe (#680)
  • fix(scripts): repair legacy VariableCharge percent scale + negative occupancy (#678)
  • perf(pricing): batch pricing N+1s, cache hot lookups, response-cache /inventory/period (#674)
  • refactor(computed): PricingDataGateway seam — split pricing data fetch from pricing math (#676)

34.0.0

  • feat(open-api): document the gRPC surface by generating OpenAPI from protobuf descriptors (#669)
  • feat(partner): first business gRPC endpoint — destination autocomplete + lookup contract trim (#666)
  • feat(partner): migrate GetLookup and establish the Stripe-style expand convention (#668)
  • feat(property-aggregate): collapse 8 per-dimension scores into one demand score (#667)
  • perf(inventory): harden the inventory/period endpoint
  • perf(inventory): make the supplier-aggregate city search index-usable (#670)
  • perf(rate): bulk portal edits, bounded retries, processedEvents guard, index audit (#672)
  • perf(rate): flatten the rooted-$or daily-rate query into one cacheable shape (#671)