- Changelog
- 1. Unreleased
- 2. Version 0.23 (2024-12-05)
- 3. Version 0.22 (2024-09-16)
- 4. Version 0.21 (2024-08-20)
- 5. Version 0.20 (2024-07-10)
- 6. Version 0.19 (2024-03-22)
- 7. Version 0.18 (2023-12-15)
- 8. Version 0.17 (2023-11-22)
- 9. Version 0.16 (2023-10-30)
- 10. Version 0.15 (2023-10-26)
- 11. Version 0.14 (2023-09-26)
- 12. Version 0.13 (2023-09-25)
- 13. Version 0.12 (2023-07-24)
- 14. Version 0.11 (2023-06-01)
- 15. Version 0.10 (2023-05-26)
- 16. Version 0.9 (2023-03-23)
-
New features and enhancements:
-
Ignore incoming messages that are considered outdated (i.e. they contain a timestamp that is older than the last accepted message on the same topic) or arrive while the vehicle’s
connection
topic indicates it is offline. -
Explicitly set the MQTT client’s maximum number of in-flight messages to 1 to ensure messages are published in the given order.
-
-
Fixes:
-
When translating the vehicle’s reported state, ignore nodeStates and edgeStates belonging to the horizon. Not doing so resulted in the vehicle not being assigned a new transport order after withdrawing a previous one.
-
Before sending a drive order’s first movement command to the vehicle, check whether the vehicle reports any edgeStates or nodeStates. If yes, send a cancelOrder to ensure the vehicle may accept the new order.
-
-
New features and enhancements:
-
Implement distance check before sending new movement commands to a vehicle. A new vehicle property (
vda5050:maxDistanceBase
) defines the maximum distance that may be covered by currently queued commands.
-
-
Changes affecting developers:
-
Update openTCS baseline dependency to 6.0.0.
-
-
New features and enhancements:
-
Allow
null
for optional properties in JSON messages. -
Support action mapping for transport order destinations.
-
Fields that are marked as
NOT_SUPPORTED
via a vehicle’s properties are now removed from order messages sent to that vehicle.
-
-
Fixes:
-
Some of the fields that are optional according to the VDA5050 specification are now also correctly treated as such in the driver implementations.
-
-
Changes affecting developers:
-
Update Gradle wrapper to 8.7.
-
-
New features and enhancements:
-
In case the property
vda5050:vehicleLengthLoaded
orvda5050:vehicleLengthUnloaded
is not set, the vehicle length configured in the plant model is used as the default value for the respective property.
-
-
Fixes:
-
Dont send cancel order actions when the vehicles changes its operating mode and is actively rejecting an order.
-
-
Changes affecting developers:
-
Update JUnit to 5.10.1.
-
Update ApprovalTests to 22.3.3.
-
Update Mockito to 5.8.0.
-
-
New features and enhancements:
-
Always consider both edgeStates and nodeStates when checking whether the final movement of an order has been completed.
-
-
New features and enhancements:
-
Check vehicle property
vda5050:movementCommandCompletedCondition
to decide when a movement command should be considered complete. -
Introduce vehicle property
vda5050:extendedDeviationRangePadding
to make the padding distance added to the extended deviation range of a node configurable.
-
-
New features and enhancements:
-
When extending the allowed deviation radius for the first node on a route to include the vehicle position, ensure that it is really only extended but never reduced. I.e. always use the deviation of the node as the minimum allowed deviation, even if the vehicle is closer than that to the node’s coordinates.
-
-
Changes affecting developers:
-
Update Gradle wrapper to 8.4.
-
Update Jackson to 2.15.3.
-
Update everit-json-schema to 1.14.3.
-
Update Checkstyle to 10.12.4.
-
Update Mockito to 5.6.0.
-
Update ApprovalTests to 22.2.0.
-
-
New features and enhancements:
-
When resolving the vehicle’s reported position to a point in the plant model, consider the
mapId
, too. -
The paused state and informational messages are now mapped to a vehicle’s properties using the keys
vda5050:paused
,vda5050:information.info
andvda5050:information.debug
.
-
-
Fixes:
-
Actually accept state messages lacking the
paused
flag. -
If configured, correctly withdraw the transport order assigned to a vehicle when its operation mode changes.
-
-
Other changes:
-
Update openTCS baseline dependency to 5.11.0.
-
-
Fixes:
-
Fix transport order withdrawal after order rejections.
-
Avoid NullPointerExceptions in a couple of places.
-
Correctly compute the sequence ID for horizon elements.
-
When checking whether all nodes and edges of an order have been completed, ignore the horizon.
-
-
New features and enhancements:
-
A vehicle’s prospective route is included as the horizon in every order message. How many route steps are added to the horizon can be configured using the new vehicle property
vda5050:maxStepsHorizon
. For consistent naming, the existing propertyvda5050:orderQueueSize
has been renamed tovda5050:maxStepsBase
. -
Improve logging related to communication with vehicles.
-
-
Other changes:
-
Update Gradle wrapper to 8.3.
-
Update JUnit to 5.10.0.
-
Update Mockito to 5.5.0.
-
Update ApprovalTests to 19.0.0.
-
Update Checkstyle to 10.12.3.
-
Update JaCoCo log plugin to 3.1.0.
-
-
New features and enhancements:
-
Publish a user notification to the kernel when the vehicle rejects an order.
-
Fall back to the last known position when other methods of determining the vehicle position fail.
-
When the vehicle’s reported operating mode changes, optionally withdraw its transport order and/or update its integration level and/or reset its last known position.
-
Show the MQTT topic name prefix used for communicating with the vehicle in the driver’s KCC control panel.
-
-
Fixes:
-
Send order and instant action messages to the vehicle only as long as its reported operating mode is
AUTOMATIC
orSEMIAUTOMATIC
. For other operating modes, keep the messages to be sent later. -
Stop setting a vehicle’s state to
UNAVAILABLE
when it reportsSEMIAUTOMATIC
as its operating mode. This allows vehicles in operating modeSEMIAUTOMATIC
to process transport orders.
-
-
Other changes:
-
Update Jackson to 2.15.2.
-
Update everit-json-schema to 1.14.2.
-
Update JUnit 5 to 5.9.3.
-
Update ApprovalTests to 18.7.1.
-
-
New features and enhancements:
-
When receiving a state message from a vehicle, update the vehicle length with the kernel based on whether loads are reported in the state message or not. Allow configuration of the vehicle length that is set via vehicle properties with keys
vda5050:vehicleLengthLoaded
andvda5050:vehicleLengthUnloaded
. -
Log MQTT client ID when connecting to broker.
-
-
Other changes:
-
Update openTCS baseline dependency to 5.9.
-
-
New features and enhancements:
-
Add initial support for VDA5050 2.0. (All features supported for 1.1 are also supported for 2.0; information provided by vehicles via factsheet messages is ignored.)
-
Improve JSON validation exception content by including some more information about what caused the validation to fail.
-