Dear friends and users,
we are happy to announce the release of SUMO version 1.18.0.
The download links are at https://sumo.dlr.de/docs/Downloads.html
This release brings many bug fixes including a critical fix to the HBEFA4 model and refinements to the netedit python-tool features introduced in the previous release. There are many more features and fixes in this release and the most important ones are listed below. For a full list of changes, as always see http://sumo.dlr.de/wiki/ChangeLog
### Enhancements
- Simulation
- Added device.taxi.idle-algorithm value 'taxistand' which makes idle taxis return to a pre-configured set of locations.
- Can now configure vehicle behavior after colliding with a pedestrian.
- The SSM-device now supports the new surrogate safety measure "MDRAC".
- Vehicles can now be configured to ignore specific vehicles/types during car-following
- netedit
- Implemented new dialog for setting netedit and sumo options. This dialog supports option help, file selection dialogs and permits dynamic filtering of listed options.
- Now supports trips and flows between TAZs.
- netconvert
- OpenDRIVE import: now supports road objects from connecting roads.
- OSM import: typemap osmNetconvertRailUsage.typ.xml now imports service designation.
- Added option --railway.signal.guess.by-stops to add rail_signal nodes to a network that is lacking them.
- When using option --tls.rebuild, the tltype can be changed by setting option --tls.default-type.
- TraCI
- Added functions 'lane.getAngle' and 'edge.getAngle'.
- Added function 'vehicle.getJunctionFoes'.
- Function traci.vehicle.setStopParameter and getStopParameter now supports optional argument customParam=True to work with user defined stop parameters.
- 'vehicle.setImpatience' and 'vehicle.getImpatience' now set/get the dynamic impatience value which is affected by waitingTime
- vehicletype domain now support the functions set/getBoardingDuration and set/getImpatience.
- tools
- randomTrips.py: added options --from-stops and --to-stops to define pedestrians, personTrips and person rides from and to stops (i.e. busStop).
- plotXMLAttributes.py and plot_trajectories.py now show the plot by default.
- plotXMLAttributes.py: Now supports attribute value @DENSITY to create density plots.
- routeSampler: Added option --taz-files and support for loading origin destination matrices in tazRelation format.
- scheduleStats.py: Now permits analysis of planned and actual travel time between pairs of stops.
- tileGet.py now supports option --parallel-jobs to speed up data retrieval.
- checkStopOrder.py: more options and features for table generation
- generateRailSignalConstraints.py: now supports portion working (vehicles with depart="split").
### Bugfixes
- Simulation
- Setting param vTypes for actuated and delay_based tls detectors is working again. (regression in 1.15.0)
- Fixed invalid emission and consumption outputs for the HBEFA4 emission classes (model was calibrated on km/h instead of m/s).
- The simulation now aborts when encountering an invalid stop definition (unless option --ignore-errors is set).
- Fixed crash when loading state with vehicles that have triggered departure.
- Fixed crash after rerouting and losing a stop.
- A parkingReroute now works even if the parkingArea on the current edge is not included in the alternatives list.
- IDM no longer violates right of way due to imprecise stopping at minor link.
- Fixed multiple problems causing emergency braking and collisions
- Fixed multiple problems with bidirectional lane use
- netedit
- Fixed crash when importing OSM data direclty. (regression in 1.16.0)
- Saving plain xml now works when selecting an existing plain-xml file to define the output prefix. (regression in 1.16.0)
- Fixed invalid undo operation after moving a set of network elements. (regression in 1.16.0)
- Fixed segfault when closing netedit and no net is loaded (regression in 1.17.0)
- Fixed spacing for person mode path info subframe. (regression in 1.17.0)
- Loading Data Elements via menu item is working again. (regression in 1.17.0)
- netdiff-dialog now permits to change the output prefix.
- Fixed invalid default values in netgenerate dialog and tool dialogs.
- Boolean options can now be reset in tool dialogs.
- A person with a single stop stage is now visible after loading.
- Z value is no longer applied twice in move mode.
- Using netedit to define custom detectors for actuated traffic lights is now working.
- netconvert
- Fixed invalid connection permissions after joining junction.
- Fixed broken network after setting option --tls.rebuild.
- Fixed classification of turnaround connection on some divided highways.
- OSM: fixed incomplete public transport route.
- OSM: fixed problems with one-way bus and bicycle infrastructure.
- OSM: fixed crash when using option --osm.turn-lanes.
- Fixed unsafe signal plan at joined tls.
- various fixes for bidirectional rail and road edges
- duarouter
- Fixed railway routing failure if the stop is defined on a short buffer edge (also applies to sumo).
- Fixed invalid ride in output when starting personTrip on rail edge.
- Fixed invalid route output when a personTrip provides alternative vehicle modes.
- activitygen: fixed crash when there are no work positions within a city.
- TraCI
- Fixed crash when calling traci.load and running with sumo-gui. (regression in 1.16.0)
- Calling vehicle.insertStop now preserves the original route edges beyond the inserted stop.
- Fixed missing vehicle type in saved state and vehroute-output for vehicle added via TraCI.
- Tools
- Fixed mouse control in several game scenarios. (regression in 1.17.0)
- Fixed error when calling some tools without argument. (regression in 1.17.0)
- gridDistricts.py: Networks with non-normalized offsets now create correct taz shapes.
### Miscellaneous
- Many tools now repurpose the -c shortcut for loading a configuration. All options that previously used this shortcut continue to work with the respective long option name.
- plotXMLAttributes.py and plot_trajectories.py no longer create output file 'plot.png' by default (use option --output FILE instead)
- netconvert: option --osm.all-attributes now defaults to exporting all attributes because the explicit list of attributes (--osm.extra-attributes) now defaults to value all.
- netconvert: increased default bike path width.
- traci.simulationStep has no return value on Python any longer (similar to the other languages), use traci.simulationStepLegacy for the old behavior.
- The default file extension for netedit configuration files was changed from .neteditconfig to .netecfg for consistency with other config extensions.
Have fun with the new release,
Robert, Johannes, Michael, Yun-Pang, Pablo, Mirko, Benjamin, Angelo and Jakob