Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency erlang to v27 - autoclosed #62

Closed
wants to merge 2 commits into from

Conversation

btkostner-jumar[bot]
Copy link
Contributor

This PR contains the following updates:

Package Update Change
erlang major 26.2.3 -> 27.0

Release Notes

erlang/otp (erlang)

v27.0: OTP 27.0

Compare Source

Erlang/OTP 27 Released

All artifacts for the release can be downloaded from the Erlang/OTP Github release and you can view the new documentation at https://erlang.org/doc.

You can also install the latest release using kerl like this:

kerl build 27.0 27.0

The new Erlang/OTP 27 release contains new features, improvements as well as a few incompatibilities. Some of the new features are highlighted below.

Many thanks to all contributors!

Documentation

EEP-59 has been implemented. Documentation attributes in source files can now be used to document functions, types, callbacks, and modules.

The entire Erlang/OTP documentation is now using the new documentation system.

New language features

  • Triple-Quoted Strings has been implemented as per EEP 64 to allow a string to encompass a complete paragraph.

  • Adjacent string literals without intervening white space is now a syntax error, to avoid possible confusion with triple-quoted strings.

  • Sigils on string literals (both ordinary and triple-quoted) have been implemented as per EEP 66. For example, ~"Björn" or ~b"Björn" are now equivalent to <<"Björn"/utf8>>.

Compiler and JIT improvements

  • The compiler will now merge consecutive updates of the same record.

  • Safe destructive update of tuples has been implemented in the compiler and runtime system. This allows the VM to update tuples in-place when it is safe to do so, thus improving performance by doing less copying but also by producing less garbage.

  • The maybe expression is now enabled by default, eliminating the need for enabling the maybe_expr feature.

  • Native coverage support has been implemented in the JIT. It will automatically be used by the cover tool to reduce the execution overhead when running cover-compiled code. There are also new APIs to support native coverage without using the cover tool.

  • The compiler will now raise a warning when updating record/map literals to catch a common mistake. For example, the compiler will now emit a warning for #r{a=1}#r{b=2}.

  • The order in which the compiler looks up options has changed.

    When there is a conflict in the compiler options given in the -compile() attribute and options given to the compiler, the options given in the -compile() attribute overrides the option given to the compiler, which in turn overrides options given in the ERL_COMPILER_OPTIONS environment variable.

    Example:

    If some_module.erl has the following attribute:

    -compile([nowarn_missing_spec]).

    and the compiler is invoked like so:

    % erlc +warn_missing_spec some_module.erl
    

    no warnings will be issued for functions that do not have any specs.

ERTS

  • The erl command now supports the -S flag, which is similar to the -run flag, but with some of the rough edges filed off.

  • By default, escripts will now be compiled instead of interpreted. That means that the compiler application must be installed.

  • The existing experimental support for archive files will be changed in a future release. The support for having an archive in an escript will remain, but the support for using archives in a release will either become more limited or completely removed.

    As of Erlang/OTP 27, the function code:lib_dir/2, the -code_path_choice flag, and using erl_prim_loader for reading members of an archive are deprecated.

    To remain compatible with future version of Erlang/OTP escript scripts that need to retrieve data files from its archive should use escript:extract/2 instead of erl_prim_loader and code:lib_dir/2.

  • The default process limit has been raised to 1048576 processes.

  • The erlang:system_monitor/2 functionality is now able to monitor long message queues in the system.

  • The obsolete and undocumented support for opening a port to an external resource by passing an atom (or a string) as first argument to open_port(), implemented by the vanilla driver, has been removed. This feature has been scheduled for removal in OTP 27 since the release of OTP 26.

  • The pid field has been removed from erlang:fun_info/1,2.

  • Multiple trace sessions are now supported.

  • configure now automatically enables support for year-2038-safe timestamps.

    By default configure scripts used when building OTP will now try to enable support for timestamps that will work after mid-January 2038. This has typically only been an issue on 32-bit platforms. If configure cannot figure out how to enable such timestamps, it will abort with an error message. If you want to build the system anyway, knowing that the system will not function properly after mid-January 2038, you can pass the --disable-year2038 option to configure, which will enable configure to continue without support for timestamps after mid-January 2038.'

STDLIB

  • There is a new module json for encoding and decoding JSON.

    Both encoding and decoding can be customized. Decoding can be done in a SAX-like fashion and handle multiple documents and streams of data.

    The new json module is used by the jer (JSON Encoding Rules) for ASN.1 for encoding and decoding JSON. Thus, there is no longer any need to supply an external JSON library.

  • Several new functions that accept funs have been added to module timer.

  • The functions is_equal/2, map/2, and filtermap/2 have been added to the modules sets, ordsets, and gb_sets.

  • There are new efficient ets traversal functions with guaranteed atomicity. For example, ets:next/2 followed by ets:lookup/2 can now be replaced with ets:next_lookup/1.

  • The new function ets:update_element/4 is similar to ets:update_element/3, but takes a default tuple as the fourth argument, which will be inserted if no previous record with that key exists.

  • binary:replace/3,4 now supports using a fun for supplying the replacement binary.

  • The new function proc_lib:set_label/1 can be used to add a descriptive term to any process that does not have a registered name. The name will
    be shown by tools such as c:i/0 and observer, and it will be included in crash reports produced by processes using gen_server, gen_statem, gen_event, and gen_fsm.

  • Added functions to retrieve the next higher or lower key/element from gb_trees and gb_sets, as well as returning iterators that start at given keys/elements.

common_test

  • Calls to ct:capture_start/0 and ct:capture_stop/0 are now synchronous to ensure that all output is captured.

  • The default CSS will now include a basic dark mode handling if it is preferred by the browser.

crypto

  • The functions crypto_dyn_iv_init/3 and crypto_dyn_iv_update/3 that were marked as deprecated in Erlang/OTP 25 have been removed.

dialyzer

  • The --gui option for Dialyzer has been removed.

ssl

  • The ssl client can negotiate and handle certificate status request (OCSP stapling support on the client side).

tools

  • There is a new tool tprof, which combines the functionality of eprof and cprof under one interface. It also adds heap profiling.

xmerl

  • As an alternative to xmerl_xml, a new export module xmerl_xml_indent that provides out-of-the box indented output has been added.

For more details about new features and potential incompatibilities see the README.

v26.2.5: OTP 26.2.5

Compare Source

v26.2.4: OTP 26.2.4

Compare Source

Patch Package:           OTP 26.2.4
Git Tag:                 OTP-26.2.4
Date:                    2024-04-12
Trouble Report Id:       OTP-18958, OTP-18960, OTP-18999, OTP-19013,
                         OTP-19014, OTP-19015, OTP-19019, OTP-19021,
                         OTP-19031, OTP-19034, OTP-19035, OTP-19036,
                         OTP-19037, OTP-19038, OTP-19039, OTP-19040,
                         OTP-19041, OTP-19043, OTP-19044, OTP-19045,
                         OTP-19048, OTP-19049, OTP-19056, OTP-19058,
                         OTP-19059, OTP-19060
Seq num:                 #&#8203;8176, ERIERL-1043, ERIERL-1060, ERIERL-682,
                         GH-7897, GH-7928, GH-7951, GH-7955, GH-8120,
                         GH-8186, GH-8238, GH-8268, GH-8271, GH-8280,
                         GH-8291, GH-8316, GH-8338, OTP-17323,
                         PR-8220, PR-8248, PR-8275, PR-8277, PR-8284,
                         PR-8297, PR-8312, PR-8342, PR-8343
System:                  OTP
Release:                 26
Application:             asn1-5.2.2, common_test-1.26.2,
                         compiler-8.4.3, crypto-5.4.2, debugger-5.3.4,
                         diameter-2.3.2, erts-14.2.4, kernel-9.2.3,
                         ssh-5.1.4, ssl-11.1.3, stdlib-5.2.2
Predecessor:             OTP 26.2.3

 Check out the git tag OTP-26.2.4, and build a full OTP system
 including documentation. Apply one or more applications from this
 build as patches to your installation using the 'otp_patch_apply'
 tool. For information on install requirements, see descriptions for
 each application version below.

 ---------------------------------------------------------------------
 --- asn1-5.2.2 ------------------------------------------------------
 ---------------------------------------------------------------------

 The asn1-5.2.2 application can be applied independently of other
 applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-19039    Application(s): asn1
               Related Id(s): GH-8291, PR-8297

               An ASN.1 module that contains named BIT STRING values
               would fail to compiled if both the BER and JER
               back-ends were enabled.

 Full runtime dependencies of asn1-5.2.2: erts-11.0, kernel-7.0,
 stdlib-3.13

 ---------------------------------------------------------------------
 --- common_test-1.26.2 ----------------------------------------------
 ---------------------------------------------------------------------

 The common_test-1.26.2 application can be applied independently of
 other applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18960    Application(s): common_test

               With this change, the last column in common_test
               testcase log file is modified to now show the total sum
               of each time in the table rows, and Elapsed Time which
               is a clock time spent to run above functions. The
               Elapsed Time is the same time that was previously a
               total.

 Full runtime dependencies of common_test-1.26.2: compiler-6.0,
 crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
 observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
 stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8

 ---------------------------------------------------------------------
 --- compiler-8.4.3 --------------------------------------------------
 ---------------------------------------------------------------------

 The compiler-8.4.3 application can be applied independently of other
 applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-19019    Application(s): compiler

               In rare circumstances, the compiler code generate
               unsafe code for a bit syntax match.

  OTP-19035    Application(s): compiler
               Related Id(s): GH-8280, PR-8284

               In rare circumstances, binary matches that were
               supposed to succeed failed.

  OTP-19045    Application(s): compiler
               Related Id(s): GH-8316

               Fixed a bug where a fun's environment could be
               overridden by an argument if all of the following
               conditions were met:

               -- The fun was declared in the module that called it.

               -- The fun's target was statically known.

               -- The fun was called with a number of extra arguments
               equal to the number of environment variables.

 Full runtime dependencies of compiler-8.4.3: crypto-5.1, erts-13.0,
 kernel-8.4, stdlib-5.0

 ---------------------------------------------------------------------
 --- crypto-5.4.2 ----------------------------------------------------
 ---------------------------------------------------------------------

 The crypto-5.4.2 application can be applied independently of other
 applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-19038    Application(s): crypto
               Related Id(s): GH-8271, PR-8277

               Fix building with --enable-fips with OpenSSL 3 on
               MacOS.

 Full runtime dependencies of crypto-5.4.2: erts-9.0, kernel-5.3,
 stdlib-3.9

 ---------------------------------------------------------------------
 --- debugger-5.3.4 --------------------------------------------------
 ---------------------------------------------------------------------

 The debugger-5.3.4 application can be applied independently of other
 applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18958    Application(s): debugger
               Related Id(s): GH-8120, PR-8275

               Guards with nested record expression could wrongly
               evaluate to false.

 Full runtime dependencies of debugger-5.3.4: compiler-8.0, erts-12.0,
 kernel-8.0, stdlib-3.15, wx-2.0

 ---------------------------------------------------------------------
 --- diameter-2.3.2 --------------------------------------------------
 ---------------------------------------------------------------------

 The diameter-2.3.2 application can be applied independently of other
 applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-19040    Application(s): diameter
               Related Id(s): ERIERL-1060

               Reduce the impact of calling service_info by not
               counting the binaries (on the heap) info, This is done
               by introducing an option, bins_info, which controls
               this.

 Full runtime dependencies of diameter-2.3.2: erts-10.0, kernel-3.2,
 ssl-9.0, stdlib-5.0

 ---------------------------------------------------------------------
 --- erts-14.2.4 -----------------------------------------------------
 ---------------------------------------------------------------------

 The erts-14.2.4 application can be applied independently of other
 applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18999    Application(s): erts
               Related Id(s): GH-7928

               Fixed CPU quota determination for cgroup version 2

  OTP-19014    Application(s): erts

               Fix faulty reduction counting in exiting process which
               could cause it to do unnecessary yielding.

  OTP-19015    Application(s): erts
               Related Id(s): ERIERL-682

               Fix bug in re:run/3 where if an invalid UTF-8 subject
               was given, re:run could get stuck in an infinite loop.
               Bug was introduced in Erlang/OTP 22.1.

  OTP-19021    Application(s): erts
               Related Id(s): GH-8238, PR-8248

               On AArch64 (ARM64), Erlang code using bit syntax
               construction compiled using Erlang/OTP 24 could crash
               the runtime system when run in Erlang/OTP 26.2.3.

  OTP-19034    Application(s): erts

               Calling erlang:trace/3 with first argument one of
               ports, processes, existing_ports, existing_processes,
               existing or all, could cause emulator crash if a dirty
               scheduler was executing a simultaneous trace action.

  OTP-19036    Application(s): erts
               Related Id(s): GH-8186

               Fixed an integer overflow when the monotonic time unit
               reported by the operating system was greater than 10
               and lower than 100 microseconds.

  OTP-19041    Application(s): erts

               Fix option reuseaddr for FreeBSD 14

  OTP-19043    Application(s): erts
               Related Id(s): PR-8342

               When a traced process executing on a dirty scheduler
               received an exit signal, the dirty scheduler could use
               the wrong thread specific data which could lead to a
               crash.

  OTP-19048    Application(s): erts
               Related Id(s): PR-8343

               Fixed a more or less harmless bug that caused time
               correction of Erlang monotonic time to become slightly
               off on Windows platforms when QueryPerformanceCounter()
               was used as OS monotonic time source.

               erlang:system_info(os_monotonic_time_source) now also
               returns information about used resolution which not
               always corresponds to the resolution of the OS
               monotonic time source.

  OTP-19049    Application(s): erts, kernel
               Related Id(s): #&#8203;8176

               When using IPv6, classic gen_udp failed to add (group)
               membership (drop was used instead).

  OTP-19060    Application(s): erts

               Fix bug on Windows where "Unknown event: 2" would be
               printed to the console.

 --- Improvements and New Features ---

  OTP-19044    Application(s): erts
               Related Id(s): ERIERL-1043, PR-8342

               Checks for monotonicity of monotonic time have been
               improved so that Erlang and OS monotonic time are
               checked separately.

               A new configure argument
               --enable-ensure-os-monotonic-time has also been added.
               It enables functionality ensuring the monotonicity of
               monotonic timestamps delivered by the OS. When a
               non-monotonic timestamp is detected, it will be
               replaced by the last delivered monotonic timestamp
               before being used by Erlang's time functionality. Note
               that you do not want to enable this unless the OS
               monotonic time source on the system fails to produce
               monotonic timestamps. This since ensuring the
               monotonicity of OS monotonic timestamps will hurt
               scalability and performance of the system.

  OTP-19058    Application(s): erts

               For severe errors, when the `socket` module terminates
               the Erlang VM, now an erl_crash.dump is produced, to
               facilitate post mortem debugging.

 Full runtime dependencies of erts-14.2.4: kernel-9.0, sasl-3.3,
 stdlib-4.1

 ---------------------------------------------------------------------
 --- kernel-9.2.3 ----------------------------------------------------
 ---------------------------------------------------------------------

 The kernel-9.2.3 application can be applied independently of other
 applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-19049    Application(s): erts, kernel
               Related Id(s): #&#8203;8176

               When using IPv6, classic gen_udp failed to add (group)
               membership (drop was used instead).

  OTP-19056    Application(s): kernel
               Related Id(s): PR-8312, OTP-17323

               The check in inet_res of the RD bit has been relaxed
               slightly.

 Full runtime dependencies of kernel-9.2.3: crypto-5.0, erts-14.0,
 sasl-3.0, stdlib-5.0

 ---------------------------------------------------------------------
 --- ssh-5.1.4 -------------------------------------------------------
 ---------------------------------------------------------------------

 The ssh-5.1.4 application can be applied independently of other
 applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-19013    Application(s): ssh
               Related Id(s): GH-7897, PR-8220

               With this change, owner and group file attributes
               decoding is fixed and results with value of integer
               type.

 Full runtime dependencies of ssh-5.1.4: crypto-5.0, erts-14.0,
 kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0,
 stdlib-5.0

 ---------------------------------------------------------------------
 --- ssl-11.1.3 ------------------------------------------------------
 ---------------------------------------------------------------------

 The ssl-11.1.3 application can be applied independently of other
 applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-19037    Application(s): ssl
               Related Id(s): GH-7951, GH-7955

               Cleanup and close all connections in DTLS when the
               listen socket owner dies.

               Improved IPv6 handling in DTLS.

  OTP-19059    Application(s): ssl
               Related Id(s): GH-8338

               Fixed a crash in dtls accept.

 Full runtime dependencies of ssl-11.1.3: crypto-5.0, erts-14.0,
 inets-5.10.7, kernel-9.0, public_key-1.11.3, runtime_tools-1.15.1,
 stdlib-4.1

 ---------------------------------------------------------------------
 --- stdlib-5.2.2 ----------------------------------------------------
 ---------------------------------------------------------------------

 The stdlib-5.2.2 application can be applied independently of other
 applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-19031    Application(s): stdlib
               Related Id(s): GH-8268

               Attempting to use the maybe construct in a macro
               argument could crash the compiler.

 Full runtime dependencies of stdlib-5.2.2: compiler-5.0, crypto-4.5,
 erts-13.1, kernel-9.0, sasl-3.0

 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@btkostner
Copy link
Owner

Docker images have yet to be posted.

@btkostner
Copy link
Owner

OTP images have been developed, but require Elixir 1.17

@btkostner-jumar btkostner-jumar bot changed the title chore(deps): update dependency erlang to v27 chore(deps): update dependency erlang to v27 - autoclosed Jun 13, 2024
@btkostner-jumar btkostner-jumar bot closed this Jun 13, 2024
@btkostner-jumar btkostner-jumar bot deleted the renovate/erlang-27.x branch June 13, 2024 16:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant