-
Handle errors when accessing all Clap arguments
-
Remove
hex-literaldependency -
Add experimental
xsd-downloader-cache-dirfeature. This feature protects the ability to specify a cache directory to use with thegrid-download-xsdcommand. -
Add experimental
xsd-downloader-force-downloadfeature. This feature protects the ability to force the GS1 schema files to be downloaded, regardless if the cache is full. -
Improve logging and error messages when downloading XSDs to specify URLs, file paths and directories used by the command
-
When downloading XSDs, validate cache and state directories exist and are writable, and error on failure rather than attempt to create them
- Update Dockerhub compose file to pull in most recently published smart contract
-
Add ca-certificates to Docker images with grid-cli
-
Update Grid Daemon postinstall script to create cache directory,
/var/cache/grid -
Update example Docker compose files to create a Grid cache volume to persist cached data between restarts
-
Adds Grid Purchase Order smart contract.
-
Adds streaming results to CLI
listcommands. This returns the initial results much faster for large sets of data. -
Adds Lee Bradley as a Grid maintainer.
-
Adds support for Splinter v0.6 by supporting Splinter’s new authorization capabilities. Splinter v0.4 and Splinter v0.6 are now both supported by Grid v0.3.
-
Remove the
grid-admin-keygencommand. This functionality is replaced by the--systemoption of thegrid-keygencommand -
Add unit tests for the
grid keygencommand -
Add Purchase Order CLI commands
-
Add remaining and update existing Purchase Order man pages to reflect current functionality
-
Remove unused
splinterfeature as this feature did not provide any functionality -
Fix bug with displaying a Grid Location to properly fetch the location
-
Update
grid keygenprivate key file permissions from640to600 -
Fix typo in
grid keygenmessage -
Remove unused fields from
BatchStatusandBatchStatusResponsestructs -
Create
ReqwestClientFactorydirectly in place of the removedcreate_client_factoryfunction -
Add helper functions to get common CLI arguments
-
Make global CLI argument values available to all subcommands
-
Update formatting for newest version of Clippy
-
Fix typos in some commands’ help messages
-
Rename action modules to be singular
-
Update feature dependencies in
Cargo.tomlfile to be explicit -
Add streaming results to
listcommand results -
Stabilize
purchase-orderfeature. Grid Purchase Order commands are now available by default -
Add
download-xsdcommand to download Purchase Order XSD files from GS1 -
Stabilize
xsd-downloaderfeature. Functionality to download Purchase Order XSD files is now available by default
-
Add collection of
EventProcessorsto the Splinter application authorization handler to ensure only a single event processor is used for a given Splinter service -
Serialize the handling of Splinter commit events to ensure all events are handled in the order they are received and return early if a duplicate commit event is detected
-
Add handling for Purchase Order events to state delta export
-
Add Purchase Order REST API endpoints
-
Rename any plural REST API resource routes to singular (i.e.
/versionsbecomes/version) -
Update REST API documentation to fully conform to the OpenAPI specification
-
Update
run_splintermethod to generate a Cylinder JWT at runtime -
Update Splinter application authorization handler to use Cylinder JWTs to make authorized requests to the Splinter backend
-
Update Splinter event processors to accept Cylinder JWT authorization
-
Add
SPLINTER_PROTOCOL_VERSIONto Splinter application authorization handler -
Update
sawtooth-sdkfeature to pull in thesawtooth-sdkandsabre-sdkfeatures individually -
Remove the
pike-rest-apifeature. This was a duplicate of therest-api-resources-agentfeature -
Stabilize
cylinder-jwt-supportfeature by removing it. This feature adds authorization support for Splinter backends -
Stabilize
purchase-orderfeature by moving the feature tostable -
Update the version of Splinter and Scabbard to
0.4.3 -
Add functionality to send authorized requests, using Cylinder JWTs, to
ScabbardClient -
Remove
actix-webdefault features to fix Linux builds. This removes the transient dependency on brotli and gzip, both used for compression. Compression is not used in any of the clients so it is acceptable to remove these transient dependencies
-
Add Purchase Order database tables and store operations
-
Add Purchase Order REST API handlers
-
Add method to the
PermissionCheckerto validate an agent’s workflow permissions -
Add documentation for the workflow module
-
Add missing and update existing Purchase Order protobufs to align with the RFC
-
Update
data_validationmodule to provide functionality to validate Purchase Order XML -
Update the
data_validationmodule’s use of thelibclibrary to minimize chance of memory leaks by implementingDropfor all structs and adding validation for null pointers -
Rename
ROLES_ENDPOINTconstin theReqwestPikeClienttoROLE_ENDPOINT -
Fix bug preventing Pike roles from properly fetching inherited roles
-
Update Splinter backend client to be created with an
authorizationfield, used when submitting batches, using the Cylinder JWT generated by therun_splinterfunction -
Add ability to check constraints in a workflow when attempting to move between workflow states
-
Validate
selfworkflow state in Workflow’scan_transitionmethod to allow updating a record -
Add missing
message()function toErrorResponse -
Add documentation and unit tests for
ErrorResponse -
Remove unused
sawtooth-compatfeature. This feature did not provide any functionality -
Add paging query string support
-
Move path knowledge from the resource layer to the Actix layer
-
Derive
DebugforClientError -
Add
InternalErrorvariant toClientError -
Remove
create_client_factoryfunction -
Reorganize client module to group client files together and
Reqwestclient files together -
Rename client “DTO” objects and move them into
data::<module>modules -
Stabilize
cylinder-jwt-supportfeature by removing it. This feature adds authorization support for Splinter backends -
Stabilize
rest-api-resourcesfeature by moving the feature tostable -
Stabilize
clientfeature by moving the feature tostable -
Stabilize
data-validationfeature by moving the feature tostable. This feature includes functionality for validating Grid Product and Purchase Order XML files against GS1 standards -
Stabilize
client-reqwestfeature by moving the feature tostable. This feature includes an implementation of theClienttrait backed byReqwest -
Stabilize
purchase-orderfeature by moving the feature tostable. This feature enables storing Purchase Order data in the Grid database. -
Stabilize
rest-api-endpoint-purchase-orderfeature by moving the feature tostable -
Stabilize
workflowfeature by moving the feature tostable -
Stabilize
rest-api-resources-purchase-orderfeature by moving the feature tostable -
Update module-level documentation for the
reqwest_clientmodule -
Updated feature dependencies in
Cargo.tomlfile to be explicit -
Add streaming iterator to list API results. This returns batches of results so they can be returned faster
-
Fix paging
totalcount to properly reflect the number of results -
Add
StartWorkflowStatestruct to define the entrypoint of an item into a workflow -
Remove
actix-webdefault features to fix Linux builds. This removes the transient dependency on brotli and gzip, both used for compression. Compression is not used in any of the clients so it is acceptable to remove these transient dependencies -
Add
Reqwest-backedClienttrait implementations for all rest endpoints
-
Add Purchase Order smart contract
-
Add built-in collaborative and system-of-record workflows. These workflows are used by the Purchase Order smart contract
-
Remove
allow(dead_code)from workflow functions as these are now fully implemented and in use -
Update Purchase Order smart contract to check workflow permission aliases rather than Pike permissions
-
Add constraints to Purchase Order workflows
-
Fix formatting in Grid UI SCSS files
-
Add loading indicator for Product table
-
Add
--skipoption togrid keygencommands in the Griddle example docker-compose files to speed up builds if those keys already exist -
Update version to match the rest of the Grid modules
-
Remove
actix-webdefault features to fix Linux builds. This removes transient dependencies on brotli and gzip, both used for compression. Compression is not used in any of the clients so it is acceptable to remove these transient dependencies
-
Switch from Jenkins builds to GitHub actions
-
Base Grid CLI dockerfile on Ubuntu Focal instead of Sabre CLI
-
Add just recipe for Docker builds
-
Update image used by Node in UI Dockerfiles from
lts-alpineto14.18.1-alpine3.11 -
Update smart contract Dockerfiles to take advantage of dependency caching
-
Add
curlto Grid Dockerfile to allow XSD files to be downloaded -
Various code formatting fixes
-
Add a GitHub action to validate swagger API documentation to the OpenAPI specific
-
Create Grid SDK as
libinstead ofbin -
Cache WASM dependencies in
grid-devDockerfile