- Nuevogenerate CHANGELOG.md and a public novedades page#268
- Nuevoruntime sitemap for dynamic pages + IndexNow#263
- Mejoralengthen the default meta descriptions#262
- Mejorarate-limit public EMTUSA-backed endpoints#261
- Mejorarender per-stop OG images at runtime#260
- Mejorarepair broken localized links, schema URLs and OG tags (#244)#247
- Mejorarepair localized links, schema URLs, OG tags and metadata (#244)#251
- Mejorasurface the missing GitHub token at boot and in docs (#246)#248
- Mejoragenerate French routes and serve locale fallbacks as 200#224
- Mejorainclude public/ in the runtime image and harden the static map#222
- Nuevoadd an experimental live network map page#220
- Nuevoimprove trayecto map readability#219
- Nuevoadd a liveness endpoint and use it for health checks#212
- Nuevoautomatic 90-day retention prune#206
- Nuevostats page with day-of-week heatmap#201
- Nuevoper-stop peak times on /parada/[id]/#199
- Nuevoreactivate popular stops on /paradas/#198
- Nuevorecord weighted waiting signals from arrivals adapter#197
- Nuevopopularity module, schema and migration (Phase 2 of #188)#196
- Mejoracorrect llegadas endpoint URL and bound @babel/runtime to 7.x#187
- Mejoravalidate coordinates once via Coordinates value object (#148)#168
- Mejoramodel unresolved trayecto stops explicitly (#150)#167
- Mejoraunify the Búho B-prefix rule across isBuho and scheduleType (#147)#166
- Mejoracompare ParadaTrayecto connection lineId with linea.id (#149)#165
- Mejoradrop dead misleading finalId field (#151)#164
- Nuevoadd comprehensive test coverage for utilities, hooks, and API endpoints#115
- Nuevoroute generation and interactive map#129