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