Releases: mqxym/cryptit
v2.2.9
What's Changed
- set dependabot bun allow list to production by @mqxym in #128
- chore(ci): bump aquasecurity/setup-trivy from 0.2.4 to 0.2.5 by @dependabot[bot] in #129
- chore(docker): bump oven/bun from 1.3.5-alpine to 1.3.12-alpine by @dependabot[bot] in #140
- chore(ci): bump docker/setup-qemu-action from 3 to 4 by @dependabot[bot] in #138
- chore(ci): bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in #137
- chore(ci): bump actions/download-artifact from 7 to 8 by @dependabot[bot] in #135
- chore(ci): bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #136
- Mqxym/dev by @mqxym in #141
- fix(types): resolve WebCrypto BufferSource incompatibilities and Argo… by @mqxym in #142
Full Changelog: v2.2.8...v2.2.9
v2.2.8
@mqxym/cryptit Changelog
Version 2.2.8
What's Changed
Main Dependencies:
- No runtime dependency changes
Development:
- Bump @typescript-eslint/parser from 8.48.1 to 8.50.0
- Bump @typescript-eslint/eslint-plugin from 8.48.1 to 8.50.0
- Bump eslint from 9.39.1 to 9.39.2
- Bump @types/bun from 1.3.3 to 1.3.5
Infrastructure / CI:
- Bump actions/download-artifact from 6 to 7
Docker Infrastructure:
- Bump oven/bun from 1.3.3-alpine to 1.3.5-alpine
v2.2.7
@mqxym/cryptit Changelog
Version 2.2.7
What's Changed
- Bump Node to v22
Main Dependencies:
- Bump @noble/ciphers from 2.0.1 to 2.1.1
Development:
- Bump @typescript-eslint/parser from 8.46.4 to 8.48.1
- Bump @typescript-eslint/eslint-plugin from 8.46.4 to 8.48.1
- Bump execa from 9.6.0 to 9.6.1
- Bump @types/bun from 1.3.2 to 1.3.3
Docker Infrastructure:
- Bump alpine base image from 3.22 to 3.23
- Bump oven/bun from 1.3.2-alpine to 1.3.3-alpine
v2.2.6
v2.2.5
@mqxym/cryptit Changelog
Version 2.2.4
What's Changed
- Fix xss by @mqxym in #84
- chore(docker): bump oven/bun from 1.3.0-alpine to 1.3.1-alpine by @dependabot[bot] in #79
- chore(ci): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #78
- chore(ci): bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #77
- chore(bun): bump @typescript-eslint/eslint-plugin from 8.46.1 to 8.46.2 by @dependabot[bot] in #83
- chore(bun): bump @typescript-eslint/parser from 8.46.1 to 8.46.2 by @dependabot[bot] in #82
- chore(bun): bump @types/node from 24.8.1 to 24.9.1 by @dependabot[bot] in #81
- chore(bun): bump @types/bun from 1.3.0 to 1.3.1 by @dependabot[bot] in #80
- Mqxym/dev by @mqxym in #85
Full Changelog: v2.2.4...v2.2.5
v2.2.4
@mqxym/cryptit Changelog
Version 2.2.4
What's Changed
- add file encryption / decode / stream examples by @mqxym in #69
- strengthen stream download on mobile devices, set safari limit for fi… by @mqxym in #70
- chore(ci): bump actions/setup-node from 5 to 6 by @dependabot[bot] in #71
- chore(bun): bump @typescript-eslint/parser from 8.46.0 to 8.46.1 by @dependabot[bot] in #75
- chore(bun): bump @types/node from 24.7.1 to 24.8.1 by @dependabot[bot] in #74
- chore(bun): bump @typescript-eslint/eslint-plugin from 8.46.0 to 8.46.1 by @dependabot[bot] in #73
- chore(bun): bump eslint from 9.37.0 to 9.38.0 by @dependabot[bot] in #72
- Mqxym/dev by @mqxym in #76
Full Changelog: v2.2.3...v2.2.4
v2.2.3
@mqxym/cryptit Changelog
Version 2.2.3
What's Changed
- chore(docker): bump oven/bun from 1.2.22-alpine to 1.2.23-alpine by @dependabot[bot] in #53
- Dev by @mqxym in #61
- chore(bun): bump @types/bun from 1.2.23 to 1.3.0 by @dependabot[bot] in #67
- chore(ci): bump github/codeql-action from 3 to 4 by @dependabot[bot] in #63
- chore(docker): bump oven/bun from 1.2.23-alpine to 1.3.0-alpine by @dependabot[bot] in #62
- chore(bun): bump @typescript-eslint/parser from 8.45.0 to 8.46.0 by @dependabot[bot] in #66
- chore(bun): bump @typescript-eslint/eslint-plugin from 8.45.0 to 8.46.0 by @dependabot[bot] in #64
- Mqxym/dev by @mqxym in #68
Full Changelog: v2.2.2...v2.2.3
v2.2.2
@mqxym/cryptit Changelog
Version 2.2.2
What's Changed
- update npm-release.yml (fix version step) by @mqxym in #52
- chore(bun): bump eslint from 9.36.0 to 9.37.0 by @dependabot[bot] in #59
- chore(bun): bump @types/bun from 1.2.22 to 1.2.23 by @dependabot[bot] in #58
- chore(bun): bump typescript from 5.9.2 to 5.9.3 by @dependabot[bot] in #57
- chore(bun): bump @typescript-eslint/parser from 8.44.0 to 8.45.0 by @dependabot[bot] in #56
- chore(bun): bump @types/node from 24.5.2 to 24.6.2 by @dependabot[bot] in #55
- chore(bun): bump @typescript-eslint/eslint-plugin from 8.44.0 to 8.45.0 by @dependabot[bot] in #54
- chore(bun): bump @noble/ciphers from 2.0.0 to 2.0.1 by @dependabot[bot] in #49
- Version 2.2.2 by @mqxym in #60
- Version Bump
- New tests and CI (Docker end-to-end)
- New performance benchmarkt script implemented in python3.12
- Benchmark within
README.md
Full Changelog: v2.2.1...v2.2.2
v2.2.1
@mqxym/cryptit Changelog
Version 2.2.1
Overview
This patch release focuses on fixing critical issues in streaming decryption, CLI behavior, type safety, and edge-case handling. It improves stability, security, and developer experience. Documentation and tests have been updated to reflect the corrected behavior.
Fixes
-
Streaming decryption
- Fixed rejection of valid frames when writer used a larger
chunkSizethan the reader. - Fixed issue where truncated last frames were silently dropped on flush.
- Fixed rejection of valid frames when writer used a larger
-
CLI
- Corrected
assertWritableerror handling (no longer throws misleadingENOENTbefore friendly error). - Fixed decode STDIN limit constant (previously off by ~0.62 GiB).
- Corrected
-
Engines
- Fixed brittle type import paths in AES and XChaCha engines.
-
API & Data Handling
- Fixed
Cryptit.peekHeaderunreachable branch and clarified behavior for Blob inputs. - Fixed
decodeDatathrowing on header-only containers (empty plaintext).
- Fixed
-
Documentation & Tests
- README now includes section about AAD (Additional Authenticated Data) and compatibility notes.
- Added new tests confirming correct behavior of the fixes.
Version 2.2.0
Breaking Changes
-
Text Encryption
- Introduced 8 to 16-bit padding for text encryption.
- Legacy support added for CLI with
--legacyflag (decryptanddecrypt-textcommands). This sets the newacceptUnauthenticatedHeaderoption, allowing decryption of payloads created before v1.0.0.
NOTE: This functionality will be removed in a future release.
Overview
This release introduces a new fake data generation API/command for obfuscation and testing, padding improvements for encryption, and significant internal refactoring of algorithms. It also enhances CLI output, build artifacts, and examples, making the project more robust for real-world usage.
Details
-
Fake Data
-
Added
generateFakeData(payloadLength, usePadding: boolean)API:- Supports
Uint8Arrayoutput. - When padding is enabled, payloads are a minimum of 16 bytes and rounded up to the nearest 8 bytes (mimicking realistic encryption outputs).
- Supports
-
New CLI command:
cryptit fake-data [options] <length>
Options:-o, --out <file>: output to file (default STDOUT).--base64: encode output as Base64 (adds trailing newline).--use-padding: rounds length for realistic text payloads.
-
Emits valid Cryptit header +
<length>random bytes.
-
-
Algorithms
- Reworked
algorithms/*with an in-code documented magic48-crc8 padding procedure (collision probability < 1 in a trillion). - Both AES-GCM and XChaCha20 now share a parent class handling AAD (padding metadata included in AAD).
- On decryption, padding AAD checks are not enforced to preserve backward compatibility with pre-2.2.0 payloads. NOTE This will be removed in future releases.
- Reworked
-
Build & CLI
- Browser builds now include algorithm names.
- CLI builds/releases now embed the package version in their name.
-
Examples
- Unified vanilla JS examples for clarity.
- Added waiting indicator for encrypt/decrypt actions.
v2.1.7
@mqxym/cryptit Changelog
Version 2.1.7
What's Changed
- chore(bun): bump eslint from 9.34.0 to 9.36.0 by @dependabot[bot] in #46
- chore(bun): bump @types/node from 24.4.0 to 24.5.2 by @dependabot[bot] in #44
- chore(docker): bump oven/bun from 1.2.21-alpine to 1.2.22-alpine by @dependabot[bot] in #41
- Version 2 1 7 by @mqxym in #47
Full Changelog: v2.1.6...v2.1.7