Version number 2021a Version='9.10' is confusing. Why not using '10.0'
Show older comments
I used ver('MATLAB') in Matlab release 2021a and got
Name: 'MATLAB'
Version: '9.10'
Release: '(R2021a)'
Date: '14-Nov-2020'
The version string/number can be confusing because numerically 9.10 becomes 9.1 and 'feels' lower than the previous Matlab release 2020b (Version '9.9'). Why not using 10.0?
6 Comments
"Why not using 10.0?"
Because it is minor release 10 of version 9, and version 10 has not been released yet.
Because the version "number" does not represent a decimal fraction, just integers delimited by dots.
You might "feel" that it is lower, but for millions of programmers, testers, systems architects, etc. this style of version numbering feels normal and intuitive. Like anything, it is just a matter of getting used to it.
I do not understand why you think that a few minor bug fixes would consitute an increment in the major release version (which indicates major functional or codebase changes). Can you explain what Version 9 vs. Version10 means to you?
Rik
on 8 Apr 2021
You could argue the Name=Value syntax constitutes a large enough change to warrant a main version increment.
It depends a bit whether you're looking at user-facing changes or internal changes. I mainly focussed on practical changes to daily users in my answer. I expect the real decision to increment the main version is based on the actual code structure, which may or may not be reflected in user-facing changes. HG2 is a prime example of a change that from a user perspective should have been a major version increment. I suspect there was enough of HG2 implemented in prior versions that the changes was more or less changing the default. But that is just conjecture based on thing I read on Yairs website quite a while ago, so I might be very wrong here.
Thomas Rutten
on 8 Apr 2021
"9.01, 9.02 etc. could be an option too "
Ugh, no. Then you just introduce another set of bugs due to beginners parsing those values as binary floating point and wondering why their code cannot find version X.01 (or why version X.YZ incorrectly compares as less than N, etc.) and then write to this forum complaining about the illogical decision to encode the version number in a way that cannot be represented exactly as a numeric value which they can use...
"I am just wondering how many users are aware of this version mistake if taking just str2double(Version)"
Do NOT do that! That approach is numerically unreliable (due to floating point rounding) and discards important data (X.2 is considered the same as X.20, whereas in fact they are totally different versions).
The mistake is doing str2double(ver('MATLAB').Version). You should not parse the version like that. You should either do something similar to what I showed in my answer, or use verLessThan.
help verLessThan
Thomas Rutten
on 8 Apr 2021
Accepted Answer
More Answers (0)
Categories
Find more on Performance and Memory in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!