Release Notes
Unreleased
Added
- Added a parser and corresponding tests, documentations for DriveInsightD dataset.
Version 0.1.9rc3 - 2026-01-29
Added
- Added ControlBase, PIDController, and IDMController
- Added tests for controllers.
- Added classic search algorithms: Dijkstra, A, D, Hybrid A, RRT, RRT, RRTConnect.
- Added tests for classic search algorithms.
- Added tutorial for classic search algorithms in grid world environment.
- Added claude documents and ruls to boost development efficiency.
Changed
- Aligned interface within controller module.
- Fixed dependency vulnerability issue of protobuf.
Version 0.1.9rc1 - 2026-01-09
Added
- Add
defusedxmldependency for enhanced XML parsing safety. - Add CI tests for multiple operating systems.
Changed
- Split
tactics2d.mathmodule intotactics2d.interpolatorandtactics2d.geometry. - Refactor geometry module:
- Remove
get_circle_by_three_pointsandget_circle_by_tangent_vectormethods fromCircleclass. - Consolidate functionality into
Circle.get_circle(**kwargs)method. - Refactor interpolator module:
- Change
get_curvemethod to static forBezier,BSpline, andCubicSplineclasses. - Move
orderparameter from__init__toget_curvemethod inBezierclass. - Move
degreeparameter from__init__toget_curvemethod inBSplineclass. - Move
boundary_typeparameter from__init__toget_curvemethod inCubicSplineclass. - Rename
get_spiralmethod toget_curveinSpiralclass. - Rename
tactics2d.traffic.scenario_displaymodule totactics2d.sensor.matplotlib.renderer. - Update sensor interfaces to return dictionaries for frontend rendering:
- Update
tactics2d.sensor.camerainterface. - Update
tactics2d.sensor.lidarinterface. - Replace TensorFlow dependency with
tfrecordfor WOMD parsing: - Remove
tensorflow-cpudependency. - Add
tfrecord>=0.2.0dependency. - Update
WOMDParserto usetfrecord.tfrecord_iteratorinstead oftf.data.TFRecordDataset. - Cache scenario data to avoid generator exhaustion.
- Change headers to follow PEP format.
- Improve code formatting and remove unused imports.
- Correct header version and formats.
- Change matplotlib backend to Agg for non-interactive environments.
- Update version to 0.1.9rc1.
- Normalize Python file header descriptions.
- Update copyright years based on git history.
Fixed
- Improve
NuPlanParser.map_parser()method (ongoing improvements).
Removed
- Remove test dependency on bezier library.
Version 0.1.8 - 2025-05-22
Added
- Add NGSIM data parser.
- Add CitySim data parser.
- Add Carla sensor base class.
- Add pure pursuit controller class.
- Add tutorial for pure pursuit controller in racing environment.
- Add Chinese README documentation.
- Add data analysis for LevelX datasets (highD, inD, rounD, exiD, uniD) and CitySim.
Changed
- Improve performance of LevelX datasets processing using polars (10x faster).
- Move
testdirectory totestsin root directory. - Improve map rendering speed.
- Improve performance of Bezier and B-spline interpolators with C++ implementation.
- Change interface of
tactics2d.map.parser.OSMParserandtactics2d.map.parser.XODRParser.
Fixed
- Fix
type_node is Nonebug. - Fix bugs in
test_b_spline.py. - Fix pygame window unresponsiveness when events are not handled.
Version 0.1.7 - 2024-05-22
Added
- Add tutorial for training an agent in parking lot environment.
Changed
- Change tag trigger from
pull_requesttoworkflow_dispatchintactics2d/.github/workflows/tag_on_PR.yml. - Adjust configurations in parking environment.
- Improve point generation process in Dubins and Reeds-Shepp interpolators.
Fixed
- Fix lane parsing error in
tactics2d/map/parser/parse_xodr.py. - Remove "height" tag when parsing OSM map with Lanelet2 tag style in
tactics2d/map/parser/parse_osm.py. - Fix checking condition of NoAction scenario event detection.
Removed
- Remove
action_mask.py,rs_planner.py, andtrain_parking_agent.pyfiles from tutorial folder.
Version 0.1.6 - 2024-04-01
The first release of the project.
New Features
-
Dataset Parser
Support parsing maps and trajectories from the following datasets:
- HighD
- InD
- RounD
- ExiD
- Argoverse
- Dragon Lake Parking (DLP)
- INTERACTION
- NuPlan
- WOMD
-
Map Parser
Support parsing maps in the following formats:
- OpenStreetMap (OSM)
- OpenStreetMap annotated in Lanelet2
- OpenDRIVE (XODR)
-
Math Interpolation Algorithms
Support the following interpolation algorithms:
- B-Spline
- Bezier
- Cubic
- Spiral
- Dubins
- Reeds Shepp
-
Traffic Participant
The following traffic participants are implemented:
- Vehicle
- Cyclist
- Pedestrian
For each traffic participants, a set of parameters are available to configure the behavior.
-
Physics Model
The following physics model of traffic participants are supported:
- Bicycle model (Kinematic): recommended for cyclists and low-speed vehicles
- Bicycle model (Dynamic): recommended for cyclists and high-speed vehicles
- Point mass (Kinematic): recommended for pedestrians
- Single-track drift model (Dynamic): recommended for vehicles
-
Road Element
The following road elements are implemented:
- Lane
- Area
- Junction
- Road line
- Base class of traffic regulations
-
Traffic Event Detection
- Static collision detection
- Dynamic collision detection
- Arrival event detection
-
Sensor
- Bird-eye-view (BEV) semantic segmentation RGB image
- Single-line LiDAR point cloud
Template
## Version X.Y.Z - Year-Month-Date
A concise description that overviews the changes in this release.
### Breaking Changes
A complete list of breaking changes (preferably there are none, unless this is a major version).
### New Features
Describe the new feature and when/why to use it. Add some pictures! Call out any caveats/warnings? Is it a beta feature?
### Bug Fixes
Call out any existing feature/functionality that now works as intended or expected.
### Improvements
Improvements/enhancements to a workflow, performance, logging, error messaging, or user experience