1# Changes: Development 2 3% STYLE GUIDELINES: 4% * Capitalize sentences 5% * Use imperative, e.g., Add, Improve, Change, etc. 6% * Don't use a period (.) at the end of entries 7% * If multiple sentences are needed, use a period or semicolon to divide sentences, but not at the end of the final sentence 8 9```{rubric} General: 10``` 11 12```{rubric} Configure/Build: 13``` 14 15```{rubric} Sys: 16``` 17 18- Deprecate `PetscSSEIsEnabled()` 19 20```{rubric} Event Logging: 21``` 22 23```{rubric} PetscViewer: 24``` 25 26- Add `PetscViewerHDF5SetCompress()` and `PetscViewerHDF5GetCompress()` 27 28```{rubric} PetscDraw: 29``` 30 31```{rubric} AO: 32``` 33 34```{rubric} IS: 35``` 36 37```{rubric} VecScatter / PetscSF: 38``` 39 40```{rubric} PF: 41``` 42 43```{rubric} Vec: 44``` 45 46```{rubric} PetscSection: 47``` 48 49```{rubric} PetscPartitioner: 50``` 51 52```{rubric} Mat: 53``` 54 55- Add `MatConstantDiagonalGetConstant()` 56- Add `MatNullSpaceRemoveFn` type definition 57 58```{rubric} MatCoarsen: 59``` 60 61```{rubric} PC: 62``` 63 64- Add `PCMatApplyTranspose()` 65- Remove `PC_ApplyMultiple` 66 67```{rubric} KSP: 68``` 69 70- Add `MatLMVMGetLastUpdate()` 71- Add `MatLMVMMultAlgorithm`, `MatLMVMSetMultAlgorithm()`, and `MatLMVMGetMultAlgorithm()` 72- Add `MatLMVMSymBroydenGetPhi()` and `MatLMVMSymBroydenSetPhi()` 73- Add `MatLMVMSymBadBroydenGetPsi()` and `MatLMVMSymBadBroydenSetPsi()` 74- Deprecate `KSP_CONVERGED_RTOL_NORMAL` in favor of `KSP_CONVERGED_RTOL_NORMAL_EQUATIONS` and `KSP_CONVERGED_ATOL_NORMAL` in favor of `KSP_CONVERGED_ATOL_NORMAL_EQUATIONS` 75 76```{rubric} SNES: 77``` 78 79```{rubric} SNESLineSearch: 80``` 81 82```{rubric} TS: 83``` 84 85```{rubric} TAO: 86``` 87 88- Add ``TaoBRGNSetRegularizationType()``, ``TaoBRGNGetRegularizationType()`` 89 90```{rubric} PetscRegressor: 91``` 92 93- Add new component to support regression and classification machine learning tasks: [](ch_regressor) 94- Add `PetscRegressor` type `PETSCREGRESSORLINEAR` for solving linear regression problems with optional regularization 95 96```{rubric} DM/DA: 97``` 98 99- Add `DMHasBound()`, `DM_BC_LOWER_BOUND` and `DM_BC_LOWER_BOUND` 100 101 102```{rubric} DMSwarm: 103``` 104 105```{rubric} DMPlex: 106``` 107 108- Add `DMPlexGetTransform()`, `DMPlexSetTransform()`, `DMPlexGetSaveTransform()`, and `DMPlexSetSaveTransform()` 109- Add `DMPlexGetCoordinateMap()` and `DMPlexSetCoordinateMap()` 110- Add `DMPlexTransformCohesiveExtrudeGetUnsplit()` 111- Add `DMFieldCreateDefaultFaceQuadrature()` 112- Rename `DMPlexComputeResidual_Internal()` to `DMPlexComputeResidualForKey()` 113- Rename `DMPlexComputeJacobian_Internal()` to `DMPlexComputeJacobianByKey()` 114- Rename `DMPlexComputeJacobian_Action_Internal()` to `DMPlexComputeJacobianActionByKey()` 115- Rename `DMPlexComputeResidual_Hybrid_Internal()` to `DMPlexComputeResidualHybridByKey()` 116- Rename `DMPlexComputeJacobian_Hybrid_Internal()` to `DMPlexComputeJacobianHybridByKey()` 117- Add `DMPlexInsertBounds()` 118 119```{rubric} FE/FV: 120``` 121 122- Add `PetscFEExpandFaceQuadrature()` 123 124```{rubric} DMNetwork: 125``` 126 127```{rubric} DMStag: 128``` 129 130```{rubric} DT: 131``` 132 133```{rubric} Fortran: 134``` 135