# 2025-06-23 Update ## Test Flight Release: Gordian Seed Tool 1.6.3 - Fixed [Issue 217](https://github.com/BlockchainCommons/GordianSeedTool-iOS/issues/217). - The issue was that not every length of input bytes is legal as BIP-39 entropy. Accidentally tapping `Done` with an invalid length causes the crash. - The solution is that the app now validates the number of bytes entered and informs the user in real-time whether the length is valid, and what the valid lengths are. The `Done` button is disabled if the length is currently invalid. - Test Flight releases are available for iOS and macOS. ![HexBytesEntry](https://hackmd.io/_uploads/Sk_jAjIEle.jpg) ## Updated crate: `bc-envelope` 0.32.0 - Changed API calls for wrapping and unwrapping envelopes to be less cumbersome and align better with Rust naming conventions: - `wrap_envelope()` -> `wrap()` - `unwrap_envelope()` -> `try_unwrap()` - Changed nomenclature of the contents of a wrapped envelope from "subject" (confusing) to "content". This mostly shows up in tree and mermaid formatted envelopes: ``` 66c9d594 NODE 9e3b0673 subj WRAPPED b8d857f6 cont NODE <-- This used to be `subj` 13941b48 subj "Alice" 4012caf2 ASSERTION db7dd21c pred "knows" afb8122e obj "Carol" 78d666eb ASSERTION db7dd21c pred "knows" 13b74194 obj "Bob" f13623da ASSERTION d0e39e78 pred 'signed' e30a727c obj Signature ``` - Refined coloring conventions of Mermaid format edges - The color of a NODE envelope's `subj` edge is now the same as the NODE (red) - The color of a WRAPPED envelope's `cont` edge is now the same as the WRAPPED (blue). - Edges for predicates and objects of assertions have been changed to cyan and magenta so every edge type is distinct. ## New crate: `bc-envelope-pattern` 0.1.0 Parser and matcher for the Gordian Envelope Pattern Expression Syntax. - [Repo](https://github.com/BlockchainCommons/bc-envelope-pattern-rust) - [crates.io](https://crates.io/crates/bc-envelope-pattern) - [Docs for programmatic interface](https://docs.rs/bc-envelope-pattern/0.1.0/bc_envelope_pattern/) - [Specification of full pattern expression syntax](https://github.com/BlockchainCommons/bc-envelope-pattern-rust/blob/master/docs/PatternSyntax.md) ## Updated CLI tool: `bc-envelope-cli` 0.18.0 Integrates `bc-envelope` improvements above and pattern parsing and matching via the new `match` subcommand. - [Repo](https://github.com/BlockchainCommons/bc-envelope-cli-rust) - [crates.io](https://crates.io/crates/bc-envelope-cli) - [Brief walkthrough of pattern matching](https://github.com/BlockchainCommons/bc-envelope-cli-rust/blob/master/docs/PatternMatching.md) ## New Visual Studio Code Extension: `vscode-dcbor-envelope` 0.1.0 - Created a Visual Studio Code syntax highlighting extension for CBOR, dCBOR, Gordian Envelope, and the Envelope Pattern Expression Syntax. - Works in dark and light modes. - [Repo](https://github.com/BlockchainCommons/vscode-dcbor-envelope) - Published the extension to the [Visual Studio Code marketplace](https://marketplace.visualstudio.com/items?itemName=BlockchainCommons.dcbor-envelope). - Created a “Blockchain Commons” publisher entity at marketplace.visualstudio.com - Christopher, I can add you as an “Owner” for this publisher. You’ll need to create a [login](https://marketplace.visualstudio.com/vscode) and then give me your [user ID](https://learn.microsoft.com/en-us/visualstudio/extensibility/walkthrough-publishing-a-visual-studio-extension?view=vs-2022#troubleshoot-adding-a-user-to-the-publisher-account). - Also, you can [“verify” the `blockchaincommons.com` domain](https://code.visualstudio.com/api/working-with-extensions/publishing-extension#verify-a-publisher), which will mark us as a verified publisher (after some probationary period) and remove warnings when installing our extension. ## Feature: Custom Syntax Highlighting for the dCBOR Book Adapted the `vscode-dcbor-envelope` syntax highlighter for the [CBOR, dCBOR, and Gordian Envelope Book](https://cborbook.com) for use with various code examples throughout. - Required writing a custom Rust/Javascript `mdbook` preprocessor allowing us to use the grammar definition and color theme files from the syntax highlighting extension unmodified, including dark and light mode themes. - [This example](https://cborbook.com/part_1/cbor_tags.html#example-tags-in-action) shows JSON in the first code block and dCBOR in the second - The syntax highlighter will be useful for the book, but also to any future presentation slide decks we do by making all our syntax highlighting consistent and saving time I had to spend fiddling with it for every slide. * **NOTE:** The syntax highlighter works in three places: * The VS Code editor * The CBOR book via a custom Rust and JavaScript preprocessor for `mdbook` in the repo. * Copying from the VS code editor into other receivers of styled text like Keynote * If glyphs do not appear correctly make sure you manually set the font. * It does not work in: * The VS Code markdown previewer * The Github markdown renderer * HackMD or other markdown editors