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

Reply via email to