xref: /petsc/src/binding/petsc4py/CHANGES.rst (revision f13dfd9ea68e0ddeee984e65c377a1819eab8a8a)
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