And just to add " it's ultimately the release manager's decision to release.AFTER passing the vote by PMC" - to be perfectly clear.
On Sat, Nov 29, 2025 at 11:57 PM Jarek Potiuk <[email protected]> wrote: > Also thanks for being responsive Elijah! > > One thing I've learned in ASF projects is that we do not optimise for > "time-to-market". This is something that makes us very different from many > commercial projects out there, and I personally think is a reason for > Open-source success in general. Whether we release today or tomorrow or in > a week, does not ultimately matter. In 3 months, we will not even remember > if the software was released in November or already in December, It will > not matter. But it will matter a lot if we do it as much as possible > "right" today, so that next time we will do it even "better". My personal > approach is "leave the world a bit better every single day, one day at a > time". I think this is something we follow closely here in the ASF and in > Airflow. > > To be perfectly honest - every single time we make our release (like > **every** , **single**, **f...g**, **time**) we find something in our > release process, scripts, docs that needs to be improved.... And we do. You > will find one or two PRs to improve things every time we make a release - > you can see examples from just during the last few days, done by three > different people from the Airflow community: [1], [2]. [3] > > This is despite our release processes running pretty regularly every two > weeks over many years. > > But also this has another side - don't strive for 100% perfectionism and > have everything **right**. Do as much as you can to make it better every > time, but know where you call "quits" and (for example) create an issue > to improve things next time and relentlessly actually resolve the issue > next time. > > Done is better than perfect. > > So I think the most important virtue of a release manager is to decide > when to call "quits" - and it does not matter how many signals you have > from different people that it's not "ready" - it's ultimately the release > manager's decision to release. > > [1] https://github.com/apache/airflow/pull/58818 > [2]. https://github.com/apache/airflow/pull/58794 > [3] https://github.com/apache/airflow/pull/58793 > > J. > > On Sat, Nov 29, 2025 at 11:21 PM Elijah ben Izzy < > [email protected]> wrote: > >> @Jarek, awesome, thank you! >> >> Summary -- this result has failed, we're calling it. I will be sending out >> a new set of files shortly to vote on! >> >> Thanks for the patience everyone. >> >> -Elijah >> >> On Sat, Nov 29, 2025 at 8:28 AM Jarek Potiuk <[email protected]> wrote: >> >> > This is fine. >> > >> > The "incubating" in the name is more on the source release (archives) >> than >> > binary artifacts. The problem with PyPI artifacts is that the name >> > determines the PyPI package and that would be hell of a hassle to >> release >> > with a different package name while incubating. >> > >> > With Airflow we have not done it for sure >> > https://pypi.org/project/apache-airflow/1.9.0/#files -> that was one of >> > the >> > releases we've done (I mean the team back then - I was not around yet) - >> > and we did not have "incubating" in the name. >> > >> > And I think it's clearly specified here >> > https://incubator.apache.org/guides/distribution.html#pypi -> where the >> > only. requirement (which I was going to check with the upcoming release >> ;)) >> > is that the DESCRIPTION of the project should contain (Incubating) - the >> > name of the package is still supposed to be "apache-PROJECT". >> > >> > J, >> > >> > >> > On Sat, Nov 29, 2025 at 2:35 AM Elijah ben Izzy < >> > [email protected]> wrote: >> > >> > > @Jarek -- one question. Currently the files for the wheel don't start >> > with >> > > "incubating" as they match the package name `apache-burr`. Given that >> > we're >> > > not voting on this I think that's OK, but wanted to check in case I'm >> > > missing anything here, I.E. there's a more strict requirement on all >> > files. >> > > >> > > On Fri, Nov 28, 2025 at 5:15 PM Elijah ben Izzy < >> > > [email protected]> wrote: >> > > >> > > > Sure -- folks feel free to keep posting feedback -- we identified >> > another >> > > > (surprising) issue as well. I'm setting up the build so I can do a >> > > tomorrow >> > > > morning proposal. >> > > > >> > > > On Fri, Nov 28, 2025 at 1:57 PM Stefan Krawczyk < >> > > [email protected]> >> > > > wrote: >> > > > >> > > >> let's wait for more feedback in case there are other issues to >> > address? >> > > >> >> > > >> On Fri, Nov 28, 2025 at 12:47 PM Elijah ben Izzy < >> > > >> [email protected]> wrote: >> > > >> >> > > >> > Ok let’s call this vote failed I’m going to do a second RC >> version >> > > >> shortly >> > > >> > after updating headings and specifying license files — hopefully >> > ready >> > > >> > tonight or tomorrow morning. >> > > >> > >> > > >> > Thanks for checking, >> > > >> > - Elijah >> > > >> > >> > > >> > On Fri, Nov 28, 2025 at 11:16 AM Jarek Potiuk <[email protected]> >> > > wrote: >> > > >> > >> > > >> > > I was going to take a look tomorrow (sorry for delays ... >> > travels). >> > > >> > > >> > > >> > > Yep. You need to specify the licence files in pyproject.toml: >> > > >> > > >> > > >> > > license-files = ['LICENSE', 'NOTICE', 'DISCLAIMER'] >> > > >> > > >> > > >> > > On Fri, Nov 28, 2025 at 8:06 PM Stefan Krawczyk < >> > > >> > [email protected] >> > > >> > > > >> > > >> > > wrote: >> > > >> > > >> > > >> > > > Update: in the convenience package the LICENSE is there (in >> the >> > > >> > metadata >> > > >> > > > portion), but the DISCLAIMER and NOTICE are not. Is that >> okay? I >> > > >> assume >> > > >> > > > not? @Jarek do you have any ideas why flit would exclude >> these? >> > > >> > > > >> > > >> > > > On Fri, Nov 28, 2025 at 10:33 AM Stefan Krawczyk < >> > > >> > > > [email protected]> >> > > >> > > > wrote: >> > > >> > > > >> > > >> > > > > >> > > >> > > > > >> > > >> > > > > [ ] +1 Release this package as Apache Burr >> 0.41.0-incubating >> > > >> > > > > [ ] +0 No opinion >> > > >> > > > > *[X] -1 Do not release this package because... * >> > > >> > > > > >> > > >> > > > > *Missing headers in source (excluding files that we cannot >> > put a >> > > >> > header >> > > >> > > > > in):* >> > > >> > > > > >> > > >> > > > > grep -rL "Licensed to the Apache Software Foundation" . >> > > >> > > > > >> > > >> > > > >> > > >> > > >> > > >> > >> > > >> >> > > >> > >> --exclude-dir={.git,.idea,node_modules,__pycache__,venv,target,build,py.typed} >> > > >> > > > > 1. >> > > >> burr/tracking/server/s3/deployment/terraform/.terraform.lock.hcl >> > > >> > > > > 2. The examples in source don't have headers: >> > > >> > > > > >> > > >> > > > > ./examples/deep-researcher/requirements.txt >> > > >> > > > > >> > > >> > > > > ./examples/deep-researcher/notebook.ipynb >> > > >> > > > > >> > > >> > > > > ./examples/streaming-fastapi/notebook.ipynb >> > > >> > > > > >> > > >> > > > > ./examples/multi-modal-chatbot/requirements.txt >> > > >> > > > > >> > > >> > > > > ./examples/multi-modal-chatbot/notebook.ipynb >> > > >> > > > > >> > > >> > > > > ./examples/multi-modal-chatbot/burr_demo.ipynb >> > > >> > > > > >> > > >> > > > > ./examples/email-assistant/requirements.txt >> > > >> > > > > >> > > >> > > > > ./examples/email-assistant/notebook.ipynb >> > > >> > > > > 3. .files in source >> > > >> > > > > >> > > >> > > > > ./.pre-commit-config.yaml >> > > >> > > > > ./.style.yapf >> > > >> > > > > >> > > >> > > > > ./setup.cfg >> > > >> > > > > 4. Telemetry Files >> > > >> > > > > >> > > >> > > > > ./telemetry/ui/.prettierignore >> > > >> > > > > >> > > >> > > > > ./telemetry/ui/public/robots.txt >> > > >> > > > > >> > > >> > > > > ./telemetry/ui/.eslintignore >> > > >> > > > > >> > > >> > > > > *Convenience package issues:* >> > > >> > > > > *1. *missing NOTICE & LICENSE >> > > >> > > > > 2. missing examples required for UI demos to function >> > > >> > > > (ModuleNotFoundError: >> > > >> > > > > No module named 'burr.examples') >> > > >> > > > > >> > > >> > > > > Checklist for reference: >> > > >> > > > > [x] Download links are valid. >> > > >> > > > > [x] Checksums and signatures. >> > > >> > > > > [x] LICENSE/NOTICE files exist in source >> > > >> > > > > [-] LICENSE/NOTICE files exist in convenience whl <---- >> this >> > is >> > > >> > > missing >> > > >> > > > > [x] No unexpected binary files in source >> > > >> > > > > [x] No unexpected binary files in convenience whl >> > > >> > > > > [-] All source files have ASF headers in source >> > > >> > > > > [x] Can compile from source >> > > >> > > > > [x] build script recreates convenience package that was >> > uploaded >> > > >> (see >> > > >> > > > note >> > > >> > > > > below on SHAs being different) >> > > >> > > > > >> > > >> > > > > What I did to validate the source: >> > > >> > > > > >> > > >> > > > > 1. Downloaded release and checked keys >> > > >> > > > > 2. Created python virtual environment and did *`pip >> install >> > > -e >> > > >> > > > > ".[start]" (need to update instructions)* >> > > >> > > > > 3. Ran `burr` to start the UI and checked the demo data >> > > >> > > > > 4. Because I have an OPENAI_API_KEY I was able to run >> the >> > > email >> > > >> > > > > assistant example from the UI and validate the UI works. >> > > >> > > > > 5. Otherwise I went to the examples/hello-world-counter >> > > >> > > > > < >> > > >> > > > >> > > >> > > >> > > >> > >> > > >> >> > > >> > >> https://github.com/apache/burr/blob/main/examples/hello-world-counter/application.py >> > > >> > > > > >> > > >> > > > > to verify that vanilla Burr runs >> > > >> > > > > 6. I compared the convenience whls created -- the file >> > > contents >> > > >> > are >> > > >> > > > > identical (I pip installed *wheeldiff* and manually did >> > > >> *diff)*, >> > > >> > but >> > > >> > > > > due to timestamps, the SHAs are different --* something >> to >> > > >> note in >> > > >> > > the >> > > >> > > > > notes* >> > > >> > > > > 7. I created a new environment for the convenience >> package >> > > and >> > > >> > > > > installed that via pip install "NAME.whl[start]" and >> then >> > > found >> > > >> > the >> > > >> > > > server >> > > >> > > > > did not start. >> > > >> > > > > >> > > >> > > > > >> > > >> > > > > Cheers, >> > > >> > > > > >> > > >> > > > > Stefan >> > > >> > > > > >> > > >> > > > > On Tue, Nov 25, 2025 at 11:07 PM Elijah ben Izzy < >> > > >> > > > > [email protected]> wrote: >> > > >> > > > > >> > > >> > > > >> Hi all! >> > > >> > > > >> >> > > >> > > > >> This is a call for a vote on releasing Apache Burr >> > > >> 0.41.0-incubating >> > > >> > > > >> Release Candidate 1. >> > > >> > > > >> >> > > >> > > > >> This release includes the following changes (see CHANGELOG >> > for >> > > >> > > details). >> > > >> > > > >> See all commits since prior release: >> > > >> > > > >> - >> https://github.com/apache/burr/compare/burr-0.40.2...main >> > > >> > > > >> >> > > >> > > > >> Key changes include: >> > > >> > > > >> - pool-based async PG persister >> > > >> > > > >> - multiple UI updates >> > > >> > > > >> - Apache compatible licenses/build processes >> > > >> > > > >> - bug fixes, typing, etc... >> > > >> > > > >> >> > > >> > > > >> The artifacts for this release candidate can be found at: >> > > >> > > > >> >> > > >> > > > >> >> > > >> > > > >> > > >> > > >> > > >> > >> > > >> >> > > >> > >> https://dist.apache.org/repos/dist/dev/incubator/burr/0.41.0-incubating-RC1 >> > > >> > > > >> >> > > >> > > > >> The Git tag to be voted upon is: v0.41.0 >> > > >> > > > >> >> > > >> > > > >> The release hash is >> a95c7c3f1425db382b367b0d4f888704ea2939f9 >> > > >> > > > >> >> > > >> > > > >> Release artifacts are signed with the following key: >> > > >> > > > >> BB8B72B34AB9A664A109AA17A76CF4C80E4E5355 >> > > >> > > > >> The KEYS file is available at: >> > > >> > > > >> https://downloads.apache.org/incubator/burr/KEYS >> > > >> > > > >> >> > > >> > > > >> Please download, verify, and test the release candidate. >> For >> > > >> testing >> > > >> > > use >> > > >> > > > >> your best judgement. The following may suffice: >> > > >> > > > >> >> > > >> > > > >> 1. Build/run the UI following the instructions in >> > > >> scripts/README.md >> > > >> > > > >> 2. Run the tests in tests/ >> > > >> > > > >> 3. Import into a jupyter notebook and play around >> > > >> > > > >> >> > > >> > > > >> The vote will run for a minimum of 72 hours. >> > > >> > > > >> >> > > >> > > > >> >> > > >> > > > >> On behalf of the Apache Burr PPMC, >> > > >> > > > >> >> > > >> > > > >> Elijah ben Izzy ([email protected]) >> > > >> > > > >> >> > > >> > > > > >> > > >> > > > >> > > >> > > >> > > >> > >> > > >> >> > > > >> > > >> > >> >
