ChangeLog

Bugfixes

 * Simulation
 * Fixed simulation crash related to lane-changing.
 * Fixed bug where vehicles would no longer stop on the correct lane if they already stopped on the wrong lane.
 * Fixed bug which would cause collisions due to unsafe lane changes
 * Fixed bug in the computation of safe velocities. Sometimes the velocity was too high (causing collisions) but most times it was too low (degrading traffic flow).
 * Fixed crash when terminating the simulation while vehicles were performing continuous lane changing maneuvers (using option )
 * SUMO-GUI
 * Fixed crash when using the object locator on some versions of Ubuntu.
 * Fixed bug where brake lights were shown even though the vehicle was not braking
 * Fixed bug where train carriages where sometimes drawn onto the wrong lane
 * The vehicle option 'select foes' now works correctly for foe vehicles on internal lanes
 * NETCONVERT
 * Fixed bug which gave some links the wrong priority thus causing collisions (see ticket #1096)
 * Fixed crash when specifying connections from/to edges which are removed during network building
 * OSM import no longer fails when encountering empty strings in places where numerical values are expected.
 * Fixed bug where permissions involving the vClasses custom1 and custom2 were not written correcly.
 * Tools
 * Fixed bug which prevented traceExporter.py from running
 * Fixed bug which caused all speed values in NS2 output to be 0
 * Fixed bug which prevented traceExporter.py option from taking effect

Enhancements

 * Simulation
 * The summary of teleporting vehicles now lists all teleports according to their reason
 * Vehicles now perform an emergency braking maneuver to prevent driving across a red light. If this happens in a simulation it usually indicates that the length of the yellow-phase is to short in relation to the road speed and the braking capabilities.
 * Improved intersection model which results in less conflicts between vehicles with intersecting trajectories while on internal lanes.
 * SUMO-GUI
 * Reworked drawing of trains to have more realistic carriage lengths. Also some busses are drawn with flexible segments now.
 * The vehicle parameter dialog now lists the maximum speed of the vehicle's type and the the time headway to the vehicle's current leader
 * added vehicle coloring mode by time headway
 * Traffic light colors now distinguish between green major (code G) and green minor (code g) by coloring the minor state with a darker color.
 * The lane color scheme by vClass now gives fine-grained control over coloring by using the permission bitmask to select the color.
 * NETCONVERT
 * added option which imports elevation data from OSM input (default false).
 * Conflicts between connections originating from the same edge are now recognized. This can be used to model interaction between right turning vehicles and straight moving non-vehicular traffic on a lane further right.
 * TraCI
 * added method traci.simulation.convert3D which converts a road position to either x,y,z or lon,lat,alt
 * added optional argument 'flags' to traci.vehicle.setStop in accordance with the Vehicle API specification
 * Tools
 * added tool xml2csv.py which converts all of the XML-output files written by SUMO to a flat-file (CSV) format which can by opened with most spread-sheet software
 * osm/osmGet.py now supports retrieving very large areas by bounding box using the option . (previously this option was only supported together with option which has severe size limitations}}
 * added option to traceExporter.py which allows exporting vehicle trajactories as GPX files
 * added option to traceExporter.py which allows exporting vehicle trajectories as POIs

Other

 * TraCI
 * fixed documentation of of command slow down: It changes speed smoothly over the given number of milliseconds (in contrast to command speed which changes using maximum acceleration/deceleration).
 * All Applications
 * Added option with possible values never, always and auto defaulting to auto. This causes all input files to be validated against their respective schema, provided the schema-URL is declared in the toplevel XML-Tag (always requires the schema-URL to be present).
 * Added option to all applications which read .net.xml -files which works like option  but applies only to sumo networks (default never since network validation is computationally expensive).

Bugfixes

 * Simulation
 * Fixed broken xml in vtk-output
 * Fixed crash when using calibrators with discontinuous intervals
 * instantInductionLoops no longer miscount vehicles which change lanes on the detector edge.
 * instantInductionLoops now write events in the correct order
 * instantInductionLoops now propperly register vehicles staying on the detector
 * fixed invalid speeds when running with step-length < 1 (see [ticket 1024])
 * the departSpeed value of a vehicle can now be as high as laneSpeed * speedFactor
 * fixed error in a car-following related formula which was causing collisions (see [ticket 1026])
 * queue-output now correctly measures the length from the start of the queue to the rear of the last standing vehicle and no longer includes one additional minGap
 * when using speedDev and departSpeed, the distribution will be adapted so that a vehicle can use the specified speed.
 * The attribute emitted of the summary output was renamed to inserted
 * fixed bug which caused vehicles to brake without good reason (see [ticket 1052])
 * flow on a highway will no longer come to standstill just to let vehicles from an on-ramp merge.
 * vehicles now manage to change to the necessary lanes much more often and thus avoid having to stop and block upstream traffic.
 * vehicles now use all lanes of a multi-lane roundabout instead of only the outer lane.
 * fixed tripinfo output for teleporting vehicles (ticket 990)
 * fixed handling of stops before starting position (ticket 1056)
 * fixed state loading with vehicle type distributions (ticket 1080)
 * fixed memory leak of route distributions together with route probes (ticket 1077)
 * fixed reference counts for routes in state save


 * SUMO-GUI
 * Right-click now always resolves to the correct object again. The problem was introduced in 0.18.0 and was triggered by drawing railways
 * The object locator no longer jumps to an arbitrary location if the requested object is not found


 * TraCI
 * TraCI now returns the "netto" occupancy (without minGap) as other outputs do (was ticket#932)
 * Traffic light program changes via TraCI now takes effect immediately instead of one step later. (Thanks to Christoph Sommer for reporting and fixing this problem)
 * TraCI respects now the begin time option of a simulation (ticket 1049)


 * DUAROUTER
 * fixed crash when repairing routes with intermediate dead-end edges
 * fixed generation of route distributions with 0 probability for trips where the starting and ending edge were connected


 * NETCONVERT
 * fixed bug where roundabouts sometimes had incorrect right-of-way rules
 * option now works when giving a .net.xml file as input
 * OSM import no longer fails for non-standard input data (i.e. empty key attribute or non-numerical value for tracks attribute)
 * option no longer causes edges with a length above  to be removed.


 * DFROUTER
 * handling end times correctly (ticket 428)

Enhancements

 * Simulation
 * Increased Simulation performance when handling lots of traffic lights (rewrote code which was updating traffic lights more often than necessary)
 * added vType -attribute laneChangeModel for customizing the lane changing behavior. Allowed values are DK2008 (the model used until version 0.18.0), JE2013 and LC2013 (the new default model).
 * Vehicles moving across junctions now consider the exact crossing points at which their paths intersect with other vehicles when deciding on their speed. This leads to smoother traffic flow across junctions.
 * Vehicles may now change lanes while driving across junctions if the edge they were coming from has priority (only on networks with merged internal lanes, see NETCONVERT changes). This improves simulation performance, particualarly on multi-lane roundabouts.
 * Teleport warnings now always include a reason. For a vehicle that is teleported because its waitingTime exceeds time-to-teleport the reason can be:
 * wrong lane when the vehicle was stuck on a lane which did not allow it to continue its route,
 * yield when the vehicle was stuck on an unprioritized road and did not find a gap in traffic or
 * jam when the vehicle could not continue because there was no space on the next lane
 * conflicts between speed deviation and departure speed are handled more gracefully (ticket 1035)


 * SUMO-GUI
 * now drawing blinkers to visualize a vehicles desire to change lanes (this is only noticable if a vehicle cannot change lanes immediately).
 * added vehicle coloring modes by offset from best lane and by acceleration
 * when drawing a vehicles route, the lanes which the vehicle intends to use are highlighted where this is known (previously the rightmost lane was always used).
 * Added hotkeys Ctrl-A, Ctrl-S, Ctrl-D for running, stopping and stepping the simulation
 * Added a menu for opening the object locator dialogs. Using the menu hotkeys allows searching for simulation objects without using the mouse.
 * The vehicle parameter dialog now also contains informations related to the vehicle type.


 * TraCI
 * lane change requests now have a higher priority by default and will thus succeed much more frequently.
 * added the possibility to get the number/IDs of vehicles that begin or end to park or stop, see TraCI/Simulation_Value_Retrieval (was ticket#353)
 * added new command lane change mode (0xb6) to control conflict resolution between TraCI-lane-changing request and lane-changing decisions by the laneChangeModel. It also allows to override safety constrainst and to trigger cooperative speed adjustments to better fulfill change requests.
 * The python API throws now a TraCIException on recoverable errors (such as an unknown vehicle id) and brings the system in a consistent state (ticket 1043)
 * added possibility to remove waiting cars inspired by Bob Holcomb (ticket 942)
 * improved execution speed of context subscriptions


 * NETEDIT
 * added option for reversing the direction of edges
 * lanes can now be selected based on their index


 * NETCONVERT
 * when specifying connections it is now possible to refer to edges which got split (ticket 492)
 * added new projection option to convert Gauss-Krueger to UTM


 * DUAROUTER
 * major refactoring of input parsing, it is now possible to mix trips, flows and vehicles in one file
 * stops are respected on routing (ticket 988)

Other

 * NETCONVERT
 * reworked type-related warnings when importing OSM data to increase readability
 * modified naming conventions for internal lanes: previously every internal lane had its own internal edge. The id of this internal edge was ":_" and the id of the internal lane was ":__0". Now Internal lanes with the same start and end edge have a common internal edge (except for lanes following an internal junction). The id of this internal edge is ":_" and the id of the internal lanes is ":__". The following relation still holds between link indices of internal lanes and their ids:  +  == . The change was done to allow lane changing on internal lanes. As a side effect of merging internal lanes into a single edge, lane lengths may differ compared to the previous release. This is because the simulation length of a lane is always the average of the geometrical length of all lanes of an edge.


 * TraCI
 * The documentation for vehicle value retrieval/modification now includes information on setting/retrieving vehicle-type related values for individual vehicles (i.e. length, maxSpeed).
 * removed obsolete vehicle add command
 * TraCI version is now 7


 * reworked checks for gdal and fox in configure
 * documentation now contains links to the wiki pages it was generated from

Bugfixes

 * Simulation
 * fixed crash/hangup if a step-length below the minimum of 0.001 is given
 * fixed bug that caused visual collisions (vehicles on different lanes occupying the same space while on a junction)
 * fixed bug where vehicles were inserted with unsafe speeds on minor roads causing collisions
 * removed arrival attribute from vehicle routes output for non arrived vehicles
 * now saving all routes if a vehicle is rerouted multiple times
 * fixed crash when using calibrators
 * TraCI
 * the return values for link direction and link state are now working for lane variable: link (0x33)
 * routes are now preloaded before the first simulation step such that getMinExpectedNumber gives good results from the very start
 * Fixed documentation bug that stated geodetic positions have the format LAT,LON whereas they actually use LON,LAT. TraCI behavior remains unchanged.
 * Fixed rerouting for not departed vehicles (change target, change route and change route id)
 * NETCONVERT
 * street-names will no longer be missing from the output when importing a net.xml or edg.xml file which has them
 * using option no longer creates networks with faulty connections.
 * fixed bug that caused invalid connections to be generated where roads split or merge
 * fixed invalid traffig light logics and occasional crashes when importing a .net.xml file along with split elements
 * when importing sumo networks, dangerous connections (multiple connections from the same edge to the same lane) are no longer silently discarded
 * fixed bug that caused invalid node geometries when using together with ramp building options.
 * DUAROUTER
 * option now works correctly when a vehicle is not allowed to drive on its depart edge
 * SUMO-GUI
 * vehicles with guiShape="pedestrian" now have the same size in all levels of detail
 * traffic lights and lane-to-lane connections are now drawn for railways

Enhancements
be saved at predetermined times and then loaded to initialize a new simulation (this also requires loading the network and routes of the original simulation). When the filename for saving ends with .sbx the file will be saved in a binary format instead of xml.
 * Simulation
 * improved simulation speed
 * added option for recording the approach of vehicles at junctions. This option addresses the need of developers when investigating junction control.
 * added new abstract vehicle classes "custom1" and "custom2" for user defined purposes.
 * drivers on a minor road now grow impatient while waiting for a gap in the traffic. After a while they will drive even if it means that another car has to slow down to accommodate them (as before, they will only drive if it is safe to do so).
 * added vType attribute impatience which affects the willingness of drivers to cut into traffic even if it forces other drives to brake.
 * added support for stop-signs at minor roads
 * added support for the intersection type allway_stop. [This corresponds to an intersection type found in north america]
 * added option for including a vehicles signal state in the output (brake lights etc.)
 * implemented "expected" attribute for stops, which expects IDs of people that have to enter the vehicle to allow the vehicle to leave the stop. Should be used with "triggered='true'" (would not work otherwise). Thanks to Shubham Jain for pointing out the wrong description of the possibilities in.
 * added options for saving and loading simulation states. Simulation states can
 * option is marked deprecated because the behavior is now the default, use  to get the old behavior
 * vehicle route output for persons now includes complete plans
 * option is marked deprecated because the behavior is now the default, use  to get the old behavior
 * vehicle route output for persons now includes complete plans
 * option is marked deprecated because the behavior is now the default, use  to get the old behavior
 * vehicle route output for persons now includes complete plans
 * vehicle route output for persons now includes complete plans
 * SUMO-GUI
 * it is now possible to toggle the simulation time display between 'seconds' and 'hour-minute-seconds' by clicking on the 'Time'-button next to the time display. The state of this setting persists across GUI sessions.
 * it is now possible to toggle between alternate delay values by clicking on the 'Delay'-button next to the delay dial. Clicking causes the current delay value to be saved as the alternative value. The alternative delay value persists across GUI sessions.
 * parking vehicles are now being drawn (at the side of the road)
 * the vehicle parameter table now contains information about the status of stopped vehicles
 * vehicles can now be colored by their selection state
 * added option for selecting a vehicles foes at the next junction to the vehicle popup menu (useful when coloring by selecting)
 * brake lights will no longer be triggered when the route ends unless the vehicle actually has to slow down.
 * now providing separate options for customizing the visualization of persons


 * NETCONVERT
 * when using the option the edge lengths are now increased to compensate for the missing internal links. Thus, route lengths will correspond better to physical distances and roundabouts are less prone to congestions.
 * added option which works similar to option  but uses geodetic coordinates instead of cartesian.
 * added new node type priority_stop. This works similar to type priority but minor links now require a stop
 * added new node type allway_stop. [This corresponds to an intersection type found in north America]
 * added option for ignoring unknown edge types during loading. This happens frequently when dealing with plain xml files based on OSM data.
 * now parsing the OSM-Attribute "tracks" to determine whether a railway element is unidirectional or bidirectional.
 * added option for setting the default behavior when importing railways without "tracks" attribute. The appropriate value depends on the mapping style of the regional OSM comunity.
 * added option which warns about sharp turns on an edge. This is enabled by default for turns above 99 Degrees.
 * added option which warns about sharp turns at the start and end of an edge. This is enabled by default for radii below 9 meters
 * added option which prunes geometry to avoid sharp turns at the start and end of an edge. This is disabled by default.
 * added option (default=false) for lifting junction restrictions for vehicles which exit on different lanes of the same edge without crossing paths. This improves junction throughput in many cases but is a more aggressive interpretation of german traffic laws.
 * added option (default=true) for lifting some junction restrictions at roundabouts. This conforms to the typical layout of roundabouts where restrictions on lane-changing allow such movements.


 * TraCI
 * added optional flags for cmd stop (0x12) to set the parking and triggered status
 * added command stop state (id 0xb5) for retrieving the stopped,parking and triggered status
 * added command resume (0x19) for resuming from the current stop
 * reduced verbosity on connection close (no more good byes)

Other

 * Simulation
 * The elements  ,   and  now support child elements of the form . These can be used when implementing custom functionality (see Developer/How_To/Device).
 * code for messaging functionality removed (was disabled by default anyway)
 * Contributed/SmallMaps tools was removed because it was outdated
 * switched all references in code and documentation to sumo-sim.org
 * TraCI version is now 6

Older Versions

 * z/Changes from Version 0.17.0 to Version 0.17.1
 * Documentation for 0.17.1
 * z/Changes from Version 0.16.0 to Version 0.17.0
 * Documentation for 0.17.0


 * z/Changes from Version 0.15.0 to Version 0.16.0
 * Documentation for 0.16.0


 * z/Changes from Version 0.14.0 to Version 0.15.0
 * Documentation for 0.15.0


 * z/Changes from Version 0.13.1 to Version 0.14.0
 * Documentation for 0.14.0
 * z/Changes from Version 0.13.0 to Version 0.13.1
 * Documentation for 0.13.1
 * z/Changes from Version 0.12.3 to Version 0.13.0


 * z/Changes from Version 0.12.2 to Version 0.12.3
 * z/Changes from Version 0.12.1 to Version 0.12.2
 * z/Changes from Version 0.12.0 to Version 0.12.1
 * z/Changes from Version 0.11.1 to Version 0.12.0


 * z/Changes from Version 0.11.0 to Version 0.11.1
 * z/Changes from Version 0.10.3 to Version 0.11.0


 * z/Changes from Version 0.10.2 to Version 0.10.3
 * z/Changes from Version 0.10.1 to Version 0.10.2
 * z/Changes from Version 0.10.0 to Version 0.10.1
 * z/Changes from Version 0.9.10 to Version 0.10.0


 * z/Changes from version 0.9.9 to version 0.9.10
 * z/Changes from version 0.9.8 to version 0.9.9
 * z/Changes from version 0.9.7 to version 0.9.8
 * z/Changes from version 0.9.6 to version 0.9.7
 * z/Changes from version 0.9.5 to version 0.9.6
 * z/Changes from version 0.9.3 to version 0.9.4
 * z/Changes from version 0.9.2 to version 0.9.3
 * z/Changes from version 0.9.1 to version 0.9.2
 * z/Changes from version 0.9.0 to version 0.9.1


 * z/Changes from version 0.8.x to version 0.9.0
 * z/Changes from version 0.8.2.2 to version 0.8.3
 * z/Changes from version 0.8.2.1 to version 0.8.2.2
 * z/Changes from version 0.8.0.2 to version 0.8.2.1
 * z/Changes from version 0.8.0.1 to version 0.8.0.2
 * z/Changes from version 0.8.0 to version 0.8.0.1


 * z/Changes from version 0.7.0 to version pre0.8