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