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