Skip to content

Commit 944c59e

Browse files
committed
Added release notes
1 parent b8b71ce commit 944c59e

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed

NEWS.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# RSGISLib Release Notes
2+
3+
4+
5+
## v5.0 (2022-02-10):
6+
7+
Version 5.0 of RSGISLib has been under development since June 2021 and has significant changes compared to v4.x. These changes were required for the following reasons:
8+
9+
* RSGISLib had a dependency on the GEOS C++ API which had changed and therefore this meant that RSGISLib would no longer build using the lastest version of the libraries on conda-forge. C++ dependecies have caused problems for us in the past so reducing the number library dependencies was the starting point of the v5 changes.
10+
* Pythonic naming and convensions. RSGISLib did not start as a set of Python modules but has turned into that over the years. However, some of the convensions which were used (e.g., CamelCase verses snake_case) has become inconsistent over time. Also, use of keyword arguments in functions wasn't always supports.
11+
* There were a number of functions and code which were adding over the years which either weren't being maintained or were very specific to a project we did a long time ago and was now no longer relevant.
12+
* We had some adhoc tests for RSGISLib but the completeness and maintance of those tests was poor.
13+
* The RSGISLib release cycle was slow with us using a development branch as our working version for long periods before releases, in part due to the problems with dependencies and testing.
14+
15+
16+
17+
Therefore, the following changes have been introduced within RSGISLib v5. Please note, these changes are highly likely to break any code which was dependent on RSGISLib v4 or earlier.
18+
19+
* The number of dependencies has been reduced, with dependencies on GEOS, xerces-c and CGAL all being removed. The C++ dependencies are now: GDAL, Boost, GSL, MuParser, HDF5 and KEALib.
20+
* All function names and variables are now snake_case and all functions support keyword arguments. Note, this change will cause code to break. For example, the bandMath function is now band_math.
21+
* Module structure has been updated and changed in some cases. For example, vectorutils has now been split into multiple modules.
22+
* Code which was not in use or being maintained or dupicated has been removed or refactored to improve code quality.
23+
* Added functions and other improvements to aid use and integration with jupyter notebooks.
24+
* Standardisation of variable names for functions has been implemented. A developer guide has also be written with these listed: https://github.com/remotesensinginfo/rsgislib/blob/main/doc/developer_guide.md
25+
* A pytest test suite has been implemented with broad coverage. Coverage can be viewed at https://app.codecov.io/gh/remotesensinginfo/rsgislib
26+
* Continuous integration using circleci has also been implemented so the test suite are run with each commit and pull request.
27+
* The black code formatter is now used to format the pure Python code.
28+
* Static code checking for the pure Python code has been setup using sonar cloud. https://sonarcloud.io/summary/new_code?id=remotesensinginfo_rsgislib
29+
* Documentation / website has been updated to reflect the updates to the v5 code base.
30+
* New tutorials have been produced in the form of jupyter notebooks: https://github.com/remotesensinginfo/rsgislib-tutorials
31+
32+
33+
34+
New modules within this release include:
35+
36+
* rsgislib.changedetect
37+
* rsgislib.classification.classxgboost
38+
* rsgislib.classification.classimblearn
39+
* rsgislib.classification.classratutils
40+
* rsgislib.classification.clustersklearn
41+
* rsgislib.classification.classaccuracymetrics
42+
* rsgislib.imagecalc.specunmixing
43+
* rsgislib.imagecalc.leastcostpath
44+
* rsgislib.regression
45+
* rsgislib.segmentation.shepherdseg
46+
* rsgislib.segmentation.skimgseg
47+
* rsgislib.timeseries
48+
* rsgislib.tools.filetools
49+
* rsgislib.tools.geometrytools
50+
* rsgislib.tools.plotting
51+
* rsgislib.tools.projection
52+
* rsgislib.tools.sensors
53+
* rsgislib.tools.stats
54+
* rsgislib.tools.tilecacheutils
55+
* rsgislib.tools.utils
56+
* rsgislib.tools.utm
57+
* rsgislib.tools.checkdatasets
58+
* rsgislib.vectorattrs
59+
* rsgislib.vectorgeoms
60+
* rsgislib.vectorutils.createvectors
61+
* rsgislib.vectorutils.createrasters
62+
* rsgislib.zonalstats - *not new but completely re-written and old functions removed*
63+
64+
65+
66+
There are still some areas of the library where updates haven't been fully completed and you may find some changes in upcoming releases:
67+
68+
* rsgislib.imagecalibration
69+
* rsgislib.imageutils.imagecomp
70+
* rsgislib.imageutils.tilingutils
71+
* rsgislib.segmentation.tiledsegsingle
72+
73+
At release it should also be noted that the ARCSI software we also produce has not yet been updated for RSGISLib v5 but is on-going work.
74+
75+
76+

0 commit comments

Comments
 (0)