• v0.3.0 ea9014dcc0

    v0.3.0
    All checks were successful
    Check / fmt + clippy + build + tests (push) Successful in 28s
    Build binary / Build and publish monkey binary (push) Successful in 1m38s
    Stable

    David released this 2026-05-25 04:17:37 +02:00 | 8 commits to main since this release

    Changelog

    ea9014d Merge pull request 'Release v0.3.0' (#44) from release/v0.3.0 into main
    2595a17 Release v0.3.0
    a4b3c86 feat: Add JetBrains .idea directory to git
    7a360cc Merge pull request 'feat(tuner): carry input_path, replace IDW with replay-then-rate validation (MK-25)' (#43) from feat/tuner-input-path-replay-validation-MK-25 into main
    a33adf0 feat(tuner): carry input_path, replace IDW guess with replay-then-rate
    9b6a0de Merge pull request 'feat(tuner): build monkey-tuner binary for log-driven recipe tuning (MK-10)' (#42) from feat/monkey-tuner-MK-10 into main
    6b75dc3 feat(tuner): build monkey-tuner binary for log-driven recipe tuning
    619188f Merge pull request 'feat(classify): attenuate binary by panel_density so form-scan wins (MK-24)' (#41) from feat/classify-binary-panel-attenuation-MK-24 into main
    d408bf0 feat(classify): attenuate binary by panel_density so form-scan wins
    60f5550 Merge pull request 'fix(classify): tune panel_density thresholds against form-scan corpus (partial, MK-20)' (#40) from feat/classify-panel-density-tune-MK-20 into main
    101aeff fix(classify): tune panel_density thresholds against form-scan corpus (partial)
    0832db5 Merge pull request 'docs: explain AM vs FM screening in README (MK-23)' (#39) from docs/readme-am-fm-MK-23 into main
    3696adf docs: explain AM vs FM screening in the README classify section
    3f44ac4 Merge pull request 'feat(justfile): colour classify-fixtures output and add summary (MK-22)' (#38) from feat/classify-fixtures-color-MK-22 into main
    5bd6f47 feat(justfile): colour MISS lines and add total summary in classify-fixtures
    f5976ae Merge pull request 'docs: add top-level Workflow section to README (MK-21)' (#37) from docs/readme-workflow-MK-21 into main
    c9c9c2d docs: add top-level Workflow section showing the auto -> rate loop
    3999791 Merge pull request 'feat(recipe): ship archival-fidelity form-scan chain (MK-19)' (#36) from feat/recipe-form-scan-archival-MK-19 into main
    8907947 feat(recipe): ship archival-fidelity form-scan chain (MK-19)
    0c415f7 Merge pull request 'feat(classify): add panel_density and wire form-scan into score slate (MK-16)' (#35) from feat/classify-panel-density-MK-16 into main
    179d94c feat(classify): add panel_density and wire form-scan into score slate
    1af5bfd Merge pull request 'feat(classify): split halftone-scan into halftone-scan + form-scan (MK-18)' (#34) from fix/taxonomy-form-scan-MK-18 into main
    664b3c1 feat(classify): split halftone-scan into halftone-scan + form-scan (MK-18)
    df4aba1 Merge pull request 'feat(justfile): add classify-fixtures recipe (MK-15)' (#33) from feat/justfile-classify-fixtures-MK-15 into main
    5887b94 feat(justfile): add classify-fixtures recipe for local validation
    4dbc96e Merge pull request 'fix(classify): replace peak-counting bimodality with Otsu eta (MK-14)' (#32) from fix/classify-otsu-bimodality-MK-14 into main
    b0ebe00 fix(classify): replace peak-counting bimodality with Otsu eta
    9ad4306 Merge pull request 'docs: document pdf to-images/from-images, image diff, ImageMagick filters (MK-11)' (#31) from chore/update-docs-MK-11 into main
    d86bff1 docs: document pdf to-images/from-images, image diff, ImageMagick filters (MK-11)
    f36fd9d Merge pull request 'feat(classify): add graphic class for logos and diagrams (MK-9)' (#30) from feat/classify-graphic-class-MK-9 into main
    10d9c6b fix(classify): raise graphic_palette_max to 256 so brand marks aren't color-photo (review)
    3662591 feat(classify): add graphic class for logos and simple diagrams (MK-9)
    068faf0 Merge pull request 'feat(classify): any-aspect mono page is binary-scan, receipt is the tall specialisation (MK-8)' (#29) from feat/classify-binary-aspect-MK-8 into main
    99f3b1e test(classify): tighten MK-8 boundary test, clarify soft aspect threshold (review)
    42c9d58 feat(classify): accept any-aspect mono page as binary-scan; receipt is the tall specialisation (MK-8)
    96fa5df Merge pull request 'feat(classify): gate halftone-scan to a peak band (MK-7)' (#28) from feat/classify-halftone-ceiling-MK-7 into main
    9d4f489 fix(classify): widen ceiling scale, de-fragilize halftone tests (MK-7 review)
    571d2e6 test(classify): add synthetic line-art rejection, raise floor to 0.70 (MK-7)
    a1b50bc feat(classify): gate halftone-scan to a peak band with halftone_max ceiling (MK-7)
    25fdbfa Merge pull request 'feat(image): add NDJSON feedback log (MK-5 Layer 3, feedback half)' (#27) from feat/image-feedback-log-MK-5 into main
    6faff5b fix(image): set run kind internally, warn on orphan rating, stream hash, self-cleaning test tmpfiles
    ec91012 fix(image): hash canonical recipe steps for recipe_sha; honest durability doc
    7d468d5 feat(image): add NDJSON feedback log (MK-5 Layer 3, feedback half)
    ae1a312 Merge pull request 'feat(image): add auto recipe runner (MK-5 Layer 2)' (#26) from feat/image-auto-detect-MK-5 into main
    9b76fc9 fix(image): reject unknown recipe args/fields, decode once, byte-copy passthrough
    77daf1b feat(image): add auto recipe runner (MK-5 Layer 2)
    5cf0234 Merge pull request 'feat(justfile): fj-driven create-release + group attrs (DEV-331)' (#25) from feat/justfile-fj-pr-create-DEV-331 into main
    9ae5f7d feat(justfile): fj-driven create-release + group attrs (DEV-331)
    7cc0e7d Merge pull request 'feat(image): add classify subcommand (MK-6)' (#24) from feat/image-classify into main
    c46b7b5 feat(image): add classify subcommand for heuristic image typing
    88a3275 Merge pull request 'feat(pdf): add from-images and to-images subcommands (MK-4)' (#23) from feat/pdf-from-to-images into main
    fd13f63 feat(pdf): add from-images and to-images subcommands
    b7715ff Merge pull request 'perf(image): parallelize per-pixel kernels with rayon (MK-3)' (#22) from perf/parallelize-image-kernels into main
    1b4fd1f perf(image): parallelize per-pixel kernels with rayon
    24d83c4 Merge pull request 'perf(bilateral): LUT, interior fast path, rayon, --fast (MK-2)' (#21) from perf/bilateral-lut into main
    78ce92d perf(bilateral): LUT, interior fast path, rayon, separable --fast
    2cb777a Merge pull request 'feat: log per-command processing time (MK-1)' (#20) from feat/per-command-timing into main
    255935d feat: log per-command processing time
    f5844ff Merge pull request 'chore(ci): use http delete instead of curl DELETE' (#19) from chore/use-http-delete into main
    5e54f2b chore(ci): use http delete instead of curl DELETE
    ec52263 Merge pull request 'feat(image): add image diff command (ImageMagick compare equivalent)' (#18) from feat/image-diff into main
    d573e4a feat(image): add image diff command (ImageMagick compare equivalent)
    df389f4 Merge pull request 'refactor(noteshrink): take input + output positional like the other subcommands' (#17) from refactor/noteshrink-single-file into main
    999965b refactor(noteshrink): take input + output positional like the other subcommands
    abba222 Merge pull request 'feat(image): add ImageMagick-equivalent ops (shave/deskew/colors/colorspace/contrast-stretch/density)' (#16) from feat/magick-ops into main
    4f5130f feat(image): add ImageMagick-equivalent ops (shave/deskew/colors/colorspace/contrast-stretch/density)
    d2ed188 Merge pull request 'refactor(ci): build only the binary, no OCI image push' (#15) from refactor/binary-only-workflow into main
    186820a refactor(ci): build only the binary, no OCI image push
    02ebcf8 Merge pull request 'fix(ci): escape parens in Nushell interpolated string' (#13) from fix/nu-string-paren into main
    e4e7edf Merge branch 'main' into fix/nu-string-paren
    1c39ae8 Merge pull request 'fix(ci): satisfy rustfmt and use binary-crate test invocation' (#14) from fix/ci-checks into main
    50fe05f fix(ci): satisfy rustfmt and use binary-crate test invocation
    ec99119 fix(ci): escape parens in Nushell interpolated string
    1f0efd7 Merge pull request 'chore: remove em-dashes per repo style' (#12) from chore/em-dash-sweep into main
    7baa8ea chore: remove em-dashes per repo style
    91b5170 Merge pull request 'chore: bring repo up to governance spec' (#11) from chore/governance-up-to-spec into main
    6fe1f87 chore: bring repo up to governance spec
    664f780 Merge pull request 'chore: rename eyes to monkey under pandoras-box' (#10) from chore/rename-to-pandoras-box-monkey into main
    4206b1f chore: rename eyes to monkey under pandoras-box
    9fa9f6e Merge pull request 'chore: add check workflow and pre-commit recipes' (#9) from chore/checks-and-pre-commit into main
    2a514db chore: add check workflow and pre-commit recipes
    a337d8b Merge pull request 'ci: build from rust-builder-* (rust 1.94)' (#8) from chore/rust-builder-1.94 into main
    0e4e945 ci: build from rust-builder-* (rust 1.94)
    a524a90 Merge pull request 'chore/checkout-v5' (#7) from chore/checkout-v5 into main
    b4a78ee Merge remote-tracking branch 'origin/main' into chore/checkout-v5
    457fe92 chore: Sync .gitignore with other repos
    3245916 ci: bump actions/checkout to v5
    da3757f Merge pull request 'chore: embed version, git hash, and build date in binary' (#6) from chore/version-info into main
    5db96d9 chore: embed version, git hash, and build date in binary
    ccb8a29 Update .forgejo/workflows/build-oci-image.yml
    f7d590d Add LICENSE
    aa062bb Merge pull request 'feat(video): Tune per-codec encoder defaults for quality' (#5) from feat/video-quality-defaults into main
    1c269b2 feat(video): Tune per-codec encoder defaults for quality
    9e93875 Merge pull request 'feat/webm-conversion' (#4) from feat/webm-conversion into main
    89eb67d docs: Add README documenting the CLI and ffmpeg runtime dependency
    d4460b7 refactor(video): Harden convert pre-flight and output atomicity
    c1c5953 chore(video): Broaden crate description to include video
    a64ead4 test(video): Add end-to-end ffmpeg integration test
    6e07ec0 feat(video): Bundle ffmpeg in the runtime Docker image
    9f3f8d8 feat(video): Implement convert by shelling out to ffmpeg
    64bbdcc feat(video): Add ffmpeg argv builder
    8eb87e4 feat(video): Add input-exists and output-overwrite pre-checks
    385db65 feat(video): Add input/output path resolver
    8135d7c refactor(video): Simplify resolve_codec to a single scan
    4fa77fa feat(video): Validate --codec against per-format allowlist
    1e4959a feat(video): Add format spec table with codec allowlists
    9c13d86 feat(video): Add video module skeleton and CLI surface
    7e28f33 docs: Add video conversion implementation plan
    509b39f docs: Add video conversion design spec
    35d4917 Merge pull request 'Release v0.2.1' (#3) from release/v0.2.1 into main
    85e3b68 Release v0.2.1
    489576b Merge pull request 'feat: Add hotfix bump option to create-release recipe' (#2) from feat/hotfix-bump into main
    bd5d609 feat: Add hotfix bump option to create-release recipe
    ee39da5 Merge pull request 'Release v0.2.0' (#1) from release/v0.2.0 into main
    4813cba Release v0.2.0
    4d4b538 feat: Add create-release workflow and update justfile
    326ecd3 fix: Only upload to Dufs on version tags with versioned path
    303add9 fix: Replace curl MKCOL with Nushell http post
    ebc7c33 fix: Use Nushell http put for Dufs upload, curl only for MKCOL
    cc8e55b fix: Use Nushell http commands and separate Dufs credentials
    5746851 fix: Consolidate CI into single workflow with Docker-based build
    d631d62 fix: Use Forgejo runner variable and commit Cargo.lock
    33ccbd3 feat: Build and upload the binary to Dufs
    83bad28 feat: Initial commit with basic features

    Downloads
  • v0.2.1 35d4917eda

    v0.2.1
    All checks were successful
    Build OCI container / Build and push eyes image (push) Successful in 1m22s
    Stable

    David released this 2026-04-16 02:10:24 +02:00 | 117 commits to main since this release

    Changelog

    35d4917 Merge pull request 'Release v0.2.1' (#3) from release/v0.2.1 into main
    85e3b68 Release v0.2.1
    489576b Merge pull request 'feat: Add hotfix bump option to create-release recipe' (#2) from feat/hotfix-bump into main
    bd5d609 feat: Add hotfix bump option to create-release recipe
    ee39da5 Merge pull request 'Release v0.2.0' (#1) from release/v0.2.0 into main
    4813cba Release v0.2.0
    4d4b538 feat: Add create-release workflow and update justfile
    326ecd3 fix: Only upload to Dufs on version tags with versioned path
    303add9 fix: Replace curl MKCOL with Nushell http post
    ebc7c33 fix: Use Nushell http put for Dufs upload, curl only for MKCOL
    cc8e55b fix: Use Nushell http commands and separate Dufs credentials
    5746851 fix: Consolidate CI into single workflow with Docker-based build
    d631d62 fix: Use Forgejo runner variable and commit Cargo.lock
    33ccbd3 feat: Build and upload the binary to Dufs
    83bad28 feat: Initial commit with basic features

    Downloads