Eclipse SUMO 1.18.0 Is Now Available!

Thursday, June 29, 2023 - 05:26 by Angelo Banse

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