Changes from Version 0.29.0 to Version 0.30.0

Release date: 02.05.2017

### Bugfixes

- Simulation
  - Random pedestrian decelerations (configured via option --pedestrian.striping.dawdling) are now working. #2851
  - Loading state-files with vehicles that stop at a `<busStop>` is now working. #2914
  - Fixed collisions when using the sublane model. #2295, #2924, #2154, #3005
  - Various fixes to lateral distance keeping in the sublane model.
  - Vehicles now longer drive beyond the road borders when using the sublane model. #2988
  - Fixed crash when loading saved stated with an arriving vehicle. #2938
  - Option --load-state.offset now properly applies to vehicles departing in the future that are part of the loaded state (i.e. due to having been loaded from an additional file before saving). This was a regression in version 0.29.0. #2949
  - Simulation behaviour is no longer affected by randomly equipping vehicles with devices that only generate outputs. #2977
  - vType-attribute `laneChangeModel` is no longer ignored (was silently replaced with "default", since version 0.28.0)
  - Fixed deadlock when setting vehicle attributes arrivalSpeed and arrivalPos both to 0. #2995
  - Fixed issue where a lane-change was blocked for invalid reasons causing deadlock. #2996
  - When using `departLane="best"`, the look-ahead distance is now limited to 3000m for determining suitable insertion lanes. #2998
  - loading state now writes tls states correctly #1229

- netconvert
  - Various fixes to junction-shape computation. #2551, #2874, #1443
  - Ramp-guessing (option --ramps.guess) no longer identifies sharply turning roads as motorway ramps.
  - Fixed invalid right-of-way rules at junctions with type traffic_light_right_on_red when importing a net.xml file or editing with netedit. #2976
  - Networks built with option --junctions.scurve-stretch now retain their shape when imported again. #2877
  - Networks imported from VISUM no longer round node positions to meters. #3001
  - Loading .tll files from a network that includes node types `rail_crossing` or `rail_signal` is now working. #2999
  - Fixed crash when applying a `<split>` to an edge within a roundabout. #2737
  - Fixed infinite loop when importing some OpenDRIVE networks. #2918

- netedit
  - vClass-specific speed limits are no longer lost when saving a network. #2508
  - The lane shapes induced by option --rectangular-lane-cut are no longer lost when editing a network
  - Deleting whole edges is working again (regression in 0.29.0). #2883
  - Deleting edges and afterwards adding edges no longer creates node type "unregulated" (without right-of-way rules). #2882
  - Fixed visual glitches when opening left-hand networks. #2890
  - Fixed various crashes. #2902, #3010, #3026, #2969
  - Fixed coloring of green-verge lanes. #2961

- TraCI
  - Fixed mapping failures when calling moveToXY.
  - Vehicles that are moving outside the road network due to moveToXY calls now return the correct position and angle.
  - Function vehicle.getSpeedWithoutTraCI now correctly returns the current speed if the vehicle is not being influenced.
  - Fixed crash when adding and erasing persons in the same step. #3014

- Tools
  - Restored Python3.0 compatibility for sumolib and traci (regression in 0.29.0)
  - carFollowing child-elements of vType element are now included in route2trips.py output. #2954
  - Fixed OSM Web Wizard problems with spaces in SUMO_HOME path. #2939
  - cutRoutes.py now writes two independent routes instead of one containing edges not contained in the reduced network. #3011

### Enhancements

- Simulation
  - vClass-specific speed limits can now be loaded from an additional-file. #2870
  - Refactored implementation of E2 detectors. These may now be defined to span over a sequence of lanes, XML-attribute `cont` is deprecated. #1491, #1877, #2773, #2871
  - Added traffic light type "delay_based" which implements an alternative algorithm to type "actuated".
  - Added option --time-to-impatience <TIME> which defines the waiting time until driver impatience grows from 0 to 1. Formerly this was tied to the value of --time-to-teleport. #2490
  - lanechange-output now includes the lateral gap to the closest neighbor. #2930
  - attribute `speedFactor` can use normal distributions with optional cutoff to define the distribution of vehicle speeds #2925
  - Traffic light related outputs have now consistent camelCase XML tags.
  - Added option collision.stoptime <TIME> which lets vehicles stop for a time after experiencing a collision before the action set via --collision.action takes place. #1102
  - Electric vehicles are now initialized with a maximum capacity of 35kWh and and a half full battery by default (before, the default was 0 which always made it necessary to define this).
  - --vehroute-output now includes additional vehicle attributes such as departLane and departSpeed to facilitate scenario replaying.
  - Increased maximum possible insertion flow when using departLane values free,allowed or best on multi-lane edges. #3000
  - Improvements to lateral-gap keeping when using the sublane model:
    - Vehicles now attempt to equalize left and right gaps if there is insuffient lateral space #2932
    - The semantics of attribute `minGapLat` where changed to define the desired gap at 50km/h and do not grow beyond that speed (before that threshold was at 100km/h)
    - Vehicles now ignore follower vehicles behind the midpoint of their own length in regard to lateral gap keeping.
  - Added option --max-num-teleports <INT> which can abort the simulation after a number of teleports is exceeded. #3003
  - Added option --chargingstations-output <FILE> which generates output for chargingStations. #2357

- sumo-gui
  - Added parameters minGapLat,maxSpeedLat,latAlignment,boardingDuration,loadingDuration,car follow model to the vType-parameter window.
  - Added parameter acceleration to the vehicle-parameter window.
  - Added option Show type parameter dialog to the person context menu. #2973
  - When running the simulation with option --duration-log.statistics, the average travel speed of completed trips is shown in the network parameter dialog.
  - For long-running simulations the time displays can now show elapsed days. #2889

- netconvert
  - Networks imported from DlrNavteq-format now process prohibited_manoeuvres and connected_lanes input files. #738
  - Edge types are now imported from a .net.xml file. #2508
  - Added option --opendrive.curve-resolution <FLOAT> for setting the level of detail when importing road geometries from parmeterized curves. #2686
  - Node shape computation (especially stop line position) can now be influenced by setting edge geometries that do not extend to the node position.
    - To deal with ambiguous stop line information in OpenDrive networks, the new option --opendrive.advance-stopline <FLOAT> may now now be used to affect the heuristic that computes stop line positioning based on the border between roads and connecting roads.
  - Bus stops can now be imported from OpenStreetMap using the new option --ptstop-output <FILE>. #2933
  - Lanes within a network that have no incoming connection and edges that have no outgong connections are now reported. #2997
  - Specific lanes can now be deleted via loaded .edg.xml files (to ensure that connections are kept as intended). #3009

- netedit
  - The junction visualization options show link junction index and show link tls index are now working #2955
  - When creating or moving edge and junction geometry, positions can now be restricted to a regular grid (i.e. multiples of 100). #2776
  - Custom edge geometry endpoints values can now be entered in inspect mode. #2012

- TraCI
  - It is now possible to reload the simulation with new options by sending the load command.
  - Added vehicle.setMaxSpeed and vehicle.getMaxSpeed to the C++ client. Thanks to Raphael Riebl for the patch.
  - Added vehicle.changeTarget to the C++ client.
  - To allow vehicles to run a red light, speedmode 7 can now be used instead of 14. This is much safer as it avoids rear-end collisions.
  - Vehicles can now stop at a named ParkingArea or ChargingStation. The methods traci.vehicle.setParkingAreaStop, traci.vehicle.setChargingStationStop were added to the python client to simplify this. #2963
  - vehicle function moveToXY now supports the special angle value traci.constants.INVALID_DOUBLE_VALUE. If this is set, the angle will not be factored into the scoring of candidate lanes and the vehicle will assume the angle of the best found lane. For vehicles outside the road network, the angle will be computed from the old and new position. #2262
  - Vehicles now support retrieval of battery device parameters and retrieval of riding persons and containers as well as retrieval of laneChangeModel parameters using the vehicle.getParameter function.
  - Vehicles now support setting of battery device parameters and laneChangeModel parameters using the vehicle.setParameter function.
  - Added sublane-model related vehicle functions getLateralLanePosition, getMaxSpeedLat, getMinGapLat, getLateralAlignment, setMaxSpeedLat, setMinGapLat, setLateralAlignment, changeSublane. #2216, #2001
  - Added sublane-model related vehicletype functions getMaxSpeedLat, getMinGapLat, getLateralAlignment, setMaxSpeedLat, setMinGapLat, setLateralAlignment. #2216
  - Function edge.getLastStepPersonIDs now includes persons riding in a vehicle which are on that edge. #2865
  - The TraCI python client now supports StepListeners.
  - The lane-changing choices of the laneChange model can now be retrieved (with and without TraCI influence) using command change lane information 0x13.

- Miscellaneous
  - Improved routing efficiency of sumo, duarouter and marouter when using option --routing-algorithm astar.

- Tools
  - randomTrips.py now supports the option --flows <INT> to generate a number of random flows instead of individual vehicles.
  - routeStats.py now supports generating statistics on departure time by setting the option --attribute depart.
  - tls_csv2SUMO.py can now take arbitrary strings as index and has improved signal group handling, thanks to Harald Schaefer
  - more tools (including osmWebWizard) are python3 compatible

### Other

- Documentation
  - The TraCI command documentation now includes links to the corresponding python functions for each command.
  - New overview page on safety-related behavior
  - The Quick Start tutorial now describes how to create an network with netedit

- TraCI
  - TraCI version is now 15
  - some TraCI constants have been renamed
    - CMD_SIMSTEP2 to CMD_SIMSTEP
    - *AREAL_DETECTOR* to *LANEAREA*
    - *MULTI_ENTRY_EXIT_DETECTOR* TO *MULTIENTRYEXIT*

- Miscellaneous
  - The compile-option --disable-internal-lanes was removed. Simulation without internal lanes is still possible using either the netconvert option --no-internal-links or the simulation option --no-internal-links
  - The compile-option --enable-memcheck and the corresponding nvwa package were removed. Checking for memory leaks should be done using the clang build or valgrind.

#### Search

Enter your search terms:

#### Keyboard Shortcuts

Key | Action
--- | ---
`?` | Open this help dialog
`s` | Search the Documentation
`e` | Edit current page on GitHub