From 63f6cb897eb7aa2659607d2cceef3ebc53e7d5f1 Mon Sep 17 00:00:00 2001 From: Kevin Sheppard Date: Fri, 6 Nov 2026 12:11:39 +0000 Subject: [PATCH 1/3] DOC: Start the 7.2 release notes 7.2 adds wheels for Windows on ARM64 for CPython 3.13 to 3.15, which PyPI did not accept for 7.1 because it takes the files of a release only for 14 days after its first upload. The section also has the changes merged since 7.1: the out-of-sample panel predict options that now raise (#768, #849), the tests that failed on FreeBSD and the README instructions for running the tests (#853, #854), and the Windows ARM64 job of the CI. The Dependabot updates and the CodeQL clean-up of the tests (#855) are not listed. --- doc/source/changes/7.0.rst | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/doc/source/changes/7.0.rst b/doc/source/changes/7.0.rst index 355b7c108e..a5c413da39 100644 --- a/doc/source/changes/7.0.rst +++ b/doc/source/changes/7.0.rst @@ -1,3 +1,39 @@ +Version 7.2 +----------- + +.. TODO(REL): Add the release date. + +Version 7.2 adds wheels for Windows on ARM64 (CPython 3.13 to 3.15). PyPI accepts the +files of a release only for 14 days after its first upload, so these wheels could not +be added to 7.1. 7.2 also contains the fixes below. + +.. TODO(R2): Add the pull requests that are merged for 7.2 (#850, #858, #859, #860, + #862) and the answer to decision 85 (Python 3.10 and NumPy 1.x). + +.. rubric:: Backward-incompatible changes + +- ``predict`` of the panel models raises a ``ValueError`` for an out-of-sample + prediction (``exog`` or ``data`` is given) with ``effects=True`` or + ``idiosyncratic=True``, which are only available in sample, or with ``fitted=False`` + and no other output. 7.1 ignored these options and returned the fitted values + (:issue:`768`, :issue:`849`). + +.. rubric:: Documentation and maintenance + +- The tests that failed on FreeBSD no longer depend on rounding or on ``pytest -v``, + and the README explains how to run the tests without the other pytest plugins of an + environment (:issue:`853`, :issue:`854`). +- The CI builds and tests a wheel on Windows on ARM64. + +.. rubric:: Compatibility + +- Wheels are built for Windows on ARM64 for CPython 3.13 to 3.15, the versions for which + NumPy and statsmodels have Windows ARM64 wheels. The other wheels are built as in 7.1. + +.. rubric:: Contributors + +- Thanks to inchang-ing (:issue:`849`). + Version 7.1 ----------- From 0b018726fc259179525ad6037add1987dc633858 Mon Sep 17 00:00:00 2001 From: Kevin Sheppard Date: Fri, 6 Nov 2026 13:04:04 +0000 Subject: [PATCH 2/3] DOC: Add #858, #859 and #862 to the 7.2 notes - Changes that alter results: missing categorical values are missing values of their dummy variables, so the observation is dropped (#858); the IV model F statistic leaves out an intercept that dummies imply (#859, which does not fix the other model families of #780). - Bug fixes: the IV estimators do not store weighted copies of the data when all of the weights are 1 (#862, about a third less memory; the rest of #607, keeping float32, is not done). - Compatibility: Python 3.10 and NumPy 1.x are still supported, although the 7.1 notes said that 7.1 would be the last release for them. linearmodels 8.0 will raise the minimum versions, as the README now says too. - Contributors: jackiectl2, CodingSelim and DresdenGman. --- README.md | 6 +++--- doc/source/changes/7.0.rst | 31 ++++++++++++++++++++++++++++--- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e6349168f3..6bcf310a66 100644 --- a/README.md +++ b/README.md @@ -186,9 +186,9 @@ is built by the same workflow on every push to main. ## Requirements -**linearmodels 7.1 is the last release that supports Python 3.10 and NumPy 1.x -(NumPy < 2).** Later releases will raise the minimum supported versions of -Python, NumPy and the other dependencies. +**linearmodels 7.x supports Python 3.10 and NumPy 1.x (NumPy < 2).** +linearmodels 8.0 will raise the minimum supported versions of Python, NumPy and +the other dependencies. ### Running diff --git a/doc/source/changes/7.0.rst b/doc/source/changes/7.0.rst index a5c413da39..b7d8e0e31f 100644 --- a/doc/source/changes/7.0.rst +++ b/doc/source/changes/7.0.rst @@ -7,8 +7,19 @@ Version 7.2 adds wheels for Windows on ARM64 (CPython 3.13 to 3.15). PyPI accept files of a release only for 14 days after its first upload, so these wheels could not be added to 7.1. 7.2 also contains the fixes below. -.. TODO(R2): Add the pull requests that are merged for 7.2 (#850, #858, #859, #860, - #862) and the answer to decision 85 (Python 3.10 and NumPy 1.x). +.. TODO(R2): Add #863 if it is merged for 7.2, and the pull request numbers of the + Windows ARM64 job and of the follow-ups to #858, #859 and #862. + +.. rubric:: Changes that alter results + +- A missing value of a categorical or string column is a missing value of each of its + dummy variables in ``IVData`` and ``PanelData``, so that the observation is dropped + with a ``MissingValueWarning``. 7.1 converted it to a row of zeros, which kept the + observation, in the first category when ``drop_first`` is True (:issue:`858`). +- The model F statistic of the IV estimators leaves out an intercept that dummy + variables imply, such as dummies that sum to one in a model without a constant. 7.1 + also tested the implied intercept, with one more degree of freedom (:issue:`780`, + :issue:`859`). .. rubric:: Backward-incompatible changes @@ -18,6 +29,12 @@ be added to 7.1. 7.2 also contains the fixes below. and no other output. 7.1 ignored these options and returned the fitted values (:issue:`768`, :issue:`849`). +.. rubric:: Bug fixes + +- The IV estimators do not store weighted copies of the data when all of the weights + are 1, which is the case without weights or with constant weights. This reduces the + memory that a model uses by about a third (:issue:`607`, :issue:`862`). + .. rubric:: Documentation and maintenance - The tests that failed on FreeBSD no longer depend on rounding or on ``pytest -v``, @@ -29,10 +46,18 @@ be added to 7.1. 7.2 also contains the fixes below. - Wheels are built for Windows on ARM64 for CPython 3.13 to 3.15, the versions for which NumPy and statsmodels have Windows ARM64 wheels. The other wheels are built as in 7.1. +- Python 3.10 and NumPy 1.x are still supported, although the 7.1 notes said that 7.1 + would be the last release to support them. + +.. rubric:: Deprecations and future changes + +- linearmodels 8.0 will raise the minimum versions of Python and NumPy, and of the other + dependencies. .. rubric:: Contributors -- Thanks to inchang-ing (:issue:`849`). +- Thanks to inchang-ing (:issue:`849`), jackiectl2 (:issue:`858`), CodingSelim + (:issue:`859`) and DresdenGman (:issue:`862`). Version 7.1 ----------- From 83e99bc984ef47415138131b7ec1025224217618 Mon Sep 17 00:00:00 2001 From: Kevin Sheppard Date: Fri, 6 Nov 2026 14:07:25 +0000 Subject: [PATCH 3/3] DOC: Add the numbers of the 7.2 follow-up pull requests The follow-ups to #858, #859 and #862 (#867, #866, #865) and the Windows ARM64 job of the CI (#868). --- doc/source/changes/7.0.rst | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/doc/source/changes/7.0.rst b/doc/source/changes/7.0.rst index b7d8e0e31f..ede5d248f3 100644 --- a/doc/source/changes/7.0.rst +++ b/doc/source/changes/7.0.rst @@ -7,19 +7,19 @@ Version 7.2 adds wheels for Windows on ARM64 (CPython 3.13 to 3.15). PyPI accept files of a release only for 14 days after its first upload, so these wheels could not be added to 7.1. 7.2 also contains the fixes below. -.. TODO(R2): Add #863 if it is merged for 7.2, and the pull request numbers of the - Windows ARM64 job and of the follow-ups to #858, #859 and #862. +.. TODO(R2): Add #863 if it is merged for 7.2. .. rubric:: Changes that alter results - A missing value of a categorical or string column is a missing value of each of its dummy variables in ``IVData`` and ``PanelData``, so that the observation is dropped with a ``MissingValueWarning``. 7.1 converted it to a row of zeros, which kept the - observation, in the first category when ``drop_first`` is True (:issue:`858`). + observation, in the first category when ``drop_first`` is True (:issue:`858`, + :issue:`867`). - The model F statistic of the IV estimators leaves out an intercept that dummy variables imply, such as dummies that sum to one in a model without a constant. 7.1 also tested the implied intercept, with one more degree of freedom (:issue:`780`, - :issue:`859`). + :issue:`859`, :issue:`866`). .. rubric:: Backward-incompatible changes @@ -33,14 +33,15 @@ be added to 7.1. 7.2 also contains the fixes below. - The IV estimators do not store weighted copies of the data when all of the weights are 1, which is the case without weights or with constant weights. This reduces the - memory that a model uses by about a third (:issue:`607`, :issue:`862`). + memory that a model uses by about a third (:issue:`607`, :issue:`862`, + :issue:`865`). .. rubric:: Documentation and maintenance - The tests that failed on FreeBSD no longer depend on rounding or on ``pytest -v``, and the README explains how to run the tests without the other pytest plugins of an environment (:issue:`853`, :issue:`854`). -- The CI builds and tests a wheel on Windows on ARM64. +- The CI builds and tests a wheel on Windows on ARM64 (:issue:`868`). .. rubric:: Compatibility