Fixed invalid bike lane detector placement for 'actuated' traffic lights. Issue #12266
Fixed vehicle angles when using 'lcSigma' with the continous lane change mode. Issue #12201
Fixed inconsistency in waitingTime definition between tripinfo-output and accumulated waitingTime. Issue #12287
Fixed invalid lot assignment for onRoad parkingArea. Issue #12330
Fixed invalid change to lane with stopped leader. Issue #12113
sublane model fixes:
Fixed invalid emergency braking for junction foe. Issue #12202
Fixed inconsistent computation for vehicle back position. Issue #12146
Fixed unsafe follow speed on multi-lane turning edge. Issue #12204
Fixed failure in cooperative speed adaptation at low step length. Issue #12283
netedit
Fixed bug where stops on looped routes where saved in an invalid order. Issue #12054 (regression in 1.12.0)
Right click on elements above a polygon now acts on the top element again. Issue #12111 (regression in 1.14.1)
Fixed invalid position of start and end edge geometry points after merging geometry points in move mode. Issue #12178 (regression in 1.14.1)
Fixed bug where during creation of new edge, sometimes, the candidate "to" junction isn't draw wit magenta dotted contour. Issue #12013 (regression in 1.15.0)
Fixed crash when using 'convert to roundabout' from the junction context menu. Issue #12355 (regression in 1.15.0)
Elements <ride> and <transport> can now be defined without attribute lines and default to a value of ANY (taking any eligible vehicle that stops at the destination). Issue #12167
Option --fcd-output.attributes now supports the attribute speedLat for writing lateral speeds. Issue #12213
Stops now support attribute jump="TIME" to model explict jumps (teleports) between disconnected locations. Issue #12268
netconvert
The right-of-way rules to take effect when switching a traffic light off, can now be configured as 'allway_stop'. This is the new default for NEMA-type controllers. Issue #12043
Improve traffic light programs in networks with separated bicycle paths. Issue #10039
OpenDRIVE outputs now suppots export of loaded POIs and polygons as road objects. Issue #12060
When setting option --tls.guess roads without conflict are excluded from the threshold-heuristic. Issue #6513
Improved heuristic for generating rail connections at sharp angles. Issue #12119
Warnings of E3 detectors and from the SSM device can now be aggregated. Issue #12149
Individual lane widths are now import from OpenStreetMap. Issue #12162
Lane divider style can now be exported from OSM to OpenDRIVE. Issue #12158
Traffic signs from OSM can now be exported to OpenDRIVE. Issue #12231
Pedestrian crossings are now exported to OpenDRIVE. Issue #12229
Added option --osm.crossings to import pedestrian crossings from OSM. Issue #12238
Now separating lanes for bikes and pedestrians according to OSM declerations. Issue #12215
Option --osm.bike-access now serves to add any addtional bike lanes declared in OSM without the need to load another typemap (The typemap may still be used to customize bike lane withs for different categories of lanes). Issue #12228
Added option --tls.rebuild to rebuild all loaded traffic light plans. Issue #12250
Added option --tls.guess-signals.slack to identify more controlled intersections by guessing from surrounding simple tls nodes. Issue #12249
Option --tls.guess-signals no longer requires signals on non-passeger edges to interpret an intersection as controlled. Issue #12260
Option --junctions.join can now join intersections with more than 4 incoming edges. Issue #12261
netedit
It is now possible to load and save a .sumocfg file and also to edit all sumo options (SHIFT-F10). Issue #11896
Added vehicle setting to maintain orientation after reversal. This achieves a more realistic visualisation of reversing trains and (grounded) aircraft. Issue #12140
Added settings to show/hide HUD elements in OSG view. Issue #12294
TraCI
Added functions vehicle.getDeparture and vehicle.getDepartDelay. Issue #3036
Added functions to retrieve aggregated inductionLoop detector measures. Issue #12030
Added functions to retrieve aggregated lanearea detector measures. Issue #12029
Added functions vehicle.getLoadedIDList and vehicle.getTeleportingIDList to retrieve the corresponding vehicles (some of which could not be retrieved with getIDList). Issue #2338
Tools
runSeeds.py: Now forwarding unknown options to application call. Issue #12312
runSeeds.py: Now supports setting a list of applications and a list of configurations to run all at once (with results in subfolders). Issue #12311
routeSampler.py: Major improvement in sampling speed. Issue #12319
routeSampler.py: Full optimization now skips initial sampling for further speed-up. Issue #12307
attributeStats.py: Permit parsing multiple elements and attributes at once. The new default is to parse all elements and attributes. Issue #12317
attributeStats.py now includes count in xml-output. Issue #12337
gtfs2pt.py: Now writing short route id and headsign as params. Issue #11819
plot_trajectories.py: Now support common visualization options. Issue #11991
Many visualization tools can now configure linestyle and marker style. Issue #11985
countEdgeUsage.py: Now permits loading named routes. Issue #12010
implausibleRoutes.py: Added options --additional-file, --unsorted-input and --ignore-errors which are passed to duarouter when needed. Issue #12090
implausibleRoutes.py: Added options to handle unsorted input and additional files when duarouter is being called. Issue #12069
tracemapper.py: Added option --vehicle-class to guide edge mapping. Issue #12117
net2geojson.py: Added option --boundary to write polygons instead of center lines. Issue #12296
stateReplay.py: Now works on for Windows. Issue #12298
Added new tool filterElements.py to filter elements from an xml file (either all instances or filtered by attribute value). Issue #12304
Added new tool attributeDiff.py to compute the numerical difference between two xml files with the same structure. Issue #12318
Added new tool fcdDifff.py to compare two fcd-output files (by vehicle id an time). Issue #12233
plotXMLAttributes.py
can now plot data without assigning ids to the data points. Issue #11969
can now plot categorical (non-numerical) data and also a mix of data types. Issue #11970, #11976
categorical labels can be sorted and filtered by loading a list of labels with option --xticks-file and --yticks-file. Issue #12091
vTypeDistributions with attribute vTypes now consider vType-probabilities. Issue #11376
jtrrouter
Fixed infinite loop when loading poisson flow. Issue #11834
polyconvert
Option --prune.in-net.offsets can now specify all possible offsets. Also the interpretation was changed, so that positive values now cause enlargement on all sides. Issue #11438
od2trips
XML validation now permits taz-relation intervals with human readable times. Issue #11554
Option --scale now works when loading tazrelation-files and amitran-files. Issue #11853
marouter
Option --scale now works when loading tazrelation-files and amitran-files. Issue #11853
TraCI
Function vehicle.highlight is now tracking the vehicle again. Issue #11352 (regression in 1.13.0)
Simpla: fixed crash due to unclear speed factor semantics. Issue #11223
Simpla: fixed invalid behavior when subsequent edges vary in lane number. Issue #11276
Added option --tls.actuated.detector-length to set the default length of actuation detectors. Issue #11335
Verbose output and --statistic-output now always include the count of vehicles for the trip statistics. Issue #11366
carFollowModels ACC and CACC can now be configured with vType attribute 'collisionAvoidanceOverride' (previously hard-coded to 2). Issue #11383
Tripinfo-output for persons now includes the individual speedFactor (in personInfo). Issue #11450
The new vType attribute desiredMaxSpeed can be used to configure speed distributions for vehicles that are not constrained by the road speed limit (i.e. bicycles). Issue #11102
Bicycles speeds now follow a speed distribution by default (centered on 20km/h, configurable with desiredMaxSpeed). Issue #11102
Option --emission-output.precision now also applies to emissions in tripinfo-output. Issue #11474
Added option --time-to-teleport.bidi to resolve deadlocks on bidirectional edges. Issue #11435
The vType attributes timeToTeleport and timeToTeleportBidi can now be used to customize teleporting behavior. Issue #9497
Pedestrians now react to edge speed limit (i.e. for modelling stairs). Issue #11526
Added option --vehroute-output.internal to include internal edges in the output. Issue #10601
Specifying pedestrian <walk> with departPosLat="random" is now supported. Issue #10573
Option --devices.ssm.measures now supports comma-separated values. Issue #10478
When using the special string 'TIME' in file names, all written files now use the same time stamp. Issue #10346
Added option --pedestrian.striping.walkingarea-detail INT to increase the smoothness of pedestrian trajectories. Issue #8797
Added option --summary-output.period to reduce the frequency of summary output. Issue #2445
The slope of a vehicle now takes into account it's length. Issue #8802
Rail signal constraints now support loading generic parameters. Issue #11880
Added options --edgedata-output FILE and --lanedata-output FILE to configure a very basic meanData output without the need for additional files. Issue #11939
Context menus on ambiguously overlapping objects now gives a choice of object. Holding ALT always gives all choices. Issue #10916
Saved detector names use descriptive tags instead of the 'E1,E2, ...' tags. Issue #11028
Hovering over an attribute now displays it's full value in a tooltip if field is too narrow. Issue #11194
Added button to inspect vTypes/vTypeDistributions during vehicle inspection. Issue #10041
Added edge color legend in vehicle mode. Issue #10866
Now using distinct default id-prefix for flow, personFlow and containerFlow. Issue #11077
Adding network-recomputation status in the lower right corner. Issue #4725
Adding a reverse edge now supports adding an edge with the same or with shifted geometry for all spreadType values. Issue #11046
Add shortcut to open current location in Google Maps and OSM map to context menu. Issue #10506
A sumo configuration file can now be saved directly. Issue #11036
Joined traffic lights can now be defined for selected junctions via the context menu. Issue #11396
Create edge frame has two new checkboxes (disallow pedestrians,add sidewalk) to simplify creation of edges for pedestrian simulation. Issue #10969
In networks with pedestrian crossings, create edge frame disallows pedestrians on road lanes by default. Issue #10970
In move mode, alt+right-click on overlapped objects now allows marking the front element to be moved. Issue #10900
In vehicle mode: alt+right-click on overlapping routes, now allows marking the front element to be used when creating 'vehicle over route'. Issue #11009
In delete mode, ambiguous clicks now open a context menu for selecting the intended target. Issue #11606
In delete mode, the object to be deleted is now outlined. Issue #11636
Button tooltips can be enabled/disabled with a persistent toggle-button. Issue #11550
Creating accidental double stops for the same vehicle is now prevented. Issue #10078
Holding the middle button now allows panning the view (also in sumo-gui). Issue #11632
"Undo-Redo list" dialog now includes color codes and entity ids. Issue #4765
Using distinct walkingArea color to distinguish them from other objects. Issue #11724
Every vClass has it's own icon now. Issue #9872, #11801
Kilometrage at cursor position is now shown in the edge context menu. Issue #11815
Added (optional) tooltips in attribute labels. Issue #11490
Hierarchical selection can now select connections and crossings as children. Issue #11863
Hierarchical selection now uses undo-group. Issue #11917
In data mode, the visualized attribute now remains active when changing between intervals. Issue #11881
By default, network geometry is now computed before entering data mode (to improve visualization of turn counts). To improve performance in large networks, this can be disabled with a (persistent) setting in the Processing menu. Issue #11918
Can now set and apply edge templates via context menu. Issue #2353
Traffic light mode:
phase table now permits moving phases up and down. Issue #10856
Added buttons reset either the current program or all programs of the current traffic light to their default. Issue #9072, #11357
phase table now shows index of each phase. Issue #11343
phase table has additional options when inserting a phase (i.e. duplicate, all green). Issue #10672, #3419
Detectors for actuated traffic lights can now be customized visually. Issue #9598
Add buttons for visually creating and changing joined traffic lights. Issue #11367
sumo-gui
EdgeData and laneData values recorded by the current simulation can now be used for live edge coloring. Issue #9756
3D view now permits clicking on more objects (lanes, junctions, traffic lights). Issue #10882
3D view now supports realistic drawing of traffic signals for cars and pedestrians. Issue #10913, #11162
3D view brightness can now be configured. Issue #11865
Stopped two-wheelers are now drawn without rider. Issue #10917
The front of the first rail carriage is now indicated by a black window in 'simple shape' mode. Issue #11369
Vehicle class 'taxi' is now indicated by additional decorations in simple shapes mode. Issue #11424
vClass-specific speed limits are now listed in lane parameter dialog if defined. Issue #11100
Fixed overlapping text for stop information (when show route is active). Issue #11462
The timeSinceStartup (from standing) is now listed in vehicle parameter dialog. Issue #11463
Status bar now indicates successful screenshot. Issue #11279
If a car has a custom arrivalPos or arrivalLane, these are now indicated when 'show route' is active. Issue #11533
Opening a second breakpoint editor is now prevented. Issue #10365
An active traci-server is now indicated in the status bar. Issue #5054
Kilometrage at cursor position is now shown in the lane context menu. Issue #11815
Added 'hide above threshold' to rainbow calibrator. Issue #11814
Generated color rainbow now includes MISSING_DATA color if data is missing. Issue #11927
netconvert
Input given via option --ptline-files is now filtered when reducing the network extent. Issue #11548
Declaring a node as fringe (attribute fringe) now disables walkingareas (that would be appropriate at a dead-end). Issue #11614
Added extra consistency checks for public transport stop ordering in OSM input (with regard to bidi-edges). Issue #11612
Original ids of edges of removed edges are now stored in joined junctions parameters. Issue #11428
OSM import now support more symbolic speed restrictions. Issue #11682, #11683
OSM import now sets the fringe type of nodes for dead-ends. Issue #6623
Option --fringe.guess now detects more outer fringe nodes. Issue #11754
Node clusters and joint traffic lights now get similar ids of the form "cluster_id0_id1" or "joinedS_...", "joinedG_...". Issue #3871
Joined ids are abbreviated with the scheme "cluster_id0_id1_id2_id3_#5more" if too many junctions / traffic lights are participating, see also -max-join-ids. Issue #10795
OSM: monorail import is now supported. Issue #11799
OSM: cable car (aerialway) import is now supported. Issue #11798
Added new junction type left_before_right (needed for right-hand traffic with special rules, i.e. Madagascar). Issue #11855
netgenerate
Now supports options --geometry.remove and --tls.discard-simple. Issue #11422
activitygen
Edges are now checked for their permissions before being used for passenger cars origin / destination. Issue #11445
polyconvert
Warning messages are now aggregated by default. Issue #11585
TraCI
Simpla: Added additional platooning criteria via new attributes 'edgeLookAhead', 'distLookAhead' and 'lcMinDist'. Issue #9252, #11236 (Thanks to Jörg Schweizer)
Simpla: platooning distances are now time-headways instead of gap-in-meters by default. Configurable with new attributes 'maxPlatoonHeadway', 'catchupHeadway', 'useHeadway'. Issue #11124
Net method traci.simulation.getOption can now be used to retrieve any simulation option. Issue #11319
person.getTaxiReservation parameter stateFilter now supports setting multiple bits. Issue #11501
Added function traci.trafficlight.updateConstraints for automated updating of rail signal constraints after rerouting. Issue #10134
Added function traci.gui.setAngle to change viewport angle. Issue #11239
Added functions traci.gui.addView, traci.gui.removeView to add/remove view windows. Issue #11760
TraCISignalConstraint now includes param data. Issue #11880
tools
routeSampler.py: now supports options --depart-attribute, --arrival-attribute to set extra constraints. Issue #6727
routeSampler.py: added more statistics on processed intervals. Issue #11328
routeSampler.py: Added option --total-count to set the total number of desired vehicles. Setting this to input reproduces counts from the loaded route files. Issue #11895, #11911
countEdgeUsage.py: Can now load multiple route files. Issue #11338
generateRailSignalConstraints.py: added constraints for vehicles inserted at the same stop. Issue #11378
generateRailSignalConstraints.py: added option --params to make all comment information accessible as generic parameters (i.e. and see them in the gui). Issue #11880
generateRailSignalConstraints.py: Added option --bidi-conflicts to generated conflicts for bidirectional track use. Issue #11709
drtonline.py: now supports option --tracefile to allow for quick replication of a simulation. Issue #11414
osmWebWizard.py: Now prevents turn-arounds at the start and end of routes to improve traffic flow. Issue #10167
osmWebWizard.py: Now reliably generates trips in small networks. Issue #11563
osmWebWizard.py: Now aborts scenario building if when trying and failing to retrieve satellite data. Issue #11423
attributeStats.py: Now includes stdDev in outputs. Issue #10869
tls_csvSignalGroups.py: Can now extract csv descriptions from a .net.xml file. Issue #10756
changeAttribute.py Now handles missing attributes when removing attribute. Issue #11888
randomTrips.py: New option --min-dist-fringe which allows short fringe-to-fringe trips if trip generation with --min-dist fails repeatedly. Issue #10592
randomTrips.py: Option --fringe-factor now supports value max to force all departures and arrivals onto the fringe. Issue #11894
plotXMLAttributes.py: Now support plotting by rank (by specifying attribute @RANK). Issue #11605
Added new tool vehrouteCountValidation.py to evaluate the differenced between counting data (edge counts, turn counts, ...) and traffic recorded by a simulation (--vehroute-output with exit-times).
tlsCycleAdaptation.py: Now supports loading input with named routes. Issue #11879
Github source download now includes all tests. Issue #11403
All applications now support appending list-type options in a configuration file with extra items via the command line. Issue #405
osmWebWizard.py now stores network files as .net.xml.gz to conserve space. Issue #7713
Walk attribute departPosLat is now interpreted in the same coordinate system as used by the vehicles. For backward compatibility, the option --pedestrian.striping.legacy-departposlat may be set. Issue #11705
Added more entries to help menus of sumo-gui and netedit. Issue #11604
The new default --xml-validation mode is local which only reads the local schema file but does not do network access to prevent XXE attacks. Issue #11054
Cadyts-files can be downloaded again. Issue #11014
Fixed the default state of some netedit toggle buttons (but kept their default semantics). Issue #10066
drtonline.py: now works with Ubuntu 22 stock pulp package. Issue #11179
gtfs2pt.py: Fixed import of railway types and usability with python2. Issue #9550
traceMapper.py: fixed mapping loops when the first point was off the map
TraCI / libsumo
Function 'traci.vehicle.rerouteTraveltime' now again respects custom travel times if currentTravelTimes is set to True. Issue #5943 (regression in 1.14.0)
Linux packaging
enabled Eigen3 support (needed for the overheadwires) for the RPM packages
Added new laneChangeModel parameter lcOvertakeDeltaSpeedFactor to configure the threshold for not overtaking a slightly faster leader vehicle. Issue #11010
netedit
Warning dialog for loading the same file twice now permits overwriting duplicate elements. Issue #11058
View focus is now kept when transforming vehicles and persons between their trip/flow variants. Issue #11072
Improved generation of roundabouts involving edges with custom geometry endpoints. Issue #11045
Added junction context menu function for resetting edge endpoints. Issue #11044
Now showing a radius preview before converting junction to roundabout. Issue #11178
tools
Objects parsed from XML (sumolib.xml.CompoundObject) can now maintain their attribute order. Issue #11174
randomTrips.py: options (--period, --insertion-rate, --insertion-density) now permit a comma-separated list of time values (not only space-separated). Issue #11151
runSeeds.py: Now supports option --threads to enable parallelization. Issue #11187
randomTrips.py: Added validation of vehicle class options. Issue #11195
Patching the type of a loaded junction now has priority over option --tls.guess. Issue #11013
Fixed invalid right-of-way rules when using custom contPos at connections from a side road. Issue #11146
Generated traffic light plans now include all-red phases at very large junctions to ensure safe transitions between phases. Issue #10796
TraCI / libsumo
Function vehicle.setAcceleration now supports negative values. Issue #10693
Fixed invalid added stop on previous edge while already on junction. Issue #10859
Fixed invalid taxi state after re-dispatch (causing early taxi removal). Issue #10933
Function traci.load now resets a previous log file by the same name. Issue #10979
Fixed invalid mapping with vehicle.moveToXY onto intersections with parallel internal edges. Issue #10952
Fixed missing collision detection after vehicle.moveToXY where the vehicle makes a large "jump". Issue #10952
Fixed incomplete rail signal state reset after calling simulation.loadState. Issue #11001
Fixed crash when calling inductionloop.getVehicleData for detected pedestrians. Issue #11011
Fixed non-deterministic results for simulation.convertRoad. Issue #11002
Function 'traci.vehicle.rerouteTraveltime' now behaves the same in traci and libsumo in all cases. Previously, the argument currentTravelTimes was ignored by libsumo. The behavior in traci changed slightly: instead of using the current edge speeds and updating them for all vehicles, it now uses the aggregated routing mode (which also reacts to current speeds). Issue #5943
Fixed crash when calling traci.vehicle.updateBestLanes for vehicles not on the road network. Issue #11121
Fixed invalid choice of lane after calling traci.vehicletype.setVehicleClass. Issue #11117
Fixed some corner case of non-existing dll search paths for libsumo on Windows. Issue #10995
Fixed invalid active person count after removing waiting-for-depart stage. Issue #11127
Function traci.person.moveTo is now working (for pedestrians). Issue #11081
tools
game/racing.py now uses the intended vehicle scaling and simulation delay. Issues #10783 (regression in 1.0.0)
sumolib now raises an exception instead of calling sys.exit if rtree module is missing and fallback is disabled. Issue #10666
sumolib uses the warnings module if rtree is missing which can be used to disable warnings. Issue #10666
Vehicles at longer planned stops now switch off their engine. Issue #10491, #4019
Automated engine start/stop can be modelled. Issue #10441
Jammed detectors of actuated traffic lights can now be ignored for phase extension after a configurable time threshold. Issue #5212
When jam detection is activated (i.e. via option --tls.actuated.jam-threshold), all detectors are usable for activation and this eliminates the warnings about "no controlling detectors". Issue #9280, #10682
InductionLoop detectors now support optional attribute 'length'. Issue #10668
Actuated traffic lights now support param key 'detector-length' to set the default length of it's detectors. Issue #10668
Option --fcd-output.attributes now supports the value posLat to include lateral positions in fcd-output. Issue #10695
Setting lcSpeedGain="0" now fully disables changing for speedGain. Issue #10709
RailSignalConstraints can now be loaded in a deactivated state by setting attribute active="false". They can still be retrieved via TraCI. Issue #10799
Attribute 'period' is now an alias for attribute 'freq' in all detectors and both are now optional. Issue #10390
Added option --device.fcd.begin to customize begin time of fcd-output. Issue #10996
Added option --device.emissions.begin to customize begin time of emission-output. Issue #11052
Vehicle stops now support attribute onDemand="true" which lets them skip stopping if no persons wish to embark or disembark. Issue #11039
Added option --fcd-output.filter-shapes to restrict output to custom polygonal areas. Issue #11055
VType attribute 'lcOvertakeRight' is now supported by the sublane mode. Issue #11097
CarFollowModel EIDM now supports attribute startupDelay. Issue #10736
There is no warning about a missing green phase any longer for traffic light links which show "off" or "stop". Issue #10835
netedit
Persons and personFlows can now be transformed into each other via context menu (similar to vehicles and flows). Issue #10607
Containers and containerFlows can now be transformed into each other via context menu. Issue #10685
Traffic light mode now supports phase attributes earliestEnd, latestEnd (tlType=actuated) and vehExt,yellow,red (tlType=NEMA). Issue #10656
PersonPlan-mode now permits selecting the person via clicking (deselect with ESC). Issue #9606
Taz Mode: Added new button to update source and sink weight for fringe edges. Issue #4991
Now supports creating and editing NEMA controller. Issue #9599
A tooltip is now shown when the mouse is over any button in the button bar. Issue #10085
Traffic light type is now show in traffic light mode. Issue #3423
All attributes can now be reset to their default value by deleting the attribute content if that attribute has a default. Issue #9350
TAZ-source and TAZ-sink elements can now be inspected and selected (upon activating a new toggle button). Issue #10273
Stops for containers can now be defined. Issue #10855
Walkingareas can now be located by id. Issue #8580
Added 'confirm relation' button to tazRelation mode. Issue #10733
Shift-click in demand-stop mode now sets parent element (i.e. vehicle). Issue #10288
Added gzip file endings in file selection dialogs. Issue #10513
Create edge mode now visually previews whether a new junction will be created or an existing junction will be re-used. Issue #8454
A click-preview-indicator is now provided when creating tazRelations and vehicle-over-route. Issue #10997
A click-preview-indicator is now provided when splitting edges in in create-edge-mode. Issue #10998
The hide/show-TAZRel buttons can now be used to hide all relations. Issue #10972
Added dialog for fixing / reporting network element problems. Issue #10151
Improved visualization of trips between junctions. Issue #9901
Added warning dialog if the same additional/demand/data file is loaded twice. Issue #11057
A custom color rainbow is now supported for all data elements. Issue #10934
sumo-gui
InductionLoop detectors now list the time of continuos occupation in their parameter dialog. Issue #10671
3D-view now permits opening vehicle context menu via right-click. Issue #10191
Geometry points of polygons junctions and walkingareas can now be annotated to aid in debugging (activated in the openGL settings). Issue #10594
Can now color polygons (and TAZ) randomly. Issue #10938
Added gzip file endings in file selection dialogs. Issue #10513
Right clicking on a pedestrian crossing now always opens it's context menu (rather than the menu for the junction). Issue #10914
Breakpoints set in sumo-gui now override breakpoints from option --breakpoints. Issue #11061
netconvert
Now supports generating NEMA controllers. Issue #9599
Option --prefix now also modifies tlLogic ids. Issue #11062
netgenerate
Add option synonyms --random.lanenumber and --random.priority for options that apply to all network types. Issue #10775
Added option --random.type to pick a random edge type from all loaded types. Issue #10774
Options --geometry.split, --geometry.max-segment-length and --junctions.join-same are now supported. Together, they allow for generating intermediate junctions along the generated edges (i.e. for merging shifted grids). Issue #10787
TraCI
Each domain now supports the member DOMAIN_ID to retrieve the constant for subscriptions (i.e. traci.vehicle.DOMAIN_ID == traci.constants.CMD_GET_VEHICLE_VARIABLE). Issue #10963
It is now possible to retrieve lanearea detectors using traci.domain.subscribeContext. Issue #10960
tools
tls_csvSignalGroups now supports keyword actuated to declare time ranges for shorting/extending phases and causes programs of type actuated to be written. Issue #10719
osmWebWizard now uses a different projection when activating the "satellite background" option to ensure that the network matches the background.
generateRailSignalConstraints.py: Can now write discarded constraints as inactive by setting option --write-inactive. Issue #10800
plotTrajectories.py: Now supports plotting type 'g' to plot by leaderGap (requires fcd output with option --fcd-output.max-leader-distance). Issue #10839
addStops2Routes.py: Added various options to randomize stop assignment (i.e. to model random break-down of cars). Issue #10871
route2OD.py: now supports loading trips with attributes fromTaz and toTaz. Issue #10924
routeSampler.py: now supports option --write-flows poisson to generate flows with poisson arrival pattern. Issue #10886
routeSampler.py: Can now load pedestrian walks as candidate routes. Issue #11041
randomTrips.py: Can now set explicitly randomized departPos and arrivalPos attributes. Issue #7977
randomTrips.py: Can now pass any kind of duarouter option using --duarouter-option-name VALUE. Issue #7347
randomTrips.py: Can now define a timeline of different demand levels. Issue #5739
randomTrips.py: Now supports option --insertion-rate to define demand as vehicles-per-hour and option --insertion-density to define demand as vehicles-per-hour-per-km. Issue#11053
randomTrips.py: All generated trips and route files now record the used randomTrips options. Issue #10973
cutRoutes.py: now adapts the departSpeed to 'max' and departLane to 'best' if vehicles start on a cut route. Issue #10611
The traffic light games with multiple junctions can now be controlled with the keyboard. Issue #11056
The traffic light games now use phase switching instead of program switching. Issue #11063
sumolib.shapes.polygon now handles missing attributes. Issue #11092
netdiff.py: now support saving and loading configuration files. Issue #10942
The new function sumolib.xml.parse_fast_structured now provides very fast parsing for heterogeneous nested xml files (i.e. tripinfo-output for vehicles and persons). Issue #9033
The new reduceLanes.py script can reduce the number of lanes for multi lane roads in a network splitting the edges before and after junctions
Outputfile comment header no longer includes options that were set automatically (only user defined options). Issue #10712
Outputs now use attribute period instead of freq whenever denoting a time period. Issue #10657
Updated default bicycle speed on highway.path and highway.cycleway. Issue #10976
Fuel consumption is now given in mg/s instead of ml/s to achieve consistency across liquid an gaseous fuels. For backward compatibility, the option --emissions.volumetric-fuel may be set. Issues #7277, #11026
The default parameters of the battery model have been changed to that of a KIA Soul EV (formerly the parameters were for a large electric bus). Issue #10883
The documentation now has a Copy-button next to every code block. Issue #11050
Sorted vehroute output now preserves the loading order of vehicles that depart in the same simulation step. Issue #10087
Fixed failing train reversal after waypoint. Issue #10093
Fixed invalid route when specifying a trip that loops back onto the start edge with arrivalPos < departPos. Issue #2757
Fixed invalid error message when using mismatched parentheses in traffic light switching conditions
Fixed invalid arithmetic in custom logic for actuated tls ('-' was working as '+'). Issue #10224
Fixed sub-optimal insertion flow with departLane="best". Issue #10137
Scaling vehicles with vTypeDistribution now resamples the type for each added vehicle. Issue #10155
Trips with fromJunction, toJunction can now be loaded from additional file. Issue #10306
Rerouting now takes empty lanes into account in mean speed calculation. Issue #10345
Rerouting now ignores stopped vehicles in mean speed calculation if they can be overtaken. Issue #10336
Teleporting of blocked vehicles now works if they are blocked behind a stopping vehicles. Issue #1078
Vehicles that do not park at a stopping place now ignore attribute parkingLength. Issue #10463
Fixed creeping collision with carFollowModel "W99". Issue #10472
Fixed collision with carFollowModel "IDM". Issue #10471
Fixed warnings after a long vehicle changes lanes after turning. Issue #10481
Added vType attribute 'sigmaStep' to decouple the driving imperfection dynamics (sigma) of Krauss and related Models from the simulation step-length. Issue #10494
Fixed junction collision in sublane model. Issue #10458
Fixed xml schema error when loading data files written by netedit. Issue #1051
Fixed error related to NEMA detector naming. Issue #10517
CarFollowModel IDM with low decel values no longer overshoots stop position. Issue #10556
Unfinished (started) stops are now included in vehroute-output when setting option --vehroute-output.write-unfinished. Issue #10565
Fixed NaN-value in summary-output when setting speed limit to 0. Issue #10603
Fixed negative timeloss in person-walk tripinfo. Issue #10270
personFlow now re-samples walks from a routeDistribution. Issue #10632
vType attribute 'startupDelay' can now be used to configure startup loss time. Issue #7832
The default lateral alignment of bicycles is now "right" instead of "center". Issue #9959
edgeData output now supports attributes 'edges' and 'edgesFile' to reduce the output to a configurable list of edges. Issues #10025
edgeData output now supports attribute 'aggregate' to aggregate data for all (selected) edges. Issue #10026
Vehroute-output now includes attribute 'replacedOnIndex' for routes that were replaced after departure to resolve ambiguity for looped routes. Issue #10092
Added option --replay-rerouting to re-run scenarios from vehroute-output in the same way as the original run. Issue #3024
Added new vehicle attribute 'insertionChecks' that allows forcing vehicle insertion in unsafe situations. #10114
Added option --save-configuration.relative to write config-relative file paths when saving configuration. Issue #6578
Smoothed the effect size curve of vehicle impatience. Previously, most of the effect occurred at low impatience values and larger values did not matter. To compensate for the reduced gradient, the default of option --time-to-impatience was reduced from 300s to 180s. Issue #8507
Vehicle flows with equidistant spacing (i.e. period="x") now remain equidistant when the flow is increased via option --scale. Issue #10126
Option --emission-output.geo can be used to switch emission location data to lon,lat. Issue #10216
Person attribute 'speedFactor' can now be used to override speed distribution. Issue #10254
Added option --personroute-output to separate vehroute output for persons/containers from vehicle routes. Issue #10317
Option --fcd-output.attributes now supports value 'odometer' to include the odometer value and 'all' to include all values. Issue #10323
Option --time-to-teleport.ride causes persons and containers to "teleport" after waiting for too long for a ride. Issue #10281
Vehicles on long stops should no longer recompute their route. Issue #8851
Added warnings when a vehicle has stops with inconsistent timing information. Issue #10460
Added option --time-to-teleport.highways.min-speed to configure the speed threshold for applying --time-to-teleport.highways. Issue #8268
All carFollowModels now support attribute 'collisionMinGapFactor'. Issue #10466
Stop attribute 'endPos' can now be used to override automated stop position choice at busStop. Issue #10550
Flows now support attribute begin="triggered". Issue #10560
Added option emergency-insert to permit inserting vehicles at dangerous speeds. This behavior was previously a side effect of option --ignore-route-errors. Issue #10581
Attribute 'departEdge' can now be used with trips and flows. Issue #8992
Traffic light type 'actuated' now supports parameters 'show-conditions' and 'hide-conditions' to customize visualization in the Phase Tracker Window Issue #10046
Traffic light type 'actuated' now supports parameters 'extra-detectors' to included additional detectors in the Phase Tracker Window Issue #10290
Detectors can now be triggered from the context menu even if there are no vehicles on it. Issue #10067
Saved configuration now always contains relative file paths. Issue #6578
Added menu entry 'Simulation->Load' to quick-load a saved state for the current network.
The keys pgdup/pgdown can now be used to change simulation delay. (their former functionality of quick-panning the view was taken up by alt+arrows). Issue #10199
Greatly improved rendering speed of polygons. Issue #10240
Hotkey Ctrl+j now toggles drawing of junction shapes. Issue #10362
Background images (decals) now support environment variable resolution in their paths. Issue #10371
The space key can be used to toggle run/stop. Issue #10068
Improved visibility of vehicles with exaggerated size on multi-lane roads with exaggerated size. Issue #10483
Vehicle length no longer affects size when drawing as circles. Issue #10629
Improved positioning when drawing persons as circles. Issue #10608
OpenDRIVE export now includes <signal> and <controller> information. Issue #2367
OpenDRIVE import now uses more information to compute junction shapes. Issue #10337
Option --opposites.guess.fix-lengths is now enabled by default. Issue #10326
The character ':' is now permitted edge and junction ids except as leading character. Issue #10421
OSM: now importing additional bus stops. Issue #10503
Short roads without streetname can now be merged with longer roads that define a name. Issue #10582
A network file can now be patched with geo-coded plain-xml files by setting a projection (i.e. --proj.utm). Issue #10628
polyconvert
Shapefile with geometry encoded as linestring2D is now supported. Issue #10100
duarouter
Option --randomize-flows now applies to personFlow. Issue #10182
traci
Added function 'traci.inductionloop.overrideTimeSinceDetection' and 'traci.lanearea.overrideVehicleNumber' to trigger the detector without the need for vehicles and facilitate traffic light testing. Issue #10045, #10048
function 'traci.vehicle.setPreviousSpeed' now supports an optional parameter to set the previous acceleration. Issue #10097
function `traci.simulation.subscribeContext' can now be used to subscribe to all objects in the simulation network. Issue #8388
Added function 'vehicle.insertStop' to add stops anywhere in the stop list and reroute automatically. Issue #10132
Added function 'vehicle.setStopParameter' to set any possible attribute for any upcoming stop. Issue #7981
Added function 'vehicle.getStopParameter' to retrieve any possible attribute for any past or upcoming stop. Issue #10160
Added functions 'simulation.getScale' and 'simulation.setScale' to access the global traffic scaling factor. Issue #10161
Added functions 'vehicletype.getScale' and 'vehicletype.setScale' to access the type-specific traffic scaling factor. Issue #10161
Actuated traffic lights now supports the keys cycleTime, cycleSecond, coordinated, offset in setParameter and getParameter calls. Issue #10234
Actuated traffic lights can now retrieve switching condition states via trafficlight.getParameter(tlsID, "condition.CONDITION_ID")#10561
Added function 'vehicle.setAcceleration' Issue #10197
Function vehicle.replaceStop now supports the flag 'teleport=2' to trigger rerouting after stop removal. Issue #10131
Function vehicle.moveToXY now "guesses" the next route edges to prevent artifacts when reaching the end of the current route. Issue #4250
Experimental support for libsumo with GUI (only works on Linux / Mac yet). Issue #6663
tools
routeStats.py: Can use measures "speed", "speedKmh", "routeLength", can switch to the fast XML parser and can also filter by route length . Issue #10044
tls_csv2SUMO.py now supports the same signal states as the simulation. Issue #10063
osmGet.py: allow filtering road types and shapes in OSM API query to reduce download size. Issue #7585
osmWebWizard.py: can now select desired road types to reduce download size. Issue #7585
route2OD.py: added new option --edge-relations to write edge-based OD relations (without the need for a TAZ file). This type of output can be usd with routeSampler.py. Issue #10058
randomTrips.py: When setting option --random-depart, with a fractional value for option --period, the depart times now have sub-second resolution. Issue #10122
randomTrips.py: now supports option --random-routing-factor to increase the variance of generated routes. Issue #10172
added library function sumolib.net.getFastestPath. Issue #10318
edgeDataDiff.py now supports error propagation for attributes starting with _std. Issue #10103
countEdgeUsage.py: Option --taz now works together with time filtering and --subpart filtering. Issue #10404
Added tool mapDetectors.py which creates detector definitions based on geographic coordinates.
generateParkingAreas.py: now supports option --keep-all to keep 0-capacity areas. Issue #10612
generateParkingAreas.py: now supports options --edge-type.keep and --edge-type.remove to filter by edge type. Issue #10615
addStops2Routes.py should now preserves vTypes. Issue #10613
attributeStats.py now supports reading attributes from multiple files. Issue #10643
added new tool runSeeds.py to run a configuration multiple times with different random seeds and collect distinct outputs. Issue #10642
Rerouter attribute 'file' is no longer supported. Intervals should be child elements of rerouters. Alternatively, element <include href="FILE"/> may be used. Issue #9579
Improved error message when using <stop> elements and attribute via in an inconsistent manner. Issue #10110
limit internal precision of random variables (i.e. sampled speedFactor or random departSpeed) to 4 decimal digits and enforced the same minimum output precision. This avoids problems when replicating a scenario based on vehroute-output. Issue #10091
Exaggerating stopping place size only increases symbol size. Issue #9370
Fixed invisible rerouter on short edge. Issue #9779
Fixed invalid detector visibility when switching actuated traffic light program on. Issue #9877
Fixed keyboard navigation in locate object dialogs. Issue #9740
Rerouter symbols are no longer drawn on sidewalks. Issue #9908
Fixed various inconsistencies in the TLS Phase tracker. Issue #9963
Fixed occasional freezing during person simulation. Issue #9973
netconvert
Fixed unsafe location of internal junctions that were causing collisions in the simulation. Positioning can be controlled with option --internal-junctions.vehicle-width and setting this to 0 restores legacy behavior. Issue #4397
Fixed invalid network when importing public transport and sidewalks. Issue #9701 (regression in 1.10.0)
Dynamically modified road permissions (i.e. closingReroute with disallow and closingLaneReroute) are no longer ignored and can now cause jamming. Issue #9950, #10010
Fixed invalid capacity in intermodal scenario. Issue #8167
duarouter
Option --write-costs now also applies to walks/rides, Option --route-length now applies to normal vehicles. Issue #9698
Fixed invalid error on mismatch between ride destination stop and vehicle destination stop. Issue #9730
Fixed invalid route output when using option --remove-loops on routes with multiple loops. Issue #9837
Fixed inconsistent vType defaults for speedFactor. Issue #9864
Fixed inconsistent railway routing results for stops on consecutive bidi-edges. Issue #9949
Fixed inconsistent handling of personTrips and explicit trip items. Issue #5821
Setting --vtype-output NUL now discards vtypes. Issue #9991
Persons are now included in saved simulation state when setting option --save-state.transportables. Issue #2792
Traffic lights of type 'actuated' and 'delay_based' now support attributes 'earliestEnd', 'latestEnd' and param 'cycleTime' to configure coordination. Issue #9748, #9885, #9889
Parking search now supports <param key="parking.anywhere" value="X"/> which permit using free parkingArea along the way after doing unsuccessful parkingAreaReroute x times. Issue #9577
Parking search now supports <param key="parking.frustration" value="X"/> which increases the preference for visibly free parkingAreas over time. Issue 9657
Parking search now supports <param key="parking.knowledge" value="x"/> to let driver "guess" the occupancy of invisible parkingAreas with probability x. Issue #9545
Vehicles now collect occupancy information for all parkingareas along the way during parking search. Issue #9645
sumo-gui
All text setting now have the checkbox "only for selected" to display text selectively. Issue #9574
Added vehicle setting "show parking info" which labels parking memory (block time and scores) for vehicles with active route visualization. Also, the vehicle is labeled with the number of parking reroutes since the last successful parkingArea stop. Issue #9572
Can now color roads "by free parking spaces". Issue #9643
Added context menu entry to open map location in an online map. Issue #9787
Vehicle size can now be scaled by attribute. Issue #9567
Added speedFactor to vehicle type parameter dialog. Issue #9865
The locate dialog has improved keyboard navigation, optional case-sensitivity and optional auto-centering. Issue #9902, #9876
Traffic light parameter dialog now includes cycle duration, timeInCycle, earliestEnd and latestEnd. Issue #9784
Parameter Tracker window enhancements:
The value at the cursor position is now highlighted and printed. Issue #9976
When saving data, the time values are now included. Issue #9977
Plotting multiple values in the same window is now supported by activating 'Multiplot' and starting more plots. Issue #9984
Phase Tracker window enhancements:
shows switch times with configure style (seconds, MM:SS, time-in-cycle). Issue #9785
OSM: import of public transport now supports share_taxi (PUJ) and minibus. Issue #9708
OSM: attribute turn:lanes is now used to determine lane-to-lane connections when option --osm.turn-lanes is set. Issue #1446
OSM: importing airports (aeroways) is now supported. Issue #9800
Simplified edge and junction names in OpenDRIVE import. (i.e. '42' instead of '42.0.00'). The option --opendrive.position-ids is provided for backward compatibility. #9463
Added option --opendrive.lane-shapes which uses custom lane shapes to account for spacing of discarded lanes. Issue #4913
Added option --railway.topology.extend-priority which extrapolates directional priorities in an all-bidi network based on initial priorities. Issue #9683
OpenDRIVE export and import now supports writing and reading the <offset> element for handling shifted geo references. Issue #4417, #10006
duarouter
can now write route costs in regular route output. Issue #9667
TraCI
'traci.vehicle.getParameter' and 'setParameter' now support all laneChangeModel parameters. Issue #10011
tools
routeSampler.py: Option --prefix now also applies to route ids. Issue #9634
generateParkingAreaRerouters.py: added option --prefer-visible which prefers visible alternatives regardless of distance. Issue #9642
generateParkingAreaRerouters.py: added option --distribute which sets a distance distribution for the given number of alternatives (instead of always using the closest parkingAreas). Issue #9566
generateParkingAreaRerouters.py: added option --visible-ids to set visible parkingAreas explicitly. Issue #9669
addStops2Routes.py: Can now generate stationary traffic to fill each parkingArea to a configurable occupancy. Issue #9660
addStops2Routes.py: added option --relpos for configuring stop position along edge. Issue #9795
Shapefiles will now be interpreted correctly when no projection is defined #8948
Fixed hidden buildings due to invalid default layers in OSM typemap. Issue #9061
TraCI
trafficLights.getControlledLinks passes the correct response size (this has no effect for the end user and is only relevant for client developers). Issue #8891
The debug-build of libsumo is now working. Issue #8946
Removing and reinserting a vehicle in the same step is now working. Issue #5647
traci.vehicle.getLeader can no longer return -inf when the leader is on an intersection. Issue #9001
Fixed problems related to complex types returned from libsumo in java. Issue #7204
Fixed invalid result of vehicle.getDistance after vehicle.moveToXY, and vehicle.moveTo. Issue #9050, #8778
Fixed bug where intended teleport after replaceStop failed due to oncoming train. Issue #9175
Fixed invalid route after adding vehicle with trip-route and forcing insertion with moveTo. Issue #9257
Fixed invalid departedIDList after reloading a libsumo simulation. Issue #6239
Subscription filter "turn" now includes foe on junction. Issue #9330
Fixed warning "splitting vector close to end" when using subscription filter. Issue #9404
Fixed invalid expected vehicle number after failed vehicle.add. Issue #9456
Fixed crash when using libtraci repeatedly. Issue #9478
'traci.vehicle.getLaneChangeState' no longer includes 'TraCI' in the 'state-without-traci' component. Issue #9492
Fixed bug where command 'traci.vehicle.changeLane' was ignored in sublane simulation. Issue #9147, #9493
Function 'traci.vehicle.replaceStop' no longer fails while on junction. Issue #9467
Fixed invalid stop duration reported after updating duration with setStop. Issue #9522
Added missing convenience functions in traci.vehicle (i.e. 'isAtBusstop' to libsumo and libtraci python bindings. Issue #9591
Fixed missing vehicles when using subscriptionFilterLateralDistance. Issue #9603
tools
cutRoutes.py: Fixed mixed usage of trainStop and busStop. Issue #8982
When option --vehroute-output.exit-times is set, The output for walk,ride, transport and tranship now includes the values 'started' and 'ended.' Issue #9005
Added option --weights.separate-turns FLOAT. When this is set to values in ]0,1] routing in the simulation will distinguish travel times by turning direction (i.e. to prefer right turns over left turns where the latter are a cause of delay). Issue #2566
If a simulation includes bicycles, they will get a separate section in trip statistics for bicycles. Issue #9069
Added option --vehroute-output.speedfactor. When this is set, the vehicle specific speed factor will be written in the output. If the vehicle defines a departSpeed, this defaults to 'true'. Issue #9199
BoardingDuration / loadingDuration are now also applied when exiting a vehicle. Issue #4216
Delays for opening a rail crossing can now be customized and their values were increased to be more realistic. Issue #9301
Loading parkingReroute elements that can potentially cause blockage in parking search now results in a warning. Issue #9363
Parking search now employs memory of previously visited and occupied parking areas. Issue #9047
Option --vehroute-output.route-length now also applies to unfinished routes. Issue #9373
Option --vehroute-output.route-length is now written for all routes of a vehicle. Issue #9375
Taxi simulation now supports the use of multiple taxi fleets and customer choice of fleet. Issue #7818
Added ssm device output option --device.ssm.write-positions for writing global measures. Issue #9230
Waypoints can now be used together with the 'until' attribute to force stopping on early arrival. Issue #9489
edgeData output now includes optional attribute 'teleported' to count the number of vehicles that teleported from an edge. Issue #5939
Added option --time-to-teleport.remove for removing vehicles instead of teleporting and re-inserting them along their route after waiting for too long. Issue #9377
Added option --device.ssm.write-lane-positions to add lane id and lane-pos to all outputs. Issue #9231
In simulations with opposite-direction-driving stops on the opposite direction edge may be defined by setting a lane index beyond the leftmost forward lane. Issue #8876
sumo-gui
An index value is now drawn for each train reversal in 'show route' mode. Issue #8967
All stopping places (busStop, parkingArea, ...) now support custom color. Issue #8280
The numerical value behind the current edge color can now be plotted in a tracker window. Issue #9049
Locator dialog now shows number of available objects. Issue #9075
Locator dialog now allows selecting/deselecting all objects in (filtered) list. Issue #5426
Improve positioning of persons in vehicles. Issue #9159
Taz attribute 'fill' is now supported. Issue #9144
Drawing detail of POIs can now be configured. Issue #9203
Improved visualization of teleporting vehicles when shown because of active route visualization. Issue #9174
Added vehicle context menu function 'Select transported'. Issue #2241
Time range and intervals in loaded edgedata are now reported. Issue #9217
Meso vehicles are now drawn with interpolated positions
Segment boundaries are now drawn in meso simulation. Issue #9227
Breakpoints are now rounded down to reachable step value. Issue #6789
Clicking on timestamps in message window now creates breakpoints with a configurable offset. Issue #7617
Lane params and street names are now shown in meso edge parameter dialog. Issue #9300
Coloring of stop lines can now be switched to "realistic" mode. Issue #9358
in meso, stops are now indicated when 'show route' is active. Issue #9514
Added extra colors for 'stopped' in vehicle coloring scheme 'by speed' #9547
Added number of stopped vehicles to network parameters. Issue #9558
Attribute guiShape now supports 'scooter'. Issue #9190
netedit
Added context menu function to reset opposite-lane information for a selection of lanes. Issue #8888
Added new 'Lock' menu to protect different types of objects from inspect,move,select and delete operations. Issue #8342
Vehicle stop attribute posLat is now supported. Issue #8808
Saved busStop attributes now have the same order as netconvert. Issue #7624
Data mode now permits attributes with non-numeric values. Issue #9060
Drawing detail of POIs can now be configured. Issue #9203
Objects within a polygon boundary can now be selected by using the polygon context menu. Issue #9158
Improved drawing style of connecting lines between dependent objects (i.e. busstop/access). Issue #8914, #9258
Writing shortened xml header for demand and data output. Issue #9261
New network is started in create-edge mode. Issue #9272
After setting new edge template, the default in create-edge frame is 'use template'. Issue #9289
Edge / lane context menu operations are now available in create-edge mode. Issue #9271
The number of routes passing an edge can now optionally be drawn. Issue #8584
Routes referenced in routeProbReroute are now written in additional files. Issue #8547
TAZ now support a custom center point for showing their ID and attaching tazRelations. Issue #9298
Colors for traffic demand elements (routes, stops, ...) can now be customized in the 'Demand' tab of the view settings dialog. Issue #6318
Added options --node-prefix, --edge-prefix and --edge-infix to customize the default names for new objects. Issue #4375
New default prefix for edges is 'E' and new prefix for junctions is 'J'. Issue #9424
Generic parameters (<param>) of traffic light programs can now be edited in the traffic light frame. Issue #7659
Object attributes that are computed rather than user-defined (i.e. edge length) are now distinguished in blue. Issue #4633
Stopping places can now be resized via shift + drag #3966
Loaded rerouters are now drawn near their edges rather than (0, 0), when no position is defined. Issue #9365
Parking spaces and textured POIs can now be resized with the mouse. Issue #8825
Parent e3 detector now remains selected after creating detEntry/detExit. Issue #9420
Newly created reverse-direction edges now receive an id based on the forward direction edge and a '-' sign. Issue #9396
Local lane angle is now shown in context menu. Issue #9432
Intervals and child-elements of rerouters and VSS can now be inspected. Issue #9369
<DEL>-key can now be used in inspect mode to delete the currently inspected element. Issue #9352
Selection mode can now filter for attributes that have/haven't an empty value using '=' and '^' operators. Issue #9507
netconvert
Public transport line colors are now imported from OSM. Issue #7845
Added option --osm.sidewalks. This permits to import complete sidewalk data from OSM. Issue #9393
netgenerate
Added options --grid.x-attach-length --grid.y-attach-length to configure attachments separately by direction. Issue #8991
The option --bidi-probability can now be used to control the generation of reverse edges for grid and spider networks. When set to 0, pure oneway networks are generated. Issue #9006
od2trips
tazRelation files (as written by netedit) are now supported as OD-matrix definition. Issue #9057
duarouter & jtrrouter
Added option --named-routes which writes routes with an id and lets vehicles reference them. Can reduce output size if many vehicles are using the same route. Issue #8643
meso
Tau value of vehicles types now affect simulation (by acting as a multiplier on the segment tau value) Issue #9356
marouter
tazRelation files (as written by netedit) are now supported as OD-matrix definition. Issue #9057
--netload-output now includes 'density' and 'laneDensity' and 'speedRelative'. Issue #9197
traci
Added function 'traci.simulation.getEndTime' to retrieve the --end value that was set when starting sumo. Issue #2764
addSubscriptionFilterTurn can now be combined (additively) with addSubscriptionFilterLateralDistance and with addSubscriptionFilterLanes. Issue #9177
Improved warning messages when 'traci.vehicle.replaceStop', or 'changeTarget' fails. Issue #9453
Added functions to retrieve aggregated traffic measures from E3-detector. Issue #9501
Libtraci now supports 'Simulation::start'. Issue #6466
Added functions 'trafficlight.setNemaSplits', 'setNemaMaxGreens', 'setNemaCycleLength' and 'setNemaOffset' to control the split and offset of NEMA-type controllers. Issue #9520
tools
cutRoutes.py: Can now handle multiple additional and public transport files in input. Issue #8997
generateRailSignalConstraints.py now supports options --comment.stop --comment.time --comment.all for extended annotation of generated constraints. Issue #8963
Added tool addTAZ.py for adding taz information to route files. Issue #8884
osmWebWizard.py now imports all bicycle lane data when building scenario with bicycle traffic. Issue #9071
osmWebWizard.py uses improved pedestrian routing on shared space. Issue #9100
osmWebWizard.py now avoids duplicate sidewalks when building a simulation with persons. Rebuild network with --osm.sidewalks False to replicate the old behavior (for areas that lack OSM sidewalk data). Issue #9444
gridDistricts.py now supports option --vclass for filtering taz edges in multi-modal networks. Issue #9127
Major speedup in GTFS import with gtfs2pt. Issue #9136
ptlines2flows.py: Added options --stop-duration-slack generate schedules that are more robust with respect to traffic delays. The new default value is '10' which means that vehicles can compensate up to 10s of time loss per stop. Issue #9170
ptlines2flows.py: Added options --speedfactor.bus and --speedfactor.tram to allow for relaxed schedules of vehicles which may be affected by road congestion. Issue #9170
ptlines2flows.py: Line colors are now supported. Issue #7845
generateContinousRerouters.py: added option --vlcass to avoid errors in multi-modal networks. Issue #9188
routeSampler.py: added option --min-count to set minimum number of counting locations for each used route. Issue #9415
Added tool scheduleStats.py to analyze deviations between loaded public transport schedules and simulation timing. Issue #8420
Added tool plotXMLAttributes.py to generated 2D-plots from arbitrary attribute of XML files. Issue #9403
osmTaxiStop.py: added option --fleet-size to generated a taxi fleet along with the stops. Issue #9116
sumolib.net.getShortest path now allows using edges in both directions for pedestrian route search (ignoreDirection="true"). Issue #9533
addStops2Routes.py received new options to define stops at parkingAreas, add stops to persons and to define stationary (parking) traffic. Issue #3607, #9561, #9562
library functions 'sumolib.xml.parse_fast' and 'parse_fast_nested' can now handle XML-comments. Issue #8565
Added tool parkingSearchTraffic.py to analyze reroute times and distances for parking search traffic. Issue #9534
Simulation: Default efficiency of chargingStation is now 0.95 (previously 0). Issue #9414
TraCI: Parameter 'upstreamDist' of function 'traci.vehicle.addSubscriptionFilterTurn' was renamed to 'foeDistToJunction'. Issue #9141
netconvert: opendrive-output now includes header comment with netconvert version and options. Issue #9454
netedit
Some Undo-Redo operations are now restricted to the supermode of the operation. Issue #9097
TAZ and Polygons can no longer have the same id. Issue #9165
polyconvert: When no network is loaded, output will now be in lon,lat by default (if the input is geo-referenced) in order to be useful with any network. The old behavior of writing raw utm values in this case can be restored by setting option --proj.plain-geo false.
duaIterate.py option -C is no longer a synonym for --continue-on-unbuild. Instead, it is a shortcut for --save-configuration. Issue #9314
Fixed invalid state file when using option --vehroute-output.exit-times and saved vehicles are still on their first edge. Issue #8536 (regression in 1.9.1)
Saved simulation state now restores traffic light phase and phase duration. Issue #7020
Fixed deadlock after loading rail signal constraints from state. Issue #8732
Fixed emergency braking with continuous lane changing. Issue #8466
Fixed crash when using routing algorithm 'CH' with device.rerouting.threads > 1. Issue #8767
Fixed train colliding with itself after early reversal. Issue #8768
Fixed collision with indirect left turn at priority junction (requires network with new 'indirect' attribute). Issue #8775
Fixed unnecessary deceleration of vehicle with low deceleration (i.e. freight train). Issue #8798
Fixed emergency braking with continuous lane changing and opposite direction driving. Issue #8760
Fixed invalid speed when train approaches reversal position. Issue #8867
Fixed crash on opposite direction driving with sublane model. Issue #8889, #8890
Lane closing (via rerouter) now triggers strategic changing for all vehicles. Issue #8895
Fixed invalid strategic lane choice in multimodal network. Issue #8900
Fixed emergency braking in sublane simulation. Issue #8908
Fixed schema validation when loading simulation state with time values larger than 24 days. Issue #8926
Fixed crash when loading simulation state with vehicle attribute 'departEdge', Issue #8929
Fixed crash when loading simulation state together with vehicles from an additional file. Issue #8927
Simulation with persons now terminates when participants have arrived after calling traci.simulation.loadState. Issue #8947
Fixed collision on junction due to premature acceleration. Issue #8817
sumo-gui
Fixed briefly invisible vehicle while passing short internal edge. Issue #8749 (regression in 1.9.0)
Drawing parkingAreas with large roadsideCapacity no longer causes the gui to slow down. Issue #8400
Fixed invalid window size after using "restore" button. Issue #8826
Fixed flickering while vehicles drive on the opposite side. Issue #8887
Invisible vehicles (alpha=0) no longer register clicks. Issue #8913
Fixed invalid position of size-exaggerated persons at a size-exaggerated busStop. Issue #8883
Fixed hidden context menu near the screen border. Issue #8860
Asian street names are now shown correctly in lane parameter dialog on Linux if the font 'Noto CJK' is installed. Issue #8907
netedit
Fixed unwanted modification of lane/edge permissions after leaving the dialog with 'Cancel'. Issue #8657
Fixed invalid error when trying to place additional objects on edges with length/geometry mismatch. Issue #8692
Fixed invalid restriction when trying to move additional objects on edges with length/geometry mismatch. Issue #8694
Fixed invalid rendering of detEntry and detExit direction. Issue #8693
Default edge permission in create edge mode are now working. Issue #8562
Fixed crash in tls mode after deleting lanes. Issue #8743
Fixed superfluous save-dialog after loading additional file. Issue #8572
Fixed crash when setting invalid edge in rerouter dialog. Issue #8859
Fixed hidden context menu near the screen border. Issue #8860
netconvert
Fixed missing bus permissions in OSM import. Issue #8587
Fixed invalid junction shape at geometry-like junction with crossing (was causing invalid simulation behavior). Issue #8779
Fixed duplicate busStops when importing public transport lines from OSM. Issue #8791
Fixed missing turnaround when specifying edge-level connectivity in .con.xml. Issue #8796
Fixed missing pedestrian permissions when importing OSM. Issue #8782
duarouter
Access cost is no longer ignored when using persontrip.transfer.car-walk=ptStops. Issue #8515
Fixed invalid error when using routing algorithm 'CH' in multimodal network. Issue #8756
Fixed invalid acceptance of broken input when using routing algorithm CHWrapper. Issue #8766
Fixed crash when loading stops on internal edge. Issue #8885
netgenerate
Fixed bug when using option --remove-edges.explicit. Issue #8841
traci
Call tracing is now reset properly on restart in the python client for libsumo. Issue #8671
Fixed sumo-gui crash when calling loadState. Issue #8698
Fixed crash when calling vehicle.moveTo. Issue #8714
Fixed missing follower information when calling 'traci.vehicle.getFollower' while on an internal edge. Issue #8701
Fixed crash when calling simulation.loadState while retrieving insertion backlog in sumo-gui. Issue #8730
Fixed deadlock after calling trafficlight.swapConstraints. Issue #8455
Libsumo now works with python3.8 on windows. Issue #5700
Libtraci now supports multiple traci client. Issue #8773
Function 'vehicle.replaceStop' now raises an error when trying to replace a stop that has already started. Issue #8878
Function 'vehicle.replaceStop' no longer ignores teleport flag if replacement stop is at the same location. Issue #8879
libsumo python wheel for python v3.7 is now compiled against the correct python version. Issue #8877
Fixed crash when calling libsumo.start again after after libsumo.close. Issue #8945
Fixed invalid return values from 'traci.lanearea' before the first simulation step. Issue #8949
tools
sumolib function 'parse_fast_nested' can now (again) ignore intermediate child elements (i.e. to parse vehicle and route if the route is inside a routeDistribution element). Issue #8508 (regression in 1.9.2)
routeSampler.py: Fixed crashing when using --geh-ok or when setting more threads than intervals. Issue #8755
CarFollowModel 'EIDM' (extended IDM) is now supported. Issue #8909 (Thanks to Dominik Salles)
ParkingAreas now support attribute 'departPos' to set a custom position for vehicles when exiting the parkingArea. Issue #8634
Added option --save-state.period.keep INT which allows saving state with constant space requirements (combined with option --save-state.period).
Added option --persontrip.walk-opposite-factor FLOAT which can be used to discourage walking against traffic flow (for FLOAT < 1). Issue #7730
Persons that walk against the flow of traffic now walk on the left side of the road rather than in the middle (left side of the lane instead of right side). Issue #7744
Vehicle stops now support attribute 'posLat' to stop with a lateral offset. Issue #8752.
Rail signals can now be switched into "moving block" mode where they only guard against flanking and oncoming trains. (option --railsignal-moving-block or <param key="moving-block" value="true"/>. Issue #8518
Vehroute-outupt now includdes attribute "priorEdgesLength" if option --vehroute-output.stop-edges is set. Issue #8815
Added option --emission-output.step-scaled to write emission output scaled by step length rather than per second. Issue #8866
Each distinct collision now creates exactly one warning message (even if the situation persists due to --collision.action warn). Issue #8918
Persons with different vClasses are now supported (i.e. 'ignoring' to walk on a forbidden road). Issue #8875
Element <walk> now supports attriubte 'departLane' (i.e. to place a person on the road lane instead of the sidewalk). Issue #8874
A warning is now issued if a person is configured to use a vType with the default vehicular vClass 'passenger'. Issue #8922
Attribute 'latAlignment' now supports numerical values to configure a fixed offset from the center line. Issue #8873
netedit
Connection mode button 'Reset connections' now immediately recomputes connections at the affected junctions. Issue #8658
Add demand mode toggle button to show the shortest route for all trips. Issue #8638
Vehicle arrival position can now be modified in move mode. Issue #8543
When adding green verges via lane context menu, the target side can now be selected. Issue #8781
Pois along lanes now support attribute 'friendlyPos'. Issue #4161
Selection frame now has a 'delete objects' button. Issue #8911
sumo-gui
Active insertionPredecessor constraints are now indicated via lane parameters. Issue #8737
netconvert
Indirect (bicycled) turns can now be created by setting connection attribute 'indirect'. Issue #4252
Option --default.spreadtype roadCenter can now be used to improve the geometry of edges with different lane numbers per direction when importing OSM. Issue #8713
Option --osm.bike-access now enables the import of additional bike path tags such as bicycle=yes/no and oneway:bicycle=yes/no. Issue #8788
Tag foot=yes/no is now imported from OSM to adapt permissions for pedestrians. Issue #8788
Improved interpretation of OSM Input with missing 'lanes' attribute. Issue #8942
duarouter
Attributes fromLonLat and toLonLat are now supported for personTrip. Issue #8665
Attributes 'x', 'y' and 'lon', 'lat' can now be used in place of stop attribute 'edge' and 'endPos'. Issue #8666
Added option --persontrip.walk-opposite-factor FLOAT which can be used to discourage walking against traffic flow (for FLOAT < 1). Issue #7730
traci
Added function 'traci.vehicle.getTimeLoss' to retrieve the timeLoss since departure. Issue #8679
Added function 'traci.vehicle.setPreviousSpeed' to modify the speed assumed by Sumo during the prior step (i.e. for computation of possible acceleration). This can be combined with 'traci.vehicle.moveTo' to override the behavior in the previous step. Issue #7190
Added new speed mode bit to control right-of-way compliance w.r.t. foe vehicles within an intersection. Issue #8675
'traci.vehicle.moveToXY' and 'traci.person.moveToXY' now support optional parameter matchThreshold to configure the maximum distance between position and matched road (default 100m). #8668
tools
cutRoutes.py now handles vehicle attributes 'arrivalEdge' and 'departEdge'. Issue #8644
Added new tool stateReplay.py to visually observe a simulation that is running without gui (i.e. on a remote server).
Function sumolib.xml.parse now sets the attribute heterogeneous=True by default. This enables parsing of all attributes even not all elements have the same set of attributes. The value heterogeneous=False is useful for conserving memory when all elements are known to have the same set of attributes. Issue #8651
Now the tool drtOnline.py contains only the information for DRT scheduling (read fleet and requests, call a DARP solver and dispatch). To find the best routes, different methods can be used to solve the DialARideProblem (DARP), which are defined in the script "darpSolvers.py". Issue #8700
Vehroute-output now includes stop attributes 'started' and 'ended' and ride attribute 'ended' if option --vehroute-output.exit-times is set. Issue #8415, #8600
Added option --use-stop-ended to use the new stop attribute 'ended' instead of 'until'. Issue #8611
netedit
Vehicle attributes departEdge and arrivalEdge are now supported. Issue #8452
duarouter
Added option --keep-route-probability which lets a given proportion of vehicles keep their old routes (selected at random). Issue #8550
tools
duaIterate.py now supports option --convergence-steps which forces route choices to converge in the given number of steps (via duarouter option --keep-route-probability). This is recommended when using option --logit which otherwise may not converge at all. Issue #8550
countEdgeUsage.py now allows filtering and grouping counts by vehicle departure time. Issue #8621
Statistic-output value departDelayWaiting is now in s (was in ms before).
Fixed emergency braking with high-duration continuous lane changing. Issue #8489 (regression in 1.9.0)
departDelayWaiting (verbose output and statistic-output) no longer includes loaded vehicles that were not scheduled to depart before simulation end. Issue #8490
Person stops with duration 0 are now working. Issue #8494
Fixed bug where vehicles could ignore connection permissions. Issue #8499
Fixed invalid jamming of persons and vehicles on a shared walkingarea. Issue #8417
Fixed invalid vehroute.exit-times after loading state. Issue #8536
Fixed missing vehicle-class-specific speed limits on internal lane. Issue #8556
Fixed bug where person did not exit ride on access edge of destination stop. Issue #8558
Fixed error when taxi ride starts or ends at a busStop only reachable via access. Issue #8578
netconvert
Loaded road connections are no longer ignored when railway.topology.repair affects a junction. Issue #8505
Fixed invalid connections at ramp-like junctions with bike lanes. Issue #8538
Phases with identical states are no longer merged if their names differ. Issue #8544
duarouter
Option --weights.priority-factor is no longer ignored in rail networks with bidirectional tracks. Issue #8561
netedit
Restored polygon exaggeration so that it increases line width rather than growing the whole shape. Issue #8568 (regression in 1.7.0)
Polygon ids can be shown again. Issue #8575 (regression in 1.7.0)
Setting size of additional ids is now working. Issue #8574 (regression in 1.8.0)
Ids of additional objects are now shown when zoomed out. Issue #8571
TraCI
Fixed crash when calling traci.simulation.loadState. Issue #8477, #8511
Fixed invalid traceFile when using traci..unsubscribe. Issue #8491
Added LiSum option --lisa-version to allow compatibility with version below 7.2. Issue #8065
osmWebWizard.py can now import locations with negative longitude again. Issue #8521 (regression in 1.9.0)
Fixed problem with sumolib.xml.parse_fast_nested when an element is missing some of the attributes to be parsed. Issue #8508
Fixed invalid characters in ptlines2flow.py output. Issue #8557
Fixed invalid constraint output of generateRailSignalConstraints.py when two vehicles stop with parking=true and the same until time at the same stop. Issue #8246
Miscellaneous
Fixed invalid xml output when writing file creation timestamp in exotic locales. Issue #8533
Fixed proj.db error message when starting applications with geo-conversion capability (sumo, netconvert, polyconvert) on windows (commonly used functionality was not affected). Issue #8497 (regression in 1.9.0)
Vehicles can now be equipped with the glosa device to adapt their speed at traffic lights. Issue #7721
Verbose output now lists total time spent on TraCI when applicable. Issue #8478
Statistic-output now includes 'totalTravelTime' and 'totalDepartDelay'. Issue #8484
Added option --tripinfo-output.write-undeparted to ensure that the number of written tripinfos is independent of insertion success (simplify comparison of different runs). Issue #8475
Option --time-to-teleport.disconnect now supports value 0 for teleporting without waiting. Issue #8537
sumo-gui
Updated container count icon in status bar. Issue #8479
netconvert
Added option --junctions.higher-speed to allow higher speed on internal lanes when the speed limit changes between incoming and outgoing edge. When set, speed on junction will be set to the maximum of both edges rather than the average. Issue #8535
TraCI
Added traci.trafficlight functions to work with railSignalConstraints: getConstraints, getConstraintsByFoe, removeConstraints, swapConstraints. Issue #8455, #8224
traci.simulation.Stage now supports function 'toXML' for python client. Issue #8517
tools
Added new tool drtOnline.py for simulation of demand responsive transport (DRT). It uses the taxi API with an LP-Solver to optimize shared dispatch. Issue #8256
Added function sumolib.route.addInternal to interpolate internal edges into a route. Issue #1322
sumolib.net.getShortestPath now includes internal edges in path cost and supports parameter 'withInternal' for including internal edges in the resulting edge list edges#4994
gtfs2pt.py now supports option --osm-routes to improve mapping of gtfs data onto the network. Issue #8251
Simulation
Option --xml-validation.net is now working again. Issue #8107 (regression in 1.5.0)
Fixed disappearing vehicle when transporting containers with taxi. Issue #7893
Fixed collisions between pedestrians and vehicles on shared space #7960
Vehicles with low (desired) decel value will no longer perform an emergency stop when caught in the "Yellow Light Dilemma Zone". Instead they will brake with decel --tls.yellow.min-decel (default: 3) as long as they have a sufficiently high emergencyDecel value. Issue #7956
Fixed invalid output directory for --device.taxi.dispatch-algorithm.output. Issue #8013
Fixed error when loading saved state with vehicles that stopped due to collision. Issue #8030, #8063 , #7696
Fixed bug where an emergency vehicle does not advance in the rescue lane. Issue #8072
When a junction collision is detected, the vehicle with right of way is now classified as the victim. Issue #8094
Fixed inconsistent vehicle positioning after collision stop #8109
Fixed slow initialization of railway router. Issue #8120
Fixed invalid braking of vehicles at traffic light junctions with crossings. Issue #8116
Fixed insufficient precision of timestamps when using low step-length (i.e. 0.025). Issue #8129
Fixed crash when using junction-taz in combination with taxi device. Issue #8152
Fixed emergency braking when approaching zipper link. Issue #8242
Members of personFlow and containerFlow are no longer in the same ride unless the group attribute is set. Issue #8396
Vehicle type attribute containerCapacity is now supported when using taxi device for container logistics #7892
Fixed invalid chargingStation-output and overheadwiresegments-output in subsecond simulation or when multiple vehicles are charging at the same element simultaneously. Issue #8351
Fixed invalid depart position when using departPos="stop" with a full parkingArea. Issue #8338
Fixed invalid waiting pedestrian count at busStop which caused invalid pedestrian jamming. Issue #8366
Fixed crash after junction collision with stoptime. Issue #8359
Attribute departLane is no longer ignored when validating attribute departSpeed. Issue #8226
Persons and containers with a <stop> stage at a busStop are now assigned to that stop instead of just waiting on the edge. Issue #8436
Fixed invalid edgeData output if simulation begin is later than edgeData begin. Issue #8464
randomTrips.py now generates multi-stage plans when combining option --intermediate with options that generated persons (i.e. --persontrips). Issue #8273
Fixed duaIterate.py crash when loading multiple route files with particular names. Issue #8411
Improved computational efficiency of bluelight device. Issue #7206
Added option --save-state.precision to configure the numerical precision when saving simulation state. Issue #8115
busStop attribute personCapacity can now cause pedestrian jams when the busStop is filled to capacity. Issue #3706
Taxi device now supports option --device.taxi.idle-algorithm [stop|randomCircling] to control the behavior of idle taxis. #8132
The sublane model now supports modeling an inverse relation between longitudinal and lateral speed (higher lateral speed while stopped and lower while driving fast). This is achieved by setting a negative values for attribute 'lcMaxSpeedLatFactor' and by setting 'lcMaxSpeedLatStanding' > 'maxSpeedLat'. #8064
Added new vType attribute 'jmIgnoreJunctionFoeProb' to allow ignoring foes (vehicles and pedestrians) that are already on the junction. Issue #8078
Added option --device.ssm.filter-edges.input-file to filter ssm device output by location. Issue #7398
Added vehicle attribute 'arrivalEdge' which can be used to set an arrival edge index ahead of the last edge of it's route. Issue #7609
Connection attribute 'visibility' now controls the distance for zipper merge related speed adjustments (default 100m). Issue #8240
Added option --fcd-output.attributes to set the list of attributes which are included in fcd-output. Issue #7632
fcd-output can now distinguish riding and walking persons by adding 'vehicle' to the option --fcd-output.attributes. Issue #7631
Added option time-to-teleport.disconnected which is applied when teleporting vehicles on fully disconnected routes. Issue #8267
Now supporting element <containerFlow> to define multiple containers.
Added option --save-state.constraints to include constraints in saved simulation state. Issue #8337
PersonFlow now supports attribute begin="triggered" number="..." to start a number of persons in the same vehicle. Issue #8165
Added option --device.battery.track-fuel to track fuel level for other fuels besides electricity #8349
Added option --collision.check-junctions.mingap to increase/decrease the sensitivity of junction-collision checks. Issue #8312
Added option --stop-output.write-unfinished to write stops that are not ended at simulation end. Issue #8401
Vehicle Class specific speed limits are now interpolated onto junctions. #8380
Option --vehroute-output.exit-times now applies to walks #8415
sumo-gui
Random color for containers is now supported. Issue #7941
Added 'Update' button to object selection dialogs to refresh the object list. Issue #7942
Multiple gui setting schemes can now be loaded from the same input file. Issue #8012
Add vehicle drawing style 'draw as circles'. Issue #5947
BusStop parameter dialog now includes a summary of lines which are being waited for. Issue #8138
Background images can now be removed using the 'Clear Decals' button. Issue #8144
Vehicle lengths will now be scaled according to custom edge lengths to avoid confusing visual overlap. A new vehicle visualization setting checkbox 'scale length with geometry' is provided to disable scaling. Issue #6920
Asymmetrical lane-change restrictions are now indicated by a combination of broken and unbroken divider lines. Issue #3656
Improved visualization of containers waiting at containerStop. Issue #8348
netedit
Added file menu options 'reload additionals' and 'reload demand'. Issue #6099
Route attributes 'repeat' and 'cycleTime' are now supported. Issue #6655
In move mode, exact coordinates for a geometry point can be set via right-click menu. Issue #2500
Edges can now be selected via context menu. Issue #4549
Selected edges and junctions can now be moved in z-direction (absolutely or relatively) via move mode frame controls. Issue #2499
Shapes of selected edges can now be shifted orthogonally to their driving direction via move mode frame controls. Issue #2456
Polygons can now be moved without changing their shape (with new move mode checkbox). Issue #5268
New custom cursors added to the Inspect, Delete, Select and Move modes. Issue #4818
Added new top-level 'Modes' menu for selecting edit mode. All mode-specific toggle options are now included in the 'Edit'-menu #8059
ParkingArea roadsideCapacity slots are now visible. Issue #6982
Configuration dialog for rerouter, calibrator and variableSpeedSign can now be accessed from the inspection frame. #8215
Lane attribute 'type' can now be edited. Issue #8230
netconvert
Lanes and connections now support attributes 'changeLeft' and 'changeRight' to configure lane-change restrictions. Issue #3656
Lane changing restrictions are now imported from OSM. To achieve legacy behavior, set option --ignore-change-restrictions all. Issue #8221
Added option --tls.no-mixed which prevents building phases where different connections from the same lane have green and red signals. Issue #7821
Element <laneType> is now supported in an edge <type> to pre-configure speed, width and permissions for individual lanes. Issue #7791
Merging of overlapping geo-referenced networks with re-occuring ids now works without setting option --ignore-errors. Issue #8019
When using option --junctions.join-same to merge overlapping networks with different junction ids, the option --edges.join can now be used to automatically remove duplicate edges. Issue #8019
Added option --railway.topology.repair.minimal. This works similar to --railway.topology.repair but avoids creating bidirectional tracks that are not needed for public transport routes (only applies when using option --ptline-outut). Issue #7982
Public transport edges that are disconnected from the main road network (in particular railways) are now included in the output when using option --keep.edges.components 1 as long as they have public transport stops that are written via option --ptstop-output. Issue #8061
Edge types now support attribute 'spreadType'. Issue #7897
The behavior of option --geometry.remove (merging subsequent edges with common attributes) no longer depends on written --ptstop-output (stops will be remapped onto merged edges). To enable legacy behavior, the option --geometry.remove.keep-ptstops may be set. Issue #8155
Connection file element <walkingArea> now supports attribute 'width' #7968
Lane attribute type is now written in OpenDRIVE output. Issue #8229
Added option --default.allow to set default edge permissions (also applies to netgenerate). Issue #8271
Added option --osm.extra-attributes to import additional edge attributes (osm tags) as generic parameters. Issue #8322
Added option --osm.lane-access for import of extra lane access permissions (experimental). Issue #7601
Option --output.street-names is now working for VISUM network. Issue #8418
MatSim import can now split self loops and handle "half" lanes. Issue #8047, #7947
netgenerate
Relaxed restrictions on minimum edge lengths when building grid and spider networks. Issue #8272
marouter
Added option --ignore-taz to route individual trips written by od2trips between their assigned edges. Issue #8343
Option --scale is now applied when loading route files instead of od-matrices. Issue #8352
od2trips
Added option --junctions which interprets the loaded source and sink IDs as fromJunction and toJunction ids. #8389
dfrouter
Added option --vclass to filter eligible edges in a multi-modal network. Issue #8408
polyconvert
Added option --visum.language-file to support importing shapes from English and French language versions (default is German). Issue #8414
Routing (duarouter / sumo)
The landmark table format changed to a more compressed version (old tables are still readable). Issue #8153
Gzipped landmark tables can now be read as well. Issue #8153
TraCI
libtraci is now the "officially supported" library for the Java, Python and C++ TraCI clients, providing (functional) identical interfaces for all three languages. TraaS and the old C++ TraCI API are considered deprecated.
Added function 'traci.simulation.getCollisions' to retrieve a list of collision objects for the current time step. This also includes collisions between vehicles and pedestrians. Issue #7728
Can now retrieve vehicle parameters 'device.battery.totalEnergyConsumed' and 'device.battery.totalEnergyRegenerated' when a vehicle has the battery device. Issue #6507
vehicle.dispatchTaxi now supports re-dispatching a taxi that is already in pickup or occupied mode. Issue #8148
Vehicles that are accumulating insertion delay (because they cannot safely enter the network as schedule) can now be retrieved using the functions 'traci.simulation.getPendingVehicles', 'traci.edge.getPendingVehicles' and 'traci.lane.getPendingVehicles. Issue #8157
Taxi customers (including those that shall be picked up but are not yet on board) can now be retrieved using traci.vehicle.getParameter(vehID, "device.taxi.currentCustomers"). Issue #8189
The reservation objects returned by traci.person.getTaxiReservations now includes persons that are eligible for re-dispatch and includes the state of the reservation (new, assigned, on board). Issue #8168
Added function 'traci.person.splitTaxiReservation' to transport pre-made groups with multiple vehicles. Issue #8236
The domains 'simulation', 'junction', 'inductionloop', 'lanearea', 'multientryexit' now support setParameter and getParameter. Issue #4733, #8244
The value set by traci.vehicle.setParameter("lcReason", VALUE) will now be appended to lanechange-output. Issue #8297
Function 'traci.vehicle.replaceStop' now supports deleting stops and optionally teleporting to the replacement stop. Issue #8265
The tool gridDistricts.py can be used to generated a grid of districts (TAZs) for a given network. #7946
netcheck.py now supports option --print-types to analyze the edge types of the different network components. Issue #8097
The tool generateRailSignalConstraints.py can now handle inconsistent schedule input without generating deadlocking constraints when setting option --abort-unordered. Issue #7436, #8246, #8278
When loading additional weights in for duaIterate.py, the new option --addweights.once controls whether the weights are to be effective in every iteration or not. The new default is to apply them in every iteration whereas previously, they were applied only in the first iteration. Issue #8249
Added new tool splitRandom.py. to split route files into random subsets. Issue #8324
Fixed "Error: Cannot get file attributes" when loading large files on Windows and macOS. Issue #6620
Clang build now works on Windows (Visual Studio) Issue #8123
Python3 is now the default and recommended python Issue #5700
The released windows binaries are now built using Visual Studio 2019
XML parsing can now handle https references to schemas on Windows
netedit
When using rectangle selection, junctions of selected edges are now added to the selection by default. Issue #8406
netconvert
Parallel turn lanes are no longer written as distinct edges but are instead written as multi-lane edge with different lane lengths. As before, lane-changing on an intersection is not permitted on a turn lane. Issue #7954
randomTrips.py option -c is no longer a shortcut for option --vclass. Instead it is used to load a configuration file (written via -C). Issue #8409
osmBuild.py option -c is no longer a shortcut for option --vehicle-classes. Instead it is used to load a configuration file (written via -C). Issue #8409