Skip to content

RLS: 2.3.1 #61590

@mroeschke

Description

@mroeschke
Member

Placeholder issue if we decide to release 2.3.1. At the time of writing this issue, it's expected that pandas 3.0 would be the next version #57064

Notable tasks for 2.3.1:

Activity

added this to the 2.3.1 milestone on Jun 8, 2025
simonjayhawkins

simonjayhawkins commented on Jun 9, 2025

@simonjayhawkins
Member

Thanks @mroeschke for opening this issue.

Placeholder issue if we decide to release 2.3.1.

RLS 2.3 was driven by the need to release to the community for evaluation/experimentation the new np.nan variant of the nullable string dtype (both object fallback and pyarrow backed).

So it would be, to me, a reasonable assumption that any issues reported regarding this new dtype would be fixed in the 2.3.x branch. Not providing these fixes to the community until the 3.0 release candidate would not allow time for proper evaluation/feedback?

The new string dtype is behind a feature flag and experimental so changes to behavior could be added in a patch release? and not need to wait for a minor/major release?

PDEP-14 states "The 2.3.0 release would then have all future string functionality available". Did all the issues related to the new dtype get into 2.3.0? I can see there are a few stale PRs for the string dtype that presumably still need to be resolved. These could be included in a patch release?

So at this time i think it may be appropriate to assume that we will need to actively maintain the 2.3.x branch and that patch releases are more likely than not?

At the time of writing this issue, it's expected that pandas 3.0 would be the next version #57064

releasing 3.0 before an reasonable amount of time has elapsed would defeat the whole purpose and exercise of creating a 2.3 release. Some contributors have suggested a release cadence of 4 months between minor releases, but 6 months is probably more realistic?

There is a deprecation in 2.3 related to str.contains. It may not be relevant or too significant but our deprecation policy, PDEP-17 states:

Deprecated functionality should remain unchanged in at least 2 minor releases before being changed or removed
Deprecations should initially use DeprecationWarning, and then be switched to FutureWarning in the last minor release before the major release they are planned to be removed in

#59615 used a FutureWarning so we don't need to consider the 2nd clause. However, to honor the first clause may strictly require a 2.4 release before the behavior is then changed in 3.0? A pragmatic approach may be needed but also consideration to not making a mockery of the deprecation policy. Or just postpone enforcing that deprecation until 4.0.

#59328 gives an overview of breaking changes

simonjayhawkins

simonjayhawkins commented on Jun 9, 2025

@simonjayhawkins
Member

#59328 gives an overview of breaking changes

There was consideration to including the breaking changes in the 2.3 release notes. This wasn't done in time for the 2.3 an hence the changes not yet communicated to the community.

simonjayhawkins

simonjayhawkins commented on Jun 10, 2025

@simonjayhawkins
Member

@mroeschke ive installed 2.3 and then installed pyarrow using mamba. The pyarrow version installed is 20.0.0.

It seems this combo doesn't work? Is there any fixes that should be backported or changes to conda-forge instead?

mroeschke

mroeschke commented on Jun 10, 2025

@mroeschke
MemberAuthor

It seems this combo doesn't work? Is there any fixes that should be backported or changes to conda-forge instead?

What error shows up they are installed together? There's a possibly the conda-forge recipe is kinda out of sync with our dependencies in pyproject.toml

simonjayhawkins

simonjayhawkins commented on Jun 10, 2025

@simonjayhawkins
Member

so i've just switched kernels back after using pyArrow 19.0.1 and the notebook is running fine now with 20.0.0. So it looks like it was an issue on my end.

jorisvandenbossche

jorisvandenbossche commented on Jul 1, 2025

@jorisvandenbossche
Member

On the technical side, I think I have backported all PRs that we forgot to backport for 2.3.0 or that were merged since 2.3.0 to main and should target 2.3.1 (based on our "Still Needs Manual Backport" label).
I think that mostly leaves the CI / packaging (3.9 wheels) related changes that we should include, listed in the top post (@mroeschke do you have some time to look at those?)

On the communication side, I would still like to update the 2.3.0 release notes to include more details about the upcoming changes, because right now we didn't actually really communicate about this when releasing 2.3.0. I am currently first creating this content for the 3.0.0 release notes (#61724), and when that is done I would also add a distilled version of that to the 2.3.0 and 2.3.1 release notes, mentioning the opt-in feature flags.
And that content also refers to the migration guide I started at #61705. Feedback and proofreading of those documentation proposals is very welcome.

Regarding a timeline for 2.3.1, I think we already have enough changes to warrant a release (once the packaging/CI issues are resolved), and personally I would have time for this first half of next week.

simonjayhawkins

simonjayhawkins commented on Jul 1, 2025

@simonjayhawkins
Member

Regarding a timeline for 2.3.1, I think we already have enough changes to warrant a release (once the packaging/CI issues are resolved), and personally I would have time for this first half of next week.

+1

simonjayhawkins

simonjayhawkins commented on Jul 1, 2025

@simonjayhawkins
Member

On the communication side, I would still like to update the 2.3.0 release notes to include more details about the upcoming changes, because right now we didn't actually really communicate about this when releasing 2.3.0. I am currently first creating this content for the 3.0.0 release notes (#61724), and when that is done I would also add a distilled version of that to the 2.3.0 and 2.3.1 release notes, mentioning the opt-in feature flags.
And that content also refers to the migration guide I started at #61705. Feedback and proofreading of those documentation proposals is very welcome.

@jorisvandenbossche it would be good to get that into 2.3.1 but maybe not a blocker. Hopefully I will be able to help and to go over your docs if not this week, maybe at the weekend. But yes, if these can be included in 2.3.1 also, that'll be a bonus.

simonjayhawkins

simonjayhawkins commented on Jul 7, 2025

@simonjayhawkins
Member

@jorisvandenbossche If you doing a release today, what about #61771? Ready to merge? Will it be backported?

jorisvandenbossche

jorisvandenbossche commented on Jul 7, 2025

@jorisvandenbossche
Member

Released at https://github.com/pandas-dev/pandas/releases/tag/v2.3.1, and wheels are up at https://pypi.org/project/pandas/2.3.1 (I think all wheels are uploaded now, downloaded a bunch of them manually because our download script does not fetch all of them). Will wait on the conda-forge builds for announcing

jorisvandenbossche

jorisvandenbossche commented on Jul 8, 2025

@jorisvandenbossche
Member

FWIW the conda-forge release is currently blocked by some failing CI in conda-forge/pandas-feedstock#228

jbrockmendel

jbrockmendel commented on Jul 23, 2025

@jbrockmendel
Member

closable?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @jorisvandenbossche@jbrockmendel@mroeschke@simonjayhawkins

        Issue actions

          RLS: 2.3.1 · Issue #61590 · pandas-dev/pandas