Releases: AequilibraE/aequilibrae
Major release
This version includes a critical new feature to traffic assignment, a substantial performance improvement to trip distribution, support for Python 3.11, and a series of minor bug fixes and improvements in user experience.
MAJOR changes
- Adds parallelized version of Fratar by @pedrocamargo in #378
- Add select link analysis by @Jake-Moss in #377
Minor changes
- updates default endpoint for Overpass by @pedrocamargo in #385
- Adds support for Python 3.11 by @jamiecook in #384
- Allowing use of AequilibraE without a project open by @pedrocamargo in #383
- Qaequilibrae packaging by @pedrocamargo in #386
- Allows for the creation of graphs with no centroids by @pedrocamargo in #387
- Allows for the creation of graphs on projects with no centroids by @pedrocamargo in #388
Full Changelog: V0.8.0...v0.8.1
Major release with significant performance improvements
A new data structure for path finding guarantees a performance improvement of 2x to 3.5x, depending on the network and number of cores.
What's Changed
- Swap max double value for INFINITY from libc.math by @Jake-Moss in #368
- Fixes shapely behavior by @pedrocamargo in #370
- Transpose shared matrices to better cache locality by @Jake-Moss in #369
- Updates tests for new file permission structure in the runners by @pedrocamargo in #373
- Replace the internal Fibonacci heap with a 4-ary priority queue by @Jake-Moss in #374
- add spatialite utils for auto downloading and adding mod_spatialite to the path by @jamiecook in #364
New Contributors
- @Jake-Moss made their first contribution in #366
Full Changelog: V0.7.7...V0.8.0
Bug-fixing release
Bug fixes
- Fix: #365 Use specified number of cores by @Jake-Moss in #366
- Fix skim cost calculation on compact graph by @Jake-Moss in #367
Minor improvements
- Makes PyArrow an optional dependency by @pedrocamargo in #356
- Set c++ version to 17 by @jamiecook in #357
- Improved packaging by @pedrocamargo in #362
New Contributors
- @Jake-Moss made their first contribution in #366
Full Changelog: V0.7.6...V0.7.7
Minor release to support the new version of QAequilibraE
What's Changed
- Merges Develop to support first version of the plugin with local imports by @pedrocamargo in #359
Full Changelog: V.0.7.5...V0.7.6
V.0.7.5
Major new release
What's Changed
Main changes:
- Support for multiple projects by @elfjes in #323
- Matrix from list by @daniloebbinghaus in #325
- Speed up of OSM network import by @pedrocamargo in #319
- Setup of NumPy requirement to <=1.21 by @pedrocamargo in #311
- Issue fix related to max node_id being a centroid by @pedrocamargo in #308
Other changes
- closes issue #303 by @pedrocamargo in #304
- Improves database structure by @pedrocamargo in #310
- Sets up better tests by @pedrocamargo in #313
- Run black on all source files by @elfjes in #318
- Adding conda_forge_recipe to develop branch (correction from pull request 314) by @daniloebbinghaus in #315
- Pedro/new test fix by @pedrocamargo in #322
- only run actions that require secrets from the Aequilbrae account. by @jamiecook in #329
- Support logging for multiple projects, log most warnings instead of raising them by @elfjes in #327
New Contributors
- @daniloebbinghaus made their first contribution in #282
- @elfjes made their first contribution in #318
Full Changelog: V0.7.3...V.0.7.4
Major new version
What's Changed
New features:
French INRETS and bpr2 VD functions (#273)
Adds the obvious field vot (Value-of-Time) to the modes table and creates and adds a script for compiling that may be useful during development
Bug fixes/Improvements:
Allows for skims to be set after the creation of traffic classes
Improvement on skim saving
Fixes creation of skim matrices on multi-class assignment
Makes feather optional on import
Documentation:
Adds new instructions for contribution by @pedrocamargo in #275
documentation correction (#282)
Software improvements
Updates shapely deprecated methods (#281)
Improves performance of triggers (#278)
Workflow test by @pedrocamargo in #276
fixes traffic assignment tests (#293)
Follows the Wikimedia user-agent policy (#295)
Full Changelog: V0.7.2...V0.7.3
Major release with important new features
Key new features have been added to AequilibraE:
- Generalized cost functions for assignment with class-specific formulations are now supported
- Allows for saving full path-file during assignment (experimental)
- Python 3.9 support (OpenMatrix still has no official 3.9 support on Windows due to the lack of PyTables binaries)
- Improved traffic assignment result reporting
- Creation of Delaunay Lines through the API
Documentation:
- Marginal improvements on the API documentation
- New example for the creation of a project from a Link layer
- Example for the creation of Delaunay Lines
- Example for the detection of disconnected links and nodes
Deprecations:
- Python 3.6 is no longer supported
What's Changed
- fixes setting number of cores for assignment with positive integer by @janzill in #231
- Introduces supernetwork graph ID across entire assignment by @pedrocamargo in #234
- Gen cost by @pedrocamargo in #236
- Adds upload to S3 by @pedrocamargo in #227
- Addresses issue #238 by @pedrocamargo in #240
- Adds missing information to assignment results/report by @pedrocamargo in #245
- fixes skim creation of simplified graph by @janzill in #248
- fixes CFW step direction edge case by @janzill in #249
- Fix shortest path calculation when the predecessor of destination node is node index 0 by @barisdemirdelen in #256
- Fix volume over capacity calculation for assignment results by @barisdemirdelen in #255
- Fix vdf not calculated last iteration of assignment by @barisdemirdelen in #254
- Fix shortest path calculation with blocking centroids by @barisdemirdelen in #257
- fixes cfw stepdirection bug by @janzill in #258
- janzill/pathfilesaving by @janzill in #253
- Adds tests to make sure computing paths behaves properly on disconnected networks by @pedrocamargo in #262
- Adds Python 3.9 support by @pedrocamargo in #265
- Documentation by @pedrocamargo in #266
- Adds new example for finding disconnected nodes in a network by @pedrocamargo in #269
- Incorporates the creation of Delaunay Lines in the API by @pedrocamargo in #268
- Deals with type differences when saving/loading feather files by @pedrocamargo in #271
- Pedro/documentation by @pedrocamargo in #267
New Contributors
- @barisdemirdelen made their first contribution in #256
Full Changelog: 0.7.1...V0.7.2
Minor release
This version brings the following major improvements to AequilibraE:
New Features:
- Added to support to the Conical Volume-delay function by user request
Performance improvements:
- Much smoother traffic assignment convergence when using the Biconjugate Frank-Wolfe for multi-class assignment, thanks to a term that was missing from the conjugate direction computation and that was added by @janzill
- Tests on large scale networks with multiple classes point to a substantial performance gain with 10% faster convergence
- Graph object is built on top of Pandas instead of NumPy record arrays, resulting in substantial improvements
- Creation of graphs is slightly faster
- Easier manipulation in memory for advanced users
- Skimming and traffic assignment are up to 3x faster with the incorporation of a topological network simplification algorithm. Performance gains are highly dependent on network topology. For typical real-world models, a speedup between 2 and 2.75x can be expected.
Bugfixes:
- Installation now correctly requires SciPy
- Example project for Sioux Falls now has the correct parameter file associated with it
- Assignment with multiple classes using the same graph works as expected now
- Matrix export to CSV has been fixed and is up to 10x faster
User experience
- New error catching when setting up assignment prevents common mistakes
Deprecated methods:
- The graph object no longer has the method "create_from_geography"
Major new release
New AequilibraE project infrastructure:
- link_types table
- Matrices table
- Results database
Improvement of existing infrastructure
- Building of networks Open-Street Maps importer is now 10 times faster, and the user can choose the Overpass API mirror they will use for downloading, enabling the use of locally-deployed mirrors for the construction of large networks
- The Nodes layer now has fields for nodes and link types terminating in them
- Assignment results are not generated as Pandas Dataframe
- Fast saving traffic assignment results in SQLite using Pandas
- Project-specific log files
Improvement of existing API:
- Simplified skimming and path computation API
New API capabilities
- Adding centroid connectors with the API
- Editing links and nodes
- Matrix metadata manipulation
- Log review/clearing