# 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.

## 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