JanHenryNystrom/jhn_stdlib
48.3
Weak · 2 October 2026
16.8k
lines of production code
Erlang
primary language
2
measurements over time
What this system is
This system is a general-purpose Erlang library providing foundational utilities for data serialization, binary processing, and network security. It implements encoding and decoding protocols such as CBOR, HPACK, and various base formats, alongside data structures like Bloom filters and consistent hashing algorithms. The library also includes infrastructure for managing TLS certificates and generic finite state machines, supported by a comprehensive test suite.
Features
Added URI record and type definitions
The include directory now provides a new \uri.hrl\ header file that defines the \uri\ record and the \scheme\ type. This introduces the data structure used to represent Uniform Resource Identifiers, including fields for scheme, userinfo, host, port, path, query, and fragment, making these definitions available to other modules that include this header.
include · high confidence
New binary data encoding and processing modules
Added a suite of new Erlang modules for binary data handling: jhn\_base provides encoding/decoding for various bases (Base16, Base32, Base45, Base58, Base64, Base85, Z85, IPv6) with configurable alphabets and algorithms; jhn\_bencoding implements BitTorrent-style bencoding for serializing Erlang terms; jhn\_blist and jhn\_bstring offer binary-optimized replacements for standard lists and string operations; jhn\_bloom implements fixed and scalable Bloom filters; jhn\_cbor provides Concise Binary Object Representation encoding/decoding per RFC 8949; jhn\_chash implements consistent hashing using the Jump Consistent Hash algorithm; jhn\_fsm introduces a generic finite state machine with deferred message support; and jhn\_cacerts manages CA certificate retrieval and caching for SSL/TLS connections.
src · high confidence
Project bootstrapped with Apache 2.0 license and rebar3 build system
The repository now includes an Apache License 2.0 file, a Makefile for building and testing, and a rebar.config file that configures the project for rebar3, including dependencies, dialyzer settings, and documentation generation. The README has been expanded to document the library's features, including support for various encoding/decoding protocols (CBOR, HPACK, JSON, MessagePack, Syslog, URI, IP addresses, Timestamps, UUIDs, TypeIDs), string processing, data structures (Bloom filters, prefix trees, range trees, t-trees), algorithms (Levenshtein distance, check digit algorithms, checksums, consistent hashing, compression), and utility modules (mocking, CA-certs, media type determination). Deprecated features are also listed.
(repo-wide) · high confidence
Behavioural changes
Bundled CA certificates for HTTPS verification
The application now ships with a local bundle of root CA certificates (priv/cacerts) to verify HTTPS connections. This ensures that TLS handshakes succeed even when the system's default certificate store is missing or outdated, and provides a stable baseline for certificate validation.
priv · high confidence
Test coverage
Added test suite and test infrastructure for jhn\_fsm, jhn\_server, and TLS
Added new eunit test modules (a\_jhn\_fsm, b\_jhn\_fsm, a\_jhn\_server) and test data files (TLS certificates and keys in test/certs, country codes in test/countries.txt) to support testing of the jhn\_fsm and jhn\_server behaviors, as well as existing tests for jhn\_base, jhn\_bencoding, jhn\_bloom, and jhn\_bstring.
test · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 48 → 48 (+0.0)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 88 → 88 (+0.0)
- Architecture 100 → 100 (+0.0)
- Maturity 43 → 43 (+0.0)
- Readiness 26 → 26 (+0.0)
- Security 100 → 100 (+0.0)
Resolved (4)
- Coverage not measured — no coverage collector is wired up
- Documentation: no installation or build instructions (README.md)
- Documentation: no project overview
- Documentation: no usage examples (README.md)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
JanHenryNystrom/jhn_stdlib was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 9435b61de24cdacbaf2cafefcf53c021d8a355d1 — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.