Repository navigation
Releases: agntn/ciphers
Releases · agntn/ciphers
Release list
v0.7.0
🚀 Enhancements
- Take SHA-224 in the OpenPGP S2K (#225)
- block: Open OpenPGP messages keyed by SHA-3 (#226)
- block: Open OpenPGP AEAD messages (#230)
- Add MCP server description and icons (#232)
💅 Refactors
⚠️ Build the CLI with runCli (#229)
⚠️ Breaking Changes
⚠️ Build the CLI with runCli (#229)
❤️ Contributors
- Aeitwoen (@aeitwoen)
- Ori
v0.6.1
v0.6.0
🚀 Enhancements
⚠️ Say what each cipher works on (#190)- Give byte cipher plaintext back as hex (#192)
- classical: Turn letters into A1Z26 numbers (#198)
- stream: Add Salsa20, ChaCha20 and Poly1305 (#201)
- Probe a salted blob across KDF settings (#202)
- Drag a crib across reused XOR keys (#204)
- classical: Read numbers as words of a book (#203)
- tools: Read text hidden by position (#205)
- block: Open what gpg --symmetric writes (#206)
- Recover classical cipher keys (#211)
- Serve the tools from ciphers.agntn.dev/mcp (#212)
🩹 Fixes
- docs: Read number fields in the playground (#195)
- docs: Build the site on Node.js 26 (#197)
- classical: Let a book run on one line (#213)
💅 Refactors
- Take hex and base64 from encodings (#196)
📖 Documentation
- Point base encodings at @agntn/encodings (#188)
🏡 Chore
- Add CODEOWNERS (#200)
⚠️ Breaking Changes
⚠️ Say what each cipher works on (#190)
❤️ Contributors
v0.5.2
v0.5.1
v0.5.0
🚀 Enhancements
- block: Decode CryptoJS passphrase output (#141)
- tools: Add
ciphers_period_estimate(#142) - docs: Let the playground estimate periods (#144)
- tools: Guess the cipher family (#145)
- stream: Add RC4 (#149)
🩹 Fixes
- brute: Rank English shifts by letter pairs (#137)
- bacon: Decode only whole groups of five (#148)
- docs: Let @agntn releases past minimumReleaseAge (#150)
- adfgvx: Refuse codes that aren't whole pairs (#152)
💅 Refactors
- mars: Take SHA-1 from hashes (#140)
- tools:
⚠️ Define each tool once (#146) - block: Derive passphrase keys via hashes (#153)
⚠️ Breaking Changes
- tools:
⚠️ Define each tool once (#146)
❤️ Contributors
v0.4.0
🚀 Enhancements
- docs: Instruments, wiring and category tabs (#113)
- stream: Rabbit opens the stream category (#118)
- aes: ECB on bytes in its own subpath (#125)
- tools:
⚠️ Rename the tools to ciphers_* (#128)
🩹 Fixes
- docs: Page menu stops pointing at a 404 (#130)
- cli: Plain text when piped or NO_COLOR (#132)
- playfair: Refuse a key with no letters (#133)
- columnar: Sort keys the same on every host (#134)
💅 Refactors
- core: Remove the unused withCipherError (#131)
📖 Documentation
📦 Build
- Take vite-plus 1.0.0 from the catalog (#129)
🏡 Chore
⚠️ Drop Node.js 25 (#126)
✅ Tests
- loads: Keep the load report off stderr (#115)
⚠️ Breaking Changes
❤️ Contributors
v0.3.0
🚀 Enhancements
⚠️ File ciphers under a category (#78)- block: AES in ECB mode (#80)
- block: Triple DES with two or three keys (#81)
- block: AES-LRW, a tweak for every block (#82)
- block: AES-CBC, each block tied to the last (#83)
- block: Run AES as a keystream in CFB (#84)
- block: Count blocks up with AES-CTR (#85)
- block: AES-CCM refuses a forged tag (#86)
- block: OFB loops AES over its own output (#87)
- block: Add
aes-ocb(#88) - block: Chain Triple DES blocks with CBC (#90)
- block: Rijndael with blocks up to 256 bits (#91)
- block: AES-XTS steals the short last block (#92)
- block: AES-CBC-MAC tags text, hides nothing (#93)
- block: Blowfish, keyed S-boxes from pi (#94)
- mcp: Run the checkout's source, not dist (#98)
- brute: CLI puts the best --lang fit first (#100)
- block: DES on its own, not only in 3DES (#103)
- block: Wrap DES in two XOR keys as DESX (#104)
- block: IDEA from PGP 2, no tables at all (#105)
- block: Lucifer as Sorkin fixed it in 1984 (#106)
- block: MARS, its S-box grown from SHA-1 (#107)
- block: Serpent runs its S-boxes bitslice (#108)
🩹 Fixes
- release: Leave CHANGELOG to changelogen (#79)
- Block cipher lists follow the registry (#96)
- cli: Stop quietly when the pipe closes (#99)
- tools: Say serpent needs a key (#111)
💅 Refactors
- block: Shared base for block ciphers (#109)
📖 Documentation
⚠️ Breaking Changes
⚠️ File ciphers under a category (#78)
❤️ Contributors
v0.2.0
🚀 Enhancements
- brute: Rank Caesar shifts by letter fit (#67)
- adfgvx: Transpose with a second key (#69)
- frequency: Japanese romaji as ja (#73)
🔥 Performance
- brute: Only the top shift comes back whole (#70)
🩹 Fixes
- frequency: Unknown --lang is an error (#64)
- morse: Leave unknown tokens alone (#65)
- package: Keep docs and tests out of npm (#66)
- columnar:
⚠️ Drop the rate limiter (#68) - frequency: Polish gets its own IC (#71)
- resolve: An unknown name lists the real ones (#72)
🤖 CI
- Test every pull request (#74)
⚠️ Breaking Changes
- columnar:
⚠️ Drop the rate limiter (#68)