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