From 0f2ddb633ffe97a92584edfbaf95d2dce3961cc8 Mon Sep 17 00:00:00 2001 From: Rickard Green Date: Wed, 24 Apr 2019 14:29:10 +0200 Subject: Revert "Prepare release" This reverts commit 425889ba69b69a9b6fb14bfbef121d51b78e853a. --- lib/stdlib/doc/src/notes.xml | 225 ------------------------------------------- 1 file changed, 225 deletions(-) (limited to 'lib/stdlib/doc/src/notes.xml') diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml index 90e9827ec8..65650a25c7 100644 --- a/lib/stdlib/doc/src/notes.xml +++ b/lib/stdlib/doc/src/notes.xml @@ -31,231 +31,6 @@

This document describes the changes made to the STDLIB application.

-
STDLIB 3.9 - -
Fixed Bugs and Malfunctions - - -

Fix a bug in string:lexemes/2.

The - bug was found when optimizing the handling of deep lists - of Unicode characters in the string module.

-

- Own Id: OTP-15649

-
- -

A bug has been fixed in the maps implementation - that could cause a crash or memory usage to grow until - the machine ran out of memory. This could happen when - inserting a new key-value pair with a key K1 - containing a binary B1 into a map M having - a key K2 with a binary B2 if the following - conditions were met:

B1 =/= - B2 size(B1) >= 4294967296 - size(B2) >= 4294967296 - size(M) >= 32 (size(B1) rem - 4294967296) == (size(B2) rem 4294967296) - the first (size(B1) rem 4294967296) bytes - are the same both in B1 and B2 - substituting B1 in K1 with B2 - would create a term with the same value as - K2

The root cause of the problem - is that the maps implementation only hashed the - first (X rem 4294967296) bytes of binaries so that - different binaries could get the same hash value - independently of the hash seed.

-

- Own Id: OTP-15707

-
- -

Since the introduction of the stack trace variable, - the Erlang Pretty Printer has left out the exception - class throw even when the stack trace variable - cannot be left out, which is not correct Erlang code. The - fix is to always include the exception class - throw.

-

- Own Id: OTP-15751

-
- -

record_info/2 is a pseudo-function that - requires literal arguments known at compile time. - Therefore, the following usage is illegal: fun - record/info/2. The compiler would crash when during - compilation of that kind of code. Corrected to issue a - compilation error.

-

- Own Id: OTP-15760 Aux Id: ERL-907

-
-
-
- - -
Improvements and New Features - - -

A new rand module algorithm, exro928ss - (Xoroshiro928**), has been implemented. It has got a - really long period and good statistical quality for all - output bits, while still being only about 50% slower than - the default algorithm.

The same generator is also - used as a long period counter in a new crypto - plugin for the rand module, algorithm - crypto_aes. This plugin uses AES-256 to scramble - the counter which buries any detectable statistical - artifacts. Scrambling is done in chunks which are cached - to get good amortized speed (about half of the default - algorithm).

-

- Own Id: OTP-14461 Aux Id: PR-1857

-
- -

- Types related to server naming and starting have been - exported from gen_statem. These are: - server_name/0, server_ref/0, - start_opt/0, start_ret/0 and - enter_loop_opt/0.

-

- Own Id: OTP-14724 Aux Id: PR-2056

-
- -

- The default algorithm for the rand module has been - changed to exsss (Xorshift116**) which is a - combination of the Xorshift116 (exsp) state update - and a new scrambler "StarStar" from the 2018 paper - "Scrambled Linear Pseudorandom Number Generators" by - David Blackman and Sebastiano Vigna. This combination - should not have the caveat of weak low bits that the - previous default algorithm(s) have had, with the cost of - about 10% lower speed. See GitHub pull request #1969.

-

- Own Id: OTP-14731 Aux Id: PR-1969

-
- -

- The generic state machine behaviour gen_statem has - gotten code cleanup and documentation improvements from - GitHub Pull Request #1855, even though the PR itself was - rejected.

-

- Own Id: OTP-14737 Aux Id: PR-1855

-
- -

- Update Unicode specification to version 11.0.

-

- Own Id: OTP-15111

-
- -

- ETS option write_concurrency now also affects and - improves the scalability of ordered_set tables. - The implementation is based on a data structure called - contention adapting search tree, where the lock - granularity adapts to the actual amount of concurrency - exploited by the applications in runtime.

-

- Own Id: OTP-15128

-
- -

- Optimized maps:new/0 with trivial Erlang - implementation, making use of literal terms (the empty - map) not needing dynamic heap allocation.

-

- Own Id: OTP-15200 Aux Id: PR-1878

-
- -

The gen_* behaviours have been changed so that - 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.

To accomplish - this the format of "System Events" as defined in the man - page for sys has been clarified and cleaned up, a - new function sys:get_log/1 has been added, and - sys:get_debug/3 has been deprecated. Due to these - changes, code that relies on the internal badly - documented format of "System Events", need to be - corrected.

-

- *** POTENTIAL INCOMPATIBILITY ***

-

- Own Id: OTP-15381

-
- -

- The gen_statem behaviour engine loop has been - optimized for better performance in particular when the - callback module returns some actions, that is better - performance for more realistic applications than the Echo - Benchmark.

-

- Own Id: OTP-15452

-
- -

- The persistent_term functions put/2 and - erase/1 are now yeliding.

-

- Own Id: OTP-15615

-
- -

Previously, all ETS tables used centralized counter - variables to keep track of the number of items stored and - the amount of memory consumed. These counters can cause - scalability problems (especially on big NUMA systems). - This change adds an implementation of a decentralized - counter and modifies the implementation of ETS so that - ETS tables of type ordered_set with - write_concurrency enabled use the decentralized - counter. Experiments indicate that this change - substantially improves the scalability of ETS - ordered_set tables with write_concurrency - enabled in scenarios with frequent ets:insert/2 - and ets:delete/2 calls.

-

- Own Id: OTP-15623 Aux Id: PR-2190

-
- -

Use ssh instead of rsh as the default - remote shell.

-

- Own Id: OTP-15633 Aux Id: PR-1787

-
- -

Added beam_lib:strip/2 and friends, which - accept a list of chunks that should be preserved when - stripping.

-

- Own Id: OTP-15680 Aux Id: PR-2114

-
- -

There are new compiler options nowarn_removed - and {nowarn_removed,Items} to suppress warnings - for functions and modules that have been removed from - OTP.

-

- Own Id: OTP-15749 Aux Id: ERL-904

-
- -

Let the Erlang Pretty Printer put atomic parts on the - same line.

-

- Own Id: OTP-15755

-
- -

Add option quote_singleton_atom_types to the - Erlang Pretty Printer's functions. Setting the option to - true adds quotes to all singleton atom types.

-

- Own Id: OTP-15756

-
-
-
- -
-
STDLIB 3.8.1
Fixed Bugs and Malfunctions -- cgit v1.2.3