Skip to content

Releases: pgxn/meta

Relelase 0.4.0

08 Oct 22:03
v0.4.0
7d00da2
Compare
Choose a tag to compare

The theme of this release is JSON Web Signatures.

⚡ Improvements

  • Following RFC 5, added v2 JSON Schemas for the certs property and its child pgxn property, which contains an RFC 7515 JSON Web Signature (JWS) JSON Serialization object in either the general or flattened syntaxes.
  • Revamped the release module to support the updated release signing spec defined in RFC 5
  • Added the validate_payload method to valid::Validator, which that the release::Release deserialization implementation uses to validate the JWS payload. Required because the payload is Base 64 URL-encoded and therefore cannot be parsed into a struct on the first pass.

📔 Notes

  • The [release] interface has changed with the new data structures. The [JWS-JS] data added in v0.3.0 has been replaced with RFC 7515-standard JSON Serialization.
  • Upgraded to [json-patch] v3.0 and updated all other dependencies.

🆚 For more detail compare changes since v0.3.0.

Relelase 0.3.0

23 Sep 23:34
v0.3.0
a5dbedd
Compare
Choose a tag to compare

⚡ Improvements

  • Designed experimental distribution metadata schema to be appended to v2 META.json by PGXN upon release. The object is in JWS-JS format, and intended to sign the release user, date, URI, and one or more SHA digests for the distribution zip file. The format is subject to change pending expert review and approval of the JWS-signing RFC.
  • Created release JSON Schemas for v1 and v2 release validation. PGXN Manager adds the v1 metadata to the distribution-supplied META.json so that clients can validate downloads. In the future it will generate the v2 JWS-signed schema.
  • Added the release module, which extends the dist module to load loads v1 and v2 spec files into read-only data structures, converts v1 metadata to v2, and merges multiple files.

📔 Notes

  • Renamed the meta module to the dist module, since it handles distribution metadata, and therefore better compliments the new release module, which handles release metadata.
  • Removed the SHA-256 hash from the v2 artifacts schema, leaving only SHA-512.
  • Replaced the TryFrom<PathBuf> trait in the dist module with a load function. This is because one does not convert a file path into a struct, but loads it into a struct. It also allows the argument to be of type AsRef<Path>, which supports Path, PathBuf, or String arguments.
  • The v1-v2 conversion in the release module does not sign the release payload, as we are not doing any key signing, yet. For now it generates random strings to satisfy JSON Schema validation.

🆚 For more detail compare changes since v0.2.0.

Relelase 0.2.0

12 Sep 19:33
v0.2.0
e4f3fbf
Compare
Choose a tag to compare

⚡ Improvements

  • Added the meta module, which loads v1 and v2 spec files into read-only data structures, converts v1 metadata to v2, and merges multiple files.

🪲 Bug Fixes

  • Changed the v1 validator to allow http as well as https in the meta-spec object's url field, as a lot of older META.json files use it.

📔 Notes

📚 Documentation

  • Updated the v2 link in all docs to point to the pull request, since it hasn't been merged and published yet.
  • Updated the README example to use the meta module to load an object.

🆚 For more detail compare changes since v0.1.0.

v0.1.0

08 Aug 16:03
v0.1.0
fff45ed
Compare
Choose a tag to compare

The theme of this release is Cross Compilation.

⚡ Improvements

  • First release, everything is new!
  • JSON Schema for PGXN Meta Spec v1 and v2
  • JSON Schema validation using boon
  • Comprehensive Testing
  • pgxn_meta binary and crate

🏗️ Build Setup

📚 Documentation

  • Build and install docs in the README

🆚 For more detail compare changes since fff45ed.