Skip to content

WCS 0.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Oct 12:33
· 1 commit to main since this release
0a7f71d

The first release without the preview suffix. It is distributed as source, like the preview, and the
rules of versioning and compatibility apply from here:
a patch never breaks what that page lists; a minor may, and says so in this file.

Added

  • WMS contract: two optional routes, 44 and 45; a WMS that does not offer them answers 404 or
    501 and the WCS behaves as before. POST reservations/cell/check
    (IWarehouse.CheckStorageCellAsync): whether the warehouse would reserve a precise cell, without
    reserving it. POST notes/missing-among (IWarehouse.GetMissingNoteAssignmentsAsync): which of the
    given shipping-note assignments no longer exist. Both have a default implementation in IWarehouse,
    so an existing adapter keeps compiling. Wcs.ContractCheck treats an added optional operation as
    compatible.

Fixed

  • Engine: an extraction still in its cell sent to a precise cell the warehouse refuses stays the
    extraction it was: the cell is checked (route 44) before the warehouse is told about the change of
    cell, which used to close the mission when the reservation was refused afterwards.

  • Engine: the queued row of a shipping-note assignment deleted in the WMS leaves the extraction queue
    (route 45) instead of moving a load unit nobody asked for.

  • Engine: «does this process have handled load units?» also answers for the months that left the
    history retention: their references are kept in wcs.db before the month file is deleted.

  • Wcs.Wms.Client: an enum answer the contract does not know (an outcome of a newer WMS) is a
    permanent rejection, not the value of the caller's «anything else» branch.

  • Engine: the second extraction trigger point selects the storing missions coming from its own
    group; it compared against the first point's group, so with only the second point loaded every
    storing mission was received.

  • Engine: a loaded source whose load unit has no route yet no longer hides the sources after it
    from the device that receives from them.

  • Engine: updates and removals of commands and extraction queue rows are announced to the event
    hub only after the save succeeds, as insertions already were.

  • Host: PUT /api/v1/plant/graph with a null list or a null entry, and
    PUT /api/v1/items/geometry with a null entry, answer 400 instead of 500.

  • Wcs.Api.Client: a BaseAddress that is not a bare http(s) origin is refused when the client
    is built; a successful response with a null body is a WcsApiException naming the request.

  • Wcs.DbTool: verify and restore refuse a manifest whose file names are not bare WCS
    database names, are listed twice, or whose format is unknown, before touching any file.

  • Release workflow: the --prerelease switch and a single release file reach gh whole. They
    were splatted one character at a time, so the draft release of 0.1.0-preview.1 was not
    created (it was created by hand from the same tag).

Changed

  • Host: a warning at startup when Wcs:ApiKey or Wcs:ReadOnlyApiKey is shorter than 32
    characters.
  • Engine: transit times (GET /api/v1/log/transit-times) read each month once, with one query
    instead of three: about four times faster on a month of 200,000 log rows.
  • Engine: a group's loading decision reads the load units ready to load once, instead of up to
    four times.
  • Wcs.Api.Client disposes every HTTP response; the host compares API keys without allocating.