# 2025-07-06 Update
## Featured Releases: July 6, 2025
### Updates to `cbor-book` - July 6, 2025
- Deployed new syntax highlighting throughout the book.
- Finished chapter on [basic use of the `dcbor` CLI](https://cborbook.com/part_2/dcbor_cli.html).
- Added chapter on [matching using the `dcbor` CLI](https://cborbook.com/part_2/dcbor_cli_matching.html).
- Use of the `dcbor` CLI will require another chapter on "Advanced Matching."
- Added stub chapter on [Introducing Gordian Envelope](https://cborbook.com/part_3/introducing_gordian_envelope.html) that right now just links to videos.
- Added stub chapter on [Matching using the `envelope` CLI](https://cborbook.com/part_3/envelope_cli.html) that right now just links to the `envelope` CLI documentation at GitHub.
- There will also eventually be a chapter on "Advanced Matching" for the `envelope` CLI.
- Added appendices for [dCBOR Patex Reference](https://cborbook.com/appendices/dcbor_patex.html) and [Envelope Patex Reference](https://cborbook.com/appendices/envelope_patex.html) that use full syntax highlighting.
### New Style for Command Line Examples - July 5, 2025
- All command line examples in the documentation for `dcbor-cli`, `bc-envelope-cli`, `seedtool-cli`, `provenance-mark-cli`, and `cbor-book` have been updated to use a consistent style:
```bash
input command 1
input command 2 \
line 2 continuation
│ output line 1
│ output line 2
│ output line 3
```
- Note the blank line between input and output, which is mandatory.
- If more than one input and output are in a single code block, then the first output must be followed by a blank line:
```bash
input line 1
│ output line 1
input line 2
│ output line 2
```
This new style:
- More clearly separates input from output,
- Improves readability and consistency across all command line examples,
- Makes it easier to copy and paste commands directly from the documentation.
- Makes it easier to rapidly test examples by use affordances like the built-in `Run Selected Text in Active Terminal` command in VS Code.
- Causes shell syntax highlighters to *not* highlight the output like it is command input.
Note that the `│` is `BOX DRAWINGS LIGHT VERTICAL` (U+2502) used in the new style is not the same as the vertical bar `|` `VERTICAL LINE` (U+007C) used in the command line. This is because many layout engines will render the box drawing character as a continuous vertical line, which is more visually appealing than the vertical bar character, which will always render vertical gaps.
The following keybindings can be added to VS code to faciliate the above workflows.
- The first binds `ctrl+enter` to the `Run Selected Text in Active Terminal`
- The second binds `cmd+alt+|` to typing `│ `. This is convenient when paired with `cmd+alt+↑` (Add cursor above) and `cmd+alt+↓` (Add cursor below) for doing multi-line editing, enabling examples to be formatted in the above style with just a few keystrokes.
```json
{
"key": "ctrl+enter",
"command": "workbench.action.terminal.runSelectedText",
"when": "editorTextFocus"
},
{
"key": "cmd+alt+\\",
"command": "type",
"when": "editorTextFocus",
"args": {
"text": "│ "
}
}
```
### dCBOR-Envelope VS Code Syntax Highlighter 0.2.1 - July 5, 2025
- Updated `patex` syntax to align with latest `dcbor-pattern` and `bc-envelope-pattern` changes.
- Available in [VS Code Extensions Marketplace](https://marketplace.visualstudio.com/items?itemName=BlockchainCommons.dcbor-envelope).
- Rolled changes into `cbor-book`.
### bc-envelope-cli 0.21.0 - July 5, 2025
- Updated to latest envelope patex syntax
- Integrated dcbor patex matching
- Add new pattern matching tests and test utilities
- Fix Date type references in extract command
- Update extensive documentation
- [Crates.io](https://crates.io/crates/bc-envelope-cli)
- [GitHub](https://github.com/BlockchainCommons/bc-envelope-cli-rust)
### dcbor-cli 0.10.0 - July 5, 2025
- Add pattern matching functionality with dcbor-pattern integration
- Add new match command for pattern-based CBOR data querying
- Restructure CLI with dedicated subcommands (array, default, map, match)
- Update dependencies (bc-components, dcbor, dcbor-parse)
- Add comprehensive test suite for new functionality
- [Crates.io](https://crates.io/crates/dcbor-cli)
- [GitHub](https://github.com/BlockchainCommons/bc-dcbor-cli)
### bc-envelope-pattern 0.4.0 - July 5, 2025
- Major integration with dcbor-pattern for enhanced CBOR matching
- Implement capture functionality for pattern matching
- Add comprehensive test suite for CBOR integration
- Update dependencies to latest versions
- Remove feature flags to simplify API
- [Crates.io](https://crates.io/crates/bc-envelope-pattern)
- [GitHub](https://github.com/BlockchainCommons/bc-envelope-pattern-rust)
### NEW CRATE: dcbor-pattern 0.3.0 - July 5, 2025
- Initial release of dcbor-pattern crate with comprehensive pattern matching for dCBOR
- Implemented text-based pattern syntax with support for value, structure, and meta patterns
- Added named capture support for extracting values from matched patterns
- Implemented virtual machine-based pattern execution for performance
- Added extensive test coverage with 400+ tests covering all pattern types
- [Crates.io](https://crates.io/crates/dcbor-pattern)
- [GitHub](https://github.com/BlockchainCommons/bc-dcbor-pattern-rust)
### dcbor 0.22.0 - July 2, 2025
- Added comprehensive CBOR tree traversal functionality with new walk module
- Implemented visitor pattern for structured CBOR data inspection and transformation
- Added extensive examples and test suite for walk operations
- Enhanced API with walk-related exports in prelude
- Minor documentation and formatting improvements
- [Crates.io](https://crates.io/crates/dcbor)
- [GitHub](https://github.com/BlockchainCommons/bc-dcbor-rust)
### Blockchain Commons Project Badges
Found in `Dropbox/Project Badges`
- Custom artwork for major "entry points" to Blockchain Commons work.
- Can be used as ensemble or individually.
- Provides a unified "look" to our flagship projects.
- I consider this work preliminary and subject to approval. Let me know what you'd like to see added or changed!


---
## Other Releases
### seedtool-cli 0.3.0 - July 3, 2025
- Align to dependencies.
- Update envelope API calls for compatibility.
- Improve code formatting and consistency.
- [Crates.io](https://crates.io/crates/seedtool-cli)
- [GitHub](https://github.com/BlockchainCommons/seedtool-cli-rust)
### provenance-mark-cli 0.3.0 - July 3, 2025
- Align to dependencies.
- Code cleanup and formatting improvements.
- [Crates.io](https://crates.io/crates/provenance-mark-cli)
- [GitHub](https://github.com/BlockchainCommons/provenance-mark-cli-rust)
### depo 0.12.0 - July 3, 2025
- Align to dependencies.
- [Crates.io](https://crates.io/crates/depo)
- [GitHub](https://github.com/BlockchainCommons/bc-depo-rust)
### depo-api 0.14.0 - July 3, 2025
- Align to dependencies.
- Improve code formatting and consistency.
- [Crates.io](https://crates.io/crates/depo-api)
- [GitHub](https://github.com/BlockchainCommons/bc-depo-api-rust)
### gstp 0.9.0 - July 3, 2025
- Update dependencies to latest versions
- Improve code formatting and consistency
- Update envelope API calls for compatibility
- [Crates.io](https://crates.io/crates/gstp)
- [GitHub](https://github.com/BlockchainCommons/gstp-rust)
### bc-xid 0.12.0 - July 3, 2025
- Align to dependencies.
- Update date type import in XID document tests.
- [Crates.io](https://crates.io/crates/bc-xid)
- [GitHub](https://github.com/BlockchainCommons/bc-xid-rust)
### provenance-mark 0.12.0 - July 3, 2025
- Align to dependencies.
- Update dcbor imports to use prelude.
- [Crates.io](https://crates.io/crates/provenance-mark)
- [GitHub](https://github.com/BlockchainCommons/provenance-mark-rust)
### dcbor-parse 0.3.0 - July 3, 2025
- Add ISO-8601 date literal parsing support
- Add duplicate map key detection with proper error handling
- Add simplified-patterns feature flag for IDE compatibility
- Align to dependencies
- Add comprehensive examples and tests for new features
- [Crates.io](https://crates.io/crates/dcbor-parse)
- [GitHub](https://github.com/BlockchainCommons/bc-dcbor-parse-rust)
### bc-envelope 0.33.0 - July 3, 2025
- Align to dependencies.
- Code formatting improvements.
- Expose EnvelopeCase and EnvelopeSummary in public API.
- [Crates.io](https://crates.io/crates/bc-envelope)
- [GitHub](https://github.com/BlockchainCommons/bc-envelope-rust)
### known-values 0.7.0 - July 3, 2025
- Align to dependencies.
- [Crates.io](https://crates.io/crates/known-values)
- [GitHub](https://github.com/BlockchainCommons/known-values-rust)
### bc-components 0.24.0 - July 3, 2025
- Align to dependencies.
- [Crates.io](https://crates.io/crates/bc-components)
- [GitHub](https://github.com/BlockchainCommons/bc-components-rust)
### bc-ur 0.12.0 - July 3, 2025
- Align to dependencies.
- [Crates.io](https://crates.io/crates/bc-ur)
- [GitHub](https://github.com/BlockchainCommons/bc-ur-rust)
### bc-tags 0.5.0 - July 3, 2025
- Align to dependencies.
- [Crates.io](https://crates.io/crates/bc-tags)
- [GitHub](https://github.com/BlockchainCommons/bc-tags-rust)