Catalog rebuilds and publication now run independently of settings-page deployment and watch releases.
Active works now participate in traffic reporting according to their severity, rather than being discarded solely because their cause is `TRAVAUX`. Future, expired, and information-only notices remain excluded.
### Fixes
- fix(traffic): include active works in disruption selection (`a259698`)
### Changes
- chore(release): bump to version 1.2.1 (`66c22cf`)
- ci(catalog): separate catalog publishing from release deployment (`8f2b8fe`)
The configuration page can now override the watch app language independently of the watch system settings. Automatic remains the default; explicit French or English choices are saved on the phone and survive restarts.
If saving a replacement credential fails, the previous language and favorites remain active.
### Features
- feat(configuration): add persistent watch language selection (#30) (#31) (`1650944`)
### Changes
- chore(release): bump version to 1.2.0 and update changelog
Favorites now pair a departure stop and line with a reachable arrival stop, including intermediate stops. Available across all five transport modes, journeys stay on one line without connections. The configuration page lets you select the arrival stop. The watch combines full-line and short-turn departures chronologically, excludes services known not to reach your arrival stop, and marks uncertain journeys with `?` without changing their departure times.
Traffic information selects the most recently updated active incident rather than the most severe one. Works, future incidents, and expired incidents are excluded. If the selected English message lacks a usable title or body, the complete French message for the same incident is used instead.
Departure-to-arrival favorites require rebuilding and publishing the catalog with journey patterns.
### Features
- feat(arrivals): support departure-to-arrival favorites (#28) (#29) (`102d719`)
### Fixes
- fix(traffic): show the latest active incident and exclude works (`6ae56e9`)
### Changes
- chore(release): prepare 1.1.0 with changelog-based release notes
## Changes
- chore(release): bump version to 1.0.4 (`bd3b82f`)
- docs: clarify stop and arrival terminology (`59caea0`)
## Fixes
- fix(companion): pool partial-service arrivals and move store assets (`2635f28`)
**Full changelog**: https://github.com/Anthodev/lapin-fute/compare/v1.0.3...v1.0.4
## Fixes
- fix(ui): clarify stop and arrival terminology (#27) (`8835364`)
**Full changelog**: https://github.com/Anthodev/lapin-fute/compare/v1.0.2...v1.0.3
## Features
- feat(display): prefix metro and tram line labels on watch badges (#24) (#25) (`0cc3c0b`)
## Changes
- chore(docs): updated README.md (`1889044`)
## Fixes
- fix(release): handle squash merges when generating release notes (`9e36c16`)
**Full changelog**: https://github.com/Anthodev/lapin-fute/compare/v1.0.1...v1.0.2
## Fixes
- Balance departure detail screen spacing on Emery and Gabbro, including the header, countdown, and Emery separator framing.
## Release tooling
- Publish the validated PBW to RePebble in a separate job after the GitHub release, using renewable Firebase authentication and artifact, ownership, and version checks.
- Use version tags as GitHub release titles.
## Documentation and metadata
- Refresh departure screenshots for Emery and Gabbro and simplify README badges.
- Add the MIT license and package license metadata.
- Update package versions, configuration-page About text, and the RePebble badge to 1.0.1.
- Document Store publishing setup and remove completed release planning documents.
**Full changes between release snapshots**: https://github.com/Anthodev/lapin-fute/compare/v1.0.0..v1.0.1
Initial release of Lapin Futé.
• Check upcoming departures for up to six favorite stops.
• Supports Métro, RER, Transilien, tram and bus services across Île-de-France.
• View traffic information for each line.
• Clearly distinguishes real-time, scheduled and stale results.
• Refreshes on demand, with no periodic background polling.
• Bilingual French and English configuration.
• Supports Pebble Time 2 and Pebble Round 2.
Data is fetched directly from PRIM using your personal API key, which remains stored on your phone.