Bug 120153 - {macOS} Finder shows incorrect version number in column view
Summary: {macOS} Finder shows incorrect version number in column view
Status: RESOLVED DUPLICATE of bug 74244
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
6.1.0.3 release
Hardware: x86-64 (AMD64) macOS (All)
: low normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-09-27 12:50 UTC by Andy M
Modified: 2020-02-16 23:08 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
LibreOffice Finder version (16.28 KB, image/png)
2018-09-28 12:14 UTC, Andy M
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andy M 2018-09-27 12:50:45 UTC
Description:
When looking at LibreOffice.app in the Finder, it tells me that it is version 6.1.3. Given that 6.1.2 was just announced this is clearly incorrect :-)

When I run it and go to "About LibreOffice", it's actually 6.1.0.3.

The reason I'm reporting it now is that this has happened several times in the past and it is confusing.

Whatever is creating the Info.plist is getting it wrong. From my 6.1.0.3 installation:

    <key>CFBundleShortVersionString</key>
    <string>6.1.3</string>
    <key>CFBundleVersion</key>
    <string>6.1.3</string>


Steps to Reproduce:
1. Go to LibreOffice 6.1.0.3 in the Applications folder
2. Select it.

Actual Results:
Shows that it is version 6.1.3.

Expected Results:
Show the real version - 6.1.0.3


Reproducible: Always


User Profile Reset: No



Additional Info:
(Note about the note below "...copy here the information from Help - About LibreOffice" - this is not where it is on macOS - it's under "LibreOffice - About LibreOffice." This might be confusing to some people.)

Version: 6.1.0.3
Build ID: efb621ed25068d70781dc026f7e9c5187a4decd1
CPU threads: 8; OS: Mac OS X 10.12.6; UI render: default; 
Locale: en-CA (en_CA.UTF-8); Calc: group threaded
Comment 1 Andy M 2018-09-27 21:03:08 UTC
Just installed the latest and it has the same problem.

Finder shows 6.1.2001

LibreOffice shows 6.1.2.1


Version: 6.1.2.1
Build ID: 65905a128db06ba48db947242809d14d3f9a93fe
CPU threads: 8; OS: Mac OS X 10.12.6; UI render: default; 
Locale: en-CA (en_CA.UTF-8); Calc: group threaded
Comment 2 Alex Thurgood 2018-09-28 07:06:39 UTC
@Andy : If I open the Finder in Applications, and select LibreOffice.app with the mouse, I don't see any version number displayed, so where are you getting this version number from ?
Comment 3 Andy M 2018-09-28 12:14:27 UTC
Alex:

Ah - yes. I forgot not everyone uses the column view in the Finder :-)

So add a step:

0) Select "as Columns" from the View menu.

If you look on the right it shows the icon with information about the file/app. I'll add an attachment with a snapshot.

The problem is the Info.plist is incorrect:

    <key>CFBundleShortVersionString</key>
    <string>6.1.2001</string>
    <key>CFBundleVersion</key>
    <string>6.1.2001</string>
Comment 4 Andy M 2018-09-28 12:14:57 UTC
Created attachment 145250 [details]
LibreOffice Finder version
Comment 5 Alex Thurgood 2018-09-28 13:37:21 UTC
    @Andy - thanks.

    If I switch on column view, I see :

    Version : 6.1.2001

    is that what you mean ?
Comment 6 Alex Thurgood 2018-09-28 13:38:42 UTC
I have a vague recollection of this having been brought up before with cloph, but not sure when...

@cloph : any opinion ?
Comment 7 Jan-Marek Glogowski 2018-09-29 04:29:37 UTC
From "Technical Note TN2420: Version Numbers and Build Numbers"
https://developer.apple.com/library/archive/technotes/tn2420/_index.html

"The value for a version number or build number must consist only of '.'s and numbers and must begin and end with a number. Each integer value separated by a period is a component of the version. Version numbers and build numbers may have up to three components separated by periods. The total number of characters in your version number or in your build number cannot exceed eighteen characters."

The internet doesn't agree with this document for the CFBundleVersion, but it does for CFBundleShortVersionString, which is displayed everywhere, I guess.

Now quoting the configure.ac build configuration script from the source:

# The CFBundleShortVersionString in Info.plist consists of three integers, so encode the third
# as the micro version times 1000 plus the patch number. Unfortunately the LIBO_VERSION_SUFFIX can be anything so
# no way to encode that into an integer in general.
MACOSX_BUNDLE_SHORTVERSION=$LIBO_VERSION_MAJOR.$LIBO_VERSION_MINOR.`expr $LIBO_VERSION_MICRO '*' 1000 + $LIBO_VERSION_PATCH`

So '6.1.2.1' becomes '6.1.2001' for Apple.

This is a limit on Apples side, so IMHO NOTOURBUG.
Comment 8 Andy M 2018-09-29 12:21:16 UTC
Interesting, thanks Jan-Marek.

1) 6.1.0.3 becomes 6.1.3 with the current setup which is clearly incorrect and misleading.

As an end-user, changing this version number the way it does is very confusing.

Since this is a user-facing string, why not just drop the "micro version" instead of munging it? That would make a lot more sense.

2) According to Apple, in the CFBundleVersion:

- The first number represents the most recent major release and is limited to a maximum length of four digits.
- The second number represents the most recent significant revision and is limited to a maximum length of two digits.
- The third number represents the most recent minor bug fix and is limited to a maximum length of two digits.

So the version number being produced here - 6.1.2001 - is invalid.

(ref: https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102364 )


I could go into "why does the project feel it needs a 'micro version' at all", but I won't :-)
Comment 9 Xisco Faulí 2018-10-17 11:48:29 UTC
We need the micro version for release candidates. E.g. 6.1.3 RC1 -> 6.1.3.1 / 6.1.3 RC2 -> 6.1.3.2
Changing the current versioning in LibreOffice is a No-go, thus, we can't do anything here... Closing as RESOLVED NOTOURBUG
Comment 10 Andy M 2018-10-17 11:57:24 UTC
When the "micro" version is 0 and you multiply by 1000 and add the patch number, you get a very misleading version number displayed to the user (6.1.0.3 becomes 6.1.3).

It is a UX bug and you do have control over it - see comment 8. It isn't following the guidelines laid out by Apple.

One solution is not to munge the number when filling in CFBundleShortVersionString (which is user-facing) and instead just drop the "micro" version.
Comment 11 Eike Rathke 2018-10-17 12:31:49 UTC
Dropping the micro is not a solution because then nothing differentiates micro releases.

If Apple per comment 8 arbitrarily limits things to three numbers AND the third number can't have more than two digits (which is a ridiculous limit) the only viable workaround is to concatenate micro and RC, under the assumption that we don't release more than 9 micros (usually 7) nor more than 9 RCs (usually 2 to 4), which would give 6.1.32 for 6.1.3.2; this is still confusing because for 6.1.3 seeing 6.1.32 may lead to the impression that the latter would be a higher/later release version, even worse if some version checking mechanism encounters such thing.

That, or we completely change our release numbers versioning, i.e. increment major with every new release every 6 months, which is beyond this bug's outreach.
Comment 12 Andy M 2018-10-17 13:07:25 UTC
"...this is still confusing because for 6.1.3 seeing 6.1.32 may lead to the impression that the latter would be a higher/later release version, even worse if some version checking mechanism encounters such thing."

We have that problem now - that's what I'm talking about!

6.1.0.3 is seen as 6.1.3.


"Dropping the micro is not a solution because then nothing differentiates micro releases."

That should be qualified: nothing would differentiate micro releases in this one string.

The end user likely doesn't know about care about the "micro" number. If they do know what it is and need it, they can get it from the About dialog or the Get Info in the Finder (from the CFBundleGetInfoString). They have to do this anyways unless they know how LibreOffice is creating these fake version numbers.

Removing it from this one user-facing string replaces one problem ("Why do I have a more recent version than is released?") with a "better" problem ("How do I find the "micro" number?")
Comment 13 How can I remove my account? 2018-10-18 08:54:54 UTC
Btw, any idea what the value for the key CFBundleGetInfoString is used for? That contains our full "real" version number, doesn't it?

Naïvely, I would have thought that "CFBundleGetInfoString" exactly is used for something to show to the user, when they "get info".
Comment 14 How can I remove my account? 2018-10-18 08:56:10 UTC
Responding to myself after a quick googling: Apparently CFBundleGetInfoString has been deprecated almost for ten years... http://www.openradar.me/8600732
Comment 15 Andy M 2018-10-18 09:04:32 UTC
Tor:

"Naïvely, I would have thought that "CFBundleGetInfoString" exactly is used for something to show to the user, when they "get info"."

You are correct. CFBundleGetInfoString is used when you select the application and do "Get Info" in the Finder.

Unfortunately it's not what is used when you have the Finder window in column mode. That shows CFBundleShortVersionString.
Comment 16 QA Administrators 2019-10-19 02:42:40 UTC Comment hidden (obsolete)
Comment 17 Andy M 2019-10-21 17:12:38 UTC
Commenting due to request: https://bugs.documentfoundation.org/show_bug.cgi?id=120153#c16

Version 6.3.2.2 is displayed in column view as 6.3.2002, so the problem as outlined in the first comment still exists.

Any version that is X.Y.0.Z will be displayed as X.Y.Z which is clearly incorrect.


Version: 6.3.2.2
Build ID: 98b30e735bda24bc04ab42594c85f7fd8be07b9c
CPU threads: 16; OS: Mac OS X 10.14.6; UI render: default; VCL: osx; 
Locale: en-CA (en_CA.UTF-8); UI-Language: en-US
Calc: threaded
Comment 18 eisa01 2020-02-16 23:08:42 UTC

*** This bug has been marked as a duplicate of bug 74244 ***