Skip to content

Releases: openTCS/opentcs

Release 5.5

26 Apr 07:29

Choose a tag to compare

  • New features:
    • Inform EdgeEvaluator implementations 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.
  • 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

25 Feb 11:00

Choose a tag to compare

  • 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

28 Sep 15:24

Choose a tag to compare

  • New features:
    • Properly specify and implement claim semantics in the Scheduler interface, 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 its VehicleController.
  • 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

26 Jul 11:41

Choose a tag to compare

  • New features:
    • For plant model elements' tooltip texts in the Operations Desk, sort
      properties lexicographically and colorize vehicles' states.

Release 5.1

26 Jul 11:53

Choose a tag to compare

  • Bugs fixed:
    • Made names generated for transport orders to be (really)
      lexicographically sortable.
  • New features:
    • Add a QueryService to the kernel that can be used to execute
      generic/custom queries via registered QueryResponder instances.
    • 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.
  • 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.

Release 5.0

26 Jul 12:03

Choose a tag to compare

  • Remove deprecated code.
    • Remove the TCP host interface kernel extension.
    • Remove the kernel application's GUI.
  • TCSObject and its subclasses are now immutable and do no longer
    implement the Cloneable interface.
  • Remove the JDOM dependency.
  • In BasicCommunicationAdapter, use an injected ExecutorService
    (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

26 Jul 12:04

Choose a tag to compare

  • 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.
  • Other changes:
    • Plant Overview: Improve performance for vehicle state updates.