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