Skip to content

MATSim 2026 (Spring)

Latest

Choose a tag to compare

@paulheinr paulheinr released this 10 Apr 11:36
· 51 commits to main since this release

What's Changed

  • chore(Release): 2026.0 snapshot by @paulheinr in #3902
  • feat(pt): Add support for chained departures in transit schedules by @rakow in #3901
  • fix: SpatialRequestFleetFilter can now also understand tasks without BaseType by @tduberne in #3904
  • refactor(PlanInheritanceModule): Make use of matsim default delimiter by @steffenaxer in #3906
  • feat(srr): cacheless transfer calculation by @sebhoerl in #3892
  • add comment re reference year of pt prices by @simei94 in #3908
  • fix(drt): update complex unscheduler to use schedule instead of vehicle entry by @nkuehnel in #3907
  • feat(dvrp): Use configurable travel time matrix zone system for adaptive travel time matrix by @nkuehnel in #3909
  • refactor(drt)!: encapsulate fields in optimization constraints by @nkuehnel in #3914
  • refactor(drt-extensions)!: encapsulate fields in FISS config by @nkuehnel in #3915
  • feat(CleanPopulation): add builder for CleanPopulation by @paulheinr in #3921
  • feat(pt): Support chained depatures in routing by @rakow in #3913
  • test(pt): Add another test case for chained departures by @rakow in #3931
  • fix(core): make turn restrictions network cleaner truly mode dependent by @nkuehnel in #3929
  • refactor(drt-extensions): improve shift type support by @nkuehnel in #3932
  • feat(core): add optional exception message to shutdown event by @nkuehnel in #3923
  • chore: add vsp warning if duration is mutated by @kainagel in #3934
  • refactor(drt): better interpretable drt stats by @nkuehnel in #3930
  • fix(core): update turn restrictions network cleaner to account for temporarily removed nodes by @nkuehnel in #3935
  • fix(core): Fix TurnRestrictionsNetworkCleaner when other modes are present by @marecabo in #3933
  • fix(core): LegHistogramListeners produced crashes by @jfbischoff in #3936
  • feat(core): Config option to exclude subpopulations from taste variations by @rakow in #3937
  • refactor(drt-extensios): make shift histogram public again by @nkuehnel in #3939
  • fix(core): Color network mode-independent in TurnRestrictionsNetworkCleaner by @marecabo in #3940
  • fix(core): fix bug in turn restriction routing by @nkuehnel in #3942
  • feat(core): Filter written utility output variations by @rakow in #3944
  • fix(core): Make TurnRestrictionsContext independent of link order by @marecabo in #3943
  • test(core): Add more tests and remove debug output for TurnRestrictionsNetworkCleaner by @marecabo in #3945
  • feat(simwrapper): Add mean speed per trip to dashboard by @rakow in #3947
  • fix(drt): fix stats bug introduced in previous PR by @nkuehnel in #3949
  • feat(rebalancing): Rebalancing relative demand estimator as target calculator by @ricoraber in #3950
  • fix(core): allow all colored copies as destination nodes in backward dijkstra tree search with turn restrictions by @nkuehnel in #3951
  • feat: Add field voltage in Osmrailwayreader by @vsp-gleich in #3957
  • fix(core): only count visited nodes once in least cost path stop criteria by @nkuehnel in #3956
  • chore(core): Ensure collection fields in cfgs are sorted by @steffenaxer in #3958
  • feat(drt): refined the rebalancing strategy based on relative demand by @ricoraber in #3955
  • feat: make MultimodalLinkChooserDefaultImpl public so it can be used as delegate by @kainagel in #3961
  • refactor(Logging): Reduce number of warnings when TransitRouter is used with multiple sub populations by @Janekdererste in #3962
  • fix(core): Clean DisallowedNextLinks on loop links by @marecabo in #3963
  • fix(core): Track visited link ids when reapplying turn restrictions by @marecabo in #3964
  • fix(freight(carriers)): shutdown all (open) threads from the JspritThreadPoolExecutor by @kt86 in #3965
  • refactor(freight(carriers)): Use try-with-ressources block instead of manually call executor.shutdown by @kt86 in #3966
  • feat: providing better warnings, in particular giving clear recommendations… by @kainagel in #3968
  • feat(core): teleported mode speed by person by @sebhoerl in #3941
  • test(small-scale-commercial-traffic): fix test by @rewertvsp in #3970
  • feat(core): Make Households Interface more useful by @jfbischoff in #3971
  • feat: add convenience creators for Id by @kainagel in #3974
  • feat: enable experienced plans write by default and add matsim application class for postprocessing by @paulheinr in #3976
  • refactor(freight)!: Remove old Carriers analysis from vsp contrib by @kt86 in #3977
  • feat: new Flow Map class added to simwrapper contrib. Needs to be added to Public Transit dashboard. by @Brendan-Lawton in #3954
  • refactor(freight(carriers)): Improve log message by @kt86 in #3978
  • feat(freight(logistics): Include the LogisticsConsistencyChecker to the LSPControllerListener by @kt86 in #3984
  • fix(CleanPopulation): add check and log for act coord by @simei94 in #3990
  • feat(drt-extensions): conditional generation of companions by @sebhoerl in #3986
  • feat(freight(carrier)): run CarrierConsistencyCheck when using CarrierUtils.runJsprit() by @kt86 in #3981
  • fix(railsim): Extend an existing test by @ikaddoura in #3991
  • feat(dvrp): parse complex vehicle capacities from fleet file by @sebhoerl in #3992
  • docs: add a comment by @kainagel in #3994
  • feat: make DvrpLoad comparable by @sebhoerl in #3995
  • fix(core): Allow dumping of plans with compressed routes by @steffenaxer in #3998
  • feat(freight:carriers): Take roadpricing into account when running jsprit from CarrierUtils.runJsprit(...) by @kt86 in #3997
  • fix(simwrapper): add missing "Vehicles" DRT animation by @billyc in #4024
  • chore(examples): second vehicle in carrier files by @kt86 in #4028
  • refactor(roadPricing): Adding utils-method for creating a RoadPricingSchemeImpl by @kt86 in #4044
  • fix: adjust use of marker in otfvis by @kainagel in #4045
  • feat(drt-extension): preemptive rejection by @sebhoerl in #4002
  • feat: add typed method and deprecate untyped method by @kainagel in #4056
  • fix(drt): Round up rebalancing vehicles by @ricoraber in #3999
  • fix(drt): fix timing bugs when using custom stop durations by @sebhoerl in #3979
  • build(deps-dev): bump net.bytebuddy:byte-buddy from 1.15.1 to 1.17.6 by @dependabot[bot] in #4059
  • fix(deps): add junit-jupiter-api to dependency management by @marecabo in #4068
  • build(deps-dev): bump junit.version from 5.10.3 to 5.13.2 by @dependabot[bot] in #4069
  • fix(deps): add commons-collections4 to dependency management by @marecabo in #4070
  • fix: maintenance by @kainagel in #4074
  • feat: preemptive rejection improvements by @sebhoerl in #4075
  • fix(pt): fix some edge-cases in OccupancyTracker by @mrieser in #4076
  • Carrier viewer Contrib - Classes only. Successfully tested in SimWrapperTest.java by @Brendan-Lawton in #3953
  • feat: added/updated flow map viz class to pt dashboard class in simwrapper contrib. Tested with SimWrapperTest. by @Brendan-Lawton in #4030
  • fix(drt-extensions): fix for shift start case when charging ends at second before shift start by @nkuehnel in #4077
  • refactor(parking): make the parkingPenalty attribute name publicly visible by @Royal2Flush in #4082
  • fix(pt): Fix a bug calculating pt routes using chained departures by @mrieser in #4083
  • feat(ev): Charger placement based on aggregated low-energy events by @mattiasingelstrom in #4029
  • test(railsim): Add 'micro junction flat' integration test case by @munterfi in #4085
  • build(deps-dev): bump junit.version from 5.13.2 to 5.13.3 by @dependabot[bot] in #4087
  • fix(simwrapper): add missing "mapIsIndependent" map config and drt vehicles plugin definitions by @billyc in #4089
  • fix(pt): fix a potential NPE in SwissRailRaptor in cases with chained departures by @mrieser in #4090
  • feat: Restructure bicycle contrib by @GregorRyb in #3857
  • refactor: reduce public footprint, reorganize packages by @kainagel in #4091
  • fix(NetworkRoutingInclAccessEgressModule): walk on network by @paulheinr in #3952
  • fix(drt): Handle negative departure time corner case by @steffenaxer in #4097
  • feat(SimwrapperCountsDashboard): Add sqv values for counts and little adjustments by @rewertvsp in #4098
  • refactor: scoring maintenance by @kainagel in #4101
  • feat: remove bicycleConfig:maxSpeedForRouting parameter. Replaced by vehicles with speeds by @kainagel in #4093
  • refactor(core): resolve URI/URLs more generically by @nkuehnel in #4096
  • chore(drt): Reduce memory consumption of AdaptiveTravelTimeMatrixImpl by @steffenaxer in #4104
  • refactor: combine constructor and initialize method by @kainagel in #3996
  • feat(drt): Parallel request inserter to speedup DRT by @steffenaxer in #4102
  • refactor: lsp maintenance by @kainagel in #4106
  • fix(drt): Some fixes wrt ParallelRequestInserter by @steffenaxer in #4107
  • feat: New hbefa consistency checker by @Aleksander1234519 in #4006
  • refactor(core): update memory and qsim logging by @nkuehnel in #4095
  • fix(drt): Thread safe SpatialRequestFleetFilter and add tests by @steffenaxer in #4108
  • fix(drt): Minor file name fixes by @steffenaxer in #4111
  • fix(drt): Fixed ShiftingRoundRobinVehicleEntryPartitioner and provide unit test by @steffenaxer in #4112
  • fix(drt): Limit number of partitions to the number of available vehicles by @steffenaxer in #4113
  • feat(drt): explicit max ride constraints in drt by @nkuehnel in #3922
  • fix: (freightGeneration): make classes public because they are used in other repositories by @rewertvsp in #4114
  • docs: comment change by @kainagel in #4118
  • refactor(carrierAnalysis): Simplifing columns by @rewertvsp in #4120
  • fix: Ensure individual InsertionProvider instances for ParallelUnplannedRequestInserter by @steffenaxer in #4126
  • refactor(core): Towards Controller: Rename ControlerListener to ControllerListener (with 2 'L') by @mrieser in #4125
  • feat(aws): Add AWS contrib by @nkuehnel in #4117
  • build(deps-dev): bump junit.version from 5.13.3 to 5.13.4 by @dependabot[bot] in #4128
  • chore(drt): AdaptiveTravelTimeMatrixImpl uses a long a cache key by @steffenaxer in #4138
  • chore(drt): Parallel update schedule timings by @steffenaxer in #4139
  • feat(aws): add AWS S3 shutdown sync by @nkuehnel in #4146
  • fix: fix IOUtilsTest on Windows after PR4117 by @jfbischoff in #4147
  • feat: Add a new constructor for LanduseOptions by @luchengqi7 in #4119
  • fix(aws): set correct contrib group id by @nkuehnel in #4152
  • feat(core): Support attribute changes in NetworkChangeEvents by @rakow in #4140
  • fix: Fix Windows test failures by @jfbischoff in #4154
  • build: Allow to manually start the weekly-build workflow by @kt86 in #4156
  • refactor(drt): bind schedule inquiry using the interface by @nkuehnel in #4163
  • feat(drt): per request rejection / drt route constraint promotion by @nkuehnel in #4161
  • feat: Modify defaults and add config comments for intermodal access/egress in SwissRailRaptorConfigGroup by @vsp-gleich in #4169
  • feat: Improve FloatMatrix by @jfbischoff in #4171
  • feat: add getIdentifiers method to FloatMatrix by @jfbischoff in #4172
  • docs: small documentation maintenance in ev contrib by @kainagel in #4177
  • fix(ev): Charger power profile iteration reset and update EV routing with AccessEgress support by @mattiasingelstrom in #4092
  • fix: remove user defined attributes in bike contrib by @kainagel in #4174
  • fix(drt): do not serialize helper method by @nkuehnel in #4182
  • fix(drt-extensions): stop (mistakenly) ruling out request insertion shift changeover by @nkuehnel in #4183
  • fix(drt): Relax verify to deal with empty entries by @steffenaxer in #4186
  • feat(drt): add more flexible waypoint mechanics by @nkuehnel in #4189
  • feat(CountsAnalysis): add scale factor for truck sqv calculation by @rewertvsp in #4122
  • fix(drt-extensions): do not skip remaining breaks to be scheduled at the same time by @nkuehnel in #4190
  • style(small-scale-commercial): formatting, code reduction and documenation/logging by @rewertvsp in #4198
  • refactor(drt-extensions): use new stop waypoint factory to introduce operational/shift related stops by @nkuehnel in #4195
  • chore(roadpricing): Add a comment in code by @kt86 in #4200
  • feat(drt): define schedule wait before drive per waypoint by @nkuehnel in #4199
  • fix(turnrestrictions): avoid ConcurrentModificationException by @marecabo in #4203
  • docs(freight:logistics): Add a package info for the logistics package by @kt86 in #4213
  • build(deps-dev): bump net.bytebuddy:byte-buddy from 1.17.6 to 1.17.7 by @dependabot[bot] in #4217
  • fix(drt): Remove redundant retryOrReject by @steffenaxer in #4219
  • fix(drt): Move StopWaypointFactory to central point by @steffenaxer in #4222
  • refactor(drt): make capacity change optional in waypoints by @nkuehnel in #4204
  • feat(drt): relocation with preplanned/prebooked stops by @nkuehnel in #4201
  • feat(pt): Simulate chained departure by @rakow in #4220
  • fix(pt): Catch when there is no chained departure (during umlauf) by @rakow in #4232
  • feat(drt): Schedule inquiry updates for inter-task idle times by @nkuehnel in #4229
  • feat(freight): logistics: use CarrierShipments for delivery and some maintenance around the LSP by @kt86 in #3871
  • docs(freight:logistics): add package-info by @kt86 in #4235
  • chore(roadpricing): Add a comment by @kt86 in #4234
  • feat(freight:logistics): make more settings settable using cmdLine by @kt86 in #4236
  • refactor(freight): reduce logging by @kt86 in #4238
  • refactor(freight): move the carrier scoring function used in logistic to the carrier package and make it public by @kt86 in #4239
  • feat(freight:logistics) allow values beeing not set by @kt86 in #4240
  • feat(application): introduce double sample options by @paulheinr in #4241
  • fix(matsim-application): make experienced plans writer truly dependent of output files by @paulheinr in #4242
  • refactor(freight:logistics): Renaming to shorten the total filename (lenght) from root to the last character. by @kt86 in #4244
  • perf(commercialTraffic): Move check of external facilities at earlier position by @rewertvsp in #4245
  • refactor: Remove old network routing module as default, use access egress routing instead by @Aleksander1234519 in #3655
  • refactor(ev/common): generify reservation manager by @nkuehnel in #4260
  • fix(freight:logistics): Make innovation switch off usable by @kt86 in #4261
  • feat(commercialTrafficGeneration): adds different resistance values for different types by @rewertvsp in #4267
  • fix(freight:logistics): Carriers should take into account the start time by @kt86 in #4268
  • fix(freight:logistics): Distribution carrier should start at the hub by @kt86 in #4274
  • chore(freight:logistics): Initally assign all shipments to the 2e chain by @kt86 in #4285
  • feat(Simwrapper Config): add Carrier Dashboard by @Brendan-Lawton in #4081
  • style(CarrierAnalysis): fix typo by @rewertvsp in #4287
  • fix(ev): attribute list reading in sevc by @sebhoerl in #4305
  • feat(ev): add specific parameters for innovation startegy in sevc by @sebhoerl in #4306
  • chore(freight:logistic): Update RunExampleSettings by @kt86 in #4307
  • feat(simwrapper): allow dashboard provider to be bound via guice by @paulheinr in #4256
  • feat(NetworkCreation): make addition of turn restrictions optional (SumoNetworkConverter) by @simei94 in #4282
  • fix(drt): make drt constrains relative again by @nkuehnel in #4327
  • build(deps-dev): bump junit.version from 5.13.4 to 6.0.0 by @dependabot[bot] in #4312
  • feat(railsim): Railsim Extensions by @rakow in #4328
  • build(deps-dev): bump net.bytebuddy:byte-buddy from 1.17.7 to 1.17.8 by @dependabot[bot] in #4332
  • feat(drt-extensions): operation facility with capacity management + condensed shift starts by @nkuehnel in #4250
  • chore(deps): fix used undeclared dependencies by @marecabo in #4345
  • refactor(commercialTraffic): make run of generated commercial traffic optional and based on generated plans instead of carrier by @rewertvsp in #4349
  • fix(deps): remove duplicate version info for aws contrib by @marecabo in #4362
  • refactor(deps): use single property for org.openjfx.* dependencies by @marecabo in #4364
  • build(deps-dev): bump org.jetbrains:annotations from 13.0 to 26.0.2-1 by @dependabot[bot] in #4359
  • fix(CommercialTrafficGeneration): Add missing iterations settings by @rewertvsp in #4366
  • feat(ev): integrate dynamic pricing into sevc by @sebhoerl in #4367
  • fix(core): return coord with z for link if both nodes have z by @marecabo in #4369
  • fix: Improve two writers by @jfbischoff in #4370
  • test(freight:logistics): reduce runtime of test by @kt86 in #4372
  • refactor(drt-extensions): relax operation facility checkout by @nkuehnel in #4371
  • fix(freight): add missing case for detailed plan analysis by @rewertvsp in #4375
  • fix(utils): finish implementation of LazyAllocationAttributes by @marecabo in #4379
  • feat(pt): route cost in DefaultTransitPassengerRoute by @tkchouaki in #4164
  • feat(ev): streamlining innovation strategies for strategic electric vehicle charging by @sebhoerl in #4380
  • feat(ev): constrained innovation strategy for sevc by @sebhoerl in #4381
  • test(utils): fix LazyAllocationAttributesTest by @marecabo in #4384
  • refactor(shared_mobility): use Parameter annotation in SharingServiceConfigGroup by @marecabo in #4385
  • refactor(shared_mobility): use both Parameter annotation and Getter/Setter in SharingServiceConfigGroup by @marecabo in #4391
  • feat(ev): advance / plan-based reservations for strategic charging by @sebhoerl in #4392
  • feat: Write person attribs in experienced plans by @kainagel in #4398
  • feat(shared_mobility): specify VehicleType for SharingService by @marecabo in #4394
  • feat: retrofit the score when constructing experienced plans in post-processing by @kainagel in #4399
  • refactor(dvrp): improve error logging in schedule impl by @nkuehnel in #4400
  • fix(shared_mobility): use decideOnLinkIdForActivity for destinationActivity by @marecabo in #4401
  • fix(shared_mobility): fix loading of configs with SharingServiceConfigGroup by @marecabo in #4402
  • feat(railsim): Infrastructure specific VMax and small QOL Improvements by @rakow in #4395
  • feat(ev): write vehicle trajectories by @sebhoerl in #4404
  • feat(ev): zonal analysis by @sebhoerl in #4407
  • fix(drt): use waypoint definition of earliest arrival in insertion scheduler by @nkuehnel in #4409
  • chore(ev): some cleanup by @sebhoerl in #4410
  • feat(ev): simplify registration of custom charging infrastructure by @sebhoerl in #4412
  • feat(common): simplify registration of zone systems by @sebhoerl in #4411
  • chore(ev): improve and clean up some helpers for sevc by @sebhoerl in #4413
  • feat(ev): add scenario configurator for strategic charging by @sebhoerl in #4414
  • chore(ev): make scoring trackers public by @sebhoerl in #4415
  • chore(ev): allow null for charger path by @sebhoerl in #4419
  • fix(ev): some fixes for the sevc scenario configurator by @sebhoerl in #4421
  • feat: adding VTTS Analysis by @GregorRyb in #4427
  • fix(pt): total pt route cost by @tkchouaki in #4423
  • feat: Write score into experienced plans by @kainagel in #4406
  • fix(railsim): Support rerouting with stop looplinks by @rakow in #4430
  • feat(ev): several new features for electric vehicles by @sebhoerl in #4432
  • fix(railsim): Don't reserve links beyond next stop by @rakow in #4436
  • refactor(commercialTrafficGeneration): make run of generated commercial traffic optional by @rewertvsp in #4433
  • feat(Carriers): add roadricing method to CarrierUtils to ensure that only allowed modes are used for jsprit solution by @rewertvsp in #4435
  • feat(core): read default layer from gpkg by @sebhoerl in #4438
  • fix(drt): Avoid prebooking of stuck agents by @tkchouaki in #4443
  • build: Update to Java 25 by @rakow in #4286
  • feat(drt): introduce earliest departure time in stops by @nkuehnel in #4420
  • feat: add vtts analysis postprocessing runner; maintenance related to that by @kainagel in #4444
  • fix(ev): maximum soc defined by the charging strategy by @sebhoerl in #4447
  • feat(discrete-mode-choice): caching trip candidate by trip and depart… by @tkchouaki in #4442
  • feat(qsim): instant teleportation arrivals by @tkchouaki in #4382
  • fix: dump partial scores to global output by @simei94 in #4453
  • build(deps-dev): bump net.bytebuddy:byte-buddy from 1.17.8 to 1.18.0 by @dependabot[bot] in #4455
  • feat(core): Distributed MATSim by @rakow in #4255
  • feat: improve UI of TrajectoryToPlans by @kainagel in #4445
  • fix: write test case that shows that last activity is not written; modify … by @kainagel in #4422
  • refactor: remove deprecated user-defined network attributes and relat… by @paulheinr in #4464
  • refactor(railsim): move a warning block a bit further down to avoid a confusing warning by @ikaddoura in #4466
  • fix(drt): potential off-by-one bug fix for preceding stay times by @nkuehnel in #4424
  • fix(ev): activate charger writer by @sebhoerl in #4471
  • fix(ev): ignore icvs in trajectory analysis by @sebhoerl in #4470
  • fix(drt): use remaining dropoff time loss in insertion generation by @nkuehnel in #4467
  • build(deps-dev): bump net.bytebuddy:byte-buddy from 1.18.0 to 1.18.1 by @dependabot[bot] in #4468
  • fix(ev): resolve a rare race condition in vehicle discharging by @sebhoerl in #4477
  • feat(simwrapper): make dashboards replacable in SimWrapper obejct by @simei94 in #4378
  • feat(ev): search chargers along route for leg-based charging by @sebhoerl in #4488
  • feat(ev): helper for loading a scenario with sevc by @sebhoerl in #4490
  • docs(otfviz): add comments to otfviz related classes by @paulheinr in #4492
  • test(commercialTraffic): add test and lillte fix for small scale commercial generation by @rewertvsp in #4494
  • fix: bind ChargingInfrastructureSpecification as singelton by @steffenaxer in #4498
  • fix(deps): use one property for io.grpc:grpc-* dependencies by @marecabo in #4499
  • feat(railsim): Time-distance diagram and projected delay by @rakow in #4465
  • fix(DSim): Use correct FFI-api in METIS partitioning to allocate parameters by @Janekdererste in #4511
  • feat(PtFareConfigGroup): add typed getter for different PtFareParams types by @simei94 in #4167
  • fix(core): Mitigate race condition in SubpopulationScoringParameters by @Janekdererste in #4513
  • feat(railsim): Improve Deadlock Avoidance and its output by @rakow in #4516
  • fix(commercialTraffic): Add default vehicle options for kwm by @rewertvsp in #4518
  • fix: add check for correct bicycleMode before calculating additional score by @simei94 in #4214
  • chore(deps): switch org.geotools to Maven BOM by @marecabo in #4520
  • build(deps-dev): bump net.bytebuddy:byte-buddy from 1.18.1 to 1.18.2 by @dependabot[bot] in #4522
  • fix(core): preserve order of lists in ConfigGroup by @marecabo in #4523
  • feat: new contrib ATAP by @gunnarfloetteroed in #4478
  • build(atap): Added atap to .github/workflows/verify-push.yaml by @gunnarfloetteroed in #4528
  • chore(deps): bump GitHub action checkout from v4 to v6 by @marecabo in #4535
  • chore(deps): bump GitHub action setup-java from v4 to v5 by @marecabo in #4536
  • chore(deps): bump GitHub action codeql from v3 to v4 by @marecabo in #4537
  • chore(deps): bump GitHub action amannn/action-semantic-pull-request from v5 to v6 by @marecabo in #4538
  • feat(common): integration with ntfy.sh by @sebhoerl in #4524
  • feat(ev): code infrastructure and implementation of battery-based chargers by @sebhoerl in #4527
  • feat: add test case for walk on network by @paulheinr in #4541
  • feat(freight): Freight and commercial traffic updates by @rewertvsp in #4543
  • feat(drt): LimitCompanionsBySeats by @steffenaxer in #4544
  • fix: hoping to fix test on windows (see #4541) by @paulheinr in #4549
  • perf(DSim): Make LegHistogram async by @Janekdererste in #4559
  • fix: several fixes for sevc by @sebhoerl in #4560
  • feat: simwrapper contrib: added timeSelector and backgroundLayer by @frievoe97 in #4529
  • fix(Carriers): Fix carrier plans cleaning and analysis by @rewertvsp in #4567
  • feat(ev): improve analysis components by @sebhoerl in #4566
  • feat(ev): attribute-based energy consumption by @sebhoerl in #4569
  • feat(ev): target soc scoring by @sebhoerl in #4570
  • feat(ev): streamline constrained sevc innovation by @sebhoerl in #4572
  • feat(ev): a basic charger placement algorithm by @sebhoerl in #4573
  • refactor(drt): consistently add pickup duration to accepted drt request by @nkuehnel in #4505
  • feat(dvrp,drt-extensions): add id helper methods for dvrp/drt related classes by @nkuehnel in #4574
  • feat(ev): sequential innovation in sevc by @sebhoerl in #4576
  • refactor(drt): simplify max ride duration constraint slack calculation by @nkuehnel in #4577
  • fix(drt): fix adaptive prebooking logic by @nkuehnel in #4571
  • refactor(drt): enable merge of stops by extending them beyond initial planned end time by @nkuehnel in #4578
  • feat(ev): update sevc configurator by @sebhoerl in #4579
  • fix(drt): account for all time slots in DefaultCapacityReconfigurationLogic by @tschlenther in #4590
  • fix(dvrp): make implementations of DvrpLoad and DvrpLoadType final (for the time being) by @tschlenther in #4591
  • feat(carriers): Add jsprit analysis to analysis output by @rewertvsp in #4589
  • build(deps-dev): bump net.bytebuddy:byte-buddy from 1.18.2 to 1.18.3 by @dependabot[bot] in #4595
  • chore: refactor drtLegs header and add directRideTime by @steffenaxer in #4593
  • fix(drt): insertion for completed schedule by @sebhoerl in #4597
  • docs: add comments for withinday travel time by @paulheinr in #4610
  • fix(drt): Fix determinism results when using ParallelUnplannedRequest… by @steffenaxer in #4616
  • feat(accessibility): DRT Accessibility by @jakobrehmann in #3626
  • fix(routing): Better handle some edge-cases with turn-restriction-routing by @mrieser in #4621
  • feat: add osm tag service to OsmRailwayReader by @vsp-gleich in #4627
  • fix(dvrp): fix windows path in FreeSpeedTravelTimeMatrixTest by @marecabo in #4628
  • feat: changes related to making matsim-dresden functional for matsim advanced by @kainagel in #4631
  • chore(test): add test output to gitignore by @marecabo in #4629
  • feat(core): copy CRS when filtering network by @marecabo in #4630
  • feat: add ScenarioUtils.cleanScenario( scenario ) by @kainagel in #4633
  • feat(core): Distributed Data Collection of Experienced Plans by @Janekdererste in #4611
  • build(deps-dev): bump net.bytebuddy:byte-buddy from 1.18.3 to 1.18.4 by @dependabot[bot] in #4637
  • refactor(core): Simplify take while by @Janekdererste in #4638
  • style(commercialTraffic): move the building output directory to the beginning so that files are not lost until the controller is run by @rewertvsp in #4639
  • fix(deps): remove version definition for jackson-annotations by @marecabo in #4645
  • feat: add ScenarioUtils.cleanScenario( scenario ) by @kainagel in #4650
  • fix(drt-extensions): allow buffer times in reservation management by @nkuehnel in #4651
  • feat(freight): Extend carrier dashboard with some KPIs and VRP solving analysis by @rewertvsp in #4655
  • fix: graph caching for SpeedyALT by @sebhoerl in #4658
  • fix(deps): remove only occurrence of jboss logging in favor of log4j by @marecabo in #4664
  • fix(drt): Prebooking: Allow unscheduling of planned vehicle schedules by @samuelhoenle in #4665
  • feat(core): add s3 support for geo file reader (geopackages) by @nkuehnel in #4652
  • build(deps-dev): bump org.apache.maven.plugins:maven-compiler-plugin from 3.14.1 to 3.15.0 by @dependabot[bot] in #4674
  • feat(dsim): Squeeze some performance by implementing a busy threadpool by @Janekdererste in #4668
  • fix(drt): calculate time detour using ride time in DrtAnalysisControl… by @steffenaxer in #4681
  • feat: chained setters; commenting out a non-compiling (VTTS) test; vsp-chec… by @kainagel in #4680
  • refactor: simplify MATSimApplication class and add test for null config by @paulheinr in #4684
  • refactor: cleanup the BicycleModule. Should not change functionality by @kainagel in #4690
  • feat(random): add deterministic Random instance method for process id by @steffenaxer in #4689
  • feat: chained setters, some other things by @kainagel in #4691
  • fix: App(config), if failing, no longer silently moves on to App() by @kainagel in #4696
  • feat: core maintenance triggered by dresden maintenance by @kainagel in #4697
  • refactor(Core): Change default compression to zst by @Janekdererste in #4699
  • fix(drt): complex unscheduler bug by @nkuehnel in #4702
  • fix(drt): fix max ride time bug by @nkuehnel in #4701
  • fix(drt): prebooking queue bug by @nkuehnel in #4703
  • fix(longHaulFreight): Fix cases with activity on boundery links by @rewertvsp in #4708
  • fix(vsp): PersonScoringParametersFromPersonAttributes utils/hour to utils/second conversion added by @vsp-gleich in #4711
  • fix: Disable test, to unblock our CI build. by @Janekdererste in #4717
  • fix(DSim): Fix message exchange at the end of the simulation by @Janekdererste in #4705
  • feat(osm): merge links sequentially into network in SupersonicOsmNetworkReader by @marecabo in #4707
  • build(deps-dev): bump net.bytebuddy:byte-buddy from 1.18.4 to 1.18.5 by @dependabot[bot] in #4719
  • feat: changes related to agent-wise comparison by @kainagel in #4456
  • chore(dsim): Upgrade Fury version to 15.0 by @Janekdererste in #4723
  • chore: Configure logging in the weekly deploy script. by @Janekdererste in #4726
  • feat(drt): Refactor parallel unplanned request inserter by @steffenaxer in #4713
  • fix(core): also consider routing vehicle for same link routes by @marecabo in #4734
  • build(deps-dev): bump org.jetbrains:annotations from 26.0.2-1 to 26.1.0 by @dependabot[bot] in #4728
  • feat(dsim): Support inheritance for Events by @Janekdererste in #4733
  • feat(drt): dump stop network at simulation end by @nkuehnel in #4747
  • feat(simwrapper): add Plotly dataset filters by @frievoe97 in #4748
  • feat(routing): Final fallback on non_network_walk by @samuelhoenle in #4732
  • build(deps-dev): bump org.apache.maven.plugins:maven-surefire-report-plugin from 3.5.4 to 3.5.5 by @dependabot[bot] in #4744
  • fix(core): do not loose z coordinate while copying activities by @marecabo in #4754
  • fix(srr): mode-specific transfer penalties by @sebhoerl in #4397
  • fix(core): Make freespeed teleportation threadsafe by @samuelhoenle in #4730
  • build(deps-dev): bump net.bytebuddy:byte-buddy from 1.18.5 to 1.18.7 by @dependabot[bot] in #4764
  • fix(DSim): Track released storage capacity on Split Links by @Janekdererste in #4767
  • feat(core): modular backpack routes by @Janekdererste in #4738
  • refactor: generalize mobsim dependencies by @Janekdererste in #4768
  • docs(Simwrapper): TripDashboard: add description and todo comment by @vsp-gleich in #4770
  • feat: add withinday utility method to add vehicles to QSim by @paulheinr in #4727
  • fix(DSim): Disable flaky Drt test by @Janekdererste in #4772
  • feat(DSim): Towards DSim Drt compatibility by @Janekdererste in #4773
  • feat: add more information to PersonInitializedEvent by @sebhoerl in #4771
  • build(deps-dev): bump org.apache.maven.plugins:maven-resources-plugin from 3.4.0 to 3.5.0 by @dependabot[bot] in #4775
  • build(deps-dev): bump org.apache.maven.plugins:maven-shade-plugin from 3.6.1 to 3.6.2 by @dependabot[bot] in #4776
  • fix: use correct class for logging by @marecabo in #4777
  • fix: dsim module not needed anymore in RunDistributedSim by @marecabo in #4780
  • fix(core): ensure that travel time of leg and route is consistent in NetworkRoutingInclAccessEgressModule and NetworkRoutingModule by @marecabo in #4752
  • fix: do not loose z coord in decideOnCoordForActivity by @marecabo in #4782
  • fix(drt): In config, read empty strings as empty lists by @samuelhoenle in #4784
  • fix(routing): Freespeed teleportation: Use path distance by @samuelhoenle in #4731
  • refactor(MATSimApplication): reduce memory-consumption for post-process by @d-roeder in #4788
  • feat(commercialTraffic, TripAnalyis, Dashboard): Add default commercial simwrapper dashboard by @rewertvsp in #4722
  • fix(core): fix ConcurrentModificationException in EventsManagerImpl by @samuelhoenle in #4783
  • feat(dsim): remove Hazelcast CP Subsystem usage during startup by @marecabo in #4789
  • refactor(carriers): Change logging of carrier consistency checker by @rewertvsp in #4790
  • feat(osm): add more tags to OsmRailwayReader by @vsp-gleich in #4796
  • fix(deps): remove version from jaxb-core dependency by @marecabo in #4805
  • revert: De deprecate vehicleEnterTime Attribute by @Janekdererste in #4808
  • fix(application): Remove static from trip analysis by @rewertvsp in #4812
  • docs: javadoc by @kainagel in #4813
  • feat(DSim): Gneralize sync messages by @Janekdererste in #4817
  • refactor(core): Rename onPrepareSim -> beforeSim by @Janekdererste in #4820
  • chore(Github): Reduce dependabot frequency to once per day by @Janekdererste in #4824
  • refactor(core): Provide separate interfaces for lifecycle hooks and messaging by @Janekdererste in #4825
  • feat(DSim): Notify components about agents arriving and leaving partitions by @Janekdererste in #4819
  • fix(TripDashboard): Fix usage of one Analysis class in different dashboards by @rewertvsp in #4832
  • fix(ev): afterMobsim actually computes open evDrives by @Janekdererste in #4831
  • feat(core): Consider subpopulation within sampling population by @rewertvsp in #4001
  • style(logs): point to MATSim Association website at shutdown by @gac55 in #4657
  • feat: more changes by @kainagel in #4745
  • feat: small changes that I did concurrently with fixing tests in matsim-code-examples by @kainagel in #4840
  • refactor: maintenance of the Accidents Contrib by @kainagel in #4837
  • refactor: maintenance that came up when working on the dresden scenario by @kainagel in #4843
  • docs: javadoc changes in NetworkUtils by @kainagel in #4842
  • refactor: cleanup the BicycleModule. Should not change functionality by @kainagel in #4846
  • feat: agent wise comparison by @kainagel in #4847
  • fix(railsim): railsim reversing issues by @munterfi in #4828
  • feat: implement pipeline and first implementation for a ScenarioChecker by @rewertvsp in #4830
  • docs(dashboard): add clarifications for traffic dashboard by @rewertvsp in #4848
  • fix(drt): Compute sharing metrics per DRT mode by @samuelhoenle in #4844
  • feat: add Perceived safety contrib by @simei94 in #4215

New Contributors

Full Changelog: 2025.0...2026.0