Grid v0.2 Release

Note: This release is currently in development.

If you’re new to Grid, see the Grid documentation to learn about Grid concepts and features.

Grid v0.2 is the second major release of Grid. Below is a summary of the features and changes included in this release. For detailed changes related to the v0.2 release, see the Grid release notes.

New and Noteworthy

GDSN support for Grid Product

Prior to this release, Grid Product required a custom-defined Grid Schema to be used to support validation. It also could only accept products defined one at a time via command-line args or using the Grid UI, or bulk uploaded from a custom yaml format. These limitations presented some challenges when trying to directly support GDSN-compliant data. It also had been a challenge to create typical Grid schemas that accurately represent GDSN data structures, due to the heavily nested structure and large number of attributes present within the standard.

GS1 already provides a robust set of GDSN schemas in XML Schema Definition (XSD) format. With this new feature, Grid can take advantage of these schemas directly, eliminating much of the difficulty in defining custom schemas based on GDSN.

Note that if GDSN is not the preferred format for GS1 standards for a certain use-case, users can still define custom schemas for Grid Product.

Support for adding GDSN product data via the CLI

GDSN products can be created and updated on Grid via the CLI. In addition to the previously supported YAML format, Grid will now accept XML wrapped in the gridTradeItems element as defined in the GridTradeItems XSD. For more information, please see the Grid CLI Command Reference.

Grid Product UI with view capabilities

The Grid Product UI has been updated to support displaying GDSN XML data by default. In this release, product creation functionality has been removed from the UI. See the Product Sapling planning document for future plans for this UI.

Grid Pike v2

As of Grid v0.2, a new version of the Grid Pike smart contract is available. Grid Pike is the identity management smart contract for Grid. Grid Pike v2 implements a few new features which are necessary to fully capture delegation of permissions desired in more complex systems.

  • Organizations now have the ability to define organization-specific roles which are constructed from the permissions already hard-coded into smart contracts.

  • Organizations now are able to delegate specific roles to other organizations to fulfill.

For more information about Grid Pike v2, please see the feature documentation: Grid Pike

The addressing scheme for Pike data has also been updated to fit in with the rest of Grid. Previously, Pike addresses were not prefixed under the Grid address namespace, 621dee. As of Pike v2, the address prefix for Pike objects is now 621dee05. Other smart contracts in Grid v0.2 have been updated to use this namespace when reading Pike data.

Due to these changes, Grid Pike v2 is not backwards-compatible with Pike v1, and organization structures will have to be recreated on existing networks.

Rust Dependency Updates

Many Rust dependencies have been updated and added, including:

  • actix-web was updated to version 3.
  • Signing and key generation is now handled by cylinder.
  • Other dependencies and features were added as needed to implement new functionality.