Skip to content

chore: release master#1

Open
github-actions[bot] wants to merge 1 commit intomasterfrom
release-please--branches--master
Open

chore: release master#1
github-actions[bot] wants to merge 1 commit intomasterfrom
release-please--branches--master

Conversation

@github-actions
Copy link
Copy Markdown

@github-actions github-actions Bot commented Apr 15, 2026

🤖 I have created a release beep boop

4.0.0-lusoris.0

4.0.0-lusoris.0 (2026-04-20)

⚠ BREAKING CHANGES

  • cli: %.6f default + unref skipped frames so Netflix golden gate passes (#55)
  • cli: default CLI score precision changed from %.6f to %.17g. Parsers that string-equal-compare VMAF outputs will see additional digits. Pass --precision=legacy to restore old behavior.

Features

  • ai: Full vmaf-train package — fr/nr/filter families + CLI + registry (91b5558)
  • ai: Model validators + MCP eval + variance head + INT8 PTQ (4/5) (#8) (81f63a4)
  • batch-a: Port four OPEN Netflix upstream PRs (ADR-0131/0132/0134/0135) (#72) (df622ea)
  • ci: Nightly bisect-model-quality + sticky tracker (closes #4) (#41) (6cd4fb0)
  • cli: --precision flag for IEEE-754 round-trip lossless scores (c989fbd)
  • cli: Wire --tiny-model / --tiny-device / --no-reference flags (6381819)
  • dev-llm: Ollama-backed review / commitmsg / docgen helpers (80ead16)
  • DNN session runtime + SYCL list-devices + windows CI (1/5) (#5) (3cfa85b)
  • dnn: Enforce VMAF_TINY_MODEL_DIR path jail on model load (#31) (22ba0e5)
  • dnn: LPIPS-SqueezeNet FR extractor + ONNX + registry entry (#23) (0267dfb)
  • dnn: Multi-input session API + ImageNet RGB tensor helper (#22) (d47481b)
  • dnn: Ordered EP selection + fp16_io host-side cast (#34) (fad2b13)
  • dnn: Runtime op-allowlist walk + tiny-model registry v0 (#21) (e98a220)
  • dnn: Scaffold tiny-AI training, ONNX export, and DNN C seam (d122b72)
  • dnn: Tests + ffmpeg patches + ci dnn job (1e5336d)
  • libvmaf/feature: Port upstream ADM updates (Netflix 966be8d) (#44) (d06dd6c)
  • libvmaf/feature: Port upstream motion updates (Netflix PR #1486) (#45) (9371a0a)
  • libvmaf: Compile picture_pool unconditionally, drop VMAF_PICTURE_POOL gate (#32) (65460e3)
  • libvmaf: DNN runtime — public dnn.h + ORT backend + sidecar loader (9b98594)
  • mcp: Add vmaf-mcp server exposing VMAF to LLM tooling (0f233b8)
  • ms-ssim: NEON bit-identical decimate (ADR-0125) (4531913)
  • ms-ssim: Separable decimate + AVX2/AVX-512 SIMD (ADR-0125) (3283a61)
  • ssimulacra2: Scalar port with libjxl FastGaussian IIR blur (#68) (410cf7b)
  • sycl: Implement USM-backed picture pre-allocation pool (#33) (3f9a134)
  • sycl: Implement vmaf_sycl_import_d3d11_surface (closes #27) (#35) (8ea83f7)

Bug Fixes

  • ai: Bump torch >=2.8 + lightning >=2.5 for CVE fixes (#11) (98da94d)
  • ai: Regenerate bisect cache with pinned pandas 2.3.3 (#42) (cdb9b9e)
  • ci: Coverage gate lcov→gcovr + ORT + lint upstream tests in-tree (#46) (652aa70)
  • ci: Drop dead sycl trigger + consolidate windows.yml into libvmaf.yml (#50) (e01314e)
  • ci: Exclude binary model payloads from mixed-line-ending hook (#36) (0f61607)
  • ci: Post bisect sticky comment via stdin instead of -f @file (#43) (f453d1b)
  • ci: Silence Coverage Gate annotations (upload-artifact v7 + gcovr filter) (#54) (fef9a86)
  • ci: Skip pytest doctest collection of vmaf/resource/ data files (#51) (d23005c)
  • cli: %.6f default + unref skipped frames so Netflix golden gate passes (#55) (aa08d84)
  • cuda: Guard vmaf_picture_ref against NULL src->ref on device-only path (#62) (661a8ac)
  • cuda: Unconditional sm_86/sm_89 cubin coverage + actionable init-failure logging (#60) (d3b6fad)
  • gitleaks: Allowlist manifests/README.md false positive (#59) (5786a70)
  • libvmaf/feature: Free VIF init base pointer on fail path (#47) (d8ab927)
  • libvmaf: Gate -fsycl link arg on icpx CXX, allow gcc/clang host linker (#52) (4a8322d)
  • SIMD bit-identical reductions + CI fixes (#18) (f082cfd)

Documentation

  • Add community hygiene files (SECURITY, CoC, CODEOWNERS, templates) (c28dd78)
  • Add per-distro install guides + BENCHMARKS + hygiene files (fe8c744)
  • Add SYCL backend, SIMD, and GPU documentation (3a0ee4f)
  • Add SYCL bundling guide for self-contained deployment (5fe843f)
  • adr: Supersede 0025/0028/0036 with paraphrased bodies (#37) (4955dde)
  • Consolidate + reorganise documentation tree (#12) (4bbd573)
  • Migrate from Sphinx+Doxygen to MkDocs Material (#17) (40fe6f1)
  • Project-wide doc-substance sweep (ADR-0100 batches 1-4) (#25) (4f3f992)
  • readme: Rewrite for the Lusoris fork, preserve upstream credit (e68befa)
  • tiny-ai: User docs + README row + LFS + release-please subpackages (66bd6bd)

Tests

  • Add SYCL unit tests, GPU validation scores, and benchmark scripts (e704022)

Build System

  • Add SYCL backend to meson build and fix pkgconfig for static linking (c66e478)
  • CUDA 13 + oneAPI 2025.3 + clang-format 22 + black 26 (3/5) (#7) (a7be84c)
  • Dev infra + scaffolding templates + MCP Docker (e1482c8)
  • make: Add lint/format/sec/sbom/netflix-golden targets (a077407)
  • Multi-distro dev setup scripts + extra Dockerfiles (d1cfc97)

CI / Infrastructure

  • Add explicit permissions to workflow files (e6af077)
  • Add lint configs, pre-commit, and GitHub Actions gates (9d72f75)
  • ai: Add DNN-enabled matrix legs (gcc + clang + macOS) (#56) (75ad729)
  • Coverage + assertion-density gates + VPL host upload (replaces #6) (#13) (ea7b524)
  • Fill lint/CI gaps (nightly, docs, editorconfig, iwyu, gitleaks, codeql) (75a581b)
  • lint: Scan push-event delta, not full tree (ADR-0133) (#71) (af65ada)
  • Release-please automation + dependabot groupings (8573524)
  • rule-enforcement: Automate ADR-0100/0105/0106/0108 checks (#63) (1aa45ec)
  • rule-enforcement: Strip markdown emphasis before deliverables grep (ADR-0136) (#73) (95bea61)
  • Update workflows for SYCL, CUDA, and static builds (eaad704)

Miscellaneous

  • adr: Adopt ADR-0108 deep-dive deliverables rule + backfill rebase notes (#39) (d60e63a)
  • adr: Migrate to Nygard one-file-per-decision + golusoris-alignment sweep (#24) (8e3cd22)
  • ci: Finish Node 24 bump — scorecard artifact SHA + nightly-bisect setup-python (#49) (3eb9af7)
  • ci: Rename workflows + Title Case display names (ADR-0116) (#53) (f4379c8)
  • license: Bump Netflix copyright from 2016-2020 to 2016-2026 (c159761)
  • license: Correct fork copyright year to 2026 (0e98c94)
  • license: Re-attribute SYCL files to Lusoris and Claude (a185f8e)
  • lint: Clang-tidy upstream cleanup rounds 2-4 (#2) (722d21f)
  • Post-merge cleanup — CI fix + lint + supply-chain + scorecard + dependabot (#14) (798db39)
  • repo: Add AI-agent scaffolding and engineering-principles docs (b799db5)
  • upstream: Record ours-merge of Netflix 966be8d (already ported in d06dd6c) (fddc5ca)
  • upstream: Record ours-merge of Netflix 966be8d (bookkeeping) (27ce439)
  • vscode: Clangd-first workspace settings + debug launch configs (04d18f1)

Ports from upstream Netflix/vmaf

  • libvmaf: Thread-local locale handling from Netflix/vmaf#1430 (ADR-0137) (#74) (e0e78db)

SYCL Backend

  • Implement oneAPI/SYCL compute backend for ADM, VIF, and Motion (e899082)

CUDA Backend

  • Double-buffer GPU frames and optimize kernels (ea9a9d4)
  • Eliminate ADM decouple intermediate buffers Inline the decouple computation into the CSF and CM kernels, eliminating 6 intermediate buffers (decouple_r, decouple_a, csf_a for both int16 scale-0 and int32 scales 1-3 paths). CSF kernels now read ref/dis DWT2 directly from buffer, compute decouple inline, and write only csf_f. CM kernels inline both decouple_r and csf_a computation per-pixel, reading only csf_f from buffer (needed for 3x3 stencil). Shared device functions extracted to adm_decouple_inline.cuh. The adm_decouple.cu source is no longer compiled. Reduces GPU memory allocation from 30 to ~16.5 buf_sz_one units (~107 MB savings at 4K resolution). (787e338)
  • VIF rd_stride optimization - reduce read buffer allocation Add rd_stride field to VifBufferCuda for texture-aligned read buffer access. Compute rd_stride with tex_alignment padding, reducing allocation from full frame_size to rd_size (rd_stride * ceil(h/2)). Update filter1d.cu kernels to use rd_stride for rd buffer indexing. (0d2a196)

SIMD

  • Add ARM NEON implementations for feature extractors (e020421)
  • Add x86 AVX2/AVX-512 implementations for feature extractors (81fcd42)
  • Use double-precision accumulation in float ADM reductions Float ADM sum_cube and csf_den_scale functions accumulated cubed values in float32, causing ~8e-5 drift between scalar and SIMD paths due to different accumulation order. Fix by computing val^3 in float SIMD, converting to double via _mm256_cvtps_pd / _mm512_cvtps_pd before accumulating, and using double for outer accumulators in all paths (scalar, AVX2, AVX512). Update test expectations accordingly. (24c88a3)
0.2.0

0.2.0 (2026-04-20)

Features

  • ai: Full vmaf-train package — fr/nr/filter families + CLI + registry (91b5558)
  • ai: Model validators + MCP eval + variance head + INT8 PTQ (4/5) (#8) (81f63a4)
  • ci: Nightly bisect-model-quality + sticky tracker (closes #4) (#41) (6cd4fb0)
  • DNN session runtime + SYCL list-devices + windows CI (1/5) (#5) (3cfa85b)
  • dnn: LPIPS-SqueezeNet FR extractor + ONNX + registry entry (#23) (0267dfb)
  • dnn: Scaffold tiny-AI training, ONNX export, and DNN C seam (d122b72)

Bug Fixes

  • ai: Bump torch >=2.8 + lightning >=2.5 for CVE fixes (#11) (98da94d)
  • ai: Regenerate bisect cache with pinned pandas 2.3.3 (#42) (cdb9b9e)
  • SIMD bit-identical reductions + CI fixes (#18) (f082cfd)

Build System

  • CUDA 13 + oneAPI 2025.3 + clang-format 22 + black 26 (3/5) (#7) (a7be84c)

Miscellaneous

  • adr: Migrate to Nygard one-file-per-decision + golusoris-alignment sweep (#24) (8e3cd22)
  • lint: Clang-tidy upstream cleanup rounds 2-4 (#2) (722d21f)
  • Post-merge cleanup — CI fix + lint + supply-chain + scorecard + dependabot (#14) (798db39)
  • upstream: Record ours-merge of Netflix 966be8d (already ported in d06dd6c) (fddc5ca)
  • upstream: Record ours-merge of Netflix 966be8d (bookkeeping) (27ce439)
0.2.0

0.2.0 (2026-04-20)

Features

  • ai: Model validators + MCP eval + variance head + INT8 PTQ (4/5) (#8) (81f63a4)
  • dev-llm: Ollama-backed review / commitmsg / docgen helpers (80ead16)

Miscellaneous

  • Post-merge cleanup — CI fix + lint + supply-chain + scorecard + dependabot (#14) (798db39)
  • upstream: Record ours-merge of Netflix 966be8d (already ported in d06dd6c) (fddc5ca)
  • upstream: Record ours-merge of Netflix 966be8d (bookkeeping) (27ce439)
0.2.0

0.2.0 (2026-04-20)

Features

  • ai: Model validators + MCP eval + variance head + INT8 PTQ (4/5) (#8) (81f63a4)
  • mcp: Add vmaf-mcp server exposing VMAF to LLM tooling (0f233b8)

Miscellaneous

  • Post-merge cleanup — CI fix + lint + supply-chain + scorecard + dependabot (#14) (798db39)
  • upstream: Record ours-merge of Netflix 966be8d (already ported in d06dd6c) (fddc5ca)
  • upstream: Record ours-merge of Netflix 966be8d (bookkeeping) (27ce439)

This PR was generated with Release Please. See documentation.

@github-actions github-actions Bot requested a review from lusoris as a code owner April 15, 2026 20:47
@github-actions github-actions Bot force-pushed the release-please--branches--master branch 28 times, most recently from 0c8e626 to e3afe86 Compare April 18, 2026 12:22
@github-actions github-actions Bot force-pushed the release-please--branches--master branch from e3afe86 to 8a88e10 Compare April 18, 2026 13:10
@github-actions github-actions Bot force-pushed the release-please--branches--master branch 23 times, most recently from 6b6187f to ebe17b6 Compare April 20, 2026 21:47
@github-actions github-actions Bot force-pushed the release-please--branches--master branch from ebe17b6 to f39308a Compare April 20, 2026 23:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

libvmaf_sycl: vmaf_sycl_import_d3d11_surface declared in public header but never implemented Wire bisect-model-quality into a nightly CI workflow

0 participants