This is great to hear @Jarek! Yes I think there's a good balance to strike. With this one it's a good learning (crash-course) in what makes an apache release.
Agreed on timing points -- I do think I will likely go forth with the current build process and create a ticket or two for the next. Candidate RC2 coming shortly... On Sat, Nov 29, 2025 at 3:00 PM Jarek Potiuk <[email protected]> wrote: > 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]) > >> > > >> > > > >> > >> > > >> > > > > > >> > > >> > > > > >> > > >> > > > >> > > >> > > >> > > >> > >> > > > > >> > > > >> > > >> > > >
