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