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])
>> > > >> > > > >>
>> > > >> > > > >
>> > > >> > > >
>> > > >> > >
>> > > >> >
>> > > >>
>> > > >
>> > >
>> >
>>
>

Reply via email to