GeoAnalytics Engine releases will be versioned using semantic versioning guidelines starting with
1.0.0. Each version includes three numbers representing the major version, minor version, and patch version
in the format
|Version||Example||New functionality added||Installation and compatibility considerations|
|Major||1.0.0||Yes||Significant new code to support new functionality is introduced. Backward-breaking changes may be made and support for older versions of Spark, Scala or other dependencies may be dropped.|
|Minor||1.3.0||Yes||Significant new code to support new functionality is introduced. Support may be added for new versions of Spark and its dependencies.|
|Patch||1.3.2||No||Minimal code changes are made to fix bugs and address security vulnerabilities.|
You can check the version within a PySpark session using the
Major releases introduce changes that are not backward compatible. These include dropped or added support for certain
versions of Spark, Scala, Java, and Python. They also introduce breaking API changes to
geoanalytics module. Major releases of GeoAnalytics Engine are infrequent and
you should plan ahead to ensure smooth migration of workflows when upgrading.
Major releases also include code to fix bugs, address security vulnerabilities, and improve performance.
Minor releases deliver new functionality but should not break existing workflows. Because minor releases contain significant code changes in support of new functionality, you may want to roll them out in a limited testing environment before deploying them widely. Minor releases include added support for certain versions of Spark, Scala, Java, and Python. They also include code to fix bugs and address security vulnerabilities.
All changes introduced by patches are both backward compatible and forward compatible. Because patches only fix bugs and security vulnerabilities, upgrading to a patch version is generally regarded as safer than not installing it. As with minor releases, patches do not break existing workflows. Because patches do not deliver new functionality, they contain minimal code changes and are typically deployed without the detailed recertification that might be done for a major or minor release.