Commit graph

42 commits

Author SHA1 Message Date
nia
8fd3fa1b83 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-08-01 11:43:00 +00:00
nia
b1c5ff7de7 Use https for erlang.org 2019-07-03 07:26:36 +00:00
nia
a4a9373357 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-04-23 18:47:16 +00:00
nia
68f9b9c990 erlang-doc: Update to 21.2 2019-01-23 12:46:22 +00:00
jperkin
fc8be9aa1a erlang-{doc,man}: Fix DEPENDS to handle DIST_VERSION_PATCH. 2018-09-13 09:02:52 +00:00
fhajny
930fabde78 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-07-03 11:01:21 +00:00
fhajny
9a8b7f247d 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.
2018-03-16 11:45:29 +00:00
fhajny
1ae94db05e 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-12-13 14:45:20 +00:00
fhajny
eefd48c3b0 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.
2017-10-02 18:10:38 +00:00
fhajny
d9c70b5163 Update lang/erlang* to 20.0.
Potential Incompatibilities
---------------------------

- ERTS:
  - The non SMP Erlang VM is deprecated and not built by default
  - Remove deprecated erlang:hash/2
  - erlang:statistics/1 with scheduler_wall_time now also includes
    info about dirty CPU schedulers.
  - The new purge strategy introduced in OTP 19.1 is mandatory and
    slightly incompatible for processes holding funs
  - The NIF library reload is not supported anymore.
  - Atoms can now contain arbitrary unicode characters which means
    that the DFLAG_UTF8_ATOMS capability in the distribution protocol
    must be supported if an OTP 20 node should accept the connection
    with another node or library.
- Asn1: Deprecated module and functions removed (asn1rt,
  asn1ct:encode/3 and decode/3)
- Ssh: client only option in a call to start a daemon will now fail

Highlights
----------

- Erts:
  - Dirty schedulers enabled and supported on VM with SMP support.
  - support for "dirty" BIFs and "dirty" GC.
  - erlang:garbage_collect/2 for control of minor or major GC
  - Erlang literals are no longer copied when sending messages.
  - Improved performance for large ETS tables, >256 entries (except
    ordered_set)
  - erlang:system_info/1 atom_count and atom_limit
  - Reduced memory pressure by converting sub-binaries to
    heap-binaries during GC
  - enif_select, map an external event to message
  - Improvements of timers internally in the VM resulting in reduced
    memory consumption and more efficient administration for timers
- Compiler:
  - Code generation for complicated guards is improved.
  - Warnings for repeated identical map keys. #{'a'=>1, 'b'=>2,
    'a'=>3} will warn for the repeated key a.
  - By default there is now a warning when export_all is used. Can be
    disabled
  - Pattern matching for maps is optimized
  - New option deterministic to omit path to source + options info the
    BEAM file.
  - Atoms may now contain arbitrary unicode characters.
  - compile:file/2 has an option to include extra chunks in the BEAM
    file.
- Misc other applications
  - Significantly updated string module with unicode support and many
    new functions
  - crypto now supports OpenSSL 1.1
  - Unnamed ets tables optimized
  - gen_fsm is deprecated and replaced by gen_statem
  - A new event manager to handle a subset of OS signals in Erlang
  - Optimized sets add_element, del_element and union
  - Added rand:jump/0-1
  - When a gen_server crashes, the stacktrace for the client will be
    printed to facilitate debugging.
  - take/2 has been added to dict, orddict, and gb_trees.
  - take_any/2 has been added to gb_trees
  - erl_tar support for long path names and new file formats
  - asn1: the new maps option changes the representation of SEQUENCE
    to be maps instead of records
  - A TLS client will by default call
    public_key:pkix_verify_hostname/2 to verify the hostname
  - ssl: DTLS documented in the API, experimental
  - ssh: improving security, removing and adding algorithms
  - New math:fmod/2
2017-07-04 11:40:48 +00:00
fhajny
7ff576c8af Update lang/erlang* to 19.3.
Some highlights for 19.3:

- crypto, ssh: The implementation of the key exchange algorithms
  diffie-hellman-group-exchange-sha* are optimized, up to a factor of 11
  for the slowest ( = biggest and safest) group size.
- dialyzer: The peak memory consumption is reduced. Analyzing modules
  with binary construction with huge strings is now much faster.
- erts: A received SIGTERM signal to beam will generate a 'stop' message
  to the init process and terminate the Erlang VM nicely. This is
  equivalent to calling init:stop/0.
- kernel: The functions in the 'file' module that take a list of paths
  (e.g. file:path_consult/2) will now continue to search in the path if
  the path contains something that is not a directory.
- public_key: New function pkix_verify_hostname/2,3 Implements
  certificate hostname checking. See the manual and RFC 6125.
- public_key, ssh: The ssh host key fingerprint generation now also
  takes a list of algorithms and returns a list of corresponding
  fingerprints. See public_key:ssh_hostkey_fingerprint/2 and the option
  silently_accept_hosts in ssh:connect.
- ssl: Move PEM cache to a dedicated process, to avoid making the SSL
  manager process a bottleneck. This improves scalability of TLS
  connections.
- stdlib: filename:safe_relative_path/1 to sanitize a relative path has
  been added.

Full release notes:

  http://erlang.org/download/otp_src_19.3.readme
2017-03-17 14:37:04 +00:00
fhajny
0178a47d23 Update lang/erlang{,-doc,-man} to 19.2.
Erlang/OTP 19.2 is the second service release for the 19 major release.
The service release contains mostly bug fixes and characteristics
improvements.

Some highlights for 19.2

* STDLIB: The new behaviour gen_statem has been improved with 3 new
  features: the possibility to use old style non-proxy timeouts
  for gen_statem:call/2,3, state entry code, and state
  timeouts. These are backwards compatible. Minor code and
  documentation improvements has been performed including a
  borderline semantics correction of timeout zero handling.

* SSL: Experimental version of DTLS. It is runnable but not complete
  and cannot be considered reliable for production usage. To use
  DTLS add the option {protocol, dtls} to ssl:connect and ssl:listen.

* SSH: Extended the option silently_accept_hosts for ssh:connect to
  make it possible for the client to check the SSH host key
  fingerprint string. Se the reference manual for SSH.

* ~40 contributions since the previous service release OTP 19.1

You can find the README and the full listing of changes for this
service release at

http://www.erlang.org/download/otp_src_19.2.readme
2017-01-03 08:37:00 +00:00
fhajny
8923c5014c Update lang/erlang* to 19.1.
Some highlights of the release are:

- erts: Improved dirty scheduler support. A purge of a module will
- not have to wait for completion of all ongoing dirty NIF calls.
- erts: Improved accuracy of timeouts on MacOS X.
- kernel: Add net_kernel:setopts/2 and net_kernel:getopts/2 to
- control options for distribution sockets in runtime.
- asn1: Compiling multiple ASN.1 modules in the same directory with
- parallel make (make -j) should now be safe.
- httpd: support for PUT and DELETE in mod_esi
- ~30 contributions since 19.0

You can find the Release Notes with more detailed info at

http://www.erlang.org/download/otp_src_19.1.readme
2016-10-02 10:12:36 +00:00
fhajny
c3a99f95aa Update lang/erlang to 19.0 (R19)
- compiler, stdlib:
  - New preprocessor macros ?FUNCTION_NAME, ?FUNCTION_ARITY
  - New preprocessor directives -error(Term) and -warning(Term) to
    cause a compilation error or warning, respectively.
- gen_statem a new state machine behavior
- mnesia_ext: plugin of external storage solutions to mnesia
- crypto: uses EVP interface in OpenSSL resulting in generally
  better performance and support for HW acceleration
- ssh: performance improvements, uses the new gen_statem behavior
- ssl: enhanced error log messages
- dialyzer: the support for maps is very much extended both the
  type specification syntax and the type analysis.
- erts:
  - erlang:open_port(spawn, ...) 3-5 times faster
  - tracing, extensive improvements (scalability, speed, match
    specifications on send/receive, support for lttng, ...)
  - dirty schedulers improved
  - per process configurable handling of message_queue
  - fast loading of multiple modules
  - max_heap_size process flag
- erts/kernel: Experimental support for Unix Domain Sockets

Full changelog:

  http://erlang.org/download/otp_src_19.0.readme
2016-08-09 15:03:15 +00:00
fhajny
5bb022a7b2 Update lang/erlang* to 18.3.
Some highlights of the release are:

- New statistics info about runnable and active processes & ports.
- Time warp improvements: dbg:p/2 and erlang:trace/3 with
  monotonic_timestamp | strict_monotonic_timestamp.
- Introduced a validation callback for heart.
- The module overload in sasl has been deprecated.
- ~90 contributions since 18.2

Full release notes:

  http://erlang.org/download/otp_src_18.3.readme
2016-04-21 11:24:23 +00:00
fhajny
6035f7453d Update lang/erlang to 18.2.1.
erlang 18.2.1

Due to a bug in the handling of paths on windows none of the following
would work with paths containing a space:

- ct_run
- dialyzer
- erlc
- escript
- typer

This also contains a fix for HiPE enabled emulator for FreeBSD.

erlang 18.2

- ssl: Add configurable upper limit for session cache.
- erts: Add function enif_getenv to read OS environment variables in
  a portable way from NIFs.
- kernel: Add {line_delim, byte()} option to inet:setopts/2 and
  decode_packet/3
- ssh: The 'ecdsa-sha2-nistp256', 'ecdsa-sha2-nistp384' and
  'ecdsa-sha2-nistp521' signature algorithms for ssh are implemented.
  See RFC 5656.
- ssh: The ssh:daemon option dh_gex_groups is extended to read a user
  provided ssh moduli file with generator-modulus pairs. The file is
  in openssh format.
- Thanks to 41 different contributors!
2015-12-31 19:47:40 +00:00
agc
54622f28e2 Add SHA512 digests for distfiles for lang category
Problems found with existing digests:
	Package nhc98 distfile nhc98src-1.22.tar.gz
	a8adc8f22371998ee0657bc0e01058a57d876abc [recorded]
	81975fcb5f1dda5efeaabc30ce8c6dceae55e591 [calculated]

Problems found locating distfiles:
	Package gcc-aux: missing distfile ada-bootstrap.i386.dragonfly.36A.tar.bz2
	Package gcc-aux: missing distfile ada-bootstrap.i386.freebsd.84.tar.bz2
	Package gcc-aux: missing distfile ada-bootstrap.x86_64.dragonfly.36A.tar.bz2
	Package gcc-aux: missing distfile ada-bootstrap.x86_64.freebsd.84.tar.bz2
	Package gcc-aux: missing distfile ada-bootstrap.x86_64.solaris.511.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.i386.dragonfly.36A.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.i386.freebsd.84.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.x86_64.dragonfly.36A.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.x86_64.freebsd.84.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.x86_64.solaris.511.tar.bz2
	Package ghc7: missing distfile ghc-7.6.3-boot-i386-unknown-freebsd.tar.xz
	Package icc11: missing distfile l_cproc_p_11.1.080.tgz
	Package jini: missing distfile jini-1_2_1_001-src.zip
	Package oo2c: missing distfile oo2c_32-2.0.11.tar.bz2
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-5-i386-20150301.tar.xz
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-6-i386-20150301.tar.xz
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-earmv6hf-20150306.tar.xz
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-5-i386-20150301.tar.xz
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-6-i386-20150301.tar.xz
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-earmv6hf-20150306.tar.xz
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2
	Package oracle-jdk8: missing distfile jdk-8u60-linux-i586.tar.gz
	Package oracle-jdk8: missing distfile jdk-8u60-solaris-x64.tar.gz
	Package oracle-jre8: missing distfile jre-8u60-linux-i586.tar.gz
	Package oracle-jre8: missing distfile jre-8u60-solaris-x64.tar.gz
	Package sun-jdk6: missing distfile jdk-6u45-linux-i586.bin
	Package sun-jdk6: missing distfile jdk-6u45-solaris-i586.sh
	Package sun-jdk7: missing distfile jdk-7u72-linux-i586.tar.gz
	Package sun-jdk7: missing distfile jdk-7u72-solaris-i586.tar.gz
	Package sun-jre6: missing distfile jce_policy-6.zip
	Package sun-jre6: missing distfile jre-6u45-linux-x64.bin
	Package sun-jre6: missing distfile jre-6u45-solaris-x64.sh
	Package sun-jre7: missing distfile jre-7u72-linux-i586.tar.gz
	Package sun-jre7: missing distfile jre-7u72-solaris-i586.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 22:50:31 +00:00
fhajny
0b0f497c03 Update lang/erlang to 18.1.
Some highlights of the release are:

- ssl: Add possibility to downgrade an SSL/TLS connection to a tcp
  connection, and give back the socket control to a user process.
- ssh: The following new key exchange algorithms are implemented:
  'ecdh-sha2-nistp256', 'ecdh-sha2-nistp384', 'ecdh-sha2-nistp521',
  'diffie-hellman-group14-sha1', 'diffie-hellman-group-exchange-sha1'
  and 'diffie-hellman-group-exchange-sha256'. This raises the
  security level considerably.
- kernel,stdlib,sasl: A mechanism for limiting the amount of text
  that the built-in error logger events will produce has been
  introduced. It is useful for limiting both the size of log files
  and the CPU time used to produce them.

Full release notes:

  http://www.erlang.org/download/otp_src_18.1.readme
2015-09-25 15:15:58 +00:00
fhajny
f1980674b0 Update erlang to 18.0.
- Starting from 18.0 Erlang/OTP is released under the APL 2.0
- erts: The time functionality has been extended. This includes a new API
  for time, as well as "time warp" modes which alters the behavior when
  system time changes. You are strongly encouraged to use the new API
  instead of the old API based on erlang:now/0. erlang:now/0 has been
  deprecated since it is a scalability bottleneck.
- erts: Beside the API changes and time warp modes a lot of scalability
  and performance improvements regarding time management has been made
- erts: The previously introduced "eager check I/O" feature is now enabled
  by default.
- erts/compiler: enhanced support for maps. Big maps new uses a HAMT
  (Hash Array Mapped Trie) representation internally which makes them more
  efficient. There is now also support for variables as map keys.
- dialyzer: The -dialyzer() attribute can be used for suppressing warnings
  in a module by specifying functions or warning options.
- ssl: Remove default support for SSL-3.0 and added padding check
  for TLS-1.0 due to the Poodle vulnerability.
- ssl: Remove default support for RC4 cipher suites, as they are consider
  too weak.
- stdlib: Allow maps for supervisor flags and child specs
- stdlib: New functions in ets:
  - take/2. Works the same as ets:delete/2 but
            also returns the deleted object(s).
  - ets:update_counter/4 with a default object as
            argument

Full changelog:

  http://www.erlang.org/download/otp_src_18.0.readme
2015-07-18 08:55:16 +00:00
fhajny
69570fa8e4 Update lang/erlang to 17.5.
erlang-17.5
================================

Highlights:
- ERTS: Added command line argument option for setting the initial size
  of process dictionaries.
- Diameter: configurable incoming_max len and string_decode for diameter
  messages
- Bugfixes and minor small features in applications such as compiler,
  common_test, crypto, debugger, eldap, erts, hipe, inets, ssh, ssl,...

Full changelog:
  http://www.erlang.org/download/otp_src_17.5.readme


erlang-17.4
================================

Highlights:
- eldap: Nearly all TCP options are possible to give in the eldap:open/2 call.
- ssh: Added API functions ptty_alloc/3 and ptty_alloc/4, to allocate
  a pseudo tty.
- ssl: Handle servers that may send an empty SNI extension to the client.

Full changelog:
  http://www.erlang.org/download/otp_src_17.4.readme


erlang-17.3
================================

Highlights:
- erts: Introduced enif_schedule_nif() which allows a long running NIF
  to be broken into separate NIF invocations without the help of a wrapper
  function written in Erlang
- common_test: Experimental support for running Quickcheck and PropEr tests
  from common_test suites is added. Examples of usage in the suites for
  the ssh and inets applications
- Bugfixes and minor new features in applications such as asn1, erts, kernel,
  stdlib, diameter, ssh, mnesia, ssl, jinterface

Full changelog:
  http://www.erlang.org/download/otp_src_17.3.readme


erlang-17.1
================================

Highlights:
- crypto: Add aes_cfb8 cypher to crypto:block_encrypt and block_decrypt.
- diameter: Add result code counters for CEA, DWA, and DPA.
- erts: The following built in functions in the erlang and binary modules
  now bump an appropriate amount of reductions and yield when
  out of reductions:
    binary_to_list/1, binary_to_list/3, bitstring_to_list/1,
    list_to_binary/1, iolist_to_binary/1, list_to_bitstring/1,
    binary:list_to_bin/1
- hipe: Handle Maps instructions get_map_elements, put_map_assoc,
  put_map_exact in the HiPE native code compiler.
- mnesia: The time for inserting locks for a transaction with large
  number of locks is reduced significantly.
- ssh: Option max_sessions added to ssh:daemon/{2,3}.
- stdlib: Add maps:get/3 to maps module. The function will return the
  supplied default value if the key does not exist in the map.

Full changelog:
  http://www.erlang.org/download/otp_src_17.1.readme


erlang-17.0
================================

Highlights:
- 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

Full changelog:
  http://www.erlang.org/download/otp_src_17.0.readme

erlang 16.1.3.1 (R16B03-1)
================================

Highlights:
- The ODBC application was missing in the prebuilt Windows installers
- 3 corrections in the SSL application:
  - Add missing validation of the server_name_indication option and test
    for its explicit use.
  - Elliptic curve selection in server mode now properly selects a curve
    suggested by the client, if possible.
  - The server did not indicate support for secure renegotiation during
    TLS extension handling.
- In the syntax tools application a bug was introduced which broke
  reverting of local funs. This is now corrected (thanks to Anthony Ramine)
- wx - Solved a problem which caused the debugger to crash when closing
  a window. Fixed static linking on Mac.
- xmerl - Fixed a problem in the SAX-parser when the header of
  the next document was appearing in the buffer when using
  the xmerl_sax_parser:stream/2 function.

Full changelog:
  http://www.erlang.org/download/otp_src_R16B03-1.readme

erlang-16.1.3 (R16B03)
================================

Highlights:
- A new memory allocation feature called "super carrier" has been introduced.
  It can for example be used for pre-allocation of all memory that the
  runtime system should be able to use. It is enabled by passing the +MMscs
  (size in MB) command line argument. For more information see
  the documentation of the +MMsco, +MMscrfsd, +MMscrpm, +MMscs, +MMusac, and,
  +Mlpm command line arguments in the erts_alloc(3) documentation.
- The ldap client eldap now supports the start_tls operation. This upgrades
  an existing tcp connection to encryption using tls,
  see eldap:start_tls/2 and /3.
- The ftp client (inets application) now supports ftp over tls (ftps).

Full changelog:
  http://www.erlang.org/download/otp_src_R16B03.readme
2015-04-28 14:34:20 +00:00
asau
12db2f4ca9 Update Erlang/OTP to R16B02.
R16B02 is the second maintenance release for the R16B major release.
You can find the README file for the release at
  http://www.erlang.org/download/otp_src_R16B02.readme


R16B01 is the first maintenance release for the R16B major release.
You can find the README file for the release at
  http://www.erlang.org/download/otp_src_R16B01.readme

Highlights for R16B01:

   OTP-10279  == erts ==

	      Support for migration of memory carriers between memory
	      allocator instances has been introduced.

	      By default this feature is not enabled and do not effect the
	      characteristics of the system. When enabled it has the
	      following impact on the characteristics of the system:

	      -- Reduced memory footprint when the memory load is unevenly
	      distributed between scheduler specific allocator instances.

	      -- Depending on the default allocaton strategy used on a
	      specific allocator there might or might not be a slight
	      performance loss.

	      -- When enabled on the fix_alloc allocator, a different
	      strategy for management of fix blocks will be used.

	      -- The information returned from
	      erlang:system_info({allocator, A}), and
	      erlang:system_info({allocator_sizes, A}) will be slightly
	      different when this feature has been enabled. An mbcs_pool
	      tuple will be present giving information about abandoned
	      carriers, and in the fix_alloc case no fix_types tuple will
	      be present.

	      For more information, see the documentation of the +M<S>acul
	      command line argument.

   OTP-11009  == ssl public_key crypto common_test dialyzer ssh stdlib snmp
	      inets ==

	      Integrate elliptic curve contribution from Andreas Schultz

	      In order to be able to support elliptic curve cipher suites
	      in SSL/TLS, additions to handle elliptic curve infrastructure
	      has been added to public_key and crypto.

	      This also has resulted in a rewrite of the crypto API to gain
	      consistency and remove unnecessary overhead. All OTP
	      applications using crypto has been updated to use the new
	      API.

	      Impact: Elliptic curve cryptography (ECC) offers equivalent
	      security with smaller key sizes than other public key
	      algorithms. Smaller key sizes result in savings for power,
	      memory, bandwidth, and computational cost that make ECC
	      especially attractive for constrained environments.

   OTP-11159  == erts ==

	      Lift static limitation (FD_SETSIZE) for file descriptors on
	      Mac OS X. (Thanks to Anthony Ramine)
2013-10-20 18:37:49 +00:00
bsiegert
11eb68bbc8 Fix a common mistake in many different packages: POSIX says that when using
pax -rw, the destination directory must exist. pax in NetBSD creates it if
not, pax in MirBSD complains. I read through all pkgsrc Makefiles that use
pax and added an entry to INSTALLATION_DIRS, or an INSTALL_DATA_DIR
invocation.

I did not test all the changes but they should be fairly safe. If you notice
any breakage because of this change, please contact me.
2013-10-18 11:41:17 +00:00
asau
45a92e075d Update to Erlang/OTP R16B (designated as 16.1 in pkgsrc).
R16B is a major new release of Erlang/OTP.

Detailed information on changes can be fetched at
http://www.erlang.org/download/otp_src_R16B.readme

--- HIGHLIGHTS ----------------------------------------------------------

    OTP-7786  == ssh ==

	      Added User Guide for the SSH application

    OTP-9892  == erts ==

	      Process optimizations. The most notable:

	      -- New internal process table implementation allowing for
	      both parallel reads as well as writes. Especially read
	      operations have become really cheap. This reduce contention
	      in various situations. For example when, spawning processes,
	      terminating processes, sending messages, etc.

	      -- Optimizations of run queue management reducing contention.

	      -- Optimizations of process state changes reducing
	      contention.

	      These changes imply changes of the characteristics the
	      system. Most notable: changed timing in the system.

    OTP-9974  == erts ==

	      Non-blocking code loading. Earlier when an Erlang module was
	      loaded, all other execution in the VM were halted while the
	      load operation was carried out in single threaded mode. Now
	      modules are loaded without blocking the VM. Processes may
	      continue executing undisturbed in parallel during the entire
	      load operation. The load operation is completed by making the
	      loaded code visible to all processes in a consistent way with
	      one single atomic instruction. Non-blocking code loading will
	      improve realtime characteristics when modules are
	      loaded/upgraded on a running SMP system.

   OTP-10256  == inets ==

	      httpc: The HTTP client now supports HTTPS through proxies

   OTP-10336  == erts ==

	      Major port improvements. The most notable:

	      -- New internal port table implementation allowing for both
	      parallel reads as well as writes. Especially read operations
	      have become really cheap.This reduce contention in various
	      situations. For example when, creating ports, terminating
	      ports, etc.

	      -- Dynamic allocation of port structures. This allow for a
	      much larger maximum amount of ports allowed as a default. The
	      previous default of 1024 has been raised to 65536. Maximum
	      amount of ports can be set using the +Q command line flag of
	      erl(1). The previously used environment variable
	      ERL_MAX_PORTS has been deprecated and scheduled for removal
	      in OTP-R17.

	      -- Major rewrite of scheduling of port tasks. Major benefits
	      of the rewrite are reduced contention on run queue locks, and
	      reduced amount of memory allocation operations needed. The
	      rewrite was also necessary in order to make it possible to
	      schedule signals from processes to ports.

	      -- Improved internal thread progress functionality for easy
	      management of unmanaged threads. This improvement was
	      necessary for the rewrite of the port task scheduling.

	      -- Rewrite of all process to port signal implementations in
	      order to make it possible to schedule those operations. All
	      port operations can now be scheduled which allows for reduced
	      lock contention on the port lock as well as truly
	      asynchronous communication with ports.

	      -- Optimized lookup of port handles from drivers.

	      -- Optimized driver lookup when creating ports.

	      -- Preemptable erlang:ports/0 BIF.

	      -- Improving responsiveness by bumping reductions for a
	      process calling a driver callback directly.

	      These changes imply changes of the characteristics of the
	      system. The most notable:

	      -- Order of signal delivery -- The previous implementation of
	      the VM has delivered signals from processes to ports in a
	      synchronous stricter fashion than required by the language.
	      As of ERTS version 5.10, signals are truly asynchronously
	      delivered. The order of signal delivery still adheres to the
	      requirements of the language, but only to the requirements.
	      That is, some signal sequences that previously always were
	      delivered in one specific order may now from time to time be
	      delivered in different orders. This may cause Erlang programs
	      that have made false assumptions about signal delivery order
	      to fail even though they previously succeeded. For more
	      information about signal ordering guarantees, see the chapter
	      on communication in the ERTS user's guide. The +n command
	      line flag of erl(1) can be helpful when trying to find
	      signaling order bugs in Erlang code that have been exposed by
	      these changes.

	      -- Latency of signals sent from processes to ports -- Signals
	      from processes to ports where previously always delivered
	      immediately. This kept latency for such communication to a
	      minimum, but it could cause lock contention which was very
	      expensive for the system as a whole. In order to keep this
	      latency low also in the future, most signals from processes
	      to ports are by default still delivered immediately as long
	      as no conflicts occur. Such conflicts include not being able
	      to acquire the port lock, but also include other conflicts.
	      When a conflict occur, the signal will be scheduled for
	      delivery at a later time. A scheduled signal delivery may
	      cause a higher latency for this specific communication, but
	      improves the overall performance of the system since it
	      reduce lock contention between schedulers. The default
	      behavior of only scheduling delivery of these signals on
	      conflict can be changed by passing the +spp command line flag
	      to erl(1). The behavior can also be changed on port basis
	      using the parallelism option of the open_port/2 BIF.

	      -- Execution time of the erlang:ports/0 BIF -- Since
	      erlang:ports/0 now can be preempted, the responsiveness of
	      the system as a whole has been improved. A call to
	      erlang:ports/0 may, however, take a much longer time to
	      complete than before. How much longer time heavily depends on
	      the system load.

	      -- Reduction cost of calling driver callbacks -- Calling a
	      driver callback is quite costly. This was previously not
	      reflected in reduction cost at all. Since the reduction cost
	      now has increased, a process performing lots of direct driver
	      calls will be scheduled out more frequently than before.

	      Potential incompatibilities:

	      -- driver_send_term() has been deprecated and has been
	      scheduled for removal in OTP-R17. Replace usage of
	      driver_send_term() with usage of erl_drv_send_term().

	      -- driver_output_term() has been deprecated and has been
	      scheduled for removal in OTP-R17. Replace usage of
	      driver_output_term() with usage of erl_drv_output_term().

	      -- The new function erl_drv_busy_msgq_limits() has been added
	      in order to able to control management of port queues.

	      The driver API version has been bumped to 2.1 from 2.0 due to
	      the above changes in the driver API.

   OTP-10410  == asn1 ==

	      The options for the ASN.1 compiler has been drastically
	      simplified. The backend is chosen by using ber, per, or uper.
	      The options optimize, nif, and driver are no longer needed.
	      The old options will still work, but will issue a warning.

	      Another change is that generated encode/2 function will
	      always return a binary (some backends used to return an
	      iolist).

   OTP-10588  == asn1 ==

	      The ASN.1 compiler will now always include necessary run-time
	      functions in the generated Erlang modules (except for
	      asn1rt_nif which is still neeeded). If the option 'inline' is
	      used the ASN.1 compiler will generate a warning. But if
	      '{inline,OutputFile}' is use, the ASN.1 compiler will refuse
	      to compile the file. (Use a .set.asn file if you need to
	      remove the output file.)

	      The 'BIT STRING' type will now be decoded as Erlang
	      bitstrings by default. Use the new legacy_bit_string option
	      to encode as lists of ones and zeroes. (The
	      compact_bit_string option still works as before.)

	      Open types are now always returned as binaries (when there is
	      no information allowing them to be decoded).

--- POTENTIAL INCOMPATIBILITIES -----------------------------------------

    OTP-9052  == common_test ==

	      Removed depricated run_test program, use ct_run instead.

    OTP-9881  == common_test ==

	      It is now possible to let a test specification include other
	      test specifications. Included specs can either be joined with
	      the source spec (and all other joined specs), resulting in
	      one single test run, or they can be executed in separate test
	      runs. Also, a start flag/option, join_specs, has been
	      introduced, to be used in combination with the spec option.
	      With join_specs, Common Test can be told to either join
	      multiple test specifications, or run them separately. Without
	      join_specs, the latter behaviour is default. Note that this
	      is a change compared to earlier versions of Common Test,
	      where specifications could only be joined. More information
	      can be found in the Running Tests chapter in the User's Guide
	      (see the Test Specifications section).

   OTP-10117  == inviso ==

	      The inviso application has been removed.

   OTP-10170  == erts pman ==

	      Tuple funs (deprecated in R15B) are no longer supported.

   OTP-10195  == edoc ==

	      Since EDoc 0.7.7 (R14B02) separate values of union types can
	      be annotated. However, the parser has hitherto chosen not to
	      add the necessary parentheses due to backwards compatibility.

	      From this release on code traversing the output of
	      edoc_parser needs to take care of parentheses around separate
	      values of union types. Examples of such code are layout
	      modules and doclet modules.

   OTP-10336  == erts ==

	      Major port improvements. The most notable:

	      -- New internal port table implementation allowing for both
	      parallel reads as well as writes. Especially read operations
	      have become really cheap.This reduce contention in various
	      situations. For example when, creating ports, terminating
	      ports, etc.

	      -- Dynamic allocation of port structures. This allow for a
	      much larger maximum amount of ports allowed as a default. The
	      previous default of 1024 has been raised to 65536. Maximum
	      amount of ports can be set using the +Q command line flag of
	      erl(1). The previously used environment variable
	      ERL_MAX_PORTS has been deprecated and scheduled for removal
	      in OTP-R17.

	      -- Major rewrite of scheduling of port tasks. Major benefits
	      of the rewrite are reduced contention on run queue locks, and
	      reduced amount of memory allocation operations needed. The
	      rewrite was also necessary in order to make it possible to
	      schedule signals from processes to ports.

	      -- Improved internal thread progress functionality for easy
	      management of unmanaged threads. This improvement was
	      necessary for the rewrite of the port task scheduling.

	      -- Rewrite of all process to port signal implementations in
	      order to make it possible to schedule those operations. All
	      port operations can now be scheduled which allows for reduced
	      lock contention on the port lock as well as truly
	      asynchronous communication with ports.

	      -- Optimized lookup of port handles from drivers.

	      -- Optimized driver lookup when creating ports.

	      -- Preemptable erlang:ports/0 BIF.

	      -- Improving responsiveness by bumping reductions for a
	      process calling a driver callback directly.

	      These changes imply changes of the characteristics of the
	      system. The most notable:

	      -- Order of signal delivery -- The previous implementation of
	      the VM has delivered signals from processes to ports in a
	      synchronous stricter fashion than required by the language.
	      As of ERTS version 5.10, signals are truly asynchronously
	      delivered. The order of signal delivery still adheres to the
	      requirements of the language, but only to the requirements.
	      That is, some signal sequences that previously always were
	      delivered in one specific order may now from time to time be
	      delivered in different orders. This may cause Erlang programs
	      that have made false assumptions about signal delivery order
	      to fail even though they previously succeeded. For more
	      information about signal ordering guarantees, see the chapter
	      on communication in the ERTS user's guide. The +n command
	      line flag of erl(1) can be helpful when trying to find
	      signaling order bugs in Erlang code that have been exposed by
	      these changes.

	      -- Latency of signals sent from processes to ports -- Signals
	      from processes to ports where previously always delivered
	      immediately. This kept latency for such communication to a
	      minimum, but it could cause lock contention which was very
	      expensive for the system as a whole. In order to keep this
	      latency low also in the future, most signals from processes
	      to ports are by default still delivered immediately as long
	      as no conflicts occur. Such conflicts include not being able
	      to acquire the port lock, but also include other conflicts.
	      When a conflict occur, the signal will be scheduled for
	      delivery at a later time. A scheduled signal delivery may
	      cause a higher latency for this specific communication, but
	      improves the overall performance of the system since it
	      reduce lock contention between schedulers. The default
	      behavior of only scheduling delivery of these signals on
	      conflict can be changed by passing the +spp command line flag
	      to erl(1). The behavior can also be changed on port basis
	      using the parallelism option of the open_port/2 BIF.

	      -- Execution time of the erlang:ports/0 BIF -- Since
	      erlang:ports/0 now can be preempted, the responsiveness of
	      the system as a whole has been improved. A call to
	      erlang:ports/0 may, however, take a much longer time to
	      complete than before. How much longer time heavily depends on
	      the system load.

	      -- Reduction cost of calling driver callbacks -- Calling a
	      driver callback is quite costly. This was previously not
	      reflected in reduction cost at all. Since the reduction cost
	      now has increased, a process performing lots of direct driver
	      calls will be scheduled out more frequently than before.

	      Potential incompatibilities:

	      -- driver_send_term() has been deprecated and has been
	      scheduled for removal in OTP-R17. Replace usage of
	      driver_send_term() with usage of erl_drv_send_term().

	      -- driver_output_term() has been deprecated and has been
	      scheduled for removal in OTP-R17. Replace usage of
	      driver_output_term() with usage of erl_drv_output_term().

	      -- The new function erl_drv_busy_msgq_limits() has been added
	      in order to able to control management of port queues.

	      The driver API version has been bumped to 2.1 from 2.0 due to
	      the above changes in the driver API.

   OTP-10410  == asn1 ==

	      The options for the ASN.1 compiler has been drastically
	      simplified. The backend is chosen by using ber, per, or uper.
	      The options optimize, nif, and driver are no longer needed.
	      The old options will still work, but will issue a warning.

	      Another change is that generated encode/2 function will
	      always return a binary (some backends used to return an
	      iolist).

   OTP-10417  == kernel sasl ==

	      It is no longer possible to have {Mod,Vsn} in the 'modules'
	      list in a .app file.

	      This was earlier possible, although never documented in the
	      .app file reference manual. It was however visible in the
	      documentation of application:load/[1,2], where the same term
	      as in a .app file can be used as the first argument.

	      The possibility has been removed since the Vsn part was never
	      used.

   OTP-10451  == ssl ==

	      Remove filter mechanisms that made error messages backwards
	      compatible with old ssl but hid information about what
	      actually happened.

	      This does not break the documented API however other reason
	      terms may be returned, so code that matches on the reason
	      part of {error, Reason} may fail.

   OTP-10490  == stdlib ==

	      If a child process fails in its start function, then the
	      error reason was earlier only reported as an error report
	      from the error_handler, and supervisor:start_link would only
	      return {error,shutdown}. This has been changed so the
	      supervisor will now return {error,{shutdown,Reason}}, where
	      Reason identifies the failing child and its error reason.
	      (Thanks to Tomas Pihl)

   OTP-10523  == tools ==

	      A new function, cover:flush(Nodes), is added which will fetch
	      data from remote nodes without stopping cover on those nodes.
	      This is used by test_server and common_test when it is safe
	      to assume that the node will be terminated after the test
	      anyway. The purpose is to avoid processes crashing when
	      re-loading the original beam if the processes is still
	      running old code.

	      Remote nodes will now continue to count code coverage if the
	      connection to the main node is broken. Earlier, a broken
	      connection would cause the cover_server on the remote node to
	      die and thus any still cover compiled modules would cause
	      process crash when trying to insert cover data in ets tables
	      that used to exist on the cover_server. The new functionality
	      also involves synchronization with the main node if the nodes
	      are reconnected.

   OTP-10588  == asn1 ==

	      The ASN.1 compiler will now always include necessary run-time
	      functions in the generated Erlang modules (except for
	      asn1rt_nif which is still neeeded). If the option 'inline' is
	      used the ASN.1 compiler will generate a warning. But if
	      '{inline,OutputFile}' is use, the ASN.1 compiler will refuse
	      to compile the file. (Use a .set.asn file if you need to
	      remove the output file.)

	      The 'BIT STRING' type will now be decoded as Erlang
	      bitstrings by default. Use the new legacy_bit_string option
	      to encode as lists of ones and zeroes. (The
	      compact_bit_string option still works as before.)

	      Open types are now always returned as binaries (when there is
	      no information allowing them to be decoded).

   OTP-10613  == ssl ==

	      Removed deprecated function ssl:pid/0, it has been pointless
	      since R14 but has been keep for backwards compatibility.

   OTP-10633  == erts ==

	      Erlang specification 4.7.3 defines max tuple size to 65535
	      elements It is now enforced to no more than 16777215 elements
	      (arity 24 bits)

	      Previous edge cases (28 bits) were not validated and could
	      cause undefined behaviour.

   OTP-10647  == erts ==

	      The previous default of a maximum of 32768 simultaneous
	      processes has been raised to 262144. This value can be
	      changed using the the +P command line flag of erl(1). Note
	      that the value passed now is considered as a hint, and that
	      actual value chosen in most cases will be a power of two.

   OTP-10812  == stdlib ==

	      filelib:wildcard("some/relative/path/*.beam", Path) would
	      fail to match any file. That is, filelib:wildcard/2 would not
	      work if the first component of the pattern did not contain
	      any wildcard characters. (A previous attempt to fix the
	      problem in R15B02 seems to have made matters worse.)

	      (Thanks to Samuel Rivas and Tuncer Ayaz.)

	      There is also an incompatible change to the Path argument. It
	      is no longer allowed to be a binary.

   OTP-10872  == erts ==

	      As of ERTS-5.10/OTP-R16A node names passed in the EPMD
	      protocol are required to be encoded in UTF-8. Since EPMD
	      previously accepted latin1 encoded node names this is an
	      incompatibility. However, since Erlang nodes always have
	      required characters in node names to be 7-bit ASCII
	      characters (and still do require this), this incompatibility
	      should not effect anyone using EPMD as an Erlang Port Mapper
	      Daemon.
2013-06-08 06:48:24 +00:00
asau
4b963f3929 Update to Erlang/OTP R15B03-1
Changes in R15B03-1

After the release of R15B03 a very unfortunate bug in ssl:ssl_accept/2
(accept with timeout) was detected. This bug will have negative impact
on a number of popular http servers and server frameworks written in
Erlang.

The differences from R15B03 are in ssl-5.1.2 and erts-5.9.3.1.

Full log at http://www.erlang.org/download/otp_src_R15B03-1.readme


Changes in R15B03

Mostly bug fixes and small improvements.

Full log at http://www.erlang.org/download/otp_src_R15B03.readme

Changes in R15B02

Highlights

  OTP-8871  == ssl ==

    Experimental support for TLS 1.1 is now available, will be
    officially supported from OTP-R16. Thanks to Andreas Schultz
    for implementing the first version.

  OTP-8872  == ssl ==

    Experimental support for TLS 1.2 is now available, will be
    officially supported from OTP-R16. Thanks to Andreas Schultz
    for implementing the first version.

 OTP-10113  == ssl ==

    Removed some bottlenecks increasing the applications
    parallelism especially for the client side.


Full log at http://www.erlang.org/download/otp_src_R15B02.readme
2013-01-23 21:46:06 +00:00
asau
88feb4ac62 Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days. 2012-10-02 20:11:34 +00:00
asau
bbf29c150d Update to Erlang/OTP R15B02
Changes in Erlang/OTP R15B01

Highlights:

 * Dialyzer: The type analysis tool Dialyzer is optimized to be
   generally faster. - It can now also run in parallel (default)
   on SMP systems and by this perform the analysis significantly
   faster (Thanks to Stavros Aronis and Kostis Sagonas)
 * The SSL application now has experimental support for the
   TLS 1.1 and 1.2 standards as well (Thanks to Andreas Schultz).
 * CommonTest: It is now possible to sort the generated html tables.
   A Netconf client (ct_netconf) which support basic netconf over
   ssh is added
 * Diameter: Statistics counters related to Diameter messages
   can now be retrieved by calling the diameter:service_info/2
   function.
 * Various smaller optimizations in the Erlang VM
 * This release also contains 66 contributions from users
   outside the Ericsson team
2012-09-12 19:13:26 +00:00
asau
18ecbad8d1 Update to Erlang/OTP R15B01
Presumably fixes PR pkg/46297


Changes in Erlang/OTP R15B01

Highlights:

  * Added erlang:statistics(scheduler_wall_time) to ensure
    correct determination of scheduler utilization. Measuring
    scheduler utilization is strongly preferred over CPU
    utilization, since CPU utilization gives very poor
    indications of actual scheduler/vm usage.
  * Changed ssh implementation to use the public_key application
    for all public key handling. This is also a first step for
    enabling a callback API for supplying public keys and
    handling keys protected with password phrases. Additionally
    the test suites where improved so that they do not copy the
    users keys to test server directories as this is a security
    liability. Also ipv6 and file access issues found in the
    process has been fixed.
  * When an escript ends now all printout to standard output and
    standard error gets out on the terminal. This bug has been
    corrected by changing the behaviour of erlang:halt/0,1,
    which should fix the same problem for other escript-like
    applications, i.e. that data stored in the output port
    driver buffers got lost when printing on a TTY and exiting
    through erlang:halt/0,1. The BIF:s erlang:halt/0,1 has
    gotten improved semantics and there is a new BIF
    erlang:halt/2 to accomplish something like the old
    semantics. See the documentation.
  * The DTrace source patch from Scott Lystig Fritchie is
    integrated in the source tree. Using an emulator with dtrace
    probe is still not supported for production use, but may be
    a valuable debugging tool.
  * Added Torbjörn Törnkvists LDAP client as a new application
    called eldap.
  * Added options for the ssh client to support user keys files
    that are password protected.



Changes in Erlang/OTP R15B

Highlights:

  * Line number and filename information are now included in
    exception backtraces. This information will be
    pretty-printed in the shell and used in crash reports etc.
    In practice it will be much easier to find where something
    failed.
  * The driver interface has been changed to enable 64-bit aware
    drivers. Most importantly the return types for ErlDrvEntry
    callbacks 'call' and 'control' has been changed which
    require drivers to be changed.
  * New in this release is the support for 64 bit Windows.
    The self extracting installer can be found here.
  * CommonTest hooks are now in a final supported version.
  * There is a new GUI tool in the observer application which
    integrates pman, etop, appmon and tv into one tool. The tool
    does also contain functions for activating tracing in an easy way.
  * The Erlang distribution can now be run over the new SSL implementation.


Changes in Erlang/OTP R15A

Notable changes:

OTP-9468  'Line numbers in exceptions'

OTP-9451  'Parallel make'

OTP-4779  A new GUI for Observer. Integrating pman, etop and tv into
          observer with tracing facilities.

OTP-7775  A number of memory allocation optimizations have been
          implemented. Most optimizations reduce contention caused by
          synchronization between threads during allocation and
          deallocation of memory. Most notably:

             Synchronization of memory management in scheduler
             specific allocator instances has been rewritten to
             use lock-free synchronization.

             Synchronization of memory management in scheduler
	     specific pre-allocators has been rewritten to use
	     lock-free synchronization.

             The 'mseg_alloc' memory segment allocator now use
	     scheduler specific instances instead of one
	     instance. Apart from reducing contention this also
	     ensures that memory allocators always create memory
	     segments on the local NUMA node on a NUMA system.

OTP-9632  An ERTS internal, generic, many to one, lock-free
          queue for communication between threads has been
          introduced. The many to one scenario is very common in
          ERTS, so it can be used in a lot of places in the
          future. Currently it is used by scheduling of certain
          jobs, and the async thread pool, but more uses are
          planned for the future.

          Drivers using the driver_async functionality are not
	  automatically locked to the system anymore, and can be
	  unloaded as any dynamically linked in driver.

          Scheduling of ready async jobs is now also interleaved
	  in between other jobs. Previously all ready async jobs
	  were performed at once.

OTP-9631  The ERTS internal system block functionality has been
          replaced by new functionality for blocking the system.
          The old system block functionality had contention
          issues and complexity issues. The new functionality
          piggy-backs on thread progress tracking functionality
          needed by newly introduced lock-free synchronization
          in the runtime system. When the functionality for
          blocking the system isn't used, there is more or less
          no overhead at all. This since the functionality for
          tracking thread progress is there and needed anyway.
2012-04-12 12:14:12 +00:00
fhajny
a330dd9c3e Update erlang-doc and erlang-man to R14B04. 2012-01-23 09:32:39 +00:00
asau
0dbd52d48d Update Erlang to R14B03
Highlights:
- Initial release of the diameter application.
- Strengthened random number generation.
- Some fixes for bugs that caused crashes.

Read full announcement at
http://www.erlang.org/download/otp_src_R14B03.readme
2011-05-26 20:19:43 +00:00
asau
786ef722e5 Update to Erlang/OTP R14B02
Highlights composed by Matthew Sporleder.


Changes in R14B02 (http://www.erlang.org/download/otp_src_R14B02.readme)

- It is now possible to use Erlang specifications and types
  in EDoc documentation
- All tests in Erlang/OTP have been converted to be run with
  Common Test as the backend instead of Test Server.
- From this release, the previously experimental halfword
  emulator is now official
- Dependency generation for Makefiles has been added to the
  compiler and erlc
- Add a --fullpath option to Dialyzer (include version 2.4.2)
- Many fixes in erts
- Remove hipe constants pool
- Partial support for recursive structs and unions
- It is now possible to use SSH to sign and verify binary data.
- typer has been rewritten


Changes R14B01 (http://www.erlang.org/download/otp_src_R14B01.readme)

- New ETS option compressed, to enable a more compact storage
  format at the expence of heavier table operations
- There is now a new function inet:getifaddrs/0 modeled after
  C library function getifaddrs() on BSD and Linux that reports
  existing interfaces and their addresses on the host
- Multiple crashes and infinite loops fixed
- AES CTR encryption support in crypto
- erl_call: remove get_hostent
- The Erlang VM now supports Unicode filenames
- New ETS option compressed


Changes in R14B (http://www.erlang.org/download/otp_src_R14B.readme)

- Large parts of the ethread library have been rewritten.
- The changed API of the ethread library has also caused
  modifications in the Erlang runtime system.
- Some Built In Functions (BIFs) are now autoimported
- Added erlang:system_info(build_type)
- A number of memory leaks in the crypto NIF library have been fixed
- erl_call: fix multiple buffer overflows
- NIF 64-bit integer support
- Removed some potential vulnerabilities from the Erlang Port
  Mapper Daemon (epmd)
- Replaced the old http client api module (http) with the new,
  httpc in the users guide.
- inet6 improvements
- ssh fixes
- many ssl improvements/fixes
- wx crash fix


Changes in R14A (http://www.erlang.org/download/otp_src_R14A.readme)

- R14A is a major new release of Erlang/OTP.
- The module binary from EEP31 (and EEP9) is implemented
- It is now possible for the user to provide specific callback
  modules that handle test configuration data
- New NIF features
- Receive statements that can only read out a newly created
  reference are now specially optimized so that it will execute
  in constant time regardless of the number of messages in the
  receive queue for the process.
- The run_test script has been replaced by a program (with the
  same name) which can be executed without explicit installation
- eprof has been reimplemented with support in the Erlang
  virtual machine and is now both faster (i.e. slows down the
  code being measured less) and scales much better


Changes in R13B04 (http://www.erlang.org/download/otp_src_R13B04.readme)

- Many documentation and documentation build improvements
- cross-compile/build improvements
- buffer overflow fix
- telnet keep alive fixes
- compiler crash on boolean ifs
- -Werror for erlc fixed
- macro overloading implemented
- the crypto module now supports Blowfish
- explicit top directories in archive files are now optional
- add lock profiling tool: lcnt
- httpd methods "PUT" and "DELETE" now allowed + others fixes
  to resolver routine
- compression supported when copying between mnesia nodes
2011-04-14 19:34:07 +00:00
joerg
82de426431 Fix PLIST. 2009-12-21 12:07:27 +00:00
asau
4ff0a75e45 Deduplicate, move common code into more appropriate place. 2009-12-15 13:53:24 +00:00
asau
cf86d09104 Follow Erlang/OTP update to R13B03.
While here, simplify PLIST generation.
2009-12-15 13:32:10 +00:00
joerg
edbc2fac64 Replace @exec/@unexec with @pkgdir or drop it. 2009-06-14 20:34:12 +00:00
joerg
62d1ba2bac Remove @dirrm entries from PLISTs 2009-06-14 18:03:28 +00:00
joerg
a8a3c01339 Explicitly add pax dependency in those Makefiles that use it (or have
patches to add it). Drop pax from the default USE_TOOLS list.
Make bsdtar the default for those places that wanted gtar to extract
long links etc, as bsdtar can be built of the tree.
2008-05-25 21:42:20 +00:00
ghen
7f7e86aea1 Full DESTDIR support for erlang packages. 2008-01-04 14:10:05 +00:00
ghen
f85f155b40 Update erlang, erland-doc and erlang-man to 12.0, aka R12B-0.
This builds again on x86_64 platforms, is@ will test further.

This release supports new language extensions bitstring and binary
comprehensions.

Other major changes are listed on <http://www.erlang.org/doc/highlights.html>.
See <http://www.erlang.org/download/otp_src_R12B-0.readme> for full detail.
2008-01-04 14:05:05 +00:00
joerg
5a4f6849f1 Fix dependency on erlang. 2007-08-03 23:48:56 +00:00
obache
16840ad30a Update erlang to 11.5, aka R11B-5.
Pkgsrc changes:
* Drop dependency on X11.
  GS (Graphic System) doesn't use X11 directly, using `wish' command.
  Wish command will be picked up from PATH, to use GS, install wish command
  from x11/tk.
  (closes PR 35373, PR 36418)
* FIxed to install crypto library correctly.
  (closes PR 36616)

Changes list is too long. See attached URL for more detail.

Bug fix release : otp_src_R11B-5
Build date      : 2007-06-12
http://www.erlang.org/download/otp_src_R11B-5.readme

Bug fix release : otp_src_R11B-4
Build date      : 2007-03-28
http://www.erlang.org/download/otp_src_R11B-4.readme

Bug fix release : otp_src_R11B-3
Build date      : 2007-01-30
http://www.erlang.org/download/otp_src_R11B-3.readme

Bug fix release : otp_src_R11B-2
Build date      : 2006-11-07
http://www.erlang.org/download/otp_src_R11B-2.readme

Bug fix release : otp_src_R11B-1
Build date      : 2006-08-29
http://www.erlang.org/download/otp_src_R11B-1.readme
2007-07-28 14:27:09 +00:00
ghen
6196d0fe39 Update to Erlang R11B-0 (erlang-11.0). Changes since R10B:
=== SMP Support ===

The major news is the support for SMP (Symmetric MultiProcessing).

SMP is supported by most modern operating systems like Linux, Windows, Mac OSx,
Solaris and is becoming more important now when dual processors,
hyper-threading technology and multi-core systems are a reality.

With Erlang, most of the problems which occur in multi-threaded programs have
been solved once and for all in the Erlang VM and do not have to be handled by
the application programmers.

In the SMP version of the Erlang virtual machine, there can be many process
schedulers running in separate OS threads. As default there will be as many
schedulers as there are processors or processor cores on the system.

The SMP support is totally transparent for the Erlang programs. That is, there
is no need to change or recompile existing programs. Programs with built-in
assumptions about sequential execution must be rewritten in order to take
advantage of the SMP support, however.

In this release, the Erlang VM supports SMP with focus on stability. There will
follow a number of subsequent steps with necessary optimizations and support
for more platforms.

=== Erlang Language and Related Issues ===

    * The andalso and orelse operators are now allowed to be used in guards.
      That also applies to match specifications.

    * The BIF is_record/3 can now be used in guards. Also, is_record/3 can now
      be called without an erlang: module prefix for consistency with the other
      is_* functions.

    * The compiler options ignore_try and ignore_cond, which allowed code that
      used unquoted try or cond as atoms or record tags, has been removed. Old
      code that depended on the options need to be revised to have occurrences
      of try or cond as atom or record tags single-quoted. (Note: Although cond
      is a reserved keyword, there is no cond statement. It might be introduced
      in a future release.)

    * (ERTS 5.4.8) The new fun M:F/A construct creates a fun that refers to the
      latest version of M:F/A. This syntax is meant to replace tuple funs {M,F}
      which have many problems.

    * (ERTS 5.4.8) The new type test is_function(Fun, Arity) -- which may be
      used in guards -- test whether Fun is a fun that can be applied to Arity
      arguments.

=== New Applications ===

Dialyzer

Dialyzer is a static analysis tool that identifies software discrepancies such
as type errors, unreachable code, unnecessary tests, etc in single Erlang
modules or entire (sets of) applications.

Inviso

The Inviso application, together with some new extensions to Runtime_Tools, is
aimed at providing features for efficient tracing of production Erlang/OTP
systems:

    * Distributed tracing - tracing on any number of Erlang nodes.
    * Autostart - tracing during system start-up.
    * Overload protection - mechanisms for suspending and later reactivating
      tracing, should an overload situation occur.
    * Enhanced use of meta tracing.
    * Trace cases - predefined specifications of what to trace.
    * Off-line merging and formatting of log files.

Inviso is still under development. An easier-to-use trace tool, using the
features listed above, is planned to be released as an R11B patch in Q3/Q4
2006.

SSH

The SSH application is an Erlang implementation of the secure shell protocol.
It is considered to be a beta release, meaning there can be changes made to the
API before it reaches 1.0.

=== Existing Applications ===

Compiler

(Compiler 4.3.6) It is now possible to encrypt the debug information in Beam
files.

Debugger

(Debugger 2.0) The debugger can now handle the try/catch language construct.

Inets

The Erlang implementation of the TFTP procotcol, tftp, is now documented.

Kernel

In Kernel 2.10.X, several bug fixes and improvements have been made in global ,
the global name registration facility.

OS_Mon

(OS_Mon 2.0) The entire OS_Mon application (code and documentation) has been
reviewed and consequently updated with the goal to make the application more
robust, homogeneous and easier to configure.

STDLIB

Added the zip module with functions for reading and creating zip archives.
2006-08-17 16:16:30 +00:00
ghen
48cf376d24 Import erlang-doc, the documentation for Erlang. 2006-03-29 21:40:51 +00:00