Erlang/OTP 27.1

This release of Erlang/OTP can be built from source or installed using pre-built packages for your OS or third-party tools (such as kerl or asdf).

docker run -it erlang:27.1

Highlights #

OTP-19214
Application(s):
erts, stdlib
Related Id(s):

PR-8765

The zip module has been updated with support for:

  • zip64 archives - Archives larger than 4GB or with more than 2^32 entries.
  • extended timestamps - Higher resolution and in UTC.
  • UID/GID - Save and extract the original UID/GID.
  • Fixes so that permission mode attributes are correctly read and set for files in archives.
  • zip:list_dir/2 now also returns directories, not only files. (You can disable this behaviour by using the option skip_directories).

Various bugs in the original implementation have also been fixed, such as:

  • Correctly encode and decode the DOS timestamps for entries within an archive (that is the non-extended timestamp).
  • Fix DOS timestamps to be set to localtime instead of UTC (use extended timestamps for UTC timestamps).
  • Use the unix file attributes read from disk when creating archives instead of setting everything to 644.

Potential Incompatibilities #

OTP-19202
Application(s):
stdlib
Related Id(s):

GH-8715, PR-8261, PR-8741

Progress reports for a dynamically started supervisor will now be logged at debug level.

OTP-27.1 #

OTP-19103
Related Id(s):

GH-8486, PR-8518

The description of the pre-defined macros has been clarified. In particular, it is now made clear that the release returned by ?OTP_RELEASE is the release under which the compiler is run.

OTP-19145
Related Id(s):

GH-8378, PR-8596

ex_doc now runs using an explicit escript instance instead of /usr/bin/env so that package tools such as nix can build the documentation.

OTP-19182

The otp_patch_apply script, used for patching OTP applications, has been fixed. It was not possible (and still is not possible) to apply applications from the OTP 27.0.1 patch package onto an OTP 27.0 installation.

OTP-19193
Related Id(s):

GH-8656, PR-8707

./otp_build download_ex_doc was using sha1sum and sha256sum which work on various Unix systems. macOS does not have these applications installed by default, so we added a new dependency to the build process, shasum, which is installed by default on macOS and allows us to check the integrity of ex_doc.

OTP-19197
Related Id(s):

PR-8731

On documentation web pages using Mermaid JS scripts for figures, the scripts are now loaded asynchronously so that the rest of pages can be shown while the scripts are still downloading.

OTP-19110
Related Id(s):

PR-8528

The obsolete documentation for OAM Principles has been removed.

asn1-5.3.1 #

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

OTP-19218
Related Id(s):

GH-8779, PR-8781

Fixed a cosmetic but harmless issue with the ASN.1 compiler passing on the undec_rest option to the Erlang compiler.

Full runtime dependencies of asn1-5.3.1

erts-14.0, kernel-9.0, stdlib-5.0

common_test-1.27.1 #

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

OTP-19032
Related Id(s):

GH-4362, PR-7919

Groups with empty list specifying groups and test cases no longer crash execution.

OTP-19148
Related Id(s):

PR-8516

The Common_Test documentation and type specs have been polished.

OTP-19201
Related Id(s):

PR-8740

Man pages are now available for erl, erlc, dialyzer, and all other programs that are included in Erlang/OTP.

Full runtime dependencies of common_test-1.27.1

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.5.2 #

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

OTP-19168
Related Id(s):

GH-8630

Fixed a crash in an optimization pass relating to appending binaries.

OTP-19178
Related Id(s):

PR-8686

Fixed a bug in the compiler’s alias analysis pass that could make it emit unsafe code.

Full runtime dependencies of compiler-8.5.2

crypto-5.1, erts-13.0, kernel-8.4, stdlib-6.0

crypto-5.5.1 #

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

OTP-19212
Related Id(s):

GH-8562

crypto built with --enable-fips will now accept an OpenSSL 3 lib without fips provider as long as fips mode is not enabled.

OTP-19143

Added a warning in the documentation to avoid calling crypto:start/0 as it does not work for FIPS mode. Use application:start(crypto) instead.

OTP-19163

Deprecation of RSA encryption functions has been reverted, as there still exists legitimate use cases with other padding modes than PKCS-1.

While use PCKS-1 padding with some versions of cryptolib could be considered secure, we still recommend using other algorithms that are less sensitive to oracle attacks.

OTP-19186
Related Id(s):

PR-8709

Compiler warnings for some removed functions have been corrected to point out the correct replacement functions.

Full runtime dependencies of crypto-5.5.1

erts-9.0, kernel-5.3, stdlib-3.9

dialyzer-5.2.1 #

The dialyzer-5.2.1 application can be applied independently of other applications on a full OTP 27 installation.

OTP-19201
Related Id(s):

PR-8740

Man pages are now available for erl, erlc, dialyzer, and all other programs that are included in Erlang/OTP.

Full runtime dependencies of dialyzer-5.2.1

compiler-8.0, erts-12.0, kernel-8.0, stdlib-5.0, syntax_tools-2.0

diameter-2.4.1 #

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

OTP-19126
Related Id(s):

#8399

Function specs for the main API module has been updated.

OTP-19201
Related Id(s):

PR-8740

Man pages are now available for erl, erlc, dialyzer, and all other programs that are included in Erlang/OTP.

OTP-19206
Related Id(s):

ERIERL-1102

diameter:stop_service/1 has been made more synchronous.

Full runtime dependencies of diameter-2.4.1

erts-10.0, kernel-3.2, ssl-9.0, stdlib-5.0

edoc-1.3.2 #

The edoc-1.3.2 application can be applied independently of other applications on a full OTP 27 installation.

OTP-19139
Related Id(s):

PR-8584

Broken links in release notes have been mended.

Full runtime dependencies of edoc-1.3.2

erts-11.0, inets-5.10, kernel-7.0, stdlib-4.0, syntax_tools-2.0, xmerl-1.3.7

erts-15.1 #

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

OTP-19098
Related Id(s):

GH-8477, PR-8478

The erl -man example has been corrected to not consider values set in ERL_ZFLAGS and stop parsing arguments when a -- is encountered.

OTP-19113

Compiler warnings for Windows I/O back-end have been silenced.

OTP-19122

Bugs related to return_to trace have been fixed. It did not work for more than once trace session and it did sometimes not trigger for exceptions.

OTP-19133
Related Id(s):

GH-8498, PR-8521

Potential deadlocks while writing a crash dump have been eliminated.

OTP-19153
Related Id(s):

PR-8623

When loading a damaged or too old BEAM file, the runtime system could crash.

OTP-19154
Related Id(s):

GH-8613, PR-8627

A scheduler thread could get stuck when deleting a memory allocator carrier when adjacent carriers were deleted and/or inserted simultaneously by other schedulers. This in turn could cause the other schedulers to get stuck as well.

OTP-19166
Related Id(s):

PR-8636

Statistics for number of carriers in a shared pool after calling instrument:allocations or instrument:carriers are now correct. Also, a potential bug in carrier block scanning was eliminated.

OTP-19175
Related Id(s):

GH-8561, PR-8690

A race in the kTLS flavour of SSL distribution has been fixed so that inet_drv.c doesn’t read ahead too much data, which could cause the kTLS encryption to be activated too late when some encrypted data had already been read into the inet_drv.c buffer as unencrypted.

OTP-19176
Related Id(s):

PR-8683

Fixed an emulator crash relating to compressed ETS tables.

OTP-19181

A function (encode_sockaddr) was called with superfluous argument, on Windows, in the net nif.

OTP-19192

Fixed a crash that could happen on reallocation failure.

OTP-19201
Related Id(s):

PR-8740

Man pages are now available for erl, erlc, dialyzer, and all other programs that are included in Erlang/OTP.

OTP-19209
Related Id(s):

PR-8539, PR-8751

A previous correction in the Erlang/OTP 27.0.1 emergency patch had the unfortunate side effect of sometimes causing an unnecessary fullsweep (major) garbage collection instead of a generation (minor) garbage collection. This has been corrected.

OTP-19211
Related Id(s):

GH-8657

Fixed trace matchspec functions trace and enable_trace to use the session tracer when enabling trace flags on untraced processes.

OTP-19215
Related Id(s):

PR-8757

Fixed a typo in the type spec for erlang:garbage_collection_defaults/0.

OTP-19216

Corrected socket:ioctl for genaddr (SIOCGENADDR).

OTP-19219
Related Id(s):

PR-8702

The support for Transparent Huge Pages has been disabled on non-amd64 Linux systems.

OTP-19220
Related Id(s):

GH-7621, PR-8774

Fixed a race condition on Windows when upgrading from -noshell to a shell that would cause Erlang to crash with the error:

{'GetOverlappedResult',
  'The I/O operation has been aborted because of either a thread exit or an application request.'}.
OTP-19101
Related Id(s):

OTP-18835

Added functions getservbyname and getservbyport to the net module.

OTP-19132
Related Id(s):

OTP-19101

Introduced enet | esock variants of inet functions, either when called with sockets, with explicit inet_backend config or with the e inet_backend kernel config option.

OTP-19167
Related Id(s):

PR-8655

Optimize process and port creation when such tracing is not enabled by any trace session.

OTP-19186
Related Id(s):

PR-8709

Compiler warnings for some removed functions have been corrected to point out the correct replacement functions.

OTP-19199
Related Id(s):

GH-8561, GH-8690, GH-8785, OTP-19175

A boolean option read_ahead has been implemented for gen_tcp, default true, to facilitate not reading past (caching data) the end of a packet. In particular, for kTLS, caching data could read in data that was supposed to be decrypted by the platform’s network stack, before crypto parameters could be activated.

OTP-19214
HIGHLIGHT
 

The zip module has been updated with support for:

  • zip64 archives - Archives larger than 4GB or with more than 2^32 entries.
  • extended timestamps - Higher resolution and in UTC.
  • UID/GID - Save and extract the original UID/GID.
  • Fixes so that permission mode attributes are correctly read and set for files in archives.
  • zip:list_dir/2 now also returns directories, not only files. (You can disable this behaviour by using the option skip_directories).

Various bugs in the original implementation have also been fixed, such as:

  • Correctly encode and decode the DOS timestamps for entries within an archive (that is the non-extended timestamp).
  • Fix DOS timestamps to be set to localtime instead of UTC (use extended timestamps for UTC timestamps).
  • Use the unix file attributes read from disk when creating archives instead of setting everything to 644.

Full runtime dependencies of erts-15.1

kernel-9.0, sasl-3.3, stdlib-4.1

ftp-1.2.3 #

The ftp-1.2.3 application can be applied independently of other applications on a full OTP 27 installation.

OTP-19119
Related Id(s):

GH-8454, PR-8543

Eliminated a race condition that sometimes resulted in ftp:recv_bin/2 returning ok instead of {ok, Data}.

Full runtime dependencies of ftp-1.2.3

erts-7.0, kernel-6.0, runtime_tools-1.15.1, ssl-10.2, stdlib-3.5

inets-9.3 #

The inets-9.3 application can be applied independently of other applications on a full OTP 27 installation.

OTP-19171
Related Id(s):

PR-8578

The documentation for the httpd module has been improved, along with correction of headings and types.

OTP-19172
Related Id(s):

PR-8575

Userinfo is now properly percent-decoded before usage in headers.

Full runtime dependencies of inets-9.3

erts-14.0, kernel-9.0, mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0, stdlib-5.0, stdlib-6.0

kernel-10.1 #

Note! The kernel-10.1 application cannot be applied independently of other applications on an arbitrary OTP 27 installation.

   On a full OTP 27 installation, also the following runtime
   dependency has to be satisfied:
   -- erts-15.1 (first satisfied in OTP 27.1)
OTP-19097
Related Id(s):

PR-8503

A faulty assertion was corrected in the prim_tty module. This assertion could trigger when invalid UTF-8 was read from stdin just as the mode was changed from unicode to latin1.

OTP-19104
Related Id(s):

ERIERL-870

Opening a disk_log file and combining head_func with rotate options did not work.

OTP-19134
Related Id(s):

PR-8560

Fixed an error info printout for erlang:is_process_alive/1 on non-local pids.

OTP-19175
Related Id(s):

GH-8561, PR-8690

A race in the kTLS flavour of SSL distribution has been fixed so that inet_drv.c doesn’t read ahead too much data, which could cause the kTLS encryption to be activated too late when some encrypted data had already been read into the inet_drv.c buffer as unencrypted.

OTP-19205

Fixed a deadlock when an application crashes during startup and log messages were sent to standard out. Logger would fail to print the messages to standard out and instead print them to standard error.

OTP-19208
Related Id(s):

PR-8672

The -proto_dist init parameter will no longer be ignored when specified multiple times. It will now log a warning and use the first specified value.

OTP-19216

Corrected socket:ioctl for genaddr (SIOCGENADDR).

OTP-19101
Related Id(s):

OTP-18835

Added functions getservbyname and getservbyport to the net module.

OTP-19132
Related Id(s):

OTP-19101

Introduced enet | esock variants of inet functions, either when called with sockets, with explicit inet_backend config or with the e inet_backend kernel config option.

OTP-19138
Related Id(s):

OTP-19101

The function socket:i/0 now uses the net module (instead of the inet module) for service translation.

OTP-19199
Related Id(s):

GH-8561, GH-8690, GH-8785, OTP-19175

A boolean option read_ahead has been implemented for gen_tcp, default true, to facilitate not reading past (caching data) the end of a packet. In particular, for kTLS, caching data could read in data that was supposed to be decrypted by the platform’s network stack, before crypto parameters could be activated.

Full runtime dependencies of kernel-10.1

crypto-5.0, erts-15.1, sasl-3.0, stdlib-6.0

odbc-2.15 #

The odbc-2.15 application can be applied independently of other applications on a full OTP 27 installation.

OTP-19130
Related Id(s):

PR-7226

Figures in the documentation have been improved.

Full runtime dependencies of odbc-2.15

erts-6.0, kernel-3.0, stdlib-2.0

public_key-1.16.2 #

The public_key-1.16.2 application can be applied independently of other applications on a full OTP 27 installation.

OTP-19179

For completeness handle rsa_pss implicit default value, although this will probably not be commonly used as it provides very weak security.

OTP-19183
Related Id(s):

GH-8604

The public_key:cacerts_load() function could in some error cases return undefined instead of {error, Reason}.

OTP-19191
Related Id(s):

PR-8703

Added support for DragonFly.

OTP-19163

Deprecation of RSA encryption functions has been reverted, as there still exists legitimate use cases with other padding modes than PKCS-1.

While use PCKS-1 padding with some versions of cryptolib could be considered secure, we still recommend using other algorithms that are less sensitive to oracle attacks.

OTP-19169

It is now possible to use a verification fun of arity 4, giving the user fun access to both encoded and decoded versions of the certificate. This is desirable as a workaround for encoding errors preventing re-encoding from being reliable. This also saves some work load if the encoded version is needed.

Note that calling public_key:pkix_path_validation/3 with only decoded certs is not recommended, due to the decoding workarounds, although it will work as long as the workarounds are not needed.

If the decoded version is needed before thecall to public_key it is recommend to use the combined_cert- type to avoid double decoding. Note that the path validation algorithm itself always needs both the encoded and decoded versions of the certs.

The ssl implementation will now benefit from using this function instead of emulating the verify_fun/4.

Full runtime dependencies of public_key-1.16.2

asn1-3.0, crypto-4.6, erts-6.0, kernel-3.0, stdlib-3.5

runtime_tools-2.1.1 #

The runtime_tools-2.1.1 application can be applied independently of other applications on a full OTP 27 installation.

OTP-19188
Related Id(s):

PR-8692

Fixed a bug where dbg sessions on remote nodes were terminated prematurely.

Full runtime dependencies of runtime_tools-2.1.1

erts-15.0, kernel-10.0, mnesia-4.12, stdlib-6.0

snmp-5.17 #

The snmp-5.17 application can be applied independently of other applications on a full OTP 27 installation.

OTP-19201
Related Id(s):

PR-8740

Man pages are now available for erl, erlc, dialyzer, and all other programs that are included in Erlang/OTP.

OTP-19130
Related Id(s):

PR-7226

Figures in the documentation have been improved.

Full runtime dependencies of snmp-5.17

crypto-4.6, erts-12.0, kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-5.0

ssh-5.2.2 #

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

OTP-19170
Related Id(s):

GH-7746

The SSh daemon started with a TCP port number argument will now re-try obtaining a listen socket before returning an error to the user.

OTP-19173
Related Id(s):

PR-8310

Robustness has been improved by monitoring the connection handler process before casting the socket control notification.

Full runtime dependencies of ssh-5.2.2

crypto-5.0, erts-14.0, kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0, stdlib-6.0

ssl-11.2.2 #

Note! The ssl-11.2.2 application cannot be applied independently of other applications on an arbitrary OTP 27 installation.

   On a full OTP 27 installation, also the following runtime
   dependency has to be satisfied:
   -- public_key-1.16.2 (first satisfied in OTP 27.1)
OTP-19175
Related Id(s):

GH-8561, PR-8690

A race in the kTLS flavour of SSL distribution has been fixed so that inet_drv.c doesn’t read ahead too much data, which could cause the kTLS encryption to be activated too late when some encrypted data had already been read into the inet_drv.c buffer as unencrypted.

OTP-17848

All TLS-1.3 terminations are now graceful (previous TLS version terminations already were).

OTP-19169

It is now possible to use a verification fun of arity 4, giving the user fun access to both encoded and decoded versions of the certificate. This is desirable as a workaround for encoding errors preventing re-encoding from being reliable. This also saves some work load if the encoded version is needed.

Note that calling public_key:pkix_path_validation/3 with only decoded certs is not recommended, due to the decoding workarounds, although it will work as long as the workarounds are not needed.

If the decoded version is needed before thecall to public_key it is recommend to use the combined_cert- type to avoid double decoding. Note that the path validation algorithm itself always needs both the encoded and decoded versions of the certs.

The ssl implementation will now benefit from using this function instead of emulating the verify_fun/4.

OTP-19186
Related Id(s):

PR-8709

Compiler warnings for some removed functions have been corrected to point out the correct replacement functions.

OTP-19187

Include more information in logging of SNI (Server Name Indication) mismatch error.

Full runtime dependencies of ssl-11.2.2

crypto-5.0, erts-15.0, inets-5.10.7, kernel-9.0, public_key-1.16.2, runtime_tools-1.15.1, stdlib-6.0

stdlib-6.1 #

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

OTP-19146
Related Id(s):

GH-8568, PR-8611

The help printout for incorrect io:format/0 strings now handles the k modifier correctly.

OTP-19157
Related Id(s):

PR-8638

Fixed a bug that caused the shell completion to crash when keyword and tuple appeared on the same line.

OTP-19164
Related Id(s):

GH-8605, PR-7419, OTP-18671

Due to PR-7419/OTP-18671, the cached internal value of the callback_mode started leaking out to logger reports, which could cause logger handlers to crash. This has now been fixed to show the value that was set, as before caching.

OTP-19176
Related Id(s):

PR-8683

Fixed an emulator crash relating to compressed ETS tables.

OTP-19189

The error description for maps:update/3 will no longer insist that the third argument is not a map when a key could not be found

OTP-19200
Related Id(s):

GH-8738, PR-8739

Multiple issues have been corrected in the markdown parser that creates documentation for the shell.

The parser was incorrectly parsing formatted markdown (either bold or italics) within parenthesis. This used to not be shown correctly in the shell documentation (_Option._), which was displayed verbatim. This fix makes Option. to appear in italics.

The markdown parser is also used in the creation of other documentation formats, so this was a bug that affected other generated documentation formats.

OTP-19210
Related Id(s):

GH-8748

Fixed category for some codepoint ranges in unicode_util.

OTP-19222
Related Id(s):

PR-8777

Fixed argparse to print sub-commands help when available.

OTP-19105
Related Id(s):

PR-8499

Class annotation to HTML from fenced blocks have been added.

OTP-19112

Added JSON formatting functions for indented output.

OTP-19128
Related Id(s):

PR-8555

Improved illegal pattern error for accidental map associations.

OTP-19202
POTENTIAL INCOMPATIBILITY
 

Progress reports for a dynamically started supervisor will now be logged at debug level.

OTP-19214
HIGHLIGHT
 

The zip module has been updated with support for:

  • zip64 archives - Archives larger than 4GB or with more than 2^32 entries.
  • extended timestamps - Higher resolution and in UTC.
  • UID/GID - Save and extract the original UID/GID.
  • Fixes so that permission mode attributes are correctly read and set for files in archives.
  • zip:list_dir/2 now also returns directories, not only files. (You can disable this behaviour by using the option skip_directories).

Various bugs in the original implementation have also been fixed, such as:

  • Correctly encode and decode the DOS timestamps for entries within an archive (that is the non-extended timestamp).
  • Fix DOS timestamps to be set to localtime instead of UTC (use extended timestamps for UTC timestamps).
  • Use the unix file attributes read from disk when creating archives instead of setting everything to 644.

Full runtime dependencies of stdlib-6.1

compiler-5.0, crypto-4.5, erts-15.0, kernel-10.0, sasl-3.0

syntax_tools-3.2.1 #

The syntax_tools-3.2.1 application can be applied independently of other applications on a full OTP 27 installation.

OTP-19102
Related Id(s):

PR-8515

The documentation for syntax_tools has been polished after the migration to the new documentation system.

Full runtime dependencies of syntax_tools-3.2.1

compiler-7.0, erts-9.0, kernel-5.0, stdlib-4.0

tftp-1.2.1 #

The tftp-1.2.1 application can be applied independently of other applications on a full OTP 27 installation.

OTP-19114

The legacy dependency to error_logger has been removed. logger is now used.

Full runtime dependencies of tftp-1.2.1

erts-6.0, kernel-6.0, stdlib-5.0

tools-4.1 #

The tools-4.1 application can be applied independently of other applications on a full OTP 27 installation.

OTP-19136
Related Id(s):

GH-8472, PR-8472, PR-8541

m:tprof no longer crashes when using pause/restart/continue when profiling all modules.

OTP-19203
Related Id(s):

GH-8661, PR-8742

On systems supporting native coverage, calls to cover could hang or crash if cover-compiled module had been reloaded from outside cover. This has been corrected so that cover now recovers from the error and and sends a report to the logger about the failure to retrieve coverage information.

OTP-19130
Related Id(s):

PR-7226

Figures in the documentation have been improved.

Full runtime dependencies of tools-4.1

compiler-8.5, erts-15.0, erts-15.0, kernel-10.0, runtime_tools-2.1, stdlib-6.0

wx-2.4.3 #

The wx-2.4.3 application can be applied independently of other applications on a full OTP 27 installation.

OTP-19190

Documentation has been improved.

Full runtime dependencies of wx-2.4.3

erts-12.0, kernel-8.0, stdlib-5.0

xmerl-2.1 #

The xmerl-2.1 application can be applied independently of other applications on a full OTP 27 installation.

OTP-19217
Related Id(s):

ERIERL-1104

Corrected export functions from internal structure to XML so xmlText items of type cdata are handled correctly. They were just exported as normal text instead of output in a CDATA section.

OTP-19129
Related Id(s):

PR-8583

The type spec for xmerl_sax_parser:file/2 has been corrected to indicate that it can return an {error, _} tuple.

Full runtime dependencies of xmerl-2.1

erts-6.0, kernel-3.0, stdlib-2.5

Thanks To #

Aaron Renner, Anders Ågren Thuné, Andrea Leopardi, Anupama Singh, Cesar Guzman, Dániel Szoboszlay, Douglas Vought, Frej Drejhammar, jakob svenningsson, Jan Uhlig, Janusz Woźniak, Johannes Christ, Jonatan Kłosko, José Valim, Kian-Meng Ang, lexprfuncall, Loïc Hoguin, Louis Pilfold, Marcelino Alberdi Pereira, Maria Scott, Michael Neumann, Michał Muskała, nixxquality, Peter Lemenkov, Roger Lipscombe, Siim Liiser, Svilen Ivanov, Urban Koistinen, Wojtek Mach