Fixed crash in sublane simulation with unusual turning lanes #18030 (regression in 1.27.0)
Fixed invalid strategic lane choice when connections have reduced permissions #18034
Fixed extreme reduction in simulation speed when setting high road speed limits in a dense road network #18038
Fixed insufficient backward safety gaps with respect to minGap #18042
Fixed insufficient backward safety gaps on lanes that are shared by road and rail traffic #18041
Loading state with an invalid begin time no longer results in an unexpected simulation start time #18048
Fixed bug where sampling from vTypeDistribution diverged after calling --load-state#16989
Fixed diminished energy consumption from radial drag immediately after departure #18059
Fixed invalid error when vehicles with stops are affected by a closingReroute #18070
Vehicles with departLane "best" or "best_prob" are no longer inserted on forbidden edges #18077
Fixed crash when attempting to load networks with NaN in edge lengths or speeds (now raises an error instead) #18094
Fixed invalid driveway foes in moving-block mode #18106
Fixed invalid traffic light signal phase when loading simulation state (with WAUT) #18105
Fixed deadlock on junction with parallel internal lanes #18115
Fixed collision on junction with unusual geometry #5013
netedit
Fixed crash after renaming tlLogic #18116 (regression in 1.27.0)
Fixed invalid error message when loading a route with an unknown stopping place #16333
TAZs with one shape point no longer writes an invalid center #16845
selected connections now remain visible at high zoom when selection scaling is active #17309
rerouterDialog now allows to set special destination "terminateRoute" and "keepDestination" in destProbReroute #18072
rerouter intervals no longer disappears when editing attribute edges in inspect mode #18071
Fixed crash after calling undo and 'select parents' #18120
Fixed invalid edge removal when using function 'reduce' and having an edge selected together with its lanes #18121
Fixed awkward workflow for reducing the network based on edge attributes (i.e. type). It was previously necessary to add junctions to the selection (via a manual 'add parents' step) and easy to mess up connections. Now it works in the same way as the netconvert --keep-edges... options #18122
sumo-gui
Fixed invalid color for shown route when activating vehicle id background color (meso only) #18112 (regression in 1.11.0)
meso vehicles no do not flicker while waiting in a queue #18045 (regression in 1.27.0)
meso vehicles do not overlap while queued on a single lane #18044 (regression in 1.27.0)
Fixed invalid meso segment markers in network with length/geometry mismatch #18036
busStop parameter "waitingDepth" now increases the visual width of the busStop as intended #18080
meso
The default option --no-internal-links was changed to 'true' when running with --mesosim. This is a soft roll-back of #17842 to avoid #18131. The changed default is intended to be temporary until the model can be fixed to correctly propagate jams over short segments. (regression in 1.27.0)
traffic light type "delay_based" (unsupported by meso) now gives a warning #18026
CarFollowModel "Rail', can now include train resistance due to curvature by setting vType attribute curveResistance="1". The underlying Röckl model exposes 5 configuration parameters (i.e. to adapt to different gauges and wheel bases). #18057
CarFollowingModels now save their state (VehicleVariables) #18055
sumo-gui
Context menu function 'show cursor geo position in google-maps' now sets a map pin at the cursor position. (existing installations of SUMO must use the Application Settings dialog to change the query string to "https://www.google.com/maps/search/?api=1&query=%lat,%lon&zoom=19") #18114
Can now configure the color of parkingAreas and parkingSpaces (also in netedit) #16180
netconvert
Option --ignore-errors can now be used to adapt public transport stops and ptlines to a reduced network #18125
od2trips
Added option --flow-output.poisson to generate poission distributed insertions when option --flow-output is set. refs #18117
tools
createScreenshotSequence.py: Added option --relative which interprets zoom/rotate/offset values relatively to the previous state #17974
gtfs2pt.py: keep longer stop when merging stops on the same lane, added option --access-radius for adding pedestrian access #17858
mapDetectors.py: Added option --poi-output for easier debugging
mapDetectors.py: now reports mapping errors #18084
edgeDataFromFlow.py: added options --time-format and --time-offset to handle arbitrary timestamp/date formats #18087
Invalid separator in allow/disallow now results in error instead of warning again (regression in 1.21.0) #17709
Fixed bug where vehicles that are blocked from entering a stopping place do not collect enough timeLoss #17914 (regression in 1.26.0)
Fixed invalid error when setting option --device.rerouting.mode 8#17939 (regression in 1.26.0)
Stopping on a long busStop before reaching the designated spot due to jamming now permits passengers to exit if the vehicle is fully within the busStop #17635
Cars no longer enter a bidi-edge if it is occupied or already being approached from a higher-priority road #10941
parkingAreas with onRoad="true" are now filled from the downstream end if overtaking is not possible (i.e. on rails) #17627
Added parkingArea attribute reservable (<BOOL>) which prevents multiple vehicles from targeting the same spot when cruising for parking#17628
carFollowModel ACC now supports driverstate device (but it is only active when setting vType attribute applyDriverState="1") #17633
Option --vtk-output now supports writing data at sub-second simulation step-length #17645
edgeData and laneData-output now support attribute excludeEmpty="modified" which writes unused edges but only if their speed was modified with calibrators or variableSpeedSigns. #17587
fcd-output now supports attributes speedVec and accelerationVec which write speed and acceleration as 2-dimensional vectors corresponding to the x and y axes #17877
fcd-output now supports attribute speedRelative (can also be activated by option --fcd-output.speed-relative) #17234
The symbolic departSpeed values "desired", "speedLimit", "last" and "avg" now automatically adjust to upcoming stops and intersections #17851
Stop-output now includes the optional attribute 'state' to distinguish waypoints and skipped on-demand stops #17872
Stop-output now includes actType if non-empty #17891
Added option --fcd-output.utm which writes raw UTM coordinates when simulating in geo-referenced networks #17878
When option --vehroute-output.cost is set, attribute savings now reports the detour cost for a closingReroute #17924
Actuated tls with custom conditions now supports expression p:DETID to retrieve the public transport delay of vehicles on the detector #17229
Bus stops can now be configured to avoid overtaking on the right if a bus is on it #17933
Taxis:
Intermodal routing now works with taxis of arbitrary vClass. The vClasses that are used for routing depend on all the vehicles with taxi device previously loaded. The default can be set with option --device.taxi.vclasses (default taxi) #9812
Taxis with idle algorithm taxistand now advance in queue when parking with onRoad="true" and overtaking is not possible #17632
Added taxi param <param key="device.taxi.swapGroup" value="<GROUP_NAME>"/> which permits idle taxis to receive dispatch tasks before pickup is complete from other taxis in the same swapGroup if that would reduce time to pickup #17639
Saving and loading state is now supported for taxi simulation #17874
meso
When the loaded network has internal links they are used instead of jumping across intersections (legacy behavior can be enabled with sumo option --no-internal-links) #17842
edge-type specific meso parameters now support edgeLength#17582
traffic lights now have a higher right-click priority than busstops #17761
Made route and locomotive coloring brighter to improve visibility #17859
netconvert
Now importing geo-projection from visum networks #17658
visum import now supports option --type-files for loading custom interpretation of permissions for TSys codes #17659
connection files (*.con.xml) now support attribute reset="true" to trigger connection guessing when patching a network #17668
Element <join> (in .nod.xml) now supports attribute reset to force recomputation of all connections at the new node. Also added option --junctions.join-reset which triggers recomputation of all connections at all joins #17733
Added option --default.junctions.type to override type-guessing when types are not defined in the input. This option also applies to junctions created in netedit #17736
Added option --railway.topology.ptline-priority to set railway routingType from ptlines #17558
Added option --railway.signal.guess.by-stops.split to optionally split edges when setting --railway.signals.guess.by-stops. The default behavior of --railway.signals.guess.by-stops was changed to allow direct control of switches to ensure smooth operations on single tracks. The new option splits at the stop to give sufficient overlap (Durchrutschweg). #15820
OSM: Improved geometry when adding opposite direction bikepath #17699
OSM: Improved interpretation of tag oneway=no in connection with rail (especially tram) #17690
OSM networks now assign routingType narrow to one-lane edges to permit post-processing and routing or capacity adaptations. #17661
OSM: the railway routingType is now set based on tag railway:preferred_direction#17774
OSM: tag placement is now supported for better geometry of one-way roads #17728
OSM: adding more bidi edges based on signal direction #17782
OSM: deriving more bidi edges from maxspeed:backward #17785
duarouter
Option --mapmatch.junctions now automatically sets option --junction.taz#17688
TraCI
Added function vehicle.getReferenceDistance to retrieve the position of the vehicle in the underlying linear reference system#10572
tools
osmWebWizard.py: now automatically saves osmGet configuration for easier updating of a scenario #17570
osmWebWizard.py: now permits selection of public transport modes to import #8628
osmWebWizard.py: now permits setting a 'verbose' checkbox which gets forwarded to all applications #17573
osmWebWizard.py: adds menu for changing the tileset (i.e. OpenTopoMap and öpnvkarte / public transport) #17746
osmGet.py: now attempts to download again after timeout and tries to use proxies (also affects osmWebWizard) #17597
plotXMLAttributes.py: added option --join to configure the separator when joining values or labels #17612
generateStationEdges.py: added option --join-stations to generate a single access edge for all stops with the same name #17625
generateStationEdges.py: added option --build to automatically create the extended network #13383
visum_convertXMLRoutes.py: added option --trips to write unvalidated trips #17666
visum_convertXMLRoutes.py: now uses demand time range when interpreting volume #17667
countEdgeUsage.py: Now writes option header and supports .gz output #17685
generateRerouters.py: Added option --terminate-unreachable to configure behavior for unreachable destinations #17708
routeSampler.py: Added option --keep-attributes to preserve vehicle attributes loaded from route input including departure time (unless the route of that vehicle is used more than once) #16114
routeSampler.py: Added option --timeline to interpret loaded data intervals that are longer than the --interval time #17863
routeSampler.py: Now supports --mismatch-output for edgeRelations with via#17884
routeSampler: Added option --merge-strategy to configure handling of overlapping data sets #17871
patchRailConflicts.py: Added option --split-offset which splits rail edges before traffic_light junctions if these junctions also have a rail conflict #17740
instantOutDiff.py: added tool for comparing instantInductionLoop output from two simulation runs #16524
tls_analyzeSplit.py: added tool to analyze green split of static signal plans (or plan-like logs of dynamic plans) #17730
sumolib.net.getOptimalPath now uses caching by default (configurable with readNet attribute maxcache) and runs much faster in one-to-many routings (i.e. gtfs2pty.py). #17753
gtfs2pt.py: Added option --remove-detour-factor to filter out trips with implausible routes #17757
gtfs2pt.py: Added option --rail-priority-factor to consider routingType when mapmatching railways #17560
gtfs2pt.py: Added option --poi-output to visualize loaded stop coordinates as pois #17812
gtfs2pt.py: Added option --distance-penalty which makes the (exponent) of the penalty for matching accuracy configurable. The penalty is now also active when using option --stops#17813
gtfs2pt.py: Added option --join-blocks to import circulations (block_id) #17541
gtfs2pt.py: Added option --parking-threshold to remove vehicles from roads/tracks if they have consecutive stops in the same location with a long in-between time #17960
patchRailPriorities.py: added tool to patch edge routingType in rail networks (and optionally add stops and signals) to ensure smooth operations on single track lines with passing loops. This tools works well as a preparatory stage before gtfs2pt.py#17766
randomTrips.py: Added option --persontrip.modes to simplify persontrip definition #16472
randomTrips.py: Added option --threads to speed up validation. Uses half the number of available cpus by default #17980
addStops2Routes.py: Added option --length to define stops that permit a larger valid area for being reached. #18001
addStops2Routes.py: Added options --edges to restrict the set of edges used for stopping and option --color to change the color of stopping vehicles. #17856
tileGet.py now supports reprojection to UTM and stitching of the downloaded tiles #14641#17789
The default values for options --default.departspeed was changed from "0" to "avg". Also, the default of option --default.departlane was changed from "first" to "best_prob". This generally leads to higher insertion flow and using all available lanes. #16888
Simulation of railway-taxis with vClass "taxi" no longer triggers rail signals (this is a consequence of #17862). Instead railway-taxis can now be defined as vClass "rail" and taxi behavior will work as expected (#9812). Alternatively, option --railsignal.default-classes taxi can be set to enable rail signal switching for vClass "taxi".
no more HTML tables in the docs
the build configuration now uses consistently options like ENABLE_FOX to enable or disable optional features #17677
Option --netstate-dump (also known as raw dump) is now deprecated. fcd-output has been upgraded to permit all attributes formerly only available in netstate dump. #16882
The OpenStreetMap Attribution of OSMWebWizard is no longer hidden behind the sidebar #17743
Fixed bug where vehicles block each others lane change #10763
Fixed right-of-way violation when entering roundabout #17409
Fixed invalid braking at intersection with sublane model #17410
Fixed unsafe lane-changing ahead of roundabout #17411
Fixed broken vehicle flows where total vehicle count overflows a 32-bit integer #17396
A closingReroute with configured permissions no longer affects vehicle with an unaffected vehicle class #17426
Fixed missing railsignal vehicle-events on sub-driveways #17442
Fixed unsafe train insertion when driveways start and end in the middle of the block #17453
Fixed missing driveway foes when a sequence of bidi-edges is interrupted by a unidirectional edge #17367
Fixed bug where pedestrian walks into vehicle #17462
Fixed unsafe lookahead time when computing crossing conflicts between vehicles and pedestrians (now attribute jmTimegapMinor takes effect) #17463
vehicles approaching a non-priority crossing no longer yield unless a person steps onto the crossing #17465
Fixed infinite traffic from poisson flow at specific random seeds #17468
Fixed inconsistency where a route with a single edge and departPos > arrivalPos causes no error on loading but rerouting (now results in a warning) #10246
Fixed invalid error when combining option --device.rerouting.mode with taz-routing #17490
Fixed undefined behavior when computing route cost between taz #17489
Fixed missing events when vehicle is inserted on <instantInductionLoop>#17510
Fixed crash when running rail signal simulation with --tls.all-off#17516
Fixed bug where vehicle stops despite stop attribute onDemand when there is no demand #17523
Fixed invalid default stop startPos if endPos is defined as negative #17522
Fixed unsafe train insertion when combining rail signals with traffic lights #17546, #17547
Fixed invalid vehicle mass for personTrip with car #17551
Routing with randomized weights (--weights.random-factor) is now stable with respect to network changes, vehicle composition and state loading. The random noise for each edge only depends on the random seed and vehicle id (also applies to duarouter). If thew new option --weights.random-factor.dynamic is set, the randomness in the simulation also varies over time. #17325
The new option --output-suffix can be used to modify the names of all output files (similar to --output-prefix). The suffix will be inserted right before the file name extension. #17338
edgeData output definitions now support attribute aggregate="taz" which will aggregated data within each loaded taz definition #11104
Added option shortcut -m for --edgedata-files#17400
A warning is now given when loading personTrips with mode "public" and no public transport was loaded #2825
Departure on closed edge with option to ignore transient permissions (--device.rerouting.mode 8) now delays departure instead of raising an error #17461
ChargingStation attribute totalPower can now be used to limit the total power when charging multiple vehicles at the same time. #17173
Timeloss is now discounted when braking/accelerating for planned stops. Thus, a punctual public transport vehicle does not have any timeLoss #5287
Tram simulation
Tram simulation now defaults to moving-block mode. This can be configured with the new option --railsignal.moving-block-default-classes#17542
Train insertion in moving-block mode ignores zipper conflicts to improve operations where when rail signals are sparse #17544
Rail signals in moving block mode ignore zipper conflicts if they are beyond 200m (configurable with new option --railsignal.moving-block.max-dist) #17542
netedit
Automatically sets sumo option --junction-taz if at least one vehicle is configured to start/end at a junction #17405
The written sumocfg now tracks network file name changes #17314
Configurations with unsupported options can now be loaded with warnings instead of errors #17445
Added support for junction attribute 'roundabout' #17271
duarouter
The speedFactor configured in a vehicle, trip or flow is now taken into account when computing costs #17424
Added option --max-traveltime which lets routing fail if traveling takes too long #17422
Rerouters with element closingReroute can now be loaded from an --additional-file to influence routing #12501
Rerouters with element closingLaneReroute can now be loaded from an --additional-file to influence routing #17428
consistency of stops and vias is now checked #17485
netconvert
now keeps more stops from OSM despite minor data errors #17575
TraCI
function traci.simulation.findRoute now supports optional attributes departPos, arrivalPos #17352
traci.vehicle.setSpeedMode bit 2 (ignoring deceleration constraints) now also applies when validating deceleration for traci.vehicle.setStop#17477
traci and libsumo python libraries now provide the standard version attribute #17366
tools
attributeCompare.py: Now supports special id-attribute @FILE #17334
dlr-navteq output no longer defaults to option --numerical-ids#17520
It is no longer possible to end a rail_signal block with a traffic light (this was found to be unsafe in the context of single-track operations). Both types of signaling should only ever be combined in tram simulation which defaults to moving block so no adverse effects are expected #17542