What changed between 0.2.2 and 0.2.3
From doze-modules history- 0.2.32 NovNo notes for this release.
Same plugin protocol (1) and the same engines (FerretDB 2) throughout, so the upgrade needs no change to doze.hcl.
MongoDB-compatible database (FerretDB v2 over Postgres)
doze/ferret$ doze add ferret0.2.2 sets no oldest doze, so it runs on every doze (0.1.0 and up).
Same plugin protocol (1) and the same engines (FerretDB 2) throughout, so the upgrade needs no change to doze.hcl.
Projects pinned to 0.2.2 keep using it until someone runs doze modules upgrade. Nothing moves on its own: not doze up, not time, not a new release.
$ doze modules upgrade ferret-U postgres, not your OS user.| Platform | File (downloads from GitHub) | SHA-256 | Signature (ed25519) |
|---|---|---|---|
| macOS arm64 aarch64-apple-darwin | ferret-plugin-0.2.2-aarch64-apple-darwin.tar.gz | 7bdde3bfd9c41c01c9b14884e20432486fe82ab5c8e474ca19832cdd986753fb | fvJkg7af…dRCw== |
| Linux arm64 aarch64-unknown-linux-gnu | ferret-plugin-0.2.2-aarch64-unknown-linux-gnu.tar.gz | e962983b1006a0a3469ef1b7b0c11610d07be6c82de0ef0babe0885f6318252b | +C2CokfU…hnCg== |
| Linux x86_64 x86_64-unknown-linux-gnu | ferret-plugin-0.2.2-x86_64-unknown-linux-gnu.tar.gz | 53f98d691f348b3cafe59452083b905196a686521ee0ff0b2ecda44839bd1bcd | 6baucRim…3YCg== |
Every file is under https://github.com/doze-dev/doze-modules/releases/download/ferret/. Intel Macs and Windows have no build; WSL2 uses the Linux x86_64 file.
The index is signed as a whole, and each archive is signed. doze checks both before anything runs, and refuses a module whose checksum or signature doesn't match.
Nu5y8mbj…Wjw= kpZE+ML2…Dg== doze (oldest doze) field sits beside the signed part today. new The design moves it inside.[planned: doze modules verify] Today doze runs these checks itself on every download. The same checks by hand, for macOS arm64. Needs OpenSSL 3: the openssl that ships with macOS has no ed25519 (brew install openssl@3).
# 1. download and hash; compare with the table above $ curl -LO https://github.com/doze-dev/doze-modules/releases/download/ferret/ferret-plugin-0.2.2-aarch64-apple-darwin.tar.gz $ shasum -a 256 ferret-plugin-0.2.2-aarch64-apple-darwin.tar.gz 7bdde3bfd9c41c01c9b14884e20432486fe82ab5c8e474ca19832cdd986753fb ferret-plugin-0.2.2-aarch64-apple-darwin.tar.gz # 2. the signature is over that hex string, with doze's public key $ printf %s 7bdde3bfd9c41c01c9b14884e20432486fe82ab5c8e474ca19832cdd986753fb > digest.txt $ echo 'fvJkg7afxHEWvWPCxD/GO8iGTd+G9V6rrb69aaJk8Mjrrtv5r8iDhl2SOvGCCuABqLfdMtz6NndsJ/GTpjdRCw==' | base64 -d > sig.bin $ (printf '\x30\x2a\x30\x05\x06\x03\x2b\x65\x70\x03\x21\x00'; echo 'Nu5y8mbjYv7XEtNFBXwPVl+C8SBteVApIROefBwGWjw=' | base64 -d) > doze-key.der $ openssl pkeyutl -verify -pubin -keyform DER -inkey doze-key.der -rawin -in digest.txt -sigfile sig.bin Signature Verified Successfully
A project pinned to 0.2.2 carries this entry. doze modules upgrade replaces it whole: release, engines and checksums move together in one reviewable diff. Every platform's checksum goes in, so a teammate on Linux verifies against the same pin you made on a Mac. Pinned and cached means no network at all.
The engine itself is pinned separately, under engines:. Engine versions
modules:
doze/ferret:
version: 0.2.2
protocol: 1
engines:
- "2"
hashes:
aarch64-apple-darwin: sha256:7bdde3bfd9c41c01c9b14884e20432486fe82ab5c8e474ca19832cdd986753fb
aarch64-unknown-linux-gnu: sha256:e962983b1006a0a3469ef1b7b0c11610d07be6c82de0ef0babe0885f6318252b
x86_64-unknown-linux-gnu: sha256:53f98d691f348b3cafe59452083b905196a686521ee0ff0b2ecda44839bd1bcd
# no doze: line; 0.2.2 sets no oldest doze