@@ -81,10 +81,43 @@ Version 1.0
8181- 1.0.5: ` sudire ` notebook adapted
8282- 1.0.9: function to calculate the martingale difference divergence matrix (MDDM) added in ` _dicomo_utils.py `
8383- 1.0.11: documentation updated to accommodate for go-live of readthedocs page
84- - 1.0.13: fixed bug in option to use ` Ball ` in ` sudire ` . Adjusted readthedocs.
84+ - 1.0.13: fixed bug in option to use ` Ball ` in ` sudire ` . Adjusted readthedocs.
85+
86+ Version 1.2
87+ -----------
88+ Updated to Python 3.10-3.12 standards and NumPy 2.0 compatibility.
89+
90+ ** CI/CD Updates:**
91+ - Updated GitHub Actions to latest versions (` actions/checkout@v4 ` , ` setup-miniconda@v3 ` )
92+ - Updated Python test matrix from 3.8-3.10 to 3.9-3.12
93+ - Fixed ` setup.py ` to read version without importing package (avoids dependency issues during install)
94+
95+ ** NumPy 2.0 Compatibility:**
96+ - Replaced deprecated ` np.matrix ` with ` np.asarray ` throughout codebase and notebooks
97+ - Fixed ` np.product ` → ` np.prod ` (removed in NumPy 2.0)
98+ - Fixed ` np.asfarray ` → ` np.asarray ` (removed in NumPy 2.0)
99+ - Fixed ` float() ` conversion on non-0D arrays using ` .item() ` or proper indexing
100+ - Fixed matrix multiplication in ` ppdire.transform() ` using ` np.dot() ` instead of ` * ` operator
101+
102+ ** Python 3.12 Compatibility:**
103+ - Fixed deprecated ` assertAlmostEquals ` → ` assertAlmostEqual ` in test files
104+
105+ ** cyipopt/IPOPT Changes:**
106+ - Made ` cyipopt ` an optional dependency: standard install with ` pip install direpack ` , full install with ` pip install direpack[ipopt] `
107+ - Fixed cyipopt API changes: ` cyipopt.problem ` → ` cyipopt.Problem ` , ` addOption ` → ` add_option `
108+ - ` sudire ` module only available when cyipopt is installed
109+ - Added ` IPOPT_AVAILABLE ` flag to check availability at runtime
110+
111+ ** Bug Fixes:**
112+ - Fixed ` sprm_plot_cv.eta_ncomp_contour() ` to handle NaN values in cross-validation results
113+ - Fixed sklearn ` PLSRegression.coef_ ` transposition in example notebooks (API changed in sklearn 1.3)
114+ - Fixed edge cases in ` _sudire_utils.py ` for slices with ≤1 sample
115+
116+ ** Documentation:**
117+ - Updated README with two installation options (standard and full with ipopt)
118+ - Updated example notebooks (` dicomo_example.ipynb ` , ` ppdire_example.ipynb ` ) for NumPy 2.0 compatibility
85119
86120
87121
88122
89-
90123
0 commit comments