FWC-1§12Informative
Versioning & roadmap
How the format grows without breaking the icons already in the wild.
Extension rules
- Reserved flag bits (2–7) are for backward-compatible additions within version 1: features a v1 decoder can safely ignore, such as a hint bit. A new bit MUST NOT change how existing fields are interpreted.
- The version byte is for incompatible changes: a different compression algorithm, a longer header, a new carrier. Bumping it guarantees v1 decoders stop with
unsupportedrather than misparse. - The magic bytes never change. Any future container is still identifiable as a Favicon Web Container by its first two bytes.
Candidates for a future version
| Idea | Mechanism | Status |
|---|---|---|
| Brotli compression | New flag bit once DecompressionStream("brotli") ships in browsers | Blocked on platform |
| Multi-frame ICO | Spread one container across the frames of an .ico, larger capacity at the same tab-icon size | Exploring |
| Content type field | v2 header byte so payloads other than HTML (Markdown, JSON, WASM) are self-describing | Proposed |
| Configurable KDF cost | v2 envelope field with a decoder-enforced ceiling | Proposed |
| Signed containers | Ed25519 signature over header ‖ body so a host can prove authorship without encryption | Proposed |
Change log
| Version | Date | Changes |
|---|---|---|
| FWC-1 draft | 2026-09 | Initial public specification: 12-byte header, noise and lsb carriers, deflate-raw, PBKDF2 + AES-256-GCM |