2019-11-23 09:08:36 by Makoto Fujiwara | Files touched by this commit (1) |
Log message:
(lang/erlang-doc) regen distinfo for 22.1
|
2019-08-01 13:43:01 by Nia Alarie | Files touched by this commit (11) |
Log message:
erlang: Update to 22.0.7
Erlang/OTP 22 is a new major release with new features and improvements as well \
as incompatibilities.
For a deeper dive into the hightligts of the OTP 22 release, you can read our \
blog here:
http://blog.erlang.org/OTP-22-Highlights/
Potential Incompatibilities
gen_* behaviours: If logging of the last N messages through sys:log/2,3 is \
active for the server, this log is included in the terminate report.
reltool: A new element, Opts, can now be included in a rel tuple in the \
reltool release specific configuration format: {rel, Name, Vsn, RelApps, Opts}.
All external pids/ports/refs created by erlang:list_to_pid and similar \
functions now compare equal to any other pid/port/ref with same number from that \
node.
The old legacy erl_interface library is deprecated as of OTP 22, and will be \
removed in OTP 23. This does not apply to the ei library.
VxWorks is deprecated as of OTP 22 and will be removed in OTP 23.
Erts:
Support for Erlang Distribution protocol to split the payload of large \
signals into several fragments.
ETS option write_concurrency now also effects and improves scalability of \
ordered_set tables.
The length/1 BIF used to calculate the length of the list in one go without \
yielding, even if the list was very long. Now it yields when called with long \
lists.
A new (still experimental) module socket is introduced. It is implemented as \
a NIF and the idea is that it shall be as "close as possible" to the \
OS level socket interface.
Added the NIF function enif_term_type, which helps avoid long sequences of \
enif_is_xyz by returning the type of the given term. This is especially helpful \
for NIFs that serialize terms, such as JSON encoders, where it can improve both \
performance and readability.
Compiler:
The compiler has been rewritten to internally use an intermediate \
representation based on Static Single Assignment (SSA). The new intermediate \
representation makes more optimizations possible.
The binary matching optimizations are now applicable in many more \
circumstances than before.
Type optimizations are now applied across local function calls, and will \
remove a lot more redundant type tests than before.
All compiler options that can be given in the source file can now be given \
in the option list on the command line for erlc.
In OTP 22, HiPE (the native code compiler) is not fully functional. The \
reasons for this are new BEAM instructions for binary matching that the HiPE \
native code compiler does not support. If erlc is invoked with the +native \
option, and if any of the new binary matching instructions are used, the \
compiler will issue a warning and produce a BEAM file without native code.
Standard libraries:
Cover now uses the counters module instead of ets for updating counters. The \
new function cover:local_only/0 allows running Cover in a restricted but faster \
local-only mode. The increase in speed will vary depending on the type of code \
being cover-compiled, as an example the compiler test suite runs more than twice \
as fast with the new Cover.
A simple socket API is provided through the socket module. This is a low \
level API that does *not* replace gen_[tcp|udp|sctp]. It is intended to \
*eventually* replace the inet driver. It also provides a basic API that \
facilitates the implementation of other protocols than TCP, UDP and SCTP. Known \
issues are; No support for the Windows OS (currently), a small term leakage. \
This feature will be classed as experimental in OTP 22.
SSL: now uses the new logger API, including log levels and verbose debug logging.
SSL: Basic support for TLS 1.3 Server for experimental use.
crypto: The new hash_info/1 and cipher_info/1 functions returns maps with \
information about the hash or cipher in the argument.
|
2019-07-03 09:26:36 by Nia Alarie | Files touched by this commit (3) |
Log message:
Use https for erlang.org
|
2019-04-23 20:47:17 by Nia Alarie | Files touched by this commit (9) |
Log message:
lang/erlang: Update to 21.3.6
Highlights from erlang 21.2 to 21.3:
Kernel:
The standard logger handler, logger_std_h, now has a new internal
feature for log rotation. For full information see the documentation.
SSL:
The Reason part of the error return from the functions connect and
handshake has a better and documented format. This is a potential
incompatibility. See the documentation.
Refactoring of state handling has improved the TLS application data
throughput and reduced CPU overhead
Code optimizations has reduced CPU load for encryption/decryption,
especially for Erlang's distribution protocol over TLS
Now supports active N
Erl_interface:
Support for plugin of a user supplied socket implementation has been added.
OTP:
The HTML reference documentation now shows the OTP version where
modules and functions were first introduced. Versions of OTP older than \
R13B04 is not shown in the reference
documentation
|
2019-01-23 13:46:22 by Nia Alarie | Files touched by this commit (3) |
Log message:
erlang-doc: Update to 21.2
|
2018-09-13 11:02:52 by Jonathan Perkin | Files touched by this commit (2) |
Log message:
erlang-{doc,man}: Fix DEPENDS to handle DIST_VERSION_PATCH.
|
2018-07-03 13:01:21 by Filip Hajny | Files touched by this commit (13) |
Log message:
lang/erlang*: Update to 21.0
Potential Incompatibilities
- All Corba applications are now moved from the OTP repository
- A new Corba repository will be created https://github.com/erlang
- New applications ftp and tftp, moved from inets
- ssl no longer supports 3_DES cipher suites or RSA-key exchange
cipher suites by default
- Erlang:monitor on a primitive node (erl_interface, jinterface, etc)
will no longer fail with badarg exception. Instead a monitor will be
created, but it will only supervise the connection to the node.
Erts:
- Enhanced IO scalability
- Support for usage of distribution controller processes for
alternative transports, routing etc
- compact instructions on 64bit systems for code below 4GB 20% less
memory for loaded code
- Rewrite of the efile-driver with NIFs and "Dirty schedulers"
resulting in faster file operations
- non-smp VM removed
- link and monitor optimized for scalability
- os:getenv/putenv now work on thread-safe emulation. No longer in
sync with libc getenv(3). Manual synchronization will be needed.
Compiler:
- Misc compiler optimizations including contributions from the Elixir
team resulting in 10% improvements in benchmarks
- "Tuple calls" have been removed from the run-time system.
- Code such as f({ok, Val}) -> {ok, Val} is now automatically
rewritten to f({ok, Val} = Tuple) -> Tuple. this reduces code size,
execution time, and removed GC pressure.
- More information in stacktrace from a number of operators
- erlang:get_stacktrace/0 deprecated to be replaced with try ... catch
C:R:Stacktrace -> ...
- Creation of small maps with literal keys optimized.
- A new predefined macro OTP_RELEASE and preprocessor directives -if
and -elif
Security:
- DTLS is now supported in the SSL application
- Enhanced support for distribution over TLS
- "unsecure" ciphers removed from defaults in SSL and SSH.
- A new option value defined to facilitate implementing exec servers.
Old option kept for compatibility, but now gives errors on stderror.
Standard libraries:
- New API for logging, logger
- New uri_string module for parsing URIs according to "The standard"
- New function lists:search(list,fun/1) -> {ok, Value} | false
- Changed default behaviour of .erlang loading. escript, erlc,
dialyzer and typer no longer load an .erlang at all.
|
2018-03-16 12:45:30 by Filip Hajny | Files touched by this commit (6) |
Log message:
lang/erlang: Update to 20.3.
ssl:
- Added new API functions to facilitate cipher suite
handling
erts, observer:
- More crash dump info such as: process binary virtual
heap stats, full info for process causing out-of-mem
during GC, more port related info, and dirty scheduler
info.
inets:
- Add support for unix domain sockets in the http client.
|
2017-12-13 15:45:20 by Filip Hajny | Files touched by this commit (8) |
Log message:
Update lang/erlang* to 20.2.
Some highlights:
crypto, ssl:
- The crypto API is extended to use private/public keys
stored in an Engine for sign/verify or encrypt/decrypt
operations.
- The ssl application provides an API to use this new
engine concept in TLS.
ssh:
- SSH can now fetch the host key from the private keys
stored in an Engine. See the crypto application for
details about Engines.
ssl:
- A new command line option -ssl_dist_optfile has been
added to facilitate specifying the many options needed
when using SSL as the distribution protocol.
stdlib:
- Improve performance of the new string functionality
when handling ASCII characters.
Full release notes:
http://www.erlang.org/download/otp_src_20.2.readme
|
2017-10-02 20:10:39 by Filip Hajny | Files touched by this commit (6) |
Log message:
Update lang/erlang* to 20.1.
Some highlights for 20.1:
- crypto, public_key: Extend crypto and public_key functions sign and
verify with:
- support for RSASSA-PS padding for signatures and for saltlength
setting
- X9.31 RSA padding.
- sha, sha224, sha256, sha384, and sha512 for dss signatures as
mentioned in NIST SP 800-57 Part 1.
- ripemd160 to be used for rsa signatures.
- A new tuple in crypto:supports/0 reports supported MAC algorithms.
- diameter:
- Add service option decode_format to allow incoming messages to be
decoded into maps instead of records.
- Decode performance has been improved.
- Add service/transport option avp_dictionaries to give better
support for dictionaries only defining AVPs.
- erts: Upgraded the ERTS internal PCRE library from version 8.40 to
version 8.41.
- erts, kernel, tools: Profiling with lock counting can now be fully
toggled at runtime in the lock counting emulator (-emu_type lcnt).
- erts: The zlib module has been refactored and all its operations
will now yield appropriately, allowing them to be used freely in
concurrent applications.
- erts, tools: Add erlang:iolist_to_iovec/1, which converts an
iolist() to an erlang:iovec(), which is suitable for use with
enif_inspect_iovec().
- erts: Add new nif API functions for managing an I/O Queue.
- observer/crashdump_viewer:
- Reading of crash dumps with many binaries is optimized.
- A progress bar is shown when the detail view for a process is
opened.
- The cdv script now sets ERL_CRASH_DUMP_SECONDS=0 to avoid
generating a new crash dump from the node running the Crashdump
Viewer.
- observer: Add system statistics and limits to frontpage in observer.
- public_key, ssl**: Improved error propagation and reports
- ssh: A new option modify_algorithms is implemented. It enables
specifying changes on the default algorithms list.
- tools/xref: The predefined Xref analysis locals_not_used now
understands the -on_load() attribute and does not report unused
functions.
- tools/fprof: When sampling multiple processes and analyzing with
totals set to true, the output now sums together all caller and
callee entries which concerns the same function.
|