1========================= 2CHANGES: PETSc for Python 3========================= 4 5:Author: Lisandro Dalcin 6:Contact: dalcinl@gmail.com 7 8 9Release 3.23.0 10============== 11 12- Update to PETSc 3.23 release. 13 14Release 3.22.0 15============== 16 17- Update to PETSc 3.22 release. 18 19Release 3.21.0 20============== 21 22- Update to PETSc 3.21 release. 23 24Release 3.20.0 25============== 26 27- Update to PETSc 3.20 release. 28- Update Cython build, require ``Cython >= 3.0.0``. 29 30Release 3.19.0 31============== 32 33- Update to PETSc 3.19 release. 34- Expose ``PetscDevice`` and ``PetscDeviceContext`` API as 35 ``PETSc.Device`` and ``PETSc.DeviceContext`` classes respectively. 36 37Release 3.18.0 38============== 39 40- Update to PETSc 3.18 release. 41 42 43Release 3.17.0 44============== 45 46- Update to PETSc 3.17 release. 47 48 49Release 3.16.0 50============== 51 52- Update to PETSc 3.16 release. 53 54 55Release 3.15.0 56============== 57 58- Update to PETSc 3.15 release. 59 60 61Release 3.14.1 62============== 63 64- Fix build issues after changes in recent PETSc patch releases. 65- Add various missing types and enums definitions. 66- Update Cython build, require ``Cython >= 0.24``. 67 68 69Release 3.14.0 70============== 71 72- Update to PETSc 3.14 release. 73 74 75Release 3.13.0 76============== 77 78- Update to PETSc 3.13 release. 79 80 81Release 3.12.0 82============== 83 84- Update to PETSc 3.12 release. 85 86 87Release 3.11.0 88============== 89 90- Update to PETSc 3.11 release. 91 92 93Release 3.10.1 94============== 95 96- Fix for removal of ``SNESTEST``. 97- Fix ``Mat`` in-place divide. 98 99 100Release 3.10.0 101============== 102 103- Update to PETSc 3.10 release. 104 105 106Release 3.9.1 107============= 108 109- Add ``Mat.zeroRowsColumnsLocal()``. 110- Add ``Mat.getISLocalMat()``. 111- Add ``Mat.convertISToAIJ()``. 112 113 114Release 3.9.0 115============= 116 117- Update to PETSc 3.9 release. 118 119 120Release 3.8.0 121============= 122 123- Update to PETSc 3.8 release. 124 125 126Release 3.7.0 127============= 128 129- Update to PETSc 3.7 release. 130 131 132Release 3.6.0 133============= 134 135- Update to PETSc 3.6 release. 136 137 138Release 3.5.1 139============= 140 141- Add ``Log.{begin|view|destroy}()``. 142- Add ``Mat.SOR()`` and ``Mat.SORType``. 143- Add ``DMPlex.createCoarsePointIS()``. 144- Add ``LGMap.createSF()``. 145- Add ``SNES.getVIInactiveSet()``. 146- Add ``Vec.isaxpy()``. 147- Add ``PC.setReusePreconditioner()``. 148- Return correct type in ``DM.getCoordinateDM()``. 149- Fix SWIG wrappers to handle 64bit ``PetscInt``. 150- Fix linker flags for Python from Fink. 151 152 153Release 3.5 154=========== 155 156- Update to PETSc 3.5 release. 157 158 159Release 3.4 160=========== 161 162- Update to PETSc 3.4 release. 163 164- Add support for ``DMComposite`` and ``DMPlex``. 165 166- Change ``Mat.getSizes()`` to return ``((m,M),(n,N))``. 167 168 169Release 3.3.1 170============= 171 172- Fix ``Options.getAll()`` mishandling values with negative numbers. 173 174- Minor backward compatibility fix for PETSc 3.2 . 175 176- Minor bugfix for TSPYTHON subtype. 177 178 179Release 3.3 180=========== 181 182- Update to PETSc 3.3 release. 183 184- Change ``Vec.getLocalForm()`` to ``Vec.localForm()`` for use with 185 context manager and add ``Vec.setMPIGhost()``. 186 187- Add ``AO.createMemoryScalable()`` and ``LGMap.block()`` / 188 ``LGMap.unblock()`` 189 190- Add ``Object.handle`` property (C pointer as a Python integer). Can 191 be used with ``ctypes`` to pass a PETSc handle. 192 193- Add ``Comm.tompi4py()`` to get a ``mpi4py`` communicator instance. 194 195 196Release 1.2 197=========== 198 199- Update to PETSc 3.2 release. 200 201- Add new ``DM`` class , make ``DA`` inherit from ``DM``. 202 203- Better support for inplace LU/ILU and Cholesky/ICC factorization and 204 factor PC subtypes. 205 206- Now the ``Mat``/``PC``/``KSP``/``SNES``/``TS`` Python subtypes are 207 implemented with Cython. 208 209- Better interaction between Python garbage collector and PETSc 210 objects. 211 212- Support for PEP 3118 and legacy Python's buffer interface. 213 214 215Release 1.1.2 216============= 217 218This is a new-features and bug-fix release. 219 220- Add support for copying and computing complements in ``IS`` 221 (``IS.copy()`` and ``IS.complement()``). 222 223- Add support for coarsening in ``DA`` (``DA.coarsen()``). 224 225- Support for shallow copy and deep copy operations (use ``copy.copy`` 226 and ``copy.deepcopy``). Deep copy is only supported for a bunch of 227 types (``IS``, ``Scatter``, ``Vec``, ``Mat``) 228 229- Support for ``pip install petsc4py`` to download and install PETSc. 230 231 232Release 1.1.1 233============= 234 235This is a new-features and bug-fix release. 236 237- Support for setting PETSC_COMM_WORLD before PETSc initialization. 238 239- Support for coordinates, refinement and interpolation in DA. Many 240 thanks to Blaise Bourdin. 241 242- Workaround build failures when PETSc is built with *mpiuni*. 243 244- Workaround GIL-related APIs for non-threaded Python builds. 245 246 247Release 1.1 248=========== 249 250- Update for API cleanups, changes, and new calls in PETSc 3.1 and 251 some other missing features. 252 253- Add support for Jed Brown's THETA an GL timestepper implementations. 254 255- Fix the annoying issues related to Open MPI shared libraries 256 dependencies and Python dynamic loading. 257 258- Many minor bug-fixes. Many thanks to Ethan Coon, Dmitry Karpeev, 259 Juha Jaykka, and Michele De Stefano. 260 261 262Release 1.0.3 263============= 264 265This is a bug-fix release. 266 267- Added a quick fix to solve build issues. The macro __SDIR__ is no 268 longer passed to the compiler in the command line. 269 270 271Release 1.0.2 272============= 273 274This is a new-features and bug-fix release. 275 276- Now ``petsc4py`` works against core PETSc built with complex 277 scalars. 278 279- Added support for PETSc logging features like stages, classes and 280 events. Stages and events support the context manager interface 281 (``with`` statement). 282 283- Documentation generated with Epydoc and Sphinx is now included in 284 the release tarball. 285 286- Removed enumeration-like classes from the ``petsc4py.PETSc`` module 287 namespace. For example, now you have to use ``PETSc.KSP.Type`` 288 instead of ``PETSc.KSPType``. 289 290- The ``PETSc.IS`` to ``numpy.ndarray`` conversion now works for 291 stride and block index sets. 292 293- Implemented a more robust import machinery for multi-arch 294 ``petsc4py`` installations. Now a wrong value in the ``PETSC_ARCH`` 295 environmental variable emit a warning (instead of failing) at import 296 time. 297 298- The unittest-based testsuite now can run under ``nose`` with its 299 default options. 300 301- Removed the dependency on ``numpy.distutils``, just use core Python 302 ``distutils``. 303 304 305Release 1.0.1 306============= 307 308This is a bug-fix release. Compile Cython-generated C sources with 309``-Wwrite-strings`` removed, as this flag (inherited from PETSc) made 310GCC emit a lot of (harmless but annoying) warnings about conversion of 311string literals to non-const char pointers. 312 313 314Release 1.0.0 315============= 316 317This is the fist release of the all-new, Cython-based, implementation 318of *PETSc for Python*. 319