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

  • Audience-based navigation restructure — Reorganised the docs site navigation so each audience (merchants, admins, developers) lands on a dedicated top-level section. (KUB-238)
    • Top-level nav now includes Merchants (/merchants/), placed between Start and Admins.
    • New /merchants/ section with Overview and Commerce Guide pages, isolated from developer and operator content.
    • New /admins/ecommerce/ subsection with Admin Guide and Operator Guide, consolidating all admin-and-operator-relevant commerce documentation.
    • /guide/ sidebar now includes What is Kubuli and Feature Guides; Start Here and Commerce & Payments were removed.
    • Legacy /guide/commerce/* URLs redirect to their new locations.
    • /guide/getting-started redirects to /developers/local-setup.
  • Multi-category support for places — New categories[] array field on GET /api/v1/places, GET /api/v1/places/:id, GET /api/v1/feed (place items), GET /api/v1/map/pois, and dashboard endpoints (places/dashboard, feed/dashboard). The category= and category_id= filters now match primary or attached categories. place_count on dashboard category sections counts both primary and attached associations.
  • 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