Skip to content

Changelog

All notable changes to Kubuli are documented here.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Docs site restructure — Audience-first navigation replacing the generic Guide entry point. New top-level sections: Start, Admins, Developers, API Reference, Integrations, Changelog. Admin and developer journeys now have dedicated content tracks. Integrations section consolidates admin-ingestion and cross-app contract material. (KUB-196)
    • apps/docs/start/index.md — Site orientation page
    • apps/docs/admins/ — Admin and operator runbooks
    • apps/docs/developers/ — Developer setup, monorepo orientation, and workflow guides
    • apps/docs/integrations/ — Admin-ingestion and cross-app contract guidance
  • Tours API — New core endpoints covering tour generation, navigation, stop preview, direction fetching, completion, and video generation/status. All external services (directions, TTS, video, busy rating, review enrichment, storage) are behind typed adapter interfaces swappable via env vars. (KUB-181 epic — sub-stories KUB-182 through KUB-190)
    • POST /api/v1/tours/generate — Generate a personalised tour from a type and duration
    • GET /api/v1/tours / GET /api/v1/tours/:tourId — List and fetch tours
    • GET /api/v1/tours/:tourId/preview — Per-stop preview with hero image and the currently stored busy-rating value (unknown when unset)
    • GET /api/v1/tours/:tourId/stops/:stopId/directions — Return cached directions when present
    • POST /api/v1/tours/:tourId/complete — Mark a tour complete
    • POST /api/v1/tours/:tourId/video/generate — Return a queued placeholder response for completed tours
    • GET /api/v1/tours/:tourId/video/status — Video status plus any URL already stored on the tour
    • See Tours API reference
  • Reviews API — Universal polymorphic review system replacing the legacy nitm_ratings table. Supports in-app reviews with aspect ratings, review votes, and moderation flags; aggregate summaries and external-enrichment badges remain follow-up work. (KUB-185)
    • POST /api/v1/tours/:tourId/stops/:stopId/reviews — Create a review for a stop's entity
    • GET /api/v1/tours/:tourId/stops/:stopId/reviews — List published reviews for the stop's underlying entity
    • POST /api/v1/reviews/:reviewId/votes — Vote helpful / not_helpful (once per user per review)
    • POST /api/v1/reviews/:reviewId/flag — Flag a review for admin moderation
    • See Reviews API reference
  • Initial VitePress documentation site (apps/docs) — KUB-96, introduced on 2026-03-28 in commit 47c6ed0
  • Planned Registration API reference page at apps/docs/api/registration.md
  • Docs deployment assets: apps/docs/Dockerfile and apps/docs/docker-compose.yml for nginx-based container deployment

Changed

  • Removed the obsolete POI Legacy Paths API page from the docs sidebar and repointed the Discovery and Cultural Explorer guides to the current Places and Culture references
  • Reordered the API Reference sidebar to show Overview first, then Registration, then Authentication, and updated the API overview to match
  • Documented docs-container deployment, external network requirements, and Traefik host routing in the docs app README
  • Expanded the API Reference sidebar to include the full planned API page set and clarified that the overview and app/onboarding payload examples describe planned /api/v1 contracts, including the KUB-153 error-code set

This file is updated with every release. For in-progress fixes and improvements, see the monthly fix logs in each app's docs/fixes/ folder.

Built with VitePress