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