Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: rvagg/cborg
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v4.5.4
Choose a base ref
...
head repository: rvagg/cborg
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v4.5.5
Choose a head ref
  • 3 commits
  • 8 files changed
  • 2 contributors

Commits on Jan 20, 2026

  1. Configuration menu
    Copy the full SHA
    ca32690 View commit details
    Browse the repository at this point in the history
  2. perf(decode): use TextDecoder with ASCII fast-path for string decoding

    Replace Buffer.toString('utf8') with TextDecoder for string decoding,
    which is faster in modern Node.js. Add ASCII fast-path for short strings
    (<32 bytes) common in map keys, avoiding TextDecoder overhead.
    
    - Move string decoding logic from byte-utils.js to 3string.js
    - Remove unused toString, utf8Slice, UTF8_THRESHOLD from byte-utils.js
    
    Benchmark results (decode):
    - Bluesky(ish) posts: +29%
    - Strings (medium/long): +44-66%
    - Strings (short): +19%
    - Nesting depth: +15-27%
    - Maps: +4-9%
    
    Minor behavioural change with this is that we now strip UTF-8 BOM
    (U+FEFF) from the beginning of strings when decoding. Rather than
    treat this as breakage, I'm saying this is a bug fix (it's
    meaningless in UTF-8 and discouraged by Unicode).
    rvagg committed Jan 20, 2026
    Configuration menu
    Copy the full SHA
    2e69f0e View commit details
    Browse the repository at this point in the history
  3. chore(release): 4.5.5 [skip ci]

    ## [4.5.5](v4.5.4...v4.5.5) (2026-01-20)
    
    ### Trivial Changes
    
    * **bench:** output json to file ([ca32690](ca32690))
    semantic-release-bot committed Jan 20, 2026
    Configuration menu
    Copy the full SHA
    36220a0 View commit details
    Browse the repository at this point in the history
Loading