Skip to content

Changelog

  • docker: Scope bun install to the root package, skip website workspace
  • ci: Trigger website deploy when CHANGELOG.md changes
  • deps: Override ws and undici to patch discord.js transitive vulns
  • typecheck: Point types at @types/bun instead of its transitive bun-types
  • weather: Attach forecast image to day-before reminder
  • weather: Correct wind direction arrow to point where wind blows to
  • weather: Allow /weather to take an explicit location and date
  • weather: Attach a PNG forecast panel to /weather replies
  • scheduler: Restrict day-before reminders to 9am-10pm
  • weather: Resolve forecast location from GPX start point or explicit city
  • weather: Add on-demand /weather command and richer forecasts
  • weather: Add weather forecast to day-before reminders
  • ci: Use correct server path and strip v prefix from docker image tag
  • sqlite: Use CAST(AS TEXT) in queries to prevent Discord snowflake precision loss
  • ci: Pin exact version tag on deploy instead of relying on latest
  • Prevent bot crash when announcement channel post fails
  • Prevent bot crash from unhandled rejections in all Discord handlers
  • Use fetchStarterMessage() to reliably edit forum thread starter message
  • Isolate scheduler errors per ride and add catch on tick()
  • Use exact hostname matching to prevent URL substring bypass (CWE-020)
  • Add explicit permissions: read to CI workflow jobs (CWE-275)
  • sqlite: Store Discord IDs as TEXT to prevent snowflake precision loss
  • Register missing SQLite migrations 007 and 008 in db.ts
  • Shorten modal label to stay within Discord’s 45-char limit
  • Single-source changelog via symlink from docs to root CHANGELOG.md
  • Harden config validation — unknown adapter, numeric chat ID, remove dead guards
  • Resolve all lint warnings in config.ts and config.test.ts
  • Add FAQ, migration guide, enrich Telegram troubleshooting; add JSON-LD schema
  • landing: Add /pastrides to commands ref; rewrite hero sub + add CTA button
  • Validate config at startup and warn on unused adapter vars
  • Add findPast() to RideRepository — returns past rides sorted by date DESC
  • Add /pastrides command on Discord and Telegram
  • Add optional participant cap and waitlist
  • Enrich llms.txt with architecture, commands, env vars, and tech stack
  • Document i18n system in architecture and configuration pages
  • Document i18n in architecture and configuration pages
  • Add i18n support (EN/FR) via LANG env var
  • Add i18n support (EN/FR) via LANG env var
  • Fix formatting in configuration.md
  • observability: Log unexpected errors in handlers before re-throwing
  • Add SchedulerService tests with fake timers
  • Add PostgreSQL integration tests + CI job with postgres service
  • Add RideService integration tests with SQLite in-memory
  • Add status badges to README
  • Add commands reference, troubleshooting and changelog pages
  • Attach iCal file to ride announcements
  • Attach iCal file to ride announcements
  • Add multi-arch Docker build (amd64 + arm64)
  • Add multi-arch Docker build (amd64 + arm64)
  • Fix formatting on commands and troubleshooting pages
  • Update import path in messaging/shared/parse.ts after adapter reorganization
  • typecheck: Use bunx tsc and resolve grammy type errors
  • typecheck: Use bunx tsc and resolve grammy type errors
  • Resolve remaining lint errors
  • website: Consolidate documentation into Starlight site
  • Remove ARCHITECTURE.md — content lives on the website
  • readme: Add link to doc site, fix broken ARCHITECTURE.md link, update title
  • readme: Update all sections to mention Telegram alongside Discord
  • contributing: Fix broken SETUP.md link, add link to doc site
  • website: Move adapter installation guides under adapters/
  • Update file structure references after adapter reorganization
  • Add GPX file upload + static route map generation
  • Add Docker HEALTHCHECK via heartbeat file
  • docker: Add HEALTHCHECK via heartbeat file
  • Group adapters by type under messaging/ and database/
  • Add typecheck step
  • Add tests for importers and shared/parse
  • Add tests for importers, gpx parser and shared parse utils
  • Store pinnedMessageId as string to avoid snowflake precision loss
  • website: Add Starlight documentation site with Mermaid support
  • Log startup config summary (version, adapter, database, timezone)
  • Prevent double join
  • lint: Extend oxlint scope to tests/ and fix await-thenable errors
  • lint: Resolve all oxlint warnings
  • discord: Skip deployCommands if slash commands are unchanged
  • docker: Copy website/package.json so bun workspace resolves during install
  • discord: Add adapter README with sequence diagrams
  • Document TZ env var for reminder timezone configuration
  • discord: Add /help command
  • telegram: Add /help command and register bot commands menu
  • Surface domain errors to users instead of silent failures
  • website: Add landing page deployed to group-ride.slashgear.dev
  • website: Add Pierre Reynaud as co-creator in footer
  • Add git-cliff for changelog generation
  • telegram: Extract commands into separate files
  • telegram: Add /cancel and /edit commands, fix propose() message sequence
  • UserId as string, NaN guard on scheduler, graceful shutdown, ORDER BY
  • Create data dir with correct ownership and fix volume mount path