Version 1.2.3
What's Changed
Features 🎉
- ETCS level 2 pure routing requirements
- add etcs braking curves endpoint for paced trains by @Erashin in #13581
- core: pure ETCS level 2 routing requirements by @bougue-pe in #13453
- NGE notes:
- Add new table
macro_noteby @aschantraine in #13442 - New endpoint to retrieve a note by @aschantraine in #13482
- New endpoint to create notes by @aschantraine in #13527
- New endpoint to list scenario notes by @aschantraine in #13571
- New endpoint to update a note for nge by @aschantraine in #13587
- New endpoint to delete a note for nge by @aschantraine in #13597
- Add new table
- Authz:
- New endpoint to get the groups of an user by @aschantraine in #13354
- Early stages of backtrack in pathfinding:
- front: add support contact (external) by @shenriotpro in #13356
- New itinerary modal
- Add path step row in new itinerary modal by @SharglutDev in #13385
- Remove itinerary modal button from import ui by @SharglutDev in #13419
- Add train settings fields in new itinerary modal by @Akctarus in #13390
- Add composition code field in new itinerary modal and improve … by @Akctarus in #13653
- Connect itinerary modal pathsteps with store by @SharglutDev in #13483
- NGE imports:
- STDCM enhance stdcm env:
- Small enhancements:
- Allow to resize the reticular and enlarge it by default by @younesschrifi in #13451
- Drop last step auto 0ms stop on reverse by @Synar in #13520
- Add loader during infra creation by @SarahBellaha in #13517
- Space out the delete button on scenario by @Akctarus in #13532
- Operational studies only display selected train conflicts by @Caracol3 in #12752
- Improve file upload modal by @Wadjetz in #13649
- Show errors for NGE → OSRD conversion by @emersion in #13721
- Stdcm: add track column in simulation results table by @Akctarus in #13535
- Unify requested-point numbers in the operational studies by @bougue-pe in #13521
Code refactoring ♻️
Frontend:
- ui, ci: fix ui tests and run them in the ci by @Synar in #13539
- upgrade React to v19.2 by @emersion in #13652
- turn TimesStopsRow.calculated{Arrival,Departure} into a Date by @emersion in #13123
- rename useInfraStatus -> useWorkerStatus and separate workeStatus and Infra by @clarani in #13209
- clean simulation results styles by @SharglutDev in #13490
- drop sec2time() by @emersion in #13381
- migrate to ESLint flat config by @emersion in #13135
- migrate to @vitest/eslint-plugin by @emersion in #13533
- merge ui and base prettier config and check ui formatting in ci by @Synar in #12114
- editoast: improve and fix unit tests declaration by @leovalais in #13631
- drop unused formatConflicts() helper by @emersion in #13732
- switch to @rtk-query/codegen-openapi useUnknown by @emersion in #13716
- move getSavedMacroNodes() to osrdEditoastApi by @emersion in #13762
- add skip token rtk query by @RomainValls in #12958
- use TimesStopsRow.pathStepId in TimesStopsInput by @emersion in #13688
Editoast:
- adjust max run time parameter by @eckter in #13727
- remove misplaced
editoast_modelsfolder by @leovalais in #13757 - handle OP parts in
/match_operational_pointsgeo coords by @emersion in #13650 - move
map-related models ineditoast_modelsby @leovalais in #13592 - remove explicit diesel_json wrapper in stdcm_search_env by @aschantraine in #13676
- remove tag splitting in favor of utoipa 5
tagsby @leovalais in #13484 - rename
valkeytovalkey_clientby @hamz2a in #13509 - nightly clippy fixes by @leovalais in #13673
- study dates validation at parsing by @leovalais in #13602
- fix 204 status code in openapi by @aschantraine in #13629
- add requestbody to macro_note put openapi documentation by @aschantraine in #13645
- OpenAPI processing simplifications by @leovalais in #13603
- remove some debug printing by @leovalais in #13639
- fix some tests deadlocking with
#[tokio::test]by @leovalais in #13633 - fix typo macro node update description by @aschantraine in #13626
- status code 201 for creation endpoints continuation by @aschantraine in #13625
- correct macro node update description by @aschantraine in #13613
- status code 201 for creation endpoints by @aschantraine in #13601
- tooling: document VSCode config by @bougue-pe in #13513
- automatically collect OpenAPI schemas by @leovalais in #13536
- cache: new
Mockclient usingredis-testby @leovalais in #13591 - add core payload to stdcm errors by @eckter in #13580
- sync Cargo.lock by @leovalais in #13590
- replace
crate::error::Resultwith stdResultby @hamz2a in #13095 - remove
crate::error::Resultfrommodelsby @hamz2a in #13127 - use DB templates to isolate unit tests by @SarahBellaha in #13099
- stdcm: add telemetry flag for path found by @eckter in #13518
- deactivate unused features from deps by @woshilapin in #13455
- remove serde qs and filter properties by @younesschrifi in #13530
Core:
- paths: migrate from RangeMaps to lists of range by @eckter in #13731
- improve documentation for some of the project quirks by @eckter in #13730
- basic cleanup for pathfinding constraints by @eckter in #13718
- debug: improve csv logging utils by @eckter in #13711
- stdcm: add telemetry span to track max duration ratio by @eckter in #13687
- stdcm: use heuristic to trim nodes that would take too long by @eckter in #13706
- make
StaticIdxList<T>implementList<StaticIdx<T>>by @eckter in #13672 - stdcm: stream json timetable when reproducing a request by @eckter in #13617
- add a flag to disable timetable cache by @eckter in #13612
- document LOCAL_TIMETABLE_CACHE by @bougue-pe in #13599
- fix deprecations preventing update to gradle 9.0 by @hhirtz in #13595
- stdcm: use standard allowance in heuristic by @eckter in #13578
- add compiler flag to ignore
@Jsonwarnings by @eckter in #13402 - worker: log errors caught in request processing by @eckter in #13436
- stdcm: add telemetry events to progress logger by @eckter in #13519
- stdcm: properly add rs length to mrsp by @eckter in #13508
Miscellaneous:
- docker: wait for dev front container to be healthy by @emersion in #13651
- github: group eslint and react dependabot upgrades, fix typescript-eslint group by @emersion in #13584
- github: register GitHub deployments for osrd-ui storybook by @emersion in #13440
Bug fixes 🐛
- refresh NGE after train departure time update by @emersion in #13761
- core: timetable-provider: properly retry after timeout error by @eckter in #13773
- editoast: fix path properties endpoint openapi by @younesschrifi in #13722
- core: sim: fix infinite loop when allowance speed reaches 0 by @eckter in #13717
- core: stdcm: fix min simulation time by @eckter in #13710
- scripts: fix script to save stdcm requests by @eckter in #13643
- core: test and fix iterators for custom array lists by @eckter in #13683
- editoast: add missing service deps to README.md by @hhirtz in #13418
- storybook: fix and enforce TypeScript and ESLint by @emersion in #13341
- editoast: fix match_operational_point endpoint (secondary_code filter) by @younesschrifi in #13627
- Fetch conflicts on scenario refresh by @achrafmohye in #13182
- core: fix timetable concurrency by @eckter in #13427
- core: stdcm: reproduce and fix simulation mismatch by @eckter in #13632
- front: fix wrong french translation for add service by @SharglutDev in #13424
- front: fix train ids from url by @Synar in #13426
- front: fix invalid date handling and disable search button when date is invalid by @Maymanaf in #13011
- front: fix osm city layer on map by @SharglutDev in #13432
- front: fix osm track and 3d layers never displayed by @Synar in #13456
- front: prevent 3d layer toggled on without osm by @Synar in #13541
- front: fix electrification modes and profiles in csv export by @Synar in #13143
- front: fix pathfinding without speedlimittag by @SharglutDev in #13501
- front: fix simulation launch not properly disabled during infra load by @SarahBellaha in #13516
- front: fix paced interval comparison in round trip modal by @Synar in #13523
- front: fix projection exception icon in train list by @Synar in #13573
- front: fix mass conversion by @shenriotpro in #13594
- front: fix secondary code attribution in round trips by @RomainValls in #13079
- front: fix fetchPathStepsOPData with track steps present by @Synar in #13623
- front: stop mixing schedule and paced ids in useTrackOccupancy by @Synar in #13593
- front: fix rolling stock import by @Wadjetz in #13569
- front: fix manchette ops out of date by @Synar in #13579
- front: fix rolling stock editor scroll overflow by @Wadjetz in #13644
- front, ui-icons: fix ESLint ignore rule by @emersion in #13689
- front: fix simulation-sheet not downloading on chrome by @Caracol3 in #13720
- front: fix modal position of departure time by @theocrsb in #13212
- front: fix stdcm help panel by @Wadjetz in #13675
- front: fix missing trigram in NGE when OP is unknown by @emersion in #13733
- front, editoast: fix missing fields in scenario and study search results by @Synar in #13529
- helm: Add secret_key to gateway config by @gaetan-osrd in #13514
- helm: fix images image in chart values by @gaetan-osrd in #13515
- front: fix conflicts not fetched on page load by @Synar in #13454
E2E Tests
- front: temporarily skip space-time diagram snapshot e2e test by @Maymanaf in #13493
- front: add e2e tests for round trips by @Maymanaf in #13425
Dependency bumps 🗞️
- editoast: migrate to utopia 5.4 by @leovalais in #13480
- editoast: bye
async-stdby @leovalais in #13634 - front: bump NGE package by @Maymanaf in #13759
From dependabot
- front: bump the patch group across 1 directory with 17 updates by @dependabot[bot] in #13460
- editoast: bump linkme from 0.3.33 to 0.3.35 in /editoast by @dependabot[bot] in #13473
- editoast: bump tempfile from 3.22.0 to 3.23.0 in /editoast by @dependabot[bot] in #13470
- editoast: bump serde from 1.0.226 to 1.0.228 in /editoast by @dependabot[bot] in #13472
- editoast: bump postgres-openssl from 0.5.1 to 0.5.2 in /editoast by @dependabot[bot] in #13463
- editoast: bump tokio-postgres from 0.7.13 to 0.7.14 in /editoast by @dependabot[bot] in #13464
- editoast: bump regex from 1.11.2 to 1.11.3 in /editoast by @dependabot[bot] in #13466
- editoast: bump quote from 1.0.40 to 1.0.41 in /editoast by @dependabot[bot] in #13459
- editoast: bump axum from 0.8.4 to 0.8.5 in /editoast by @dependabot[bot] in #13457
- editoast: bump thiserror from 2.0.16 to 2.0.17 in /editoast by @dependabot[bot] in #13469
- editoast: bump the opentelemetry group in /editoast with 2 updates by @dependabot[bot] in #13458
- front: bump virtua from 0.43.6 to 0.44.2 in /front by @dependabot[bot] in #13562
- front: bump maplibre-gl from 5.7.3 to 5.8.0 in /front by @dependabot[bot] in #13560
- front: bump @types/node from 24.5.2 to 24.7.0 in /front by @dependabot[bot] in #13558
- front: bump typescript-eslint from 8.44.0 to 8.46.0 in /front by @dependabot[bot] in #13556
- front: bump vite-plugin-checker from 0.10.3 to 0.11.0 in /front by @dependabot[bot] in #13564
- front: bump @typescript-eslint/parser from 8.44.0 to 8.46.0 in /front by @dependabot[bot] in #13561
- front: bump @playwright/test from 1.55.1 to 1.56.0 in /front by @dependabot[bot] in #13554
- editoast: bump petgraph from 0.8.2 to 0.8.3 in /editoast by @dependabot[bot] in #13548
- editoast: bump ordered-float from 5.0.0 to 5.1.0 in /editoast by @dependabot[bot] in #13545
- front: bump react-map-gl from 8.0.4 to 8.1.0 in /front by @dependabot[bot] in #13555
- front: bump happy-dom from 18.0.1 to 19.0.2 in /front by @dependabot[bot] in #13559
- front: bump react-i18next from 15.7.3 to 16.0.0 in /front by @dependabot[bot] in #13563
- editoast: bump serde_with from 3.14.1 to 3.15.0 in /editoast by @dependabot[bot] in #13549
- editoast: bump axum from 0.8.5 to 0.8.6 in /editoast by @dependabot[bot] in #13546
- editoast: bump axum-extra from 0.10.1 to 0.10.2 in /editoast by @dependabot[bot] in #13547
- front: bump the patch group in /front with 13 updates by @dependabot[bot] in #13551
- editoast: bump the opentelemetry group in /editoast with 2 updates by @dependabot[bot] in #13543
- actions: bump fsfe/reuse-action from 5 to 6 by @dependabot[bot] in #13544
- front: bump happy-dom from 19.0.2 to 20.0.0 in /front by @dependabot[bot] in #13638
- editoast: bump reqwest from 0.12.23 to 0.12.24 in /editoast by @dependabot[bot] in #13655
- editoast: bump lapin from 2.5.4 to 2.5.5 in /editoast by @dependabot[bot] in #13656
- editoast: bump tokio-postgres from 0.7.14 to 0.7.15 in /editoast by @dependabot[bot] in #13657
- editoast: bump clap from 4.5.48 to 4.5.49 in /editoast by @dependabot[bot] in #13659
- editoast: bump regex from 1.11.3 to 1.12.2 in /editoast by @dependabot[bot] in #13658
- front: bump the patch group in /front with 8 updates by @dependabot[bot] in #13664
- osrdyne: bump lapin from 3.6.0 to 3.7.1 in /osrdyne by @dependabot[bot] in #13670
- front: bump virtua from 0.44.2 to 0.45.2 in /front by @dependabot[bot] in #13666
- front: bump i18next from 25.5.3 to 25.6.0 in /front by @dependabot[bot] in #13665
- front: bump maplibre-gl from 5.8.0 to 5.9.0 in /front by @dependabot[bot] in #13668
- osrdyne: bump thiserror from 2.0.16 to 2.0.17 in /osrdyne by @dependabot[bot] in #13462
- osrdyne: bump the opentelemetry group across 1 directory with 6 updates by @dependabot[bot] in #13488
- core: bump com.squareup.okhttp3:okhttp from 5.1.0 to 5.2.1 in /core by @dependabot[bot] in #13637
- front: bump the patch group in /front with 3 updates by @dependabot[bot] in #13684
- front: bump @apidevtools/swagger-parser from 12.0.0 to 12.1.0 in /front by @dependabot[bot] in #13685
- front: bump happy-dom from 20.0.0 to 20.0.2 in /front by @dependabot[bot] in #13703
- editoast: bump tokio from 1.47.1 to 1.48.0 in /editoast by @dependabot[bot] in #13682
- osrdyne: bump axum-tracing-opentelemetry from 0.32.0 to 0.32.1 in /osrdyne in the opentelemetry group by @dependabot[bot] in #13679
- core: bump com.rabbitmq:amqp-client from 5.26.0 to 5.27.0 in /core by @dependabot[bot] in #13723
- gateway: bump the opentelemetry group in /gateway with 3 updates by @dependabot[bot] in #13713
- gateway: bump phf from 0.12.1 to 0.13.1 in /gateway by @dependabot[bot] in #13714
- gateway: bump actix-session from 0.10.1 to 0.11.0 in /gateway by @dependabot[bot] in #13715
- front: bump the patch group in /front with 16 updates by @dependabot[bot] in #13755
- front: bump @types/node from 24.7.2 to 24.9.0 in /front by @dependabot[bot] in #13754
- front: bump typescript-eslint from 8.46.1 to 8.46.2 in /front in the typescript-eslint group by @dependabot[bot] in #13739
- front: bump eslint-plugin-storybook from 9.1.10 to 9.1.13 in /front in the storybook group across 1 directory by @dependabot[bot] in #13756
- front: bump react-i18next from 16.0.1 to 16.1.2 in /front by @dependabot[bot] in #13752
- editoast: bump openssl from 0.10.73 to 0.10.74 in /editoast by @dependabot[bot] in #13750
- editoast: bump clap from 4.5.49 to 4.5.50 in /editoast by @dependabot[bot] in #13746
- editoast: bump uom from 0.36.0 to 0.37.0 in /editoast by @dependabot[bot] in #13749
- editoast: bump syn from 2.0.106 to 2.0.107 in /editoast by @dependabot[bot] in #13742
- editoast: bump rstest from 0.19.0 to 0.26.1 in /editoast by @dependabot[bot] in #13737
- gateway: bump serde from 1.0.225 to 1.0.228 in /gateway by @dependabot[bot] in #13467
- gateway: bump reqwest from 0.12.23 to 0.12.24 in /gateway by @dependabot[bot] in #13663
- gateway: bump thiserror from 2.0.16 to 2.0.17 in /gateway by @dependabot[bot] in #13468
- gateway: bump regex from 1.11.2 to 1.12.2 in /gateway by @dependabot[bot] in #13662
- editoast: bump diesel_json from 0.2.1 to 0.3.0 in /editoast by @dependabot[bot] in #13747
- editoast: bump the opentelemetry group in /editoast with 6 updates by @dependabot[bot] in #13740
- core: bump ksp from 2.2.0-2.0.2 to 2.2.20-2.0.3 in /core by @dependabot[bot] in #13206
- editoast: bump axum-extra from 0.10.2 to 0.10.3 in /editoast by @dependabot[bot] in #13661
- front: bump the storybook group in /front with 2 updates by @dependabot[bot] in #13542
Translations ️🌏🌍🌎
- Translations of
Infra Editorcomponent updated by @tct123 in #13494 - Translations of
STDCMcomponent updated by @tct123 in #13495 - Translations of
Translationscomponent updated by @flomonster in #13726 - Translations of
STDCMcomponent updated by Geolas Play in #13572 - Translations of
Errorscomponent updated by BigDy HQ in #13475 - Translations of
Translationscomponent updated by BigDy HQ in #13477 - Translations of
STDCMcomponent updated by BigDy HQ in #13476 - Translations of
Infra Editorcomponent updated by BigDy HQ in #13478 - Translations of
Infra Editorcomponent updated by BigDy HQ in #13446 - Translations of
STDCM Help Sectioncomponent updated by BigDy HQ in #13447 - Translations of
Translationscomponent updated by BigDy HQ in #13448 - Translations of
Errorscomponent updated by BigDy HQ in #13449 - Translations of
STDCMcomponent updated by BigDy HQ in #13450 - Translations of
Infra Editorcomponent updated by Geolas Play in #13574 - Translations of
Errorscomponent updated by Geolas Play in #13575
New Contributors
- @hhirtz made their first contribution in #13418
- @gaetan-osrd made their first contribution in #13514
Full Changelog: v1.2.2...v1.2.3