Skip to content

2.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 02 Sep 05:00
1c0d1d7

Resource types are now OCI artifacts

Resource types are versioned, immutable OCI artifacts authored as a massdriver.yaml, replacing the unversioned raw-JSON-schema format.

  • mass resource-type create <name> — create a resource type repository in your organization's catalog. Supports custom attributes via -a.
  • mass resource-type publish [path] — publish a massdriver.yaml. path may be a directory or the massdriver.yaml itself, and defaults to the current directory. Publishing is immutable: republishing an existing version is rejected before any upload work.
  • mass resource-type pull <name>[@<version>] — pull a published resource type to a local directory. Accepts a concrete version, a release channel, or latest. Prompts before overwriting unless -f.
  • mass resource-type convert <schema-file> — convert a raw JSON/YAML schema into an equivalent massdriver.yaml, extracting inlined instruction and export content into referenced files.
  • mass resource-type list and getget gains -o json and --schema for the resolved JSON schema.
  • mass resource-type delete — refuses repositories that already have published versions, matching platform immutability.

Published artifacts contain only massdriver.yaml, readme, changelog, icon files, and the instruction/export templates the massdriver.yaml references. A reference that resolves outside the directory or doesn't exist now fails the publish instead of silently shipping an incomplete artifact.

Deprecated: raw JSON schema resource types

Publishing a raw .json/.yaml schema still works but prints a deprecation warning and points at mass resource-type convert. Raw schemas have no version of their own and are stored as the unversioned 0.0.0 document, so they cannot participate in versioning. This path will be removed in a future release.

Note: resource types published as raw schemas predate OCI and cannot be pulled — mass resource-type pull now says so explicitly instead of surfacing a raw registry error.

Bundles

  • resources and dependencies replace artifacts and connections as the input terms. The legacy blocks still work and now warn instead of failing. The two forms of a slot remain mutually exclusive.
  • Bundle packaging, publishing, and pulling moved onto the OCI implementation shared with resource types. .mdignore handling is unchanged.

Fixes

  • mass resource-type create failed outright with unknown artifact type "RESOURCE_TYPE". The artifact-type resolver now accepts the SDK's enum spelling, so underscores match hyphens. This blocked creating — and therefore publishing — any new resource type.
  • Publishing to a repository that doesn't exist reported a raw GraphQL not-found error. Both mass resource-type publish and mass bundle publish now name the command that creates it.
  • mass resource-type publish of a raw schema printed the resource type's human label rather than its identifier, so the success line couldn't be pasted into mass resource-type get.
  • Integer values in converted schemas were corrupted into scientific notation (10000001e+06). Conversion now preserves integers.
  • Instruction and export template paths are resolved correctly during publish.

PRs

  • Manage resource types via OCI (create/get/list/publish/pull/delete/convert) by @chrisghill in #249

Full Changelog: 2.2.1...2.3.0