Version 0.3.0
Pre-release
Pre-release
What's Changed
Features 🎉
- Train schedule V2
- Train edition by @achrafmohye in #7876
- Drop tsv2 switch by @SharglutDev in #8217
- Synchronize input table arrival/departure/stop by @anisometropie in #8141
- Drop simulation results and stdcm v1 by @SharglutDev in #8269
- Macroscopic view
- Add tabs for NGE integration by @Uriel-Sautron in #8006
- Upgrade NGE to v2.7.0 by @emersion in #8309
- Upgrade NGE to forked v2.7.2 by @emersion in #8343
- Upgrade NGE to forked v2.7.5 by @emersion in #8384
- Implement macro editor for operational point import by @emersion in #7940
- Convert operations from NGE to OSRD by @Caracol3 in #8220
- Save NGE node positions in localStorage by @emersion in #8372
- Don't debounce NGE node events by @emersion in #8487
- Scalable async RPC by @ElysaSrc in #8048
- Add lazy loading for scenario data by @clarani in #8271
- Look for fastest path instead of shortest by @eckter in #8053
- Space time chart integration by @Math-R in #8130
- Speed space chart integration by @Yohh in #8146
- Add fallback for speed limit tags by @bougue-pe in #7903
- Add stdcm search environment model and endpoints by @Castavo in #8257
- Pathfinding error details
- Add xmas logo 🎅 by @flomonster in #7962
- Add telemetry to core requests by @woshilapin in #7958
- Add initial config for IDE by @emersion in #7943
- Display only points defining the path in stdcm map by @SarahBellaha in #7972
- Highlight that are not honoring their schedules by @theocrsb in #7959
- Power restrictions v2 by @RomainValls in #7824
- STDCM scheduled steps by @SarahBellaha in #8364
- Result section of STDCM UI by @Akctarus in #7815
- Performances ⚡
- Improve performances of batch pathfinding and simulation 🚀 by @flomonster in #7995
- Improve batch pathfinding performances by @flomonster in #8035
- Bulk get cached projection by @flomonster in #7968
- Pre-filter requirements that are not in the range by @eckter in #8091
- Fix and reintroduce pathfinding heuristic by @eckter in #8145
- Extract min time from heuristic by @eckter in #8204
- Improve time complexity of stdcm conflict detection by @eckter in #8231
- Step availability: avoid n² complexity by @eckter in #8485
- Add front code formatting checks in CI by @emersion in #7988
- Add link to website documentation in the code by @eckter in #8097
- Add available simulation div by @Akctarus in #8058
- Initialize authorization by @kmer2016 in #7870
- Take step planned timing data into account in block availability by @Erashin in #8085
- Improve support for '--no-cache' with multi-keys by @woshilapin in #8139
- Add endpoint to list configured speed_limit_tags by @bougue-pe in #8106
- Add "upgrade STDCM" by @theocrsb in #8155
- Add opentelemetry spans for large sections by @eckter in #8153
- Add output table to the simulation result by @anisometropie in #7855
- Prevent point selection on STDCM maps by @kmer2016 in #8236
- Deactivate incompatible layers when switching tool on infra editor by @clarani in #7707
- Delay departure time in stdcm to make the train pass closer to first planned step arrival time by @Erashin in #8260
- Move electrical profile set id from timetable to scenario by @Castavo in #8167
- Use config stored in db for stdcm v2 by @sim51 in #8336
- Tests
- Add e2e tests deleting rolling stocks by @Maymanaf in #7851
- Refactor infra tests part 7 by @hamz2a in #7932
- Add e2e tests search and filter rolling stock by @Maymanaf in #7887
- Add unit tests for stdcm simulation report sheet by @Akctarus in #7979
- Add rolling stock selector e2e test for operational studies by @Maymanaf in #7974
- Add route e2e test for operational studies by @Maymanaf in #8042
- Test unauthenticated case by @hamz2a in #8342
- Role-based authorization system by @leovalais in #7981
- Use new speed limit tags endpoint by @Uriel-Sautron in #8266
- Implement Authorizer creation middleware by @leovalais in #8319
- Display STDCM simulation table results by @Akctarus in #8126
- Add mandatory fields in rollingstock editor by @RomainValls in #8229
- Adding path item times by @flomonster in #8142
- Highlight selected train in space time chart by @Uriel-Sautron in #8405
- Add margin for planned time steps in stdcm by @Erashin in #8366
- Log memory use along the search by @eckter in #8411
- Update display in rolling stock editor by @theocrsb in #8484
- Add roles check to
views::infra
by @hamz2a in #8345 and #8361 - Add roles check to
/project_path
by @hamz2a in #8447 - Add roles check to
views::work_schedule
by @hamz2a in #8466 - Add roles check to
views::v2::path::pathfinding
by @hamz2a in #8449 - Add roles check to
views::layers
by @hamz2a in #8479 - Add roles check to
views::stdcm
by @hamz2a in #8424 - Add roles check to
views::speed_limit_tags
by @hamz2a in #8468 - Add roles check to
views::sprites
by @hamz2a in #8510 - Add roles check to
views::timetable
by @hamz2a in #8445 - Add roles check to
views::train_schedule
by @hamz2a in #8436 - Add roles check to
views::search
by @hamz2a in #8469 - Log requests if env variable is set by @eckter in #8511
- Highlight the stdcm train in the space time chart by @clarani in #8521
- Allow to edit invalid trains without rolling stock name by @clarani in #8531
- Highlight selected train in space time chart by @Uriel-Sautron in #8566
Code refactoring ♻️
- Bump dependencies in multiple PR
- Use workspace for version and licenses by @woshilapin in #7957
- Isolate editoast search engine into a dedicated crate by @leovalais in #7906
- Set timezone for test by @sim51 in #7961
- Use contentHashCode in SigData by @Khoyo in #7969
- Avoid double computation for speed space chart by @SarahBellaha in #7992
- Drop hardcoded scenario header height by @emersion in #7993
- Remove layer cache duration by @flomonster in #8001
- Remove some unused dependencies in editoast by @leovalais in #8007
- Use multiple dropdown for bug reporting template by @flomonster in #8023
- Split build job by @emersion in #8013
- Add .gradle and .idea to .dockerignore by @Khoyo in #8027
- Homogeneize the plural form for path_item_positions by @woshilapin in #8024
- Do not modify rolling stock search filter and trim it by @woshilapin in #8034
- Add back build cache mounts by @Khoyo in #7991
- Refactor layers get records and app health by @Wadjetz in #7939
- Skip front review on changes in generatedEditoastApi.ts by @leovalais in #8061
- Skip infra request when infraID is undefined by @emersion in #8076
- Specialize and simplify editoast_models error management by @leovalais in #8031
- Move PathItemLocation to its own openapi type by @flomonster in #8073
- Add docker infra to devops purview by @Khoyo in #8134
- Refactor the remaining tests by @hamz2a in #8075
- Ensure destination is last in formatSuggestedViasToRowVias() by @emersion in #8037
- Bye actix hello axum by @Khoyo in #8047
- Remove
list
impl fromLightRollingStockModel
by @hamz2a in #8158 - Change ignore electrical profile value in sim v2 by @Castavo in #8207
- Pin rust version for 'editoast' and 'gateway' in CI by @woshilapin in #8214
- Logging cleanup and extra stdcm info by @eckter in #8205
- Remove old lint error script by @anisometropie in #8200
- Check input size of train name and update checkfields methods by @theocrsb in #8094
- Change error to 400 when waypoint has invalid offset by @eckter in #8251
- Drop PathItem type by @emersion in #8259
- Add linter rule to prevent generatedEditoastApi imports by @emersion in #8250
- Convert track offset to meters when stashing in the store by @emersion in #8234
- Populate InternalError status/context when unparsable by @emersion in #8241
- Remove unnecessary clone in train_simulation_batch() by @Khoyo in #8278
- Remove
loadIfMissing
, always load infras by @eckter in #8285 - Rework visited nodes to include time range by @eckter in #8284
- Ignore errors for route entry/exit in getAdditionalEntities() by @emersion in #8316
- Silence dependency_on_unit_never_type_fallback by @Khoyo in #8320
- Replace
trains
bytrain_schedules
by @hamz2a in #8315 - Refactor infra object to use db pool v2 in tests by @Wadjetz in #8314
- Drop ManageTrainSchedule and ImportTrainSchedule tsv1 by @SharglutDev in #8330
- Refactor modelv2 test to use db pool v2 by @Wadjetz in #8329
- Make core pathfinding/simulation errors non-fatal, take 2 by @emersion in #8313
- Drop scenario v1 by @SharglutDev in #8341
- Drop store related to tsv1 by @SharglutDev in #8382
- Remove python e2e tests by @Khoyo in #8450
- Reset the pathStep properties instead of deleting the pathStep by @theocrsb in #8438
- Rename occurences of "x/y" to "latitude/longitude" by @eckter in #8346
- Use dev profile instead of release for docker-compose by @emersion in #8476
- Ignore .vscode in root .gitignore by @Castavo in #8471
- Tidy type hints by @Castavo in #8470
- Mark a little extra time when visiting nodes by @eckter in #8494
- Project to EPSG:3857 to interpolate by @eckter in #8353
- Make possible projection of hundreds of trains and stdcm in real train grids by @bloussou in #8509
- Run editoast tests with backtrace enabled by @Khoyo in #8321
- Correctly handle consume error by @Khoyo in #8456
- Remove trailing slashes in osrdEditoastApi URLs by @leovalais in #8279
- Move front i18n key check to check_front job by @emersion in #8513
- Use rolling stock maximum speed and length by @Sh099078 in #8493
- Avoid collisions for work schedule name by @shenriotpro in #8498
- Mark documents as cacheable by @emersion in #8514
- Mark sprites as cacheable by @emersion in #8529
- Add end stop to preprocessing request by @eckter in #8532
- Increase default message queue timeout by @Castavo in #8500
- Warn instead of error on discontinuity by @eckter in #8559
- Drop axios dependency by @emersion in #8536
Bug fixes 🐛
- Fix updates of via added by click on map by @SharglutDev in #7930
- Fix map issues in simulation sheet by @Akctarus in #7709
- Fix too drastic continuity test on speed envelopes by @bougue-pe in #7934
- Fix pathfinding error when clicking on map to select origin/destination/via by @sim51 in #7960
- Fix train on map (ts v2) by @clarani in #7773
- Fix warped-map extendLine issue by @jacomyal in #7966
- Fix project image by @theocrsb in #7963
- Fix switch selection in editor by @jacomyal in #7952
- Fix no error when input is too large in scenario by @theocrsb in #7920
- Fix slopes and curves wrong display by @SharglutDev in #7978
- Fix margin logic by @theocrsb in #7980
- Fix wrong position of train times in timetable by @theocrsb in #8011
- Fix scenario timetable height by @clarani in #8015
- Fix pathsteps sorting by @theocrsb in #8008
- Fix TSv2 times and stop table input by @emersion in #8032
- Retain margin boundaries when set but constant by @emersion in #8057
- Fix records query for mvt tile generation by @leovalais in #8084
- Fix operational point removal by @SharglutDev in #8080
- Fix cleanup-db script deleting redis cache by @flomonster in #8087
- Fix width and height of a train schedule tile can be expanded by @theocrsb in #8072
- Follow scheduled point even if faster than margins by @eckter in #8096
- Display restrictions reset warning when needed only by @clarani in #8029
- Fix simulation_summary being called too often by @anisometropie in #8004
- Fix timestops margins by @SharglutDev in #8077
- Add gateway-front to github action matrix by @bloussou in #8110
- Fix slopes management spliting track section by @flomonster in #8122
- Fix stack overflows for large batch operations by @leovalais in #8109
- Fix display for base/eco simulation switch by @Akctarus in #8124
- Fix blank page when train schedule with no arrival date by @achrafmohye in #8140
- Manage error lifecycle on editor's form by @sim51 in #7921
- Change itinerary tab title by @SarahBellaha in #7994
- Stop using default-speed when handling speed-limit tags by @bougue-pe in #8159
- Fix disabled "add train" button by @achrafmohye in #8172
- Priorize paths closer to expected passage times by @Erashin in #8152
- Fix scroll bar macro mode by @Uriel-Sautron in #8190
- Fix manchette multiple path management by @Math-R in #8206
- Fix app crash when switching too quickly on the times and stops tab by @clarani in #8186
- Fix last electrical profile in speedspacechart by @Yohh in #8213
- Fix time display, use utc for hour conversion by @anisometropie in #8211
- Send track offset in mm in stdcm request by @clarani in #8184
- Fix crash when deleting route in train editor by @emersion in #8228
- Fix driver train schedules not updating when switching between… by @SharglutDev in #8225
- Fix electrification tags on power restriction selector by @clarani in #8219
- Fix command to drop all keys from redis in cleanup-db.sh by @emersion in #8230
- Fix NaN start in transformBoundariesDataToRangesData() by @emersion in #8248
- Fix typo by @shenriotpro in #8255
- Fix node relative time diff calculation by @Erashin in #8258
- Stop showing arrival warning due to rounding errors. by @anisometropie in #8222
- Fix unselect train on onblur by @kmer2016 in #8232
- Fix timestops output using wrong simulation by @SharglutDev in #8286
- Fix osm-to-railjson default signals by @Khoyo in #8283
- Fix power restriction edition by @clarani in #8218
- Fix scheduled points and stops in imported trains by @achrafmohye in #8247
- Fix problem many zeros after setting the initial velocity by @theocrsb in #8332
- Fix scroll overflow in infra editor by @RomainValls in #8233
- Fix orsdyne k8s driver deployment name by @ElysaSrc in #8368
- Fix missing options on k8s driver by @ElysaSrc in #8373
- Fix restart policy type for core by @emersion in #8374
- Fix crash operationalPoints[0] is undefined by @clarani in #8380
- Fix nge node position calculation by @louisgreiner in #8381
- Fix editing a train add stops at timed points by @clarani in #8367
- Handle the two date and time formats by @achrafmohye in #8355
- Fix NGE trainrun update overwriting other fields by @emersion in #8378
- Fix edit form for invalid trains by @emersion in #8383
- Fix track offset calculation when the track range direction is STOP_TO_START by @achrafmohye in #8415
- Fix rounding of arrival time by @anisometropie in #8427
- Fix train schedule input table by @anisometropie in #8457
- Reconnect on rabbitmq disconnection by @ElysaSrc in #8465
- Show 0s on output table when 0s has been added in input table by @theocrsb in #8423
- Fix max_run_time, departure_time and max_departure_delay for stdcm v2 payload by @Erashin in #8454
- Fix postprocessing with scheduled times by @eckter in #8499
- Fix mapRef error "undefined or null" by @Akctarus in #8394
- Fix missing rolling stock when editing an invalid train schedule by @achrafmohye in #8472
- Fix localStorage.setItem() in macro node store by @emersion in #8478
- STDCM result table, round times to the closest minute by @anisometropie in #8515
- Fix stdcm GET departure time by @Akctarus in #8523
- Fix lost ch/name when editing train by @emersion in #8520
- Fix op comparison before saving op by @SarahBellaha in #8527
- Fix possible out of bounds by @eckter in #8547
- Fix invalid conflict offset by @eckter in #8552
- Fix requested arrival time not displayed in times table by @emersion in #8486
- Fix height of rollingstock editor spreadsheet for matching wit… by @theocrsb in #8516
- Fix a crash that would happen when editing a train by @anisometropie in #8503
- Keep stop at end of path by @Castavo in #8542
- Fix origin departure time not displayed even with stopping time by @achrafmohye in #8448
- Add a check to display suggestions for operational points by @theocrsb in #8512
- Set the default mq url to work outside docker by @Khoyo in #8549
- Use stdcm search window dates as locale dates by @SarahBellaha in #8553
- Update electrical profile set id in store when loading scenario by @Castavo in #8561
New Contributors
Full Changelog: v0.2.13...v0.3.0