+1 (non-binding) *Validated from source:*
- Release branch and RC tag point at the same clean commit, no drift past what was put up for vote. - Source tree is clean: no node_modules, no built UI assets, no stray binaries or archives. The single burr/example symlink is tracked in git and legitimate. - LICENSE, NOTICE, and DISCLAIMER are present. LICENSE-wheel carries the generated third-party section covering the bundled npm packages, and the license-generation check runs in CI, so the list won't drift silently on the next dependency bump. This addresses the RC0 blocker. I did not re-verify the artifact checksums or GPG signatures; the binding voters have already covered that. Regards, Viquar Khan On Fri, Aug 14, 2026 at 11:38 PM Elijah ben Izzy < [email protected]> wrote: > +1 (binding) > > Checked: > - 9 artifacts, SHA512 + GPG all verify (Jernej's key, in KEYS) > - Source matches tag v0.43.0-incubating-RC1 (971a3530); RAT 0 unapproved on > src > - LICENSE / NOTICE / DISCLAIMER present in src, sdist, wheel > - Re-checked the RC0 blocker: LICENSE-wheel covers all 130 npm packages in > the Vite bundle, all Cat-A (MIT/BSD-3/ISC/Apache-2.0/PSF), no Cat-X. > Independently spot-verified Jarek's 4 "legit absence" claims > (micromark-util-symbol, highlight.js, prismjs, reactflow sub-packages) plus > the top-20 by prominence -- all accounted for. MPL/CC-BY hits in > LICENSE-wheel are attribution text inside react-icons' own MIT license; no > react-icons subpackage is imported in the UI src and zero Ci*/Fa* hits in > the shipped bundle. Not distributed. > - generate_wheel_license.py --check runs in release-validation.yml -- won't > drift silently on next dep bump. > - Fresh venv install of the wheel works: import burr, burr --help, tracking > server serves the Vite bundle (index-D7mZX6DE.js + index-CCnzmWxs.css) at > HTTP 200. > > Non-blocking follow-ups for a later release (nothing here needs a new RC): > - Sdist filename apache-burr-0.43.0-incubating-sdist.tar.gz breaks the > PEP-517 <name>-<version>.tar.gz convention -- pip install <url> won't infer > the version. Worth reverting or calling out in the announce. > - Sdist ships without .rat-excludes -- RAT on sdist flags 21 demo log.jsonl > + 2 already-MIT-attributed deep-researcher .py. Ship .rat-excludes in sdist > next time, or add headers. > - burr.__version__ attribute missing; only > importlib.metadata.version("apache-burr") works. Minor DX. > - 3 duplicate "opentelemetry ... already instrumented" warnings on server > start. Cosmetic. > > Stefan's #882 covers the earlier non-blockers. > > Thanks Jernej -- good turnaround on RC0. > > Elijah > > On Thu, Aug 13, 2026 at 4:03 AM Jarek Potiuk <[email protected]> wrote: > > > Hello Jernej, > > > > [X] +1 Release this as Apache Burr 0.43.0 (binding) > > [ ] +0 > > [ ] -1 Do not release this package because... (reason required) > > > > Checklist: > > [X] Download links are valid > > [X] Checksums and signatures are valid > > [X] LICENSE/NOTICE/DISCLAIMER files exist and are correct > > [X] No unexpected binary files in source > > [X] All source files have ASF headers > > [X] Can build and test from source > > > > I gave a binding -1 on RC0 over the wheel's LICENSE not accounting for > the > > npm packages bundled into the compiled tracking UI. RC1 fixes that > > properly, > > so I am +1 here. > > > > On the LICENSE fix specifically, since it was the blocker: > > > > - LICENSE-wheel now carries a generated "THIRD-PARTY COMPONENTS BUNDLED > IN > > THIS BINARY DISTRIBUTION" section listing 130 npm packages with their > > licenses and copyright lines. Licenses are Apache-2.0, BSD-3-Clause, > ISC, > > MIT and PSF -- no Category X. > > - It is generated, not hand-maintained: scripts/generate_wheel_license.py > > derives the list from a `vite build --sourcemap` run, resolving each > > node_modules source back to its owning package. That is the right way > to > > do this, and it is the part that makes me confident it will not > silently > > drift on the next dependency bump. > > - `generate_wheel_license.py --check` runs in CI > > (.github/workflows/release-validation.yml), so a stale list fails the > > build rather than costing another RC. > > - All 130 listed entries match telemetry/ui/package-lock.json versions > > exactly, and none of them is a dev-only dependency. > > - I spot-checked the packages that look like they *should* be in the list > > but are not -- micromark-util-symbol, highlight.js/lowlight, prismjs, > > @floating-ui/core, reactflow, react-router-dom, character-entities -- > by > > grepping the shipped minified bundle for their distinctive string > > literals. Each absence is legitimate: micromark ships constant-folded > > builds so its symbol package contributes no code, the UI imports > > { Prism as SyntaxHighlighter } so the highlight.js path is tree-shaken > > out, and the rest are type-only or re-export-only. The list is > accurate, > > not merely plausible. > > > > The rest of my verification: > > > > - All three SHA-512 checksums verify, and all three detached signatures > are > > good against the KEYS file at > > https://downloads.apache.org/incubator/burr/KEYS, signed by Jernej > > Frank, > > 3959 450E 4AA8 9991 1547 112F 25CA 7FC3 4D7C 68C1. > > - The signed tag v0.43.0-incubating-RC1 (object 30f4a9aa, commit > 971a3530) > > matches the tag on GitHub. The source tarball is byte-identical to that > > tag: 820 files, every SHA-256 equal. > > - No compiled objects, archives or built UI assets in the source > artifact. > > The single symlink (burr/examples -> ../examples) is present in git > too. > > - scripts/check_asf_headers.py reports clean. > > - `twine check` passes on the wheel and the sdist, and the project's own > > verify_apache_artifacts.py signatures/artifacts checks pass on all > three > > artifacts. > > - Python test suite from the source tarball on 3.12: 665 passed, 5 > skipped. > > The two Ray tests did not run in my sandbox (Ray wants /tmp/ray and > unix > > sockets); that is my environment, not the release. > > - The released wheel installs cleanly, reports 0.43.0, and the core, > > tracking and server modules import with the relevant extras. > > > > Two cosmetic follow-ups for a later release, on top of the ones Stefan > > already raised in #882: > > > > - scripts/README.md's policy table says tests ship in the sdist, but the > > sdist has no tests/ directory. They are in the voting src.tar.gz, so > the > > artifacts are fine -- it is the doc that is out of step. > > - verify_apache_artifacts.py's `signatures` command reports FAIL for > every > > non-artifact file that happens to sit in the directory it scans (it > > flagged the KEYS file I had downloaded alongside the artifacts as > > "missing .asc"). Worth filtering to the expected artifact names so > voters > > do not see spurious failures. > > > > Thanks for turning RC0 around quickly. > > > > Jarek > > >
