anthodev/lapin-futepublic Fork
⑂ develop
Commits
⬇ Clone ▾
git clone https://git.rickub.com/anthodev/lapin-fute.git
git clone ssh://git@rickub.com/anthodev/lapin-fute.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Download ZIP
CHANGELOG.md · 212 lines · 8.8 KBmarkdown
Blame HistoryOpen raw

Changelog

[1.2.4] - 2026-10-07

Release deployment backups now feed their file loop through a plain pipe instead of process substitution, so the backup can no longer fail on runners where /dev/fd is unavailable.

Release publishing now uses the runner's Rickub API rather than relying on a GitHub CLI. The Store job retrieves the notes from that Rickub release.

Fixes

  • fix(deploy): avoid process substitution in production backup
  • fix(release): publish through the configured forge API

Changes

  • chore(release): bump to version 1.2.4

[1.2.3] - 2026-10-07

Release deployments install the pinned pebble-tool with a uv-managed Python 3.11 so SDK installation does not depend on the runner's system Python providing ensurepip. The production backup gate also names missing Bunny storage settings instead of failing silently.

Fixes

  • fix(deploy): use managed Python and report missing Bunny credentials

Changes

  • chore(release): bump to version 1.2.3

[1.2.2] - 2026-10-07

Traffic reporting now handles PRIM incident schedules containing up to 256 application periods, preventing longer valid notices from disabling traffic information for unrelated lines.

Catalog activation now lets the atomic rename decide whether the candidate and active paths share a filesystem. This avoids false rejections when OverlayFS reports different devices for a file and its parent directory.

Release deployments now install the pinned pebble-tool with a uv-managed Python 3.11 so SDK installation does not depend on the runner's system Python providing ensurepip. The production backup gate also names missing Bunny storage settings instead of failing silently.

Fixes

  • fix(traffic): accept up to 256 application periods per disruption
  • fix(deploy): use managed Python and report missing Bunny credentials

Changes

  • chore(release): bump to version 1.2.2

[1.2.1] - 2026-09-20

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

Changes

  • chore(release): bump to version 1.2.1
  • ci(catalog): separate catalog publishing from release deployment

[1.2.0] - 2026-09-20

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)

Changes

  • chore(release): bump version to 1.2.0 and update changelog

[1.1.0] - 2026-09-19

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)

Fixes

  • fix(traffic): show the latest active incident and exclude works

Changes

  • chore(release): prepare 1.1.0 with changelog-based release notes

[1.0.4] - 2026-09-14

This release fixes partial-service arrival pooling in the companion and relocates store assets. The documentation also clarifies stop and arrival terminology.

Changes

  • chore(release): bump version to 1.0.4
  • docs: clarify stop and arrival terminology

Fixes

  • fix(companion): pool partial-service arrivals and move store assets

Full changelog: https://github.com/Anthodev/lapin-fute/compare/v1.0.3...v1.0.4

Release v1.0.4

[1.0.3] - 2026-09-14

This release clarifies stop and arrival terminology in the interface (#27).

Fixes

  • fix(ui): clarify stop and arrival terminology (#27)

Full changelog: https://github.com/Anthodev/lapin-fute/compare/v1.0.2...v1.0.3

Release v1.0.3

[1.0.2] - 2026-09-13

Line badges on the watch now carry a metro or tram prefix, so metro and tram lines are distinguishable at a glance (#24, #25). Release notes generation handles squash merges correctly, and the README is refreshed.

Features

  • feat(display): prefix metro and tram line labels on watch badges (#24) (#25)

Changes

  • chore(docs): updated README.md

Fixes

  • fix(release): handle squash merges when generating release notes

Full changelog: https://github.com/Anthodev/lapin-fute/compare/v1.0.1...v1.0.2

Release v1.0.2

[1.0.1] - 2026-09-13

Store readiness and polish rather than features. Departure detail spacing is balanced on both Emery and Gabbro, including the header, countdown, and separator framing. Publishing to RePebble now runs as a separate job after the GitHub release, with renewable Firebase authentication and artifact, ownership, and version checks, and release titles use version tags. Screenshots are refreshed, the MIT license lands in the repository and package metadata, and the configuration page About text and RePebble badge are updated to 1.0.1.

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

Release v1.0.1

[1.0.0] - 2026-09-13

First public release. Lapin Futé puts Île-de-France arrivals on a Pebble watch: the companion fetches live PRIM departures and normalizes them phone-side (#12), a bounded importer resolves the IDFM service catalog (#11), and the watch renders only what the phone prepares (#17). Favorites persist and synchronize (#14), a configuration page runs on the phone (#13), settings are modernized with app branding (#19), and stale and failure handling is hardened (#20). The CI pipeline packages the PBW, verifies deploys with rollback rehearsal, and skips unchanged catalog uploads. Store icons, screenshots, and banner ship with the release.

Features

  • feat: verify published configuration site
  • feat: harden stale and failure handling (#20)
  • feat(companion): modernize settings and introduce app branding (#19)
  • feat: migrate to phone-only data and phone-prepared watch displays (#17)
  • feat: deliver Pebble watch consultation (#15)
  • feat: persist and synchronize favorites (#14)
  • feat: build companion configuration page (#13)
  • feat: normalize live PRIM departures (#12)
  • feat: establish Alloy app foundation (#10)

Changes

  • docs: link published RePebble release
  • chore: add RePebble store screenshots and banner
  • chore: add RePebble store icons
  • docs: streamline project overview and controls
  • docs: add v1 release checklist
  • docs: research official v1 release requirements
  • chore: ignore Pebble build lock
  • chore: set release version to 1.0.0
  • Resolve IDFM service catalog with bounded importer (#11)
  • chore: initialize develop branch

Fixes

  • fix: normalize Emery store screenshot brightness
  • fix: close release verification gaps

CI

  • ci: skip unchanged catalog uploads
  • ci: retain and rehearse deployment rollback
  • ci: package PBW release assets
  • ci: verify deploys and restore failures

Full changelog: https://github.com/Anthodev/lapin-fute/commits/v1.0.0

Release v1.0.0

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
# Changelog

## [1.2.4] - 2026-10-07

Release deployment backups now feed their file loop through a plain pipe instead of process substitution, so the backup can no longer fail on runners where `/dev/fd` is unavailable.

Release publishing now uses the runner's Rickub API rather than relying on a GitHub CLI. The Store job retrieves the notes from that Rickub release.

### Fixes

- fix(deploy): avoid process substitution in production backup
- fix(release): publish through the configured forge API

### Changes

- chore(release): bump to version 1.2.4

## [1.2.3] - 2026-10-07

Release deployments install the pinned `pebble-tool` with a uv-managed Python 3.11 so SDK installation does not depend on the runner's system Python providing `ensurepip`. The production backup gate also names missing Bunny storage settings instead of failing silently.

### Fixes

- fix(deploy): use managed Python and report missing Bunny credentials

### Changes

- chore(release): bump to version 1.2.3

## [1.2.2] - 2026-10-07

Traffic reporting now handles PRIM incident schedules containing up to 256 application periods, preventing longer valid notices from disabling traffic information for unrelated lines.

Catalog activation now lets the atomic rename decide whether the candidate and active paths share a filesystem. This avoids false rejections when OverlayFS reports different devices for a file and its parent directory.

Release deployments now install the pinned `pebble-tool` with a uv-managed Python 3.11 so SDK installation does not depend on the runner's system Python providing `ensurepip`. The production backup gate also names missing Bunny storage settings instead of failing silently.

### Fixes

- fix(traffic): accept up to 256 application periods per disruption
- fix(deploy): use managed Python and report missing Bunny credentials

### Changes

- chore(release): bump to version 1.2.2

## [1.2.1] - 2026-09-20

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

### Changes

- chore(release): bump to version 1.2.1
- ci(catalog): separate catalog publishing from release deployment

## [1.2.0] - 2026-09-20

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)

### Changes

- chore(release): bump version to 1.2.0 and update changelog

## [1.1.0] - 2026-09-19

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)

### Fixes

- fix(traffic): show the latest active incident and exclude works

### Changes

- chore(release): prepare 1.1.0 with changelog-based release notes

## [1.0.4] - 2026-09-14

This release fixes partial-service arrival pooling in the companion and relocates store assets. The documentation also clarifies stop and arrival terminology.

### Changes

- chore(release): bump version to 1.0.4
- docs: clarify stop and arrival terminology

### Fixes

- fix(companion): pool partial-service arrivals and move store assets

**Full changelog**: https://github.com/Anthodev/lapin-fute/compare/v1.0.3...v1.0.4

[Release v1.0.4](https://github.com/Anthodev/lapin-fute/releases/tag/v1.0.4)

## [1.0.3] - 2026-09-14

This release clarifies stop and arrival terminology in the interface (#27).

### Fixes

- fix(ui): clarify stop and arrival terminology (#27)

**Full changelog**: https://github.com/Anthodev/lapin-fute/compare/v1.0.2...v1.0.3

[Release v1.0.3](https://github.com/Anthodev/lapin-fute/releases/tag/v1.0.3)

## [1.0.2] - 2026-09-13

Line badges on the watch now carry a metro or tram prefix, so metro and tram lines are distinguishable at a glance (#24, #25). Release notes generation handles squash merges correctly, and the README is refreshed.

### Features

- feat(display): prefix metro and tram line labels on watch badges (#24) (#25)

### Changes

- chore(docs): updated README.md

### Fixes

- fix(release): handle squash merges when generating release notes

**Full changelog**: https://github.com/Anthodev/lapin-fute/compare/v1.0.1...v1.0.2

[Release v1.0.2](https://github.com/Anthodev/lapin-fute/releases/tag/v1.0.2)

## [1.0.1] - 2026-09-13

Store readiness and polish rather than features. Departure detail spacing is balanced on both Emery and Gabbro, including the header, countdown, and separator framing. Publishing to RePebble now runs as a separate job after the GitHub release, with renewable Firebase authentication and artifact, ownership, and version checks, and release titles use version tags. Screenshots are refreshed, the MIT license lands in the repository and package metadata, and the configuration page About text and RePebble badge are updated to 1.0.1.

### 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

[Release v1.0.1](https://github.com/Anthodev/lapin-fute/releases/tag/v1.0.1)

## [1.0.0] - 2026-09-13

First public release. Lapin Futé puts Île-de-France arrivals on a Pebble watch: the companion fetches live PRIM departures and normalizes them phone-side (#12), a bounded importer resolves the IDFM service catalog (#11), and the watch renders only what the phone prepares (#17). Favorites persist and synchronize (#14), a configuration page runs on the phone (#13), settings are modernized with app branding (#19), and stale and failure handling is hardened (#20). The CI pipeline packages the PBW, verifies deploys with rollback rehearsal, and skips unchanged catalog uploads. Store icons, screenshots, and banner ship with the release.

### Features

- feat: verify published configuration site
- feat: harden stale and failure handling (#20)
- feat(companion): modernize settings and introduce app branding (#19)
- feat: migrate to phone-only data and phone-prepared watch displays (#17)
- feat: deliver Pebble watch consultation (#15)
- feat: persist and synchronize favorites (#14)
- feat: build companion configuration page (#13)
- feat: normalize live PRIM departures (#12)
- feat: establish Alloy app foundation (#10)

### Changes

- docs: link published RePebble release
- chore: add RePebble store screenshots and banner
- chore: add RePebble store icons
- docs: streamline project overview and controls
- docs: add v1 release checklist
- docs: research official v1 release requirements
- chore: ignore Pebble build lock
- chore: set release version to 1.0.0
- Resolve IDFM service catalog with bounded importer (#11)
- chore: initialize develop branch

### Fixes

- fix: normalize Emery store screenshot brightness
- fix: close release verification gaps

### CI

- ci: skip unchanged catalog uploads
- ci: retain and rehearse deployment rollback
- ci: package PBW release assets
- ci: verify deploys and restore failures

**Full changelog**: https://github.com/Anthodev/lapin-fute/commits/v1.0.0

[Release v1.0.0](https://github.com/Anthodev/lapin-fute/releases/tag/v1.0.0)