v1.2.0
What's Changed
Features 🎉
- Space time chart invalid train projection
- Replace op_ids with op_refs in project_path_op by @younesschrifi in #12717
- Refacto useLazyProjectTrains hook by @Uriel-Sautron in #12788
- Enable invalid trains with valid pathfinding projection by @Uriel-Sautron in #12833
- Enable invalid paced trains with valid pathfinding projection by @Uriel-Sautron in #12894
- Timetable cache, speed up stdcm operations 🚀
- Round trips
- Add round trips train schedule endpoints by @flomonster in #12718
- Add paced train round trips endpoints by @flomonster in #12791
- Enable user to pick a return by @SharglutDev in #12615
- Add filter input to round trips modal by @SharglutDev in #12685
- Show tooltip in round trips modal cards by @SharglutDev in #12710
- Fix items order when pairing items in round trips modal by @SharglutDev in #12819
- Fix stops in round trips modal by @SharglutDev in #12827
- Make round trips modal dynamic by @SharglutDev in #12727
- Handle round trips in NGE to OSRD by @Synar in #12768
- Subcategories
- Add subcategory endpoints by @Wadjetz in #12439
- Enable sub categories handle by @theocrsb in #12658
- Update category colors to match the mockup by @theocrsb in #12726
- Handle subcategories in timetable filter by @theocrsb in #12753
- Handle subcategory color in conflict list by @theocrsb in #12849
- Handle subcategory in NGE by @theocrsb in #12764
- Introduce context for subcategories by @theocrsb in #12874
- Allow paced trains and train schedules with subcategories to be imported and exported by @theocrsb in #12909
- Fix category error on train schedule update by @hamz2a in #12807
- Similar train
- Revamped scenario page
- Paced trains and exceptions
- Ignore disabled occurrences in conflict detection by @Erashin in #12785
- Show simulation results for disabled trains by @clarani in #12806
- Display exceptions projection on the space time chart by @clarani in #12882
- Enable occurrence selection for path projection by @clarani in #12908
- Import paced trains with exceptions by @achrafmohye in #12498
- Backtrack early stages
UI
- ui-core, ui-charts: prefix most outer CSS classes with "ui-" by @emersion in #12557
- ui-charts: simplify rectangular zoom by @clarani in #12905
Code refactoring ♻️
- editoast: derive: remove generated unsafe attribute by @leovalais in #12814
- editoast: update deprecated retrieve calls by @leovalais in #12811
- editoast: follow-up on errors of Model::List (#12793) by @leovalais in #12812
- editoast: use associated type in Count and List instead of InternalError by @leovalais in #12793
- editoast: replace name by schedule id in similar trains by @hamz2a in #12745
- editoast: rename a few crates by @leovalais in #12731
- editoast: replace the
routes!macro by a pure Rust builder by @leovalais in #12733 - editoast: replace
schema!macro by automatic collection everywhere by @leovalais in #12762 - editoast: views: simplify router nesting by @leovalais in #12754
- editoast: send train schedule name in similar trains response by @leovalais in #12913
- editoast: move Model prelude in
editoast_modelby @leovalais in #12960 - editoast: use clap to read OSRD_VERSION and remove get_app_version by @leovalais in #12831
- editoast: authz: factorize privilege check Regulator functions by @leovalais in #12767
- editoast: views: use OpenApi derive to collect json_patch schemas by @leovalais in #12817
- Load infra cache from railjson by @flomonster in #12825
- editoast: fga: share testing utilities between crates by @Sh099078 in #12770
- editoast: rename a few more crates by @leovalais in #12847
- front: drop eslint-config-airbnb by @emersion in #11758
- front: refactor map settings reducers by @RomainValls in #11282
- front: drop dateToHHMMSS() by @emersion in #12583
- front: rename all the dead sections into neutral sections by @Maymanaf in #12966
- front: drop buildOpSearchQuery() by @emersion in #12912
- front: replace lerna with a release script by @emersion in #12353
- front: drop forceRefetch from rtk-query options by @emersion in #12921
- front: replace the keyword interface with type by @clarani in #12973
- front: Move files related to the rolling stock editor in
/applications/rollingStockEditorby @clarani in #12765 - front: Create scenario view folder by @clarani in #12784
- core: small improvements on DistanceRangeMap by @eckter in #12834
- core: add constraints for stdcm steps by @shenriotpro in #12883
- Set post railjson endpoint as not stateful by @flomonster in #12824
Bug fixes 🐛
- Add node memory limit option to avoid OOM by @flomonster in #12792
- gateway: make /srv the working dir in all envs by @Khoyo in #12773
- editoast: authz: fix ability to demote without having a higer grant by @leovalais in #12821
- editoast: fix COALESCE performance issues in Model::List by @leovalais in #12739
- editoast: fix similar train stops by @hamz2a in #12937
- editoast: handle None category on train schedule update by @hamz2a in #12889
- editoast: prevent last owner from being demoted + tests improvements by @leovalais in #12839
- Pathfinding: use speed limit tag to compute speed limits by @eckter in #12747
- Fix map position alternative simulation when no capacity is available by @achrafmohye in #12746
- Restore margin highlighting in output table when negative diff margins by @achrafmohye in #12851
- Fix train list order after updating a servicev by @achrafmohye in #12838
- Fix round trips upsert endpoints by @flomonster in #12832
- github: skip osrd-ui-website workflow when missing secret by @emersion in #12917
- front: Fix space time chart not refreshing when switching to paced train projection by @achrafmohye in #12786
- front: scripts: avoid crashing when PR_TEST is missing by @shenriotpro in #12903
- front: Fix a typo in the languages section of the readme by @flomonster in #12886
- front: ci: make the retry regex more permissive by @Khoyo in #12880
- front: Add a filter to the ui website deployment by @flomonster in #12852
- front: Fix and test searched operational points sorting by @Synar in #12614
- front: Fix a composition-code typo on filters by @bougue-pe in #12830
- front: Fix incorrect “too fast” warnings and existence of flame icon by @achrafmohye in #12809
- front: Fix bg color for no category by @theocrsb in #12829
- front: Fix train list column width change in occurrence edit mode by @theocrsb in #12875
- front: STD refacto by @RomainValls in #12789
- front: Fix scss warnings on build by @clarani in #12826
- front: Fix padding below the navbar (editor and ManageTimetableItemModal) by @clarani in https://github.com/OpenRailAssociation/osrd/pull/
- front: Displays the space-time chart when turning a train into a paced train by @iLTmpas in #12249
- front: Fix scenario bottom spacing by @Math-R in #12891
- front: Add error messages for time window higher than a month by @RomainValls in #12881
- front: Fix none color category by @theocrsb in #12893
- Add missing OP for stdcmperimeter by @alexandrergj in #12669
E2E Tests
- Limit e2e screenshots test to chromium by @Maymanaf in #12902
- Generate a personalized playwright report by @Maymanaf in #12535
Bump dependencies 🗞️
- core: upgrade to spotless 7 by @Khoyo in #12751
- Bump rust version to 1.89 by @flomonster in #12877
- editoast: bump
axum-testto 18.0.0 properly by @leovalais in #12959 - Update editoast lock file by @flomonster in #12870
- Nix flake: add fga cli and update lock by @flomonster in #12866
From dependabot
- core: bump org.assertj:assertj-core from 3.26.3 to 3.27.4 in /core by @dependabot[bot] in #12750
- core: bump moshi from 1.15.1 to 1.15.2 in /core by @dependabot[bot] in #9975
- core: bump kotlin from 2.0.20 to 2.2.0 in /core by @dependabot[bot] in #12238
- core: bump org.junit.platform:junit-platform-launcher from 1.12.+ to 1.13.4 in /core by @dependabot[bot] in #12547
- core: bump com.charleskorn.kaml:kaml from 0.76.0 to 0.85.0 in /core by @dependabot[bot] in #12527
- core: bump com.rabbitmq:amqp-client from 5.24.0 to 5.26.0 in /core by @dependabot[bot] in #12579
- core: bump com.github.ben-manes.versions from 0.51.0 to 0.52.0 in /core by @dependabot[bot] in #10519
- core: bump io.opentelemetry:opentelemetry-api from 1.49.0 to 1.52.0 in /core by @dependabot[bot] in #12470
- core: bump com.squareup.okhttp3:okhttp from 4.12.0 to 5.1.0 in /core by @dependabot[bot] in #12430
- core: bump io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations from 2.15.0 to 2.18.1 in /core by @dependabot[bot] in #12581
- core: bump kotlinx-coroutines from 1.8.+ to 1.10.1 in /core by @dependabot[bot] in #10162
- actions: bump astral-sh/setup-uv from 5 to 6 by @dependabot[bot] in #11669
- osrdyne: bump thiserror from 2.0.12 to 2.0.14 in /osrdyne by @dependabot[bot] in #12803
- gateway: bump reqwest from 0.12.22 to 0.12.23 in /gateway by @dependabot[bot] in #12801
- actions: bump actions/checkout from 4 to 5 by @dependabot[bot] in #12802
- core: bump io.opentelemetry:opentelemetry-api from 1.52.0 to 1.53.0 in /core by @dependabot[bot] in #12794
- osrdyne: bump uuid from 1.17.0 to 1.18.0 in /osrdyne by @dependabot[bot] in #12795
- gateway: bump thiserror from 2.0.12 to 2.0.14 in /gateway by @dependabot[bot] in #12796
- osrdyne: bump reqwest from 0.12.22 to 0.12.23 in /osrdyne by @dependabot[bot] in #12798
- osrdyne: bump anyhow from 1.0.98 to 1.0.99 in /osrdyne by @dependabot[bot] in #12799
- osrdyne: bump lapin from 3.1.0 to 3.2.0 in /osrdyne by @dependabot[bot] in #12800
- osrdyne: bump slab from 0.4.10 to 0.4.11 in /osrdyne by @dependabot[bot] in #12804
- gateway: bump slab from 0.4.10 to 0.4.11 in /gateway by @dependabot[bot] in #12805
- editoast: bump uuid from 1.17.0 to 1.18.0 in /editoast by @dependabot[bot] in #12783
- editoast: bump tokio from 1.46.1 to 1.47.1 in /editoast by @dependabot[bot] in #12782
- editoast: bump rangemap from 1.5.1 to 1.6.0 in /editoast by @dependabot[bot] in #12781
- editoast: bump prettyplease from 0.2.35 to 0.2.36 in /editoast by @dependabot[bot] in #12779
- editoast: bump proc-macro2 from 1.0.95 to 1.0.96 in /editoast by @dependabot[bot] in #12780
- editoast: bump clap from 4.5.41 to 4.5.43 in /editoast by @dependabot[bot] in #12778
- editoast: bump geo-types from 0.7.16 to 0.7.17 in /editoast by @dependabot[bot] in #12777
- editoast: bump lapin from 2.5.3 to 2.5.4 in /editoast by @dependabot[bot] in #12774
- editoast: bump serde_json from 1.0.141 to 1.0.142 in /editoast by @dependabot[bot] in #12775
- editoast: bump tokio-util from 0.7.15 to 0.7.16 in /editoast by @dependabot[bot] in #12776
- core: bump com.charleskorn.kaml:kaml from 0.85.0 to 0.90.0 in /core by @dependabot[bot] in #12845
- github: bump private packages dependencies when releasing osrd-ui by @emersion in #12850
- gateway: bump thiserror from 2.0.14 to 2.0.15 in /gateway by @dependabot[bot] in #12865
- editoast: bump anyhow from 1.0.98 to 1.0.99 in /editoast by @dependabot[bot] in #12863
- editoast: bump syn from 2.0.104 to 2.0.106 in /editoast by @dependabot[bot] in #12858
- editoast: bump thiserror from 2.0.12 to 2.0.15 in /editoast by @dependabot[bot] in #12862
- osrdyne: bump thiserror from 2.0.14 to 2.0.15 in /osrdyne by @dependabot[bot] in #12861
- editoast: bump enumset from 1.1.7 to 1.1.9 in /editoast by @dependabot[bot] in #12856
- editoast: bump proc-macro2 from 1.0.96 to 1.0.101 in /editoast by @dependabot[bot] in #12855
- editoast: bump clap from 4.5.43 to 4.5.45 in /editoast by @dependabot[bot] in #12854
- editoast: bump async-std from 1.13.1 to 1.13.2 in /editoast by @dependabot[bot] in #12853
- editoast: bump reqwest from 0.12.22 to 0.12.23 in /editoast by @dependabot[bot] in #12857
- osrdyne: bump serde_json from 1.0.142 to 1.0.143 in /osrdyne by @dependabot[bot] in #12871
- osrdyne: bump lapin from 3.2.0 to 3.2.1 in /osrdyne by @dependabot[bot] in #12872
- gateway: bump serde_json from 1.0.142 to 1.0.143 in /gateway by @dependabot[bot] in #12873
- osrdyne: bump thiserror from 2.0.15 to 2.0.16 in /osrdyne by @dependabot[bot] in #12885
- gateway: bump thiserror from 2.0.15 to 2.0.16 in /gateway by @dependabot[bot] in #12884
- gateway: bump percent-encoding from 2.3.1 to 2.3.2 in /gateway by @dependabot[bot] in #12906
- gateway: bump url from 2.5.4 to 2.5.6 in /gateway by @dependabot[bot] in #12907
- github: add eslint-plugin-storybook to storybook dependabot group by @emersion in #12953
- editoast: bump thiserror from 2.0.15 to 2.0.16 in /editoast by @dependabot[bot] in #12952
- editoast: bump enumset from 1.1.9 to 1.1.10 in /editoast by @dependabot[bot] in #12947
- editoast: bump url from 2.5.4 to 2.5.7 in /editoast by @dependabot[bot] in #12950
- editoast: bump regex from 1.11.1 to 1.11.2 in /editoast by @dependabot[bot] in #12951
- editoast: bump darling from 0.20.11 to 0.21.2 in /editoast by @dependabot[bot] in #12946
- editoast: bump tempfile from 3.20.0 to 3.21.0 in /editoast by @dependabot[bot] in #12945
- editoast: bump inventory from 0.3.20 to 0.3.21 in /editoast by @dependabot[bot] in #12949
- editoast: bump axum-test from 17.3.0 to 18.0.0 in /editoast by @dependabot[bot] in #12954
- gateway: bump regex from 1.11.1 to 1.11.2 in /gateway by @dependabot[bot] in #12920
- editoast: bump clap from 4.5.45 to 4.5.46 in /editoast by @dependabot[bot] in #12961
- gateway: bump url from 2.5.6 to 2.5.7 in /gateway by @dependabot[bot] in #12918
- osrdyne: bump axum-tracing-opentelemetry from 0.29.0 to 0.30.0 in /osrdyne in the opentelemetry group by @dependabot[bot] in #12942
- front: bump the patch group across 1 directory with 14 updates by @dependabot[bot] in #12940
- front: bump react-router-dom from 7.6.3 to 7.8.2 in /front by @dependabot[bot] in #12948
- front: bump i18next from 25.3.2 to 25.4.2 in /front by @dependabot[bot] in #12939
- front: bump pdfjs-dist from 5.3.93 to 5.4.54 in /front by @dependabot[bot] in #12934
- front: bump eslint-plugin-storybook from 9.0.16 to 9.1.3 in /front by @dependabot[bot] in #12933
- front: bump the storybook group in /front with 5 updates by @dependabot[bot] in #12922
- front: bump react-i18next from 15.6.0 to 15.7.2 in /front by @dependabot[bot] in #12932
- front: bump sass from 1.89.2 to 1.90.0 in /front by @dependabot[bot] in #12916
- front: bump @playwright/test from 1.54.1 to 1.55.0 in /front by @dependabot[bot] in #12914
- front: bump @types/node from 24.0.13 to 24.3.0 in /front by @dependabot[bot] in #12925
- front: bump @vitejs/plugin-react-swc from 3.10.2 to 4.0.1 in /front by @dependabot[bot] in #12931
- front: bump @chromatic-com/storybook from 4.0.1 to 4.1.1 in /front by @dependabot[bot] in #12936
- front: bump the typescript-eslint group in /front with 2 updates by @dependabot[bot] in #12915
- front: bump postcss-preset-env from 10.2.4 to 10.3.0 in /front by @dependabot[bot] in #12923
- front: bump vite from 7.0.6 to 7.1.3 in /front by @dependabot[bot] in #12929
- front: bump rollup from 4.45.0 to 4.48.1 in /front by @dependabot[bot] in #12926
- front: bump sha.js from 2.4.11 to 2.4.12 in /front by @dependabot[bot] in #12896
- front: bump typescript from 5.8.3 to 5.9.2 in /front by @dependabot[bot] in #12927
- front: bump sass from 1.89.2 to 1.91.0 in /front by @dependabot[bot] in #12962
Translations ️🌏🌍🌎
- Add portugese lang portuese by @flomonster in #12868
- Add weblate languages stats by @flomonster in #12876
- Translations of
STDCM Help Sectioncomponent updated by @weblate in #12760 - Translations of
STDCMcomponent updated by @weblate in #12759 - Translations of
Errorscomponent updated by @weblate in #12757 - Translations of
Operational Studiescomponent updated by @weblate in #12758 - Translations of
Infra Editorcomponent updated by @weblate in #12755 - Translations of
STDCMcomponent updated by @weblate in #12761 - Translations of
Translationscomponent updated by @weblate in #12756 - Translations of
Operational Studiescomponent updated by @weblate in #12869 - Translations of
Translationscomponent updated by @weblate in #12843 - Translations of
Infra Editorcomponent updated by @weblate in #12842 - Translations of
STDCMcomponent updated by @weblate in #12887
New Contributors
- Grateful to @mansil, @betubs, @fitojb and @braintrue for their support with the translation !
Full Changelog: v1.1.8...v1.2.0