Release Notes¶
This is a summary of the key changes in subsequent patches for version 26 of the Aimsun Next environment.
26.0.1¶
New features¶
- A new giveway type in turns for microscopic simulations has been added as a fast-track for Next 26.0.1. The RTOR (right turn on red) can now be applied to the nearside lane only and not to all origin lanes in the turn.
Improvements¶
-
Skim and RGap matrices can now be retrieved from Python scripts.
GKReplication(andGKExperimentResult) exposefindSkimFiles()andretrieveSkimMatrices(files).MacroExperimentadditionally exposesfindRGapFiles()andretrieveRGapMatrices(files). These mirror what was previously only accessible via right-click menus and correctly handle all output file formats. -
Skim matrix output now supports all six OD matrix file formats — Aimsun ASCII, Aimsun Binary, VISUM, OMX, SATURN, and EMME — selectable via a new File Format combo in the Store Skim Matrices section of the Experiment Result editor. The chosen format is also accessible from the Python scripting API via
getSkimFileFormatId()/setSkimFileFormatId()onGKExperimentResult. -
When generating a traversal (static or dynamic/hybrid), a progress bar now appears in the task bar showing the current phase — subnetwork gates, public transport, and demand matrices per vehicle type. Start and end messages are also logged to the GUI log.
-
The downhill crawl-speed model for heavy vehicles im microscopic simulations has been replaced with a braking-power equilibrium model. The new model derives the steady-state downhill speed from the vehicle's mass and road slope alone, removing the previous dependency on slope length and the constraint not to split downhill grades across separate sections.
-
In hybrid macro-meso simulations, the Waiting Time in Virtual Queue output has been added to the mesoscopic sections in the border from the macro part to the meso.
-
In the static assignments, a new option to include centroids without trips in the generation of the skim matrices has been added.
-
In all models, skim matrices are now generated for just the components defined in the execution and not for all the ones defined.
-
Groupings now output also the minimum and maximum values complementing the mean or sum previously available.
-
Path assignment outputs can be now filtered by a grouping of vehicle types. Also the different intervals can be aggregated to display the info of several ones, but not all, at once.
-
The transit line editor has been improved to ease the process of defining the sections in the line.
-
Geo Image Locator now accepts millimeters as size precision.
-
The scripting documentation has been greatly improved and several functions that were not behaving as expected have been corrected.
-
The GTFS importer now supports an optional forbiddenStops.txt file to exclude specific stops and their associated stop times during import. It also automatically splits transit lines when a route exits the subnetwork and re-enters it, using boundary sections to define the split points.
-
Check & Fix can now be run programmatically via the new
PyANGExtrasscripting module. UseGKCheckAndFixto find problems on any experiment and iterate over the results from a Python script. -
In the Yutraffic Office interface, the detection cycle parameter (together with the simulation step) is now honoured when determining the communication interval with Yutraffic. Valid intervals are 0.1, 0.2, 0.5 and 1.0 seconds; any other value falls back to 1.0 second.
-
3D Views are now available for the Ubuntu and Windows versions.
-
The
ADynamicAPIconstructor and its derived classes in the V2X Framework now take thesetupparameter as aconstreference, improving code quality.
Bug Fixes¶
- Fixed a crash when opening a Modal Split Scenario editor for scenarios with a large number of skim-matrix rows/columns, caused by redundant editor-widget creation during dialog setup.
- Fixed an issue where nudging a selected vertex with the arrow keys moved the entire object instead of only the selected vertex.
- Documented two AAPI data-structure changes introduced in 26.0.0 (a new field in the section information struct, and removal of the harmonic-speed statistics fields) that were missing from the API Changes reference. AAPI plugins compiled against older headers should be recompiled against the current version to read section length and statistics correctly.
- Evaluating Python functions in parallel — for example, Python columns surfaced through view modes, Function Cost expressions used during simulation, or AAPI extension callbacks — no longer crashes or hangs the application.
-
Fixed the GTFS importer rejecting sections that the route shape only partially covers, which is the usual case at route extremes when a trip starts or ends partway into a section. Routes no longer start one section too late, and pre-existing bus stops on those sections are reused instead of being duplicated. Affected versions: all.
-
In the Path Analysis tool, running Link Analysis with two or more intervals selected now correctly computes the result for the chosen interval range instead of returning the previously cached "All (Warm-Up Excluded)" result.
-
When using the junction creator tool to add turns to an existing node in a geometry configuration, the node now appears immediately in the view. Previously it remained invisible until the user switched scenarios, causing a spurious "Node already exists" error on retry.
-
Cutting a section with a side lane (lateral) no longer resets the turning entities configured in the advanced node editor. Additionally, undo/redo of section cuts with lateral lanes no longer corrupts the lane count.
-
Some time widgets, like the one in the validation tab of a replication, were being displaced from local time to UTC time making it impossible to validate the desired time period. This issue has been addressed.
-
Table View did not allow to edit doubles higher than 99.99. The attributes tab of the object' editors did not allow to edit unsigned int parameters with values higher than 99,999. Now both work as expected.
-
The communication with LISA, UTOPIA and SCATS Signal Controller interfaces, when connecting multiple controllers behaves as expected in this release.
-
Importing Visum matrices no longer results in empty matrices. The format lookup in the OD matrix editor is now case-insensitive, and matrix names with dots in the filename are no longer truncated. Also, the vehicle type is correctly assigned based on the matrix filename, matching against transport system names and codes.
-
Importing Visum
.netfiles no longer skips control plans for signalised intersections. Previously only the signal groups were imported; the control plans that sequence their phases were silently discarded. -
Multiple crashes reported using some editors as well as running some models have been addressed.
-
In a static assignment with reserved optional lane types, the capacity for the vehicles that were using the reserved optional lane types was wrongly calculated. It has been addressed so results might change between versions if those type of lanes were present.
-
View style attribute labels are no longer rendered upside down or invisible when the 2D view has a non-zero rotation set in 2D preferences.
-
The Node Editor no longer opens at a size that exceeds the available screen height on low-resolution displays (e.g. 1366x768), hiding the OK and Cancel buttons.
-
3D views and the vehicle-type 3D shape preview no longer crash the application. Clicking a row in the 3D shapes table of a vehicle type, or closing a 3D network view, rendered correctly and closed cleanly.
-
When a view mode with conditional hide rules was active, objects visible on screen were not drawn as selected after an area selection. This has been fixed.
-
Joining two large OD matrices (e.g. ~2700 centroids) in the Traffic Demand editor no longer hangs indefinitely. The operation now completes in seconds.
-
Opening the OD matrix editor, retrieving trip data from an external file, then changing the Store Location to "Aimsun Document" and clicking OK no longer discards the retrieved data. Reopening the editor now shows the data loaded from the external file.
-
Retrieving simulation results with link cost analysis statistics (cost, default cost, VDF, TPF, JDF) no longer causes a crash. The crash was a dangling-pointer bug in
SSManager::resetTimeSeries: cost columns were incorrectly skipped during the row-entry reset while the backing memory pool was still freed unconditionally, leaving stale pointers that faulted on the next access. Affected all simulators (micro, meso, hybrid) on all versions. -
In the PySide scripting documentation, namespaces (for example,
GKColumnIds) now list all their exported constants, and class attributes are shown in a Properties section under Synopsis with their descriptions where available. -
Selecting objects in the project dock for the Time Series Viewer no longer shows an inflated selection count when shift+clicking to add a second object. The label now correctly shows the number of distinct objects selected. Affected versions: 24 and 26.
-
Moving a polyline object and then moving one of its vertices no longer leaves the other vertices in the wrong position after undoing both operations. The undo of the whole-object translation now correctly restores all vertices regardless of which vertex is currently selected in the editor. Affected versions: all.
-
Spot size no longer corrupted in view style's' editor when defined with imperial units
-
The User Class combo box in the DynamicPT replication outputs editor no longer elides long pedestrian type names on first open.
-
Opening a Traffic Demand editor and then deleting the traffic demand no longer crashes the application. A temporary copy created by the editor for histogram preview was incorrectly registered in the external-ID catalog, leaving a dangling pointer that caused a crash on deletion. Affected versions: 24 and 26.
-
The News page of the Welcome window now shows the most recent newsletter instead of a fixed one, and the "Request a quote" button now opens the correct page.
-
Fixed two crashes in the signal plan editor. Clicking OK after editing a junction that had been set up by a Python script in an unusual configuration could crash immediately due to an uninitialised internal reference. Additionally, editing the signal groups table and then switching to another tab and back could crash because a stale selection in the timing diagram was accessed after the phase data had been rebuilt. Affected versions: all.
Improvements¶
- Gradient descent adjustment (departure, OD, PT, and dynamic) now runs significantly faster on large networks by parallelizing the inner computation loops.