Releases
v0.0.15
Compare
Sorry, something went wrong.
No results found
fix(utils): validate byte_range in fetch_partial; add tests for invalid inputs (1c65b0a )
fix(routers): revert large_file_threshold_bytes to 10 MB; cache detect_format; add FileTooLargeError in URL range path (1410220 )
fix(estimation): enforce max_image_pixels in header-only helpers (security) (41ce964 )
test(estimation): cover header-only fallback branches + range-fetch failure paths (0cade38 )
fix(config): promote LARGE_FILE_THRESHOLD to Settings, lower default to 1 MB (d2d7a3e )
feat(routers): Range-fetch URL mode + multipart header-only short-circuit (3b89858 )
feat(estimation): wire PNG/JPEG header-only path behind FITTED_ESTIMATOR_MODE=active (9bdf4d1 )
feat(bench): add jpeg_header fit pipeline + commit artifact (2859aca )
feat(estimation): add JpegHeaderModel + load_jpeg_header_model loader (d674fcf )
feat(estimation): add LSM source-quality estimation (NumPy broadcast) (d0336ad )
feat(estimation): add JPEG header parser (pure-bytes, security-hardened) (5835bb1 )
feat(bench): add png_header fit pipeline + commit artifact (b33fa6d )
feat(estimation): add PngHeaderModel + load_png_header_model loader (69ca68e )
feat(estimation): add PNG header parser (pure-bytes IHDR) (6363690 )
feat(utils): add fetch_partial for HTTP Range requests (be336d6 )
fix(estimation): bound-check knot betas in artifact validator (706ef99 )
style: fix ruff import ordering + black formatting (32b79f5 )
chore(bench): drop pandas dep from bench/fit/png.py — use numpy directly (fc526d4 )
fix(config,docs): tighten fitted_estimator_mode to Literal + sync docstrings (599fce9 )
fix(estimation): to_thread the fitted PNG helper to unblock event loop (2363d6f )
fix(estimation): defensive try/except + schema validation in fitted PNG path (9db7a93 )
perf(estimation): add input_bpp + quality knots, retrain on full manifest (160a5d6 )
feat(bench): add bench/fit/png.py + commit png_v1.json artifact (3f677e6 )
feat(estimation): wire PNG fitted-BPP path behind FITTED_ESTIMATOR_MODE flag (45e80c5 )
foundation: artifact schema + load union + PNG features (ece38b9 )
test: lift production coverage to 97% (was 90%) (e4c3e1d )
ci(tests): post coverage comment fresh each run instead of editing in place (0a15491 )
docs(avif): polish review nits — clarify colr-kind wording, add invariant note (d26f60e )
fix(avif): exclude ICC profile from pre-flight meta_bytes count (9a6ad23 )
fix(avif,webp): address PR #25 review feedback (33dc7d0 )
fix(svg): allow internal entity declarations, keep XXE/billion-laughs blocked (23ff2c3 )
perf(webp): preset-aware libwebp method (3 for MED/LOW, 4 for HIGH) (0c54be9 )
perf(gif): drop palette quantization for huge animated GIFs (bb39db7 )
perf(avif): pre-flight box-header check skips decode on no-op inputs (cebc74b )
chore(bench): refresh baseline.core.json post iter2 perf wins (c9b15cd )
fix: address PR #23 Copilot review + ruff/black cleanup (fdb8616 )
docs(bench): label quick-mode memory data as process-wide (979c2be )
perf(apng): re-differentiate presets via animation pixel-budget (2b83ef1 )
perf(png): dimension-aware oxipng level + pngquant early-exit (e8dcf4f )
docs(png): clarify pngquant-vs-lossless behavior and pick-smallest tradeoff (e717ea5 )
fix: harden gather, fail-open visibility, estimator subprocess clarity (2371c04 )
perf(ingest): stream multipart uploads + reuse pooled httpx in estimate (903ffa9 )
perf(gcs): off-load synchronous upload to a thread (7cf51f5 )
fix(cloudrun): correct gate math + use --update-env-vars (9c6a1c3 )
perf(docker): drop unused webp apt + use runtime libheif/libde265/libaom (43d03bc )
perf(concurrency): floor compression semaphore at 2 (8afb8d4 )
chore(cloudrun): tune deploy for 8 vCPU / 8 GB instance (cd050a9 )
chore(bench): refresh baseline.core.json post iter1 perf wins (007cc69 )
perf(bmp): vectorize RLE8 boundary detection with numpy (e834d26 )
perf(url-fetch): pool httpx client + stream downloads with running size check (44c3108 )
perf(router): pass detected format through to optimizer dispatch (fd26cbd )
perf(bmp): vectorize palette detection with numpy + early-exit sample (9d0ed58 )
perf(avif,heic): skip strip on lossy presets, drop parallel path (0a8c17e )
perf(apng): pin animated path to oxipng level 2 (b44e4ba )
perf(webp): drop cwebp parallel path (ad01ca4 )
perf(png): skip wasted parallel oxipng baseline (377d723 )
chore(bench): refresh baseline.core.json from Linux Docker (891d129 )
docs(bench): document new measurement axes + capabilities (d1488f1 )
fix(bench): reduce path_thin_gradient_large_png dims to 12000x9000 (eadfe16 )
feat(bench): add 14 non-photo real-world entries to full manifest (88ea4bc )
feat(bench): expand content coverage to 103 corpus entries (09de34a )
feat(bench): guard bench compare against incomparable runs (8cd0a0d )
feat(bench): attribute estimator path on each /estimate response (58a726f )
feat(bench): split load-mode 503s + add fat_input tier + JXL preflight (119d434 )
feat(bench): add SVG synthesizer + expand corpus to 69 entries (c6251ac )
fix: register jxlpy PIL plugin via JXLImagePlugin submodule (#19 ) (c3f124d )
fix(lint): fix unsorted import block in tests/bench/test_tui.py (ruff I001) (b29d335 )
fix(deps): add missing pillow-avif-plugin to requirements.txt (dcbd90f )
feat(bench): add interactive TUI wrapper at python -m bench.tui (5dd2cf7 )
fix(bench): count low-power improvements in CompareResult.improvements (2abf8b3 )
fix(bench): three labeling/path bugs surfaced during command verification (add03e3 )
feat(bench): add /quality-samples/ sub-page with lazy before/after thumbnails (137f2af )
feat(bench): add scorecard view to dashboard for non-technical reviewers (dfcbdd9 )
feat(bench): add --mode pr combining timing, accuracy, and quality (9e39187 )
feat(bench): add per-format rollup at top of comparison report (794c9de )
fix(bench): add noise-floor fallback when iterations<3 in compare gate (d77932e )
ci(bench): convert bench-pr workflow to manual workflow_dispatch trigger (c163972 )
fix(bench): address Copilot review comments on PR #18 (8b47db8 )
fix(ci): install requirements-bench.txt in compare-step container too (d81d111 )
chore(bench): refresh baseline.core.json from Docker-CI run 25189528057 (9418ece )
fix(ci): chown bench output back to runner user after docker run (78027af )
chore(ci): upload bench head.json as artifact (always) (3ecb302 )
fix(bench): load_cases skips missing corpus files by default (1db0919 )
fix(ci): install requirements-bench.txt for psutil + numpy (e47f77c )
feat(bench): add static HTML dashboard for trend visibility (28d5e21 )
feat(bench): wire deep-color (10/12-bit) encoding for JXL/HEIC/AVIF (b7c4be4 )
feat(bench): auto-refresh baseline.core.json on main merges (b78af8a )
feat(bench): SVG/SVGZ pass-through + 10 Wikimedia real-world entries (1fd8fa1 )
feat(bench): add --quality-fast for PR-CI quality gating (089b84d )
fix(bench): add numpy as dev/CI dep (bench needs it; prod doesn't) (86737ef )
feat(bench): add CI baseline + auto-compare on PRs (10197be )
feat(bench): add load mode (concurrent gate-driven contention test) (8e5f412 )
feat(bench): add quality mode (SSIM/PSNR/SSIMULACRA2/butteraugli) (c983749 )
feat(bench): add --isolate flag for timing mode (9793bbc )
feat(bench): add accuracy mode (estimate vs optimize error) (d477295 )
feat(bench): add JXL coverage to core (5 cells, all buckets) (fa9d88d )
fix(bench): stabilize parallelism test against subprocess cold-start (9a33e54 )
feat(bench): expand core corpus to full format × bucket coverage (d90ec46 )
feat(bench): add fetched-corpus tier with v2 manifest + tier tags (27cfd72 )
delete: remove outdated memory and CPU optimization brainstorm and design documents (b8661cf )
feat(bench): add RSS curve sampling to memory mode (f77d981 )
feat(bench): rewrite benchmark + corpus with subprocess-aware measurement (a88c8b8 )
You can’t perform that action at this time.