Issue #12983 has been updated by Tomoyuki Chikanaga.

Backport changed from 2.1: REQUIRED, 2.2: DONE, 2.3: REQUIRED to 2.1: REQUIRED, 2.2: DONE, 2.3: DONE

ruby_2_3 r57345 merged revision(s) 56905.

----------------------------------------
Bug #12983: compatibility_version and current_version on Darwin are reversed
https://bugs.ruby-lang.org/issues/12983#change-62503

* Author: Akinori MUSHA
* Status: Closed
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 
* Backport: 2.1: REQUIRED, 2.2: DONE, 2.3: DONE
----------------------------------------
The `compatibility_version` should have an API version and the `current_version` should have a program version of Ruby, but they have been reversed and the binary compatibility has never worked.

For example, the ruby 2.3.3 program/dylib shows the following versions:
```
% otool -L /opt/local/bin/ruby2.3
/opt/local/bin/ruby2.3:
        /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1259.0.0)
        /opt/local/lib/libruby.2.3.0.dylib (compatibility version 2.3.3, current version 2.3.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
        /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
```
The compatibility version is updated for every teeny release, and all extensions need to be updated accordingly, which is not an expected or welcome situation.

https://github.com/ruby/ruby/pull/1495



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>