Hi Everyone, v0.4.5 of GuideMe has been released (available via my footer and GitHub as usual).
/!\ This is a security release /!\
If you did not download Remi's v0.4.5 or v0.4.5.1 release I would highly recommend updating now. This fixes a fairly major vulnerability in a library we use for logging called Log4j. I'm sure many of you have seen news stories recently about it being exploited given it's extremely broad usage. Overall I think the chance of this being exploited in our usage of GuideMe is relatively low, but it's definitely possible if you're downloading and running teases from people you don't know or trust.
** Upcoming changes **
Starting with the next release of GuideMe, I plan to remove the leading 0 from the version number. This means the next release will likely be v4.6.0. I think having initial releases of GuideMe start with version 0 was good for many reasons, however GuideMe has now been around for long enough, and is stable enough, that it's time to move forward from v0. Typically this would mean moving to v1.X, however people have been referring to various versions of GuideMe by their last two digits such as 4.0, 4.1, 4.4 etc. for long enough that I think introducing a leading 1 would just be confusing to everyone. If I mention 4.6 that would be recognizable, whereas if I mention 1.0.0 that's going to be really confusing to understand that comes after what we've been calling 4.4 and 4.5 etc.
Starting with the next release, and the removal of the 0. prefix, I plan to follow
Semantic Versioning as closely as possible. In summary this means version numbers will look like X.Y.Z (such as 4.6.0), but you'll be able to tell what kind of changes we've made based on the version number.
In the X.Y.Z example:
- The X number will be incremented to indicate a major change, or something that is not backwards compatible. Expect these to be fairly major changes that could break older teases, and will happen relatively infrequently. There has been talk about moving from Java 8 to Java 11 or higher. If we do this, expect that to be v5.0.0 as this will likely break things.
- The Y number will be incremented to indicate a minor change such as adding functionality that will not (intentionally) break backwards compatibility with existing teases or introduce any major usability changes.
- The Z number will be incremented to indicate a bugfix or patch that will not (intentionally) break backwards compatibility, or introduce new features.
If a change falls into multiple categories (such as adding features and bugfixes), the leftmost number will be incremented meaning Y would be incremented in this example. Typically when X or Y are incremented, all numbers to the right are reset to 0, meaning if we're at an imaginary v8.2.5 and we add a feature and fix a bug, the next version would be 8.3.0.
As always, please let me know here or in a DM if you have any questions, comments, or concerns.
-ED