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