parse-net 0.9.3

Grammar for Internet message fields: RFC 9110 field syntax, media types, RFC 9651 Structured Fields, HTTP and RFC 5322 dates, negotiation, entity tags, ranges, Content-Disposition, Cache-Control, Forwarded, auth challenges, and the email lexical layer. no_std, no allocation, sans-IO, zero dependencies.
Documentation
# parse-net v0.1.0 - Scaffold

**Date:** 2026-10-21
**Compare:** [`v0.1.0`](https://github.com/jamesgober/parse-net/releases/tag/v0.1.0) (initial release)

**The repository and the plan.** v0.1.0 set up the crate in the portfolio template and wrote down the design before any code. There is no parsing code in this release; it also claimed the name on crates.io.

## What is parse-net?

<strong>parse-net</strong> reads and writes the values inside Internet message fields: RFC 9110 field syntax, media types, RFC 9651 Structured Field Values, HTTP and RFC 5322 dates, content negotiation, entity tags, ranges, `Content-Disposition` with RFC 8187, `Cache-Control`, `Link`, `Forwarded` with trusted-proxy resolution, `Authorization` and `WWW-Authenticate`, `Host`, `Origin`, and the email lexical layer. Protocol engines frame messages; parse-net reads what is inside a field value, so every engine in the stack shares one strict implementation. It is `no_std` without an allocator, does no I/O, contains no `unsafe`, and has zero dependencies.

## What's in 0.1.0

- The crate manifest: edition 2024, MSRV 1.85, no dependencies, `Apache-2.0 OR MIT`, features `alloc`, `std`, and `encode-lib` declared ahead of their code.
- The crate root: `VERSION`, `#![no_std]`, `#![forbid(unsafe_code)]`, missing docs denied, and `unwrap`, `expect`, `panic`, slice indexing, and printing denied in library code.
- CI on Linux, macOS, and Windows, on stable and 1.85: format, clippy and tests with default, all, and no default features, examples, and documentation with default and all features. A bare-metal `thumbv7em-none-eabi` build proved the crate never reaches for `std`; a separate job checked that the default build has zero runtime dependencies; `cargo package`, `cargo audit`, and `cargo deny` ran on every push.
- `dev/PLAN.md`: purpose, scope and the rule that decides it, 27 functional and 16 non-functional requirements, design principles, modules, the byte-class table, the algorithms (lists, quoted strings, dates, Structured Fields, challenges, ranges, RFC 2231, trusted proxies), the API outline with item ids and versions, 25 threats with their attack tests and costs, performance targets against named competitors, the testing plan, and the decision log (D-001 to D-025).
- `dev/DIRECTIVES.md` (engineering law and definition of done) and `dev/ROADMAP.md` (0.1 to 1.0 with exit criteria).
- A `fuzz/` crate skeleton; targets arrive with the parsers they cover.

## Verification

- Local gate on Windows and WSL Ubuntu, stable and 1.85: format, clippy in three feature modes, tests in three modes, documentation with default and all features, `cargo package` in a fresh target directory, and the bare-metal build.
- CI green on every platform before the tag.

## What's next

`0.2.0` locks the public API in `docs/API.md` with one coverage checklist per consumer (http-net, ws-net, cookie-net, form-net, smtp-net). `0.3.0` ships the core: errors, limits, byte classes, scanning, writers, tokens, quoted strings, lists, parameters, media types, HTTP dates, `Host`, and percent-encoding.

**Full Changelog:** https://github.com/jamesgober/parse-net/commits/v0.1.0