Aiming at the release of pandas 1.5.2 at some point in November, if nothing urgent needs to be fixed and released.
Comment From: datapythonista
@pandas-dev/pandas-core can you please add a comment with any issue/PR you want to fix before 1.5.2 release? If we're not waiting for anything in particular I'll be releasing beginning of next week. If there is something pending we want to wait for, I'll postpone to the beginning of the week after. Thanks!
Comment From: MarcoGorelli
Would like to get a FutureWarning for https://github.com/pandas-dev/pandas/issues/49497 in (as suggested in the last dev meeting) if possible, I'll raise a PR today
PR: https://github.com/pandas-dev/pandas/pull/49640
Comment From: MarcoGorelli
There's still some disagreement on the above PR, I'd suggest we wait until 1.5.3 (which I presume will likely happen before 2.0.0?) to get that in
So, not a blocker, no objections on my end to release on Monday
Comment From: jreback
agree - do not block in the above
Comment From: rhshadrach
Would be good to get #49676 in (it's all set I think); definitely not a blocker.
Comment From: jbrockmendel
There's a spurious warning produced by DataFrame.update that we should fix or at least suppress
Comment From: datapythonista
There's a spurious warning produced by DataFrame.update that we should fix or at least suppress
Is there any work on this, or an issue to track? Planning to start the release shortly.
Comment From: datapythonista
I created the 1.5.3 milestone and rolled all 1.5.2 issues and PR to it. Waiting for the CI of #49705 to complete, and more info from @jbrockmendel on the mentioned warning, and I'm ready to start the release of pandas 1.5.2 after that.
Comment From: jbrockmendel
Is there any work on this, or an issue to track?
49720
Comment From: phofl
This is merged now, so we are good to go?
Comment From: Dr-Irv
Can we add #49736 ?
Comment From: datapythonista
Can we add #49736 ?
Fine by me. I'm planning to release on Monday, I don't want to release end of the week or weekend, in case the new version breaks anything.
Comment From: mroeschke
+1 to release Monday. Whatever doesn't make it can be released in a 1.5.3
Comment From: jreback
yes let's release - delaying doesn't help anything
tbh weekend or not doesn't make any difference
Comment From: datapythonista
Starting the release of pandas 1.5.2
Comment From: datapythonista
The release tests seem to be failing because they consume too much memory. It started happening in the 1.5.x series, where one of the tests failed, but now both the pip and conda tests crash because of the error (in a machine with 16Gb of RAM, with no more than couple of them used by other things).
I'm not sure if we're running the high memory tests in the CI. But it doesn't seem to be affected. If there are no objections, I'll continue with the release of 1.5.2 as planned in some hours, ignore the errors for now, and I'll be checking pandas memory usage before 1.5.3, where we can try to revert to previous usage.
CC: @pandas-dev/pandas-core
Comment From: mroeschke
now both the pip and conda tests crash because of the error
Do those test run with pytest-xdist?
I'm not sure if we're running the high memory tests in the CI
IIRC I combined "high memory" pytest marker to "slow" which we're not running. Generally, CI tests are all running with not slow and not network and not single_cpu
(but there's a build that runs single_cpu
)
Comment From: datapythonista
We are using pytest-xdist
in those tests, yes.
They run with:
python3 -c "import pandas; pandas.test(extra_args=['-m not clipboard', '--skip-slow', '--skip-network', '--skip-db', '-n=2'])"
I'll move forward. Before the next release I'll try to take care of:
- Checking the memory tests, find out if pandas did increase memory usage significantly, and how much, and try to identify the cause and fix.
- Move the release tests to the CI. In theory, my understanding is that we just build the wheels/conda package and run the tests with the packages instead of directly from the source code. Not sure if there is anything else being tested. But I think all can be done in the CI for every commit, and not before the release process.
- Maybe automate most of the release in the CI after that is done, which should be pretty straight-forward.
Comment From: datapythonista
Seems like for the Python 3.9 ARM builds, we're using NumPy 1.19, which is only compatible with Python 3.7 and 3.8. I'll be updating to NumPy 1.20 here unless there is a better idea.
Also, I see we're not using the latest patch releases for the build. For example, for Python 3.8 we're using NumPy 1.19.1 while 1.19.5 is available. Is there any other reason for that other than the latest was used at some point, and it hasn't been upgraded when new releases became available? Would it be worth to simply use 1.19
so the latest release is used?
CC: @lithomas1
Comment From: datapythonista
Increased the numpy of the failing build to the minimum numpy supporting 3.9 (1.19.3) and CI is green now. I just merged the MacPython PR. Also merged the conda-forge PR, so conda-forge packages should be available soon.
It'll be late where I am when the wheels are ready, but will upload them to the pypi in the morning, and will make the announcements.
Comment From: datapythonista
Release complete, I'll be making the official announcements shortly.
Comment From: simonjayhawkins
- Move the release tests to the CI. In theory, my understanding is that we just build the wheels/conda package and run the tests with the packages instead of directly from the source code.
I have a workflow that I have been using as a release readiness test that I used just prior to release https://github.com/simonjayhawkins/pandas-release/actions?query=workflow%3A%22Tag+Release%22.
see for example, https://github.com/pandas-dev/pandas/issues/47485#issuecomment-1232665270
Not sure if there is anything else being tested.
check release notes are in sync to potentially catch missed backports/incorrect location of release notes
But I think all can be done in the CI for every commit, and not before the release process.
IIRC we discussed this before and decided to only port across the sdist build to pandas CI.
Comment From: datapythonista
Thanks @simonjayhawkins this is useful. I moved the procedure and checklist to the docs: https://pandas.pydata.org/docs/dev/development/maintaining.html#release-process I think it matches what you've got (let me know if you see anything missing).
We've got a sdist build now in the CI. Adding the tagging and the testing of pip and coda to our runs probably makes sense. I'd also try to understand better what needs to be done to build the wheels in our repo instead of MacPython. I think it makes more sense to test in every PR all the OS/architectures... instead of knowing if something is wrong during the release process in MacPython. And that would let us automate the whole release I think. Maybe we can eventually have a call with you and @lithomas1 to discuss?