Eclipse SUMO 1.17.0 Is Now Available!

Tuesday, April 25, 2023 - 03:29 by Angelo Banse

Dear friends and users,
we are happy to announce the release of SUMO version 1.17.0.
The download links are at https://sumo.dlr.de/docs/Downloads.html

This release brings a major improvement to those users who prefer to avoid the
command line: You can now call netgenerate and a large number of python tools
directly from netedit using configuration dialogs!
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

- netedit
  - Added menu entry for directly calling netgenerate and instantly editing the generated network.
  - Added menu and dialogs for calling python tools without using the command line.
  - When calling netdiff from tools menu, the computed differences may be selectively imported for visualization.
  - Inspect mode now allows inspecting individual objects that are part of a selection via ALT+LEFT_CLICK.

- Simulation
  - Simulating a Two-way-left-turn-lane is now supported.
  - Added option --personinfo-output to separate <personinfo> elements from <tripinfo> elements.
  - Public transport vehicles may now slow down by a configurable factor when they are ahead of their schedule (based on attribute 'arrival')

- netconvert
  - OSM: Exceptions for turning restrictions are now imported.
  - OpenDRIVE: lane access declarations are now imported.

- sumo-gui
  - Option --alternative-net-file can now be used to load secondary network shapes.
    Hotkey CTRL+K can be used to switch between both shapes (i.e. geographical and abstract rail networks)
  - Add 3D person shapes for 3D View.
  - Edge context-menu function 'select-reachable' now ignores lane direction when selecting vClass "pedestrian".

- TraCI
  - Added function 'vehicle.setLateralLanePosition'.
  - Functions vehicle.getParameter and simulation.getParameter can now retrieve various aggregated trip statistics.
  - Added function 'vehicle.getNextLinks' to retrieve all upcoming intersections.
  - Added functions 'lane.setChangePermissions' and 'lane.getChangePermissions' to dynamically modify 'changeLeft' and 'changeRight' attributes.
  - Simpla can now report platoon-based information and statistics.
  - Added function 'traci.executeMove' to only do vehicle movements and allow further interaction before writing the outputs at 'simulationStep'.

- tools
  - gtfs2pt.py: multiple improvements to route matching. (Thanks to Gladys McGan)
  - Added new tool generateRerouters.py to generate rerouters for a given set of closed edges including automatic computation of suitable notification edges.
  - randomTrips.py: Added option --random-factor to apply random disturbances to edge probabilities (i.e. to break up symmetry in small networks).
  - Added tool abstractRail.py to generate an abstract/schematic rail network based on a geodetic rail network.
  - attributeDiff.py: Can now optionally group attributes by one or more id-attributes before comparing.
  - Added tool attributeCompare.py to compare matching attributes accross multiple files.
  - multiple improvements to plotXMLAttributes.py (histograms, ranked data, bar plots and box plots)

### Bugfixes

- Simulation
  - Fixed crash related to lane-changing in tight corners. (regression in 1.13.0)
  - Fixed crash with option --device.rerouting.threads. (regression 1.16.0)
  - Attribute 'lcCooperative' no longer impacts speed adjustments that a vehicle needs for it's personal lane change maneuvers.
  - vType attribute 'lcTurnAlignmentDistance' now works for indirect left turns.
  - Fixed invalid duration value in summary-output.
  - NEMA Controller now works with uneven yellow time at barrier.
  - A triggered stop is now always aborted when the vehicle is full.
  - Fixed bug where the simulation does not abort when the last active transportable is riding inside an inactive (triggered) vehicle.
  - Railway simulation:
    - Fixed unsafe train insertion that could cause a follower train to collide.
    - Fixed emergency braking when reversing on a red signal.
    - Fixed invalid railway routing result.
    - Fixed deadlock on bidirectional track.
 
- netedit
  - Fixed bug when showing list of newly created vehicle types in type mode. (regression in 1.15.0)
  - Fixed bug that prevent creation of crossing at priority junctions with speed above 50k/mh. (regression in 1.16.0)  
  - The name of the current network is shown in application title bar again. (regression in 1.16.0)
  - Additional objects are now always included in zoomed-out rectangle selection.
  - Fixed crash when trying to save demand/additionals into non-writable dir.
  - Shift-click on geometry point can now be used to make it the custom end point.
  - Fixed bug where person plan elements after a stop were not loaded correctly

- sumo-gui
  - Fixed invalid carriageLength for tram. (regression in 1.11.0)
  - Fixed random (rare) crash when having an open detector attribute window. (regression in 1.16.0)
  - Fixed invisible lane markings at dense geometry.
  - Flight mode navigation in 3D view is now working on Linux.

- netconvert
  - OSM: fixed importing lane access for 'psv'.
  - OSM: fixed handling of one-way roads that allow buses in reverse direction.
  - Fixed invalid connections in multi-modal networks that were causing dead-ends for passenger traffic.
  - Fixed invalid right-of-way rules involving indirect left turns.

- TraCI
  - Fixed failure to perform unsafe lane change. (regression in 1.11.0)
  - Fixed value returned by 'person.getMaxSpeed'. (regression in 1.15.0)
  - Fixed crash when calling 'close()' directly on a traci connection. (regression in 1.16.0)
  - Fixed problem when loading JAVA bindings for libsumo/libtraci via JNI. Caution: Windows users must update their code to load dependent libraries explicitly due to JAVA issues that cannot be fixed on the SUMO side.
  - Function 'vehicle.setStopParameter' now takes effect when setting "duration" or "triggered".
  - libtraci.simulation.getCollisions returns meaningful results
  - Fixed bug where user-triggered lane-change were not executed when using the sublane model.
  - Fixed crash when using 'vehicle.moveToXY'.  
 
- tools
  - Fixed broken routes for public transport from GTFS caused by invalid permissions.

### Miscellaneous

- Further work on translation, added Italian language.
- Removed libsumo / libtraci from the binary windows release to avoid version mismatch. Instead the user must install the bindings for their installed python version via 'pip'.
- Stop-output no longer contains attribute 'delay' if a stop does not define the 'until' attribute. Formerly, the value of '-1' would be written which is ambiguous in conjunction with negative delays caused by TraCI or --use-stop-ended.
- plot_net_dump.py: no longer supports setting a default color with option -c. Instead the long option --default-color must be used. The option -c is now used for loading of a tool configuration file instead.

Have fun with the new release,
Jakob, Robert, Johannes, Michael, Yun-Pang, Pablo, Mirko, Benjamin and Angelo