What's Changed
Features 🎉
- ✅ Train selection in space time diagram:
- Plug selection panel modes by @kmer2016 in #17074
- Update TOD model for upcoming selection styling by @SarahBellaha in #16950
- Map curve visual states to style primitives by @kmer2016 in #17006
- Adapt train labels by @Akctarus in #16752
- Add function to select one occurrence by @Akctarus in #17018
- Prevent curve selection from triggering on pan end by @Akctarus in #17120
- ✅ STDCM consist changes:
- ✅ Intermediate waypoints panel:
- ✅ New international format for operational points:
- ✅ New schedule table header:
- Add button to open the itinerary modal from header by @Signez in #17128
- Add simple selectors fields to header by @Signez in #17114
- Link TrainHeader
DurationInputto train service cadence and window by @Pivouane in #17201 - Link TrainHeader Switch input to use electrical profile parameter by @Pivouane in #17094
- Link TrainHeader Token input to train labels by @Pivouane in #17095
- Add extra occurrences form and list in header by @Signez in #17184
- Display train header warning message when train name is left empty by @Pivouane in #17277
- Set a higher maximum value for the service window in the train header by @Pivouane in #17282
- Link the DatePicker to train departure date in the train header by @Pivouane in #17224
- Link TrainHeader Input to train initial speed by @Pivouane in #17249
- Link Rolling Stock selector to train rolling stock by @Pivouane in #17248
- Add confirmation dialog on service change by @Signez in #17279
- ✅ New track selection within itinerary modal:
- 🚧 Hourly patterns:
- Change TimeWindow time_begin from datetime to ms offset by @aschantraine in #17037
- Use ms offset instead of datetime in conflicts by @aschantraine in #17035
- Add timetable_type field to timetable and train schedule set by @Wadjetz in #16908
- 🚧 Rolling stocks privileges:
- 🚧 Add track occupancy drag & drop:
- 🚧 STDCM backtracking
Smaller enhancements:
- Set default stop duration to 60s in new itinerary modal by @achrafmohye in #17084
- Sort todo items first in round trips pairing suggestions by @achrafmohye in #17121
- After create train scroll to simulation result table by @Uriel-Sautron in #17015
- Reorder and rename scenario page boards by @Caracol3 in #17091
- Change space time diagram default projection to operational point by @Caracol3 in #17034
Code refactoring ♻️
Core:
- core: stdcm: remove mareco from final simulation by @eckter in #16696
- core: remove RJS train schedules by @Khoyo in #17220
- core: convert rjs op classes to kotlin by @Khoyo in #16921
- core: make RJS structure consistent with editoast by @bougue-pe in #17077
Editoast:
- Migration to
authz::v2:- migrate infra grant revoking to
authz::v2by @leovalais in #16974 - drop disabled authorization mode by @leovalais in #17138
- add
authentication::Stateextension and renameAuthenticationtoModeby @younesschrifi in #17139 - rewrite list_authorized_infra in authz::v2 by @Sh099078 in #16383
- remove
Regulator::user_groupsby @leovalais in #17135 - editoast: authz: add tests to make sure that the protected operations contain the correct checks by @Sh099078 in #17267
- editoast: rename
AuthorizationError::UnauthorizedtoUnauthenticatedby @leovalais in #17290
- migrate infra grant revoking to
- editoast: views: use
axum_testproperly by @leovalais in #17145 - editoast: de-bloat SQL queries used to build the OperationalPointCache by @hhirtz in #17230
- editoast: avoid sending SQL queries for empty batches by @hhirtz in #17228
- editoast: rename user info arg from "user" to "identity" by @hhirtz in #17275
- editoast: a couple typos by @leovalais in #17288
- editoast, cli: show expected roles on failed parse by @hhirtz in #17276
- editoast, front: make geographic position optional by @QuentinHayK in #16667
- editoast: expose railjson version default in openapi schema by @hamz2a in #17316
Front:
- front: rename simulation sheet button to train path sheet on scenario… by @achrafmohye in #17068
- front: remove eslint-plugin-react to replace it by native lints by @Signez in #17038
- front: add useSimulationResults hook tests by @Maymanaf in #16004
- front: improve vite's watcher configuration by @Signez in #17134
- front: moves waypoint groups fold logic to parent by @jacomyal in #17319
osrd-schemas
Miscellaneous:
- Refactor osm2railjson by @SaumonDesMers in #17050
- osm2railjson: more refacto by @SaumonDesMers in #17142
- devx: make the use of
process-composepossible by @woshilapin in #16394 - devx: remove legacy env var
EDITOAST_ENABLE_AUTHORIZATIONby @leovalais in #17222 - nix: add nix devs to the reviewers of nix files by @woshilapin in #17273
- nix: remove useless nix scripts by @woshilapin in #17272
- process-compose: make the otel agent used in
gradle runby @woshilapin in #17287
Bug fixes 🐛
- chart: fix typo (camelCase) in editoast deployment by @gaetan-osrd in #17076
- editoast: fix computing of rolling resistance with a towed rolling stock but no total mass by @neigeantre in #17080
- front: fix cursor when hovering the arrow between simulation results by @ppitou in #17119
- front: fix time propagation menu rounding by @theocrsb in #17043
- editoast: fix a couple issues in new authentication middlewares by @leovalais in #16980
- front: stdcm: preserve edited consist values by @adityabhatkar23 in #17061
- Exit map selection mode when deleting selected line by @achrafmohye in #17058
- Prefill track when selecting OP from map by @achrafmohye in #17047
- github: fix railway_manager_interface/python uv rules by @emersion in #17010
- front: fix bold text in configuration menu by @ppitou in #17079
- front: fix empty space in card by @theocrsb in #17081
- editoast: fix rename op fields migration by @ppitou in #17186
- Add whitespace in adjacent compound selector by @achrafmohye in #17131
- front, ui-charts: fixes TOD freezes on updates by @jacomyal in #17198
- front: fix rolling stock info end overflowing out of card header by @theocrsb in #17185
- front: fix train header render loop on unique train by @Signez in #17247
- front: backport fixes around train header by @Signez in #17375
- core: fix serialization of infra errors by @Khoyo in #17219
- front: fix operational-point sort stability by @hhirtz in #16977
- front: fix bump pdfjs by @theocrsb in #17261
- front: take power restriction warning into account to compute the height by @hhirtz in #17202
- backport: front: remove unecessary fields in train table header related function by @Akctarus in #17367
- backport fix worker load infra change by @flomonster in #17351
- backport: front, ui-charts: fade out-of-selection curves with reduced opacity by @kmer2016 in #17386
- backport: front: map: use uic code to highlight OPs by @MartinBourbier in #17394
- front: backport: fix single-select mode using stale occurrence in space-time chart by @Akctarus in #17469
- backport: fix custom track suggestions missing for non-recognized waypoints by @Caracol3 in #17486
- front: ensure left column in train modal is scrollable by @Signez in #17255
- Fix link the blur function of DurationInput to its inner components by @Pivouane in #17259
- front: fix useSimulationResults flaky test by @Yohh in #17260
- editoast: fix simulation summary paced train exceptions by @flomonster in #17194
- front: fix display in editor forms by @sim51 in #17033
- core, editoast: fix more transfer of backtracking locations by @bougue-pe in #17226
- front: fix electrical profile exception white page by @SharglutDev in #17360
- front: fix font, selector UI, and map step editing by @RomainValls in #17369
- front: fix the import of subcategories when pasting by @theocrsb in #17385
- front fix initial speed validation by @RomainValls in #17393
- front: keep disabled exceptions when reconciling change groups by @achrafmohye in #17472
- front: reset new itinerary modal form when adding a new train by @achrafmohye in #17473
- front: fix train path sheet PDF title and footer still showing simulation sheet by @achrafmohye in #17477
E2E Tests
Dependency bumps 🗞️
- front: bump nge (several fixes) by @louisgreiner in #16976
- ci: update flake.lock by @github-actions[bot] in #17004
From dependabot
- core: bump the minor group in /core with 5 updates by @dependabot[bot] in #17101
- core: bump the patch group across 1 directory with 3 updates by @dependabot[bot] in #17097
- core: scripts: bump the patch group in /core/scripts with 2 updates by @dependabot[bot] in #17100
- actions: bump astral-sh/setup-uv from 8.1.0 to 8.2.0 by @dependabot[bot] in #17123
- docker: bump lukemathwalker/cargo-chef from 0.1.77-rust-1.95-alpine3.23 to 0.1.77-rust-1.96-alpine3.23 in /gateway by @dependabot[bot] in #17098
- docker: bump lukemathwalker/cargo-chef from 0.1.77-rust-1.95-alpine3.23 to 0.1.77-rust-1.96-alpine3.23 in /osrdyne by @dependabot[bot] in #17099
- docker: bump lukemathwalker/cargo-chef from 0.1.77-rust-1.95-alpine3.23 to 0.1.77-rust-1.96-alpine3.23 in /editoast by @dependabot[bot] in #17096
- tests: bump ruff from 0.15.14 to 0.15.15 in /tests in the patch group by @dependabot[bot] in #17102
- front: bump the patch group in /front with 3 updates by @dependabot[bot] in #17103
- front: bump vite-plugin-checker from 0.13.0 to 0.14.1 in /front by @dependabot[bot] in #17111
- front: bump oxfmt from 0.51.0 to 0.53.0 in /front by @dependabot[bot] in #17112
- front: bump react-router-dom from 7.15.1 to 7.16.0 in /front by @dependabot[bot] in #17105
- front: bump the react group in /front with 3 updates by @dependabot[bot] in #17160
- front: bump the patch group in /front with 5 updates by @dependabot[bot] in #17173
- editoast: bump diesel-async from 0.9.0 to 0.9.1 in /editoast by @dependabot[bot] in #17172
- gateway: bump log from 0.4.31 to 0.4.32 in /gateway by @dependabot[bot] in #17137
- core: scripts: bump the patch group in /core/scripts with 3 updates by @dependabot[bot] in #17164
- editoast: bump chrono from 0.4.44 to 0.4.45 in /editoast by @dependabot[bot] in #17169
- editoast: bump diesel from 2.3.9 to 2.3.10 in /editoast by @dependabot[bot] in #17171
- editoast: bump serde_with from 3.20.0 to 3.21.0 in /editoast by @dependabot[bot] in #17163
- docker: bump alpine from 3.23 to 3.24 in /editoast by @dependabot[bot] in #17150
- front: bump vitest from 4.1.7 to 4.1.8 in /front in the vitest group across 1 directory by @dependabot[bot] in #17170
- core: scripts: bump boto3 from 1.43.23 to 1.43.24 in /core/scripts in the patch group by @dependabot[bot] in #17207
- core: scripts: bump tornado from 6.5.5 to 6.5.6 in /core/scripts by @dependabot[bot] in #17216
- docker: bump alpine from 3.23 to 3.24 in /osrdyne by @dependabot[bot] in #17157
- docker: bump alpine from 3.23.4 to 3.24.0 in /gateway by @dependabot[bot] in #17155
- front: bump react-router-dom from 7.16.0 to 7.17.0 in /front by @dependabot[bot] in #17176
- front: bump rollup from 4.60.4 to 4.61.1 in /front by @dependabot[bot] in #17177
- front: bump @tanstack/react-virtual from 3.13.26 to 3.14.2 in /front by @dependabot[bot] in #17175
- front: bump @rjsf/core from 6.5.3 to 6.6.2 in /front by @dependabot[bot] in #17212
- front: bump @rjsf/validator-ajv8 from 6.5.3 to 6.6.2 in /front by @dependabot[bot] in #17214
- front: bump i18next from 26.2.0 to 26.3.1 in /front by @dependabot[bot] in #17179
- front: bump happy-dom from 20.9.0 to 20.10.2 in /front by @dependabot[bot] in #17211
- core: scripts: bump tornado from 6.5.6 to 6.5.7 in /core/scripts by @dependabot[bot] in #17238
- front: bump the patch group across 1 directory with 9 updates by @dependabot[bot] in #17241
- core: scripts: bump aiohttp from 3.14.0 to 3.14.1 in /core/scripts by @dependabot[bot] in #17240
- python: bump pytest-cov from 4.1.0 to 7.1.0 in /python/railjson_generator by @dependabot[bot] in #17162
- python: bump pydantic from 2.13.0 to 2.13.4 in /python/osrd_schemas by @dependabot[bot] in #17147
- osrd_schemas_auto: bump ruff from 0.15.12 to 0.15.16 in /osrd_schemas_auto by @dependabot[bot] in #17161
- python: bump pyright from 1.1.408 to 1.1.410 in /python/osrd_schemas by @dependabot[bot] in #17148
- osrd_schemas_auto: update poetry-core requirement from >=1.0.0 to >=2.4.1 in /osrd_schemas_auto by @dependabot[bot] in #17146
- python: update poetry-core requirement from >=1.0.0 to >=2.4.1 in /python/railjson_generator by @dependabot[bot] in #17159
- python: update poetry-core requirement from >=1.0.0 to >=2.4.1 in /python/osrd_schemas by @dependabot[bot] in #17153
- osrd_schemas_auto: bump pyright from 1.1.409 to 1.1.410 in /osrd_schemas_auto by @dependabot[bot] in #17154
- front: bump js-yaml from 4.1.1 to 4.2.0 in /front by @dependabot[bot] in #17239
- python: bump ruff from 0.15.16 to 0.15.17 in /python/osrd_schemas by @dependabot[bot] in #17251
- python: bump geojson-pydantic from 1.0.2 to 2.1.1 in /python/railjson_generator by @dependabot[bot] in #17158
- gateway: bump smallvec from 1.15.1 to 1.15.2 in /gateway by @dependabot[bot] in #17283
- gateway: bump regex from 1.12.3 to 1.12.4 in /gateway by @dependabot[bot] in #17232
- osrdyne: bump http from 1.4.1 to 1.4.2 in /osrdyne by @dependabot[bot] in #17233
- osrdyne: bump uuid from 1.23.2 to 1.23.3 in /osrdyne by @dependabot[bot] in #17234
- core: scripts: bump the patch group in /core/scripts with 2 updates by @dependabot[bot] in #17327
New Contributors
- @adityabhatkar23 made their first contribution in #17061
Full Changelog: v1.2.18...v1.2.19