[erlang-questions] [ANN] Erlang/OTP 17.0 has been released

Michael Truog <>
Thu Apr 10 07:43:06 CEST 2014


On 04/09/2014 09:28 PM, Rickard Green wrote:
> On Wed, Apr 9, 2014 at 11:53 PM, Michael Truog <> wrote:
>> I am glad we have a new release, but there remains a version checking
>> concern:
>>
>> I am a bit concerned the new versioning with 17.0 (not the release
>> candidates) doesn't provide the minor release number.  This goes beyond the
>> fact the erlang:system_info(otp_correction_package) removal breaks existing
>> version checking source code (as was mentioned here
>> http://erlang.org/pipermail/erlang-questions/2014-March/077998.html).
> erlang:system_info(otp_correction_package) has only existed in one
> release candidate. Never in a supported release.
That may be true, but that doesn't remove the fact that code existed that was written against it.  I have updated it to handle the removal, but the absence of its information remains: https://github.com/CloudI/CloudI/blob/develop/src/m4/ax_erlang_otp_version.m4

>
>> I
>> understand the html doc says "As of OTP release 17, the OTP release number
>> corresponds to the major OTP version number. There is no
>> erlang:system_info() argument giving the exact OTP version. This since the
>> exact OTP version in the general case is hard to determine."
>> (http://www.erlang.org/doc/man/erlang.html#system_info-1).  This could force
>> the error-prone parsing of erlang:system_info(system_version) to get the
>> release candidate number in the future, but the minor release number remains
>> missing.  Isn't the minor release number required for support issues, to
>> understand what anyone has installed?
> No. This since an OTP installation may consist of multiple OTP
> versions (in the case of licensed customers this is the typical case).
> The set of installed application versions is more interesting
> information.
>
> The installation may, however, also consist of other modifications not
> associated with an OTP version, be configured in different ways, etc.
> In order to get the information we need, we've introduced
> system_information:to_file/1
> <http://www.erlang.org/doc/man/system_information.html#to_file-1>.
> This since an OTP version gives us very little useful information.
I understand that the individual OTP applications that are in an Erlang/OTP official/public release are better to check for compatibility but this problem relies heavily on the packaging of the Erlang/OTP release.  If individual OTP applications were truly separate, Erlang/OTP would provide downloads for each OTP application as individual links and installables.  I am not trying to say that the Erlang/OTP release should be split in this way, just that the current packaging does enforce the versioning of a set of individual OTP applications.  So, 17.0 really is a version set that contains all the individual OTP application versions and these individual OTP application versions are known to work together through both public and private testing.  Other version sets that include private variations on these individual OTP applications would be used by Ericsson customers, but those version sets are a variation on the 17.0 release as it is released publicly, just due to different 
versions being used in the individual OTP applications (the individual OTP application versions being changed is my assumption for customers, so they are able to track what they have, but I do not have proof that this occurs, you would know).

>> The current documentation wants
>> people to make custom OTP_VERSION file in their target system
>> (http://www.erlang.org/doc/system_principles/versions.html) but that isn't
>> part of the installation, so it is in no way a standard, just an obscure
>> detail.
> The OTP version can only describe what is installed in the special
> case when you build and install the system from one OTP version and
> after that do not touch it. It may perhaps be a quite common special
> case, but it is still a special case. If you know this about your
> installed systems, you can put this information in your installation.
> We do however not know that this is the case, and would present false
> information to our users if we put the information there.
My main concern about removing information about the version set named "17.0", such that you are only ever able to check for "17" is that the minor release version number and the release candidate number is lost.  The main problem is the missing minor release version number, since that is generally more important for support and compatibility.

>
>> How should we deal with understanding what has changed in a minor
>> release?
>>
> I'm not sure I understand this question. Please, elaborate.
An example of this problem is with R14B02.  I happen to know that erlzmq2 (https://github.com/zeromq/erlzmq2/) requires R14B02 due to the NIF support within that release.  I know that checking for that release isn't as much of an issue now, due to its age, but when a similar problem appears for release 17 I will be unable to check for it, avoid it, or handle it, unless I try to do it based on individual OTP application versions.  That requires that I know all the individual OTP applications which are at fault for the problem, or offer a new feature, but they are interconnected in various ways that are not trivial.  Due to Erlang/OTP commonly being released with a single version number, which defines a version set, a set of individual OTP application versions that work together, I think it is important to be able to check what version set exists is a simple way to make development and support issues simpler.  I could also take all individual OTP application versions and put 
them through a hash to get a sequence of hexadecimal, but the resulting string doesn't mean much to a person that just sees the hexadecimal string associated with an Erlang/OTP release.  The alternative would be to have separate installables for each individual OTP application, but that makes the situation more unstable if something doesn't enforce what version set is being used.  So, it would be much easier to check the existence of 17.0 or 17.0rc1 to avoid development and support problems.

Best Regards,
Michael

>
> Regards,
> Rickard Green, Erlang/OTP, Ericsson AB
>
>> Thanks,
>> Michael
>>
>>
>> On 04/09/2014 08:24 AM, Kenneth Lundin wrote:
>>
>> Erlang/OTP 17.0 has been released.
>>
>> Erlang/OTP 17.0 is a new major release with new features, characteristics
>> improvements, as well as some minor incompatibilities.
>>
>> Some highlights of the release are:
>>
>> Erlang/OTP has been ported to the realtime operating system OSE.
>> Maps, a new dictionary data type (experimental)
>> A more natural mapping from ASN.1 OCTET STRING and BIT STRING to Erlang
>> types, and other ASN.1 improvements and optimizations
>> The {active, N} socket option for TCP, UDP, and SCTP
>> A new (optional) scheduler utilization balancing mechanism
>> Migration of memory carriers has been enabled by default on all ERTS
>> internal memory allocators
>> Increased garbage collection tenure rate
>> Experimental "dirty schedulers" functionality
>> Funs can now be given names
>> Miscellaneous unicode support enhancements
>> A new version scheme for OTP its applications has been introduced
>>
>> You can find the README file with more detailed info at
>> http://www.erlang.org/download/otp_src_17.0.readme
>>
>> You can download the full source distribution from
>> http://www.erlang.org/download/otp_src_17.0.tar.gz
>>
>> Note: To unpack the TAR archive you need a GNU TAR compatible program. For
>> installation instructions please read the README that is part of the
>> distribution.
>>
>> You can also find this release at the official Erlang/OTP Git-repository at
>> Github here: https://github.com/erlang/otp tagged "OTP-17.0"
>>
>> The Windows binary distribution can be downloaded from
>>
>> http://www.erlang.org/download/otp_win32_17.0.exe
>>
>> http://www.erlang.org/download/otp_win64_17.0.exe
>>
>> You can also download the complete HTML documentation or the Unix manual
>> files
>>
>> http://www.erlang.org/download/otp_doc_html_17.0.tar.gz
>> http://www.erlang.org/download/otp_doc_man_17.0.tar.gz
>>
>> We also want to thank those that sent us patches, suggestions and bug
>> reports.
>>
>> The Erlang/OTP Team at Ericsson
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> erlang-questions mailing list
>> 
>> http://erlang.org/mailman/listinfo/erlang-questions
>>
>>
>>
>> _______________________________________________
>> erlang-questions mailing list
>> 
>> http://erlang.org/mailman/listinfo/erlang-questions
>>





More information about the erlang-questions mailing list