Releases: openTCS/opentcs
Releases · openTCS/opentcs
Release 5.5
- New features:
- Inform
EdgeEvaluatorimplementations about beginning and end of routing graph creation to allow them to optimize computations, e.g. by caching data that does not change while building the graph.
- Inform
- Other changes:
- Add documentation for peripheral devices and peripheral operations. Also enable the respective GUI components by default now that there is documentation.
- In the Operations Desk application's dialog for creating peripheral jobs, offer locations attached to a peripheral driver only.
- Replace old references to the Plant Overview application in the developer's and user's guides with references to the Model Editor and/or Operations Desk applications.
- Remove the statistics kernel extension and plugin panel. They have been moved to the example integration project.
- Update SLF4J to 1.7.36.
- Update Guice to 5.1.0.
- Update Jakarta XML Bind API to 2.3.3.
- Update JAXB Runtime to 2.3.6.
- Update Jackson to 2.13.2 (and its data-binding package to 2.13.2.2).
- Update Sulky ULID to 8.3.0.
- Update JGraphT to 1.5.1.
- Update cfg4j to 4.4.1.
- Update JSR305 to 3.0.2.
- Update JUnit to 5.8.2.
- Update AssertJ to 3.22.0.
- Update Swagger UI to 3.52.5.
- Update the Gradle wrapper to 6.9.2.
- Update Stats Gradle Plugin to 0.2.2.
- Update License Gradle Plugin to 0.14.0.
Release 5.4
- New features:
- Enable vehicle drivers to inspect the whole transport order before accepting it, not just the respective sequence of destination operations.
- Reflect the currently claimed and allocated resources in a vehicle's state.
- Show the currently claimed and allocated resources for a selected vehicle in the properties panel in the Operations Desk application.
- Show all properties of a path's peripheral operations in a table instead of listing only the location and operation names.
- Update web API specification and implementation to version 1.1.0:
- Add claimed and allocated resources to the vehicle state and vehicle status message specification.
- Add the precise position to the vehicle state message specification.
- When creating transport orders, allow clients to provide incomplete transport order names, i.e. have the kernel complete/generate the names.
- Add an endpoint for explicitly triggering dispatcher runs.
- Other changes:
- Skip the user confirmation for exiting the Kernel Control Center application.
- In the File menu, improve the names of the entries for uploading a model to the kernel and downloading it from the kernel.
- Update Jackson to 2.13.0.
- Update Spark to 2.9.3.
Release 5.3
- New features:
- Properly specify and implement claim semantics in the
Schedulerinterface, allowing custom scheduling strategies to take vehicles' planned future resource allocations into account. - Introduce
VehicleCommAdapter.canAcceptNextCommand(), which can be used to (statically or dynamically) influence the amount of movement commands a comm adapter receives from itsVehicleController.
- Properly specify and implement claim semantics in the
- Bugs fixed:
- Execute virtual vehicle simulation using the kernel executor to avoid potential deadlocks.
- Restore single-step mode for virtual vehicles.
- Fix immediate withdrawal of transport orders.
- When the Kernel application is started, initialize its components (e.g. dispatcher, router, scheduler) using the kernel executor, especially to avoid scheduling issues with plant models that are loaded with application start up.
- Fix the order sequence details panel which would not load due to some wrong paths to a resource bundle.
- Fix an issue where the Operations Desk was not in sync with the Kernel when using very large models.
- Fix an issue where cutting and pasting elements in the Model Editor would create multiple elements with the same name.
- Other changes:
- Switch to publishing artifacts via the Maven Central artifact repository. (Previously, artifacts used to be published to JCenter, an artifact repository that has been discontinued.)
- Update the license information: All components, including the Model Editor and Operations Desk applications, are now licensed under the terms of the MIT license.
- When a vehicle is waiting for resources to be allocated (e.g. because resources are occupied/blocked by another vehicle), allow it to be rerouted from its current position. (Previously, rerouting was done from the point for which the vehicle was waiting, which could lead to unnecessary waiting times.)
- When a vehicle is rerouted while it is waiting for peripheral interactions to be finished, properly reroute the vehicle from the peripheral's position.
- When loading plant models with the Model Editor and Operations Desk applications, show more fine-grained steps in the corresponding progress bars.
- In the Operations Desk, sort transport orders and peripheral jobs in the respective tables in descending order according to their creation time.
- Reduce the time it takes the Operations Desk to process vehicle updates.
- Update Gradle wrapper to 6.8.3.
- Update JUnit 4 to 4.13.2.
- Update JUnit 5 to 5.7.2.
- Update Hamcrest to 2.2.
Release 5.2
- New features:
- For plant model elements' tooltip texts in the Operations Desk, sort
properties lexicographically and colorize vehicles' states.
- For plant model elements' tooltip texts in the Operations Desk, sort
Release 5.1
- Bugs fixed:
- Made names generated for transport orders to be (really)
lexicographically sortable.
- Made names generated for transport orders to be (really)
- New features:
- Add a
QueryServiceto the kernel that can be used to execute
generic/custom queries via registeredQueryResponderinstances. - Add support for creating plant models with multiple layers.
- Add experimental support for peripheral devices, with device
interactions triggered by vehicles travelling along paths.
(Note that this is not really documented, yet, and that
experimental means that developers using any parts of it are on
their own, for now.) - Add a new version of the XML Schema definition for the openTCS plant
model. - Allow the scheduler to be triggered explicitly via
Scheduler.reschedule(). - Show properties in model elements' tooltips.
- Add a
- Other changes:
- Split the Plant Overview application in two separate applications:
The Model Editor provides model creation and manipulation
functionality, while the Operations Desk is used for interacting
with a plant while it is in operation. - Split the Operations Desk's pause button into a pause and a resume
button. - Remove support for groups.
(Layers can now be used to group plant model components.) - Allow project-specific edge evaluators and routing group mappings to
be used.
- Split the Plant Overview application in two separate applications:
Release 5.0
- Remove deprecated code.
- Remove the TCP host interface kernel extension.
- Remove the kernel application's GUI.
TCSObjectand its subclasses are now immutable and do no longer
implement theCloneableinterface.- Remove the JDOM dependency.
- In
BasicCommunicationAdapter, use an injectedExecutorService
(e.g. the kernel executor) instead of starting a separate thread for
every vehicle driver instance. - Add a new and cleaned up version of the XML Schema definition for the
openTCS plant model and add new bindings. - Update project to Java 13.
- Update Mockito to 2.28.2.
Release 4.20
- Fixes:
- Default
Scheduler: Properly handle requests for same-direction
blocks for some edge cases. - Default
Scheduler: Really free all resources when taking a vehicle
out of the driving course.
- Default
- Other changes:
- Plant Overview: Improve performance for vehicle state updates.