Version v1.1.0
What's Changed
Features 🎉
- STDCM interface:
- Update stdcm notification title by @shenriotpro in #11406
- Use customized name for STDCM in "Help us" message by @emersion in #11394
- Use customized name for STDCM in email feedback by @emersion in #11570
- Display feedbackcard below both results and failure sections by @Caracol3 in #11399
- Turn STDCM feedback button into a link by @emersion in #11479
- Add information about consist in the STDCM help section by @SarahBellaha in #11552
- Impersonate:
- Permissions:
- Add 'editoast user/group info' command by @woshilapin in #11505
- editoast: authz api with openfga by @sim51 in #11197
- Enable permissions on infra by @SarahBellaha in #11131
- Add user search in the grant manager and refactor for generic usage by @SarahBellaha in #11382
- Temporary disable the privilege check by @SarahBellaha in #11553
- Train schedules and paced trains:
- Categories
- Add
primary_categoryandother_categoriesin light rolling stock endpoints by @hamz2a in #11540 - Add
categoryinTrainScheduleandPacedTrainby @hamz2a in #11556 - Add
categoryinPacedTrainchangeset by @hamz2a in #11796 - Allow selecting and editing train category, and filtering trains by category in the list by @achrafmohye in #11638
- Add
- Standard paced train:
- Project paced trains and their occurrences on the space time chart by @Math-R in #11265
- Handle paced trains in the macro mode by @louisgreiner in #11232
- Import paced train from xml file by @RomainValls in #11547
- Update occurrences path color on the space time chart when an occurrence is selected by @Math-R in #11729
- Drop paced trains switch by @Akctarus in #11728
- Add drag and drop occurrences behavior in the space time chart by @Uriel-Sautron in #11780
- Add pop up confirmation when deleting paced trains by @theocrsb in #11585
- Exceptions
- Add exceptions field to paced train and enhance endpoints to CRUD exceptions by @Wadjetz in #11557
- Allow to display more details about paced trains and their occurrences in the train list by @theocrsb in #11498
- Add icons for occurrences in the train list by @anisometropie in #11689
- Add actions menu on the occurrence cards by @SharglutDev in #11551
- Improve osrdmenu positioning by @SharglutDev in #11652
- Display exception tooltip when hovering an occurrence by @theocrsb in #11561
- Categories
- New scenario page and interface
- ETCS
- Gateway
- Implementation exclusion and inclusion by @ElysaSrc in #11763
Code refactoring ♻️
Core
- Stdcm
- Telemetry
- Merge pre-dev into dev by @louisgreiner in #11403
- Move files to have a clean kotlin api package by @Erashin in #11388
- tools: reproduce requests using railjson infra file by @eckter in #11302
- simulation: use blocks from pathfinding by @bougue-pe in #11405
- migrate infra versions from string to integers by @Khoyo in #11511
- merge ScheduleMetadataExtractors by @bougue-pe in #11580
- remove string ids from conflict detection by @eckter in #11591
- remove visa for etcs trains by @louisgreiner in #11694
Editoast
- TrainSchedule V2
- TrainSchedule and PacedTrains
- Rename TrainScheduleBase to TrainSchedule by @Wadjetz in #11349
- Refacto paced trains and train schedules modules by @younesschrifi in #11459
- Rename paced train fields by @younesschrifi in #11258
- RollingStock
- Rename RollingStockModel to RollingStock by @leovalais in #11657
- Rename
RollingStockCategorytoTrainCategoryby @hamz2a in #11578 - Rename RollingStockSeparatedImageModel to RollingStockImage by @leovalais in #11722
- Core interface
- Remove unused variant from
core::stdcm::Responseby @hamz2a in #11426 - Update
pathfindingto handleOsrdErrorfromcoreservice by @hamz2a in #11486 - Refactor
core::simulationby @hamz2a in #11501 - Replace
StandardCoreErrorwithRawErrorby @hamz2a in #11649 - Remove core-models dependency by @hamz2a in #11708
- Remove unused variant from
- Authz
- Improve error management and simplify API by @leovalais in #11701
- Remove InternalError dependency for Model's Update traits by @leovalais in #11196
- Prepare Model Retrieve error refactoring by @leovalais in #11439
- Merge of the /infra/{infra_id}/speed_limit_tags and /speed_limit_tags endpoints by @SarrahElm in #11407
- Make
projectmodule singular for consistency by @leovalais in #11654 - Refacto conflict endpoint by @younesschrifi in #11355
- Pass
osrd_versionto simulation hash function by @hamz2a in #11592 - Do not implement Default for Simulation Response by @woshilapin in #11614
- Resolve
doc_overindented_list_itemswarning by @hamz2a in #11634 - Use const generics to declare maximum and default page size by @leovalais in #11664
- Get rid of InternalError in PgAuthDriver error type by @leovalais in #11698
- Move
Versionstruct toeditoast_commonby @hamz2a in #11714 - fga: support batch checking by @leovalais in #11718
- schemas: add feature
fixturesto gatemod fixturesby @leovalais in #11710 - Simplify some
views::authztests by @leovalais in #11711 - Create occupancy block endpoint by @Yohh in #11622
- Adapt delete infra/infra_id endpoint to stop using infracache by @SarrahElm in #11757
- Simplify some error management in models by @leovalais in #11794
- Add mock response for similar schedules endpoint by @hamz2a in #11764
- Ignore auto-generated files from the review by @woshilapin in #11799
- Adapt switch type endpoint to stop using infracache by @SarrahElm in #11631
- Move
TrackRangefromFromStrtoDirectionalTrackRangeby @hamz2a in #11819 - Adapt /infra/{infra_id}/lines/{line_code}/bbox endpoint to stop using infracache by @SarrahElm in #11724
Front
- replace react-id-generator with useId for chip id attribute by @turnerian2004 in #11806
- rename all convoy occurrences to consist by @Akctarus in #11821
- refactor train lazy projection by @emersion in #11678
- map: adapt pathproperties type by @Akctarus in #11651
- take Duration in formatTrainDuration() by @emersion in #11770
- drop serializeDateTimeWithoutYear() by @emersion in #11751
- move path properties state into usePathfinding() by @emersion in #11774
- drop formatDateForInput() and getEarliestDate() by @emersion in #11662
- use Duration for StdcmResultsOperationalPoint.duration by @emersion in #11621
- drop date utils, time and time again by @emersion in #11646
- update persistConfig to use whitelist instead of blacklist by @kmer2016 in #11707
- rename type TimetableItemWithTimetableId -> TimetableItem by @clarani in #11713
- clean allowanceValue type and related code by @clarani in #10222
- rename some trainId utils by @clarani in #11665
- drop sec2datetime(), datetime2sec(), sec2ms(), minToMs() and secToMin() by @emersion in #11625
- drop ValidConfig by @emersion in #11595
- refacto occurrence types for exceptions by @SharglutDev in #11633
- rename paced train fields in front by @SharglutDev in #11502
- drop ms2min() by @emersion in #11623
- use narrow style for stdcm inputs by @SharglutDev in #11590
- redesign lazy loading for simulation summaries by @emersion in #11390
- move TrainSpaceTimeData into modules/simulationResults by @clarani in #11356
- refactoring conditions in rs editor jsx by @theocrsb in #11437
- tidy map layers folder by @clarani in #10787
- replace cutPositions by customRanges in PowerRestrictionsSelector by @clarani in #11053
- drop TimeButtons, TrainDetails and ChartSynchronizer by @emersion in #10881
- simplify getOperationalPointsWithTimes(), use Duration by @emersion in #11245
- use Duration in StdcmPathStep.stopFor by @emersion in #11354
- use matchPathStepAndOp() in formatOperationalPoints() by @emersion in #11307
- use formatEditoastTrainIdToOccurrenceId() in useOccurrences() by @emersion in #11330
- don't load NGE DTO in micro mode and assorted cleanups by @emersion in #11303
Tests
- Convert to poetry 2 by @woshilapin in #11287
- tests: add justfile by @woshilapin in #11628
Translations
- Clean translations by @clarani in #11500
- Merge home translation files into "translation" file by @clarani in #11562
- Merge some translation files by @clarani in #11559
- Merge some translation files (part 3) by @clarani in #11624
- Merge some translation files (part 4) by @clarani in #11715
- Merge some translation files (part 5) by @clarani in #11721
- Extract i18n keys with TypeScript by @emersion in #11554
- Translations update from weblate by @weblate in :
Tests
- Use Playwright API context by @Maymanaf in #11853
- Restructre and optimize test list by @Maymanaf in #11538
- Clean data samples by @clarani in #11485
Others
- railjson_generator and osrd_schemas
- import infra scripts as modules by @woshilapin in #11332
- update the justfile to the latest tools by @woshilapin in #11630
- replace 'poetry' with 'uv' 🚀 by @woshilapin in #11292
- update 'uv.lock' by @woshilapin in #11684
- add gitignore for build files by @woshilapin in #11629
- force the build backend by @woshilapin in #11686
- add 'ruff check fix' to justfile by @woshilapin in #11695
- update 'uv.lock' by @woshilapin in #11700
- make python practice more consistent by @bougue-pe in #11639
- OpenFGA: customize type parsing to enable stronger type checking by @leovalais in #11709
- Chart
- Remove an endpoint from stateful editoast by @flomonster in #11787
- Better gateway routing on stateful editoast by @ElysaSrc in #11773
- Chart generation on staging branches by @ElysaSrc in #11795
- CI
- Documentation
- Add 'npm run generate-types' into readme by @Leo-Tinkeam in #11703
- Update warning message about the stability of osrd by @woshilapin in #11615
- Add weblate badge by @flomonster in #11617
- scripts: Update download_timetable script by @eckter in #11429
- nix: Add 'uv' dependency by @woshilapin in #11685
- ops, front: Update nix flake nodejs and rust versions by @Synar in #11798
- Add build and test directories to tsconfig exclude by @emersion in #11648
- Remove physics maintainers from codeowners by @flomonster in #11480
Bug fixes 🐛
- front: fix rounding times for timetable items cards by @louisgreiner in #11400
- front: fix trainschedules multideletion by @SharglutDev in #11412
- front: fix console warning at first load of a non empty timetable by @SharglutDev in #11417
- front: fix track count display in speed limit editor by @Synar in #11514
- front: fix disabled speed tag select in infra editor by @Synar in #11513
- front: fix linebreak before required field star in rs editor by @Synar in #11515
- front: fix select blocking scrolling in front by @Synar in #11587
- front: fix psl panels speed rounding in infra editor by @Synar in #11512
- front: fix broken stop duration display in stdcm sheet by @Synar in #11593
- front: fix too few results in signal search in map by aligning with line search by @Synar in #11579
- front: fix paced train occurrences inverted names by @Akctarus in #11558
- front: fix effort curve crashing when array empty in rs editor by @Synar in #11549
- front: fix infra json file input not accepting same file twice in chrome by @Synar in #11567
- editoast: fix nightly clippy warning about format! interpolations by @leovalais in #11687
- front: fix Duration serialization in redux persist by @kmer2016 in #11331
- editoast: fix
/authz/me/grantsfor admins by @leovalais in #11699 - front: fix some missing translations by @clarani in #11690
- editoast: fix rs inertia coefficient type by @Synar in #11688
- front: translation: fix i18next interpolation by @flomonster in #11781
- front: fix input box outline by @turnerian2004 in #11656
- front: fix rs editor rounding by @Synar in #11719
- front: fix rs editor mass conversions by @Synar in #11720
- front: fix translations in op studies by @Synar in #11653
- front: fix stdcm support mail content by @Synar in #11809
- gateway: fix proxying of responses without a body by @multun in #11812
- front: fix map not displayed in itinerary tab by @SharglutDev in #11846
- editoast: fix
StdcmResponsestruct inOpenAPIby @hamz2a in #11421 - front: fix canceling a simulation for alternative solutions doesn't display the results of the simulation by @achrafmohye in #11386
- core: reproduce-request: exclude infra loading from time measurement by @eckter in #11539
- Fix osrdyne orphan queue processor by @flomonster in #11563
- Fix failing ci adding a requests session with retry strategy by @flomonster in #11586
- Stop filtering duplicate tracks during exploration by @eckter in #11632
- ensure uniform spacing between homepage cards by @turnerian2004 in #11808
- add line break to about section css by @turnerian2004 in #11811
Operational studies
- avoid blinking with example DTO when launching NGE by @emersion in #11328
- occupancy blocks: add blinking color by @Akctarus in #11357
- prevent creation of trains with names that makes train unusable by @achrafmohye in #11323
STDCM
- reset searchResults only when needed by @clarani in #11797
- display 0 duration stops as stops in stdcm sim report by @Synar in #11594
- add translation for unknown step in simulation tables by @Synar in #11541
- Handle and display non op stops in stdcm simulation report by @Synar in #10955
- core: fix 20s margin bug by @eckter in #11271
osrd-ui
- ui: reorganize development section of the readme by @emersion in #11568
- ui-charts: display a GOV in a GET in Storybook by @jacomyal in #11636
- ui-charts: fix useManchetteWithSpaceTimeChart() errors with zero waypoints by @emersion in #11571
- ui-core: make dates outside currently displayed month selectable by @clarani in #11775
- ui-core: fix focus style on button by @turnerian2004 in #11655
- ui: fix ESLint enforcement in CI by @emersion in #11619
Dependencies
- Bump opentelemetry from 0.29.0 to 0.29.1 in /editoast in the opentelemetry group by @dependabot in #11366
- Bump the opentelemetry group across 1 directory with 6 updates by @dependabot in #11310
- Bump @typescript-eslint/parser from 8.26.1 to 8.29.1 in /front by @dependabot in #11380
- Bump @testing-library/react from 16.2.0 to 16.3.0 in /front by @dependabot in #11379
- Bump sass from 1.85.1 to 1.86.3 in /front by @dependabot in #11374
- Bump react-router-dom from 7.3.0 to 7.5.0 in /front by @dependabot in #11378
- Bump vite from 6.2.5 to 6.2.6 in /front by @dependabot in #11425
- Bump io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations from 2.14.0 to 2.15.0 in /core by @dependabot in #11428
- Bump lapin from 2.5.1 to 2.5.3 in /osrdyne by @dependabot in #11370
- Bump tokio from 1.44.1 to 1.44.2 in /osrdyne by @dependabot in #11372
- Bump io.opentelemetry:opentelemetry-api from 1.48.0 to 1.49.0 in /core by @dependabot in #11359
- Bump com.charleskorn.kaml:kaml from 0.66.0 to 0.76.0 in /core by @dependabot in #11420
- Bump com.github.spotbugs:spotbugs-annotations from 4.8.+ to 4.9.3 in /core by @dependabot in #11190
- Bump the patch group in /front with 2 updates by @dependabot in #11433
- Bump the vitest group in /front with 2 updates by @dependabot in #11371
- Bump clap from 4.5.35 to 4.5.36 in /editoast by @dependabot in #11430
- Bump anyhow from 1.0.97 to 1.0.98 in /editoast by @dependabot in #11432
- Bump osm4routing from 0.7.2 to 0.8.0 in /editoast by @dependabot in #11431
- Bump nge version to 2.9.23 by @louisgreiner in #11398
- Bust edition to 2024 by @flomonster in #11506
- Bump @types/node from 22.13.16 to 22.14.1 in /front by @dependabot in #11521
- Bump vitest from 3.1.1 to 3.1.2 in /front in the vitest group by @dependabot in #11518
- Bump @vitejs/plugin-react-swc from 3.8.1 to 3.9.0 in /front by @dependabot in #11522
- Bump clap from 4.5.36 to 4.5.37 in /editoast by @dependabot in #11517
- Bump osrd-ui to 0.0.73 by @clarani in #11484
- Bump itertools from 0.13.0 to 0.14.0 in /editoast by @dependabot in #11520
- Bump the patch group across 1 directory with 5 updates by @dependabot in #11565
- Bump tokio-util from 0.7.14 to 0.7.15 in /editoast by @dependabot in #11564
- Bump pr-tests to jaeger:2 by @bougue-pe in #11566
- Bump react-router and react-router-dom in /front by @dependabot in #11582
- Bump insta from 1.42.2 to 1.43.0 in /editoast by @dependabot in #11605
- Bump react-pdf-renderer v4.3.0 by @SharglutDev in #11589
- Bump @playwright/test from 1.51.1 to 1.52.0 in /front by @dependabot in #11524
- Bump vite from 6.2.6 to 6.3.3 in /front by @dependabot in #11603
- Bump react-i18next from 15.4.1 to 15.5.1 in /front by @dependabot in #11606
- Bump rollup from 4.34.7 to 4.40.1 in /front by @dependabot in #11610
- Bump pdfjs-dist from 4.10.38 to 5.2.133 in /front by @dependabot in #11604
- Bump the patch group in /front with 2 updates by @dependabot in #11600
- Bump sass from 1.86.3 to 1.87.0 in /front by @dependabot in #11602
- Bump @types/node from 22.14.1 to 22.15.3 in /front by @dependabot in #11601
- Bump vite from 6.3.3 to 6.3.4 in /front by @dependabot in #11641
- Bump the nivo group in /front with 2 updates by @theocrsb in #11645
- Bump vitest from 3.1.2 to 3.1.3 in /front in the vitest group by @dependabot in #11668
- Bump eslint-plugin-prettier from 5.2.6 to 5.4.0 in /front by @dependabot in #11673
- Bump the rjsf group in /front with 3 updates by @dependabot in #11597
- Bump i18next-browser-languagedetector from 8.0.5 to 8.1.0 in /front by @dependabot in #11676
- Bump virtua from 0.40.4 to 0.41.0 in /front by @dependabot in #11677
- Bump i18next from 24.2.3 to 25.0.2 in /front by @dependabot in #11598
- Bump the typescript-eslint group in /front with 2 updates by @dependabot in #11599
- Bump @reduxjs/toolkit from 2.6.1 to 2.7.0 in /front by @dependabot in #11528
- Bump the patch group across 1 directory with 5 updates by @dependabot in #11680
- Bump insta from 1.43.0 to 1.43.1 in /editoast by @dependabot in #11667
- Bump chrono from 0.4.40 to 0.4.41 in /editoast by @dependabot in #11670
- Bump enumset from 1.1.5 to 1.1.6 in /editoast by @dependabot in #11681
- Bump axum from 0.8.3 to 0.8.4 in /editoast by @dependabot in #11666
- Bump syn from 2.0.100 to 2.0.101 in /editoast by @dependabot in #11611
- Bump i18next from 25.0.2 to 25.1.2 in /front by @dependabot in #11748
- Bump sass from 1.87.0 to 1.88.0 in /front by @dependabot in #11749
- Bump @reduxjs/toolkit from 2.7.0 to 2.8.1 in /front by @dependabot in #11747
- Bump the typescript-eslint group in /front with 2 updates by @dependabot in #11742
- Bump react-router-dom from 7.5.3 to 7.6.0 in /front by @dependabot in #11746
- Bump the patch group in /front with 6 updates by @dependabot in #11743
- Bump vite-plugin-static-copy from 2.3.1 to 3.0.0 in /front by @dependabot in #11744
- Bump tokio from 1.44.2 to 1.45.0 in /editoast by @dependabot in #11737
- Bump tempfile from 3.19.1 to 3.20.0 in /editoast by @dependabot in #11738
- Bump tower-http from 0.6.2 to 0.6.4 in /editoast by @dependabot in #11735
- Bump clap from 4.5.37 to 4.5.38 in /editoast by @dependabot in #11736
- Bump diesel from 2.2.9 to 2.2.10 in /editoast by @dependabot in #11612
- Bump deadpool-redis from 0.20.0 to 0.21.0 in /editoast by @dependabot in #11823
- Bump iso8601 from 0.6.2 to 0.6.3 in /editoast by @dependabot in #11822
- Bump the storybook group in /front with 10 updates by @dependabot in #11824
- Bump vitest from 3.1.3 to 3.1.4 in /front in the vitest group by @dependabot in #11825
- Bump rollup from 4.40.2 to 4.41.0 in /front by @dependabot in #11831
- Bump the patch group in /front with 4 updates by @dependabot in #11832
- Bump sass from 1.88.0 to 1.89.0 in /front by @dependabot in #11828
- Bump the nivo group in /front with 2 updates by @dependabot in #11741
- Bump i18next from 25.1.2 to 25.2.0 in /front by @dependabot in #11830
New Contributors
- @Leo-Tinkeam made their first contribution in #11703
- @turnerian2004 made their first contribution in #11516
Full Changelog: v1.0.0...v1.1.0