All notable changes to Flatland will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[4.0.5] - 2025-03-10
- 78 Extract performance profiling cli. by @chenkins in [pr#88]
- 110 Over- and underpasses (aka. level-free diamond crossings). by @chenkins in [pr#120]
- 109 Multi-stop Schedules (w/o alternatives/routing flexibility). by @chenkins in [pr#124]
- fix: from attr import attr, attrs, attrib, Factory ImportError: cannot import name 'attrs' from 'attr' by @chenkins in [pr#127]
- Fix grammar and spelling in comments rail_env py by @SergeCroise in [pr#130]
- 118 Add test_lru_cache_problem.py. by @chenkins in [pr#119]
- 143 Retry for ml tests. by @chenkins in [pr#146]
- Enable running notebooks in main workflow by @chenkins in [pr#144]
- Use flatland-scenarios instead of data.flatland.cloud for trajectories. by @chenkins in #153
[4.0.4] - 2025-02-18
- Grid to DiGraph Conversion and Graph Simplification [pr #90] and [pr flatland-book#6]
- Policy evaluation and training cli (rllib) [pr #85]
- extract ml dependencies (torch, gym, ray, etc.) to optional dependencies in
pyproject.toml
, newrequirements-ml.txt
and slimmerrequirements[-dev].txt
, keep coregym
free. - accordingly, move corresponding code to new
flatland.ml
module - accordingly, move corresponding tests to
tests.ml
(tests becomes a Python module)
- extract ml dependencies (torch, gym, ray, etc.) to optional dependencies in
- Enable redis in ci and run
test_service.ipynb
in ci [pr #65] - Run main workflow daily and allow for manual triggering. Update deprecated gh actions versions, see GitHub Blog [pr #83].
- Add
AWS_ENDPOINT_URL
env var to override default S3 endpoint URL inaicrowd_helpers.py
[pr #112]. - Add episodes for benchmarking and regression tests [pr #105].
- Dump
results.json
(evaluation state) alongresults.csv
[pr #115]. - Dump evaluation state along results output path. Make test env folder and supported client versions configurable for evaluation service. [pr #115].
- Policy evaluation and training cli (rllib) [pr #85].
- Add flatland-rl apidocs back to flatland book again [pr flatland-book#7]
- Fix flapping test malfunctions [pr #103]
- Fix
README.md
indefinite article before a vowel sound [pr #95]
- Bump jinja2 from 3.1.4 to 3.1.5 [pr #106]
- Bump tornado from 6.4.1 to 6.4.2. [pr #93]
- Bump aiohttp from 3.10.10 to 3.10.11. [pr #94]
- Deployment flatland-book to GitHub Pages [pr flaland-book#4] and [pr flatland-book#5] and [pr #98]
- Use Python >= 3.10 (drop support for deprecated python 3.8 eol 2024-10-07, see https://devguide.python.org/versions/). Move ml dependencies from core dependencies to optional ml dependencies [pr #84].
- Remove images folder. Images not referenced in documentation any more. Remove skipped test (fails tested locally) [pr #82].
- Rendering folder is not used. Descriptions in txt file are also contained in
examples/misc/generate_video/video_generation.md
[pr #81]. - Cleanup scripts folder to contain only scripts to be run with
make
[pr #80]. - Remove
flatland.action_plan
module as obsolete [pr #79]
Fixed.
The rail generators (infrastructure) implementation is based on A*. The A* implementation has been improved in terms of calculation time. The main modification concerns the internal data structure which was widely used in the A* algorithm. The used ordered set is replaced by a heap that allows to fetch the nearest nodes in O(1) instead of O(n).
More details: #68
- Removed dependency on an old version of
gym
which in turn brought in an old version ofpyglet
that caused issues on Windows.
- Dropped support for Python 3.7 because it's end of life.
- Improved performance by introducing an LRU cache.
- Drastically improved performance by improving
numpy
usage. - Updated a lot dependencies.
- Cleaned the project structure.
- First release handled by the flatland association!
- Fixed a lot of bugs :)
- The tests actually pass now.