From b6dc1a844eab061d0a7153d46e7e68296f15a504 Mon Sep 17 00:00:00 2001
From: Erlang/OTP This document describes the changes made to the ERTS application.
+ Several bugs concerning constant binary constructions
+ such as <<0:4294967295>> have been corrected.
+ Depending on the actual size of the binary and the type
+ of run-time system (32-bit, halfword, 64-bit), such
+ expression could either crash the run-time system or make
+ the loader refuse loading of the module.
+ Own Id: OTP-9284
+ The Erlsrv utility failed to stop the erlang machine if
+ no StopAction was defined when the service was stopped.
+ This is now corrected.
+ Own Id: OTP-9344
+ Due to a bug in glibc the runtime system could abort
+ while trying to destroy a mutex. A fix for this was
+ introduced in R14B02. This fix did, however, not solve
+ the problem. The runtime system will now issue a warning
+ instead of aborting.
+ Own Id: OTP-9373 Aux Id: OTP-9009
+ Replace atom in DRV macro in prim_file with string
+ An experimental version of Dialyzer discovered that the
+ atom that replaced the DRV macro in prim_file ends up in
+ calls to erlang:open_port({spawn, Driver}, Portopts) as
+ the Driver argument. The documentation states that this
+ call requires a string there.
+ This change is also consistent with the one introduced in
+ commit 0f03b1e9d2bef3bc830c31a369261af4c5234727 by Kostis
+ Sagonas.
+ Own Id: OTP-9377
+ Fix typos in the epmd documentation (Thanks to Holger
+ Weiß )
+ Own Id: OTP-9387
+ Fix faulty integer terms created by NIF API from 64-bit
+ integers on halfword emulator. (Thanks to Paolo Negri and
+ Paul Davis)
+ Own Id: OTP-9394
+ Fix
+ Own Id: OTP-9427 Aux Id: seq11855
+ The ets:test_ms function could in rare cases truncate the
+ error messages. This is now corrected.
+ Own Id: OTP-9435
+ Fix bug related to hibernate and HiPE (clear
+ F_HIBERNATE_SCHED flag)
+ F_HIBERNATE_SCHED flag that was introduced in
+ b7ecdcd1ae9e11b8f75e must be cleared in hipe_mode_switch
+ as well. Otherwise, processes running HiPE code that
+ hibernate, wake up and then trap into a BIF will not be
+ rescheduled.(Thanks to Paul Guyot)
+ Own Id: OTP-9452
+ Fix bug in FreeBSD topology detection code (Thanks to
+ Paul Guyot)
+ Own Id: OTP-9453
+ Fix use of logical operator && with constant
+ operand instead of bitwise & (Thanks to Cristian
+ Greco)
+ Own Id: OTP-9454
+ inet: error if fd does not match socket domain
+ If an IPv4 fd is opened as an IPv6 socket, unexpected
+ behaviour can occur. For example, if an IPv4 UDP socket
+ is opened and passed into Erlang as an IPv6 socket, the
+ first 3 bytes (corresponding to 1 byte representing the
+ protocol family, 2 bytes set to the port) are stripped
+ from the payload. The cause of the UDP payload truncation
+ happens in inet_drv.c:packet_inet_input when a call to
+ inet_get_address fails silently because the family is set
+ to PF_INET6 but the buffer len is the size of an IPv4
+ struct sockaddr_in.
+ (Thanks to Andrew Tunnell-Jones for finding the bug and
+ the test case!)
+ Own Id: OTP-9455
+ erts: use a union to avoid strict aliasing issues
+ Use a union for pointer type conversion to avoid compiler
+ warnings about strict-aliasing violations with gcc-4.1.
+ gcc >= 4.2 does not emit the warning. erts: adapt
+ matrix_nif to R14 erl_nif API changes (Thanks To Tuncer
+ Ayaz)
+ Own Id: OTP-9487
+ fix 64-bit issues in the garbage collection (Thanks to
+ Richard Carlsson)
+ Own Id: OTP-9488
+ epmd: fix compiler warnings
+ Suppress compiler warnings about ignored return values.
+ (Thanks to Michael Santos )
+ Own Id: OTP-9500
+ Fix non-existing function (erlang:disconnect/1) in
+ distributed reference manual (Thanks to Fabian Król)
+ Own Id: OTP-9504
+ Document fdatasync -lrt requirement (SunOS <= 5.10)
+ (Thanks to Tuncer Ayaz)
+ Own Id: OTP-9512
+ Let epmd ignore empty ERL_EPMD_ADDRESS
+ If the environment variable ERL_EPMD_ADDRESS is set to
+ the empty string, empd now behaves like it does by
+ default when ERL_EPMD_ADDRESS is unset. That is, in this
+ case, epmd now listens on all available interfaces
+ instead of using only the loopback interface, which
+ happened because epmd added the loopback address to the
+ (in this case empty) list of addresses specified via
+ ERL_EPMD_ADDRESS.
+ Also, epmd now ignores ERL_EPMD_ADDRESS if it contains
+ only separator characters (comma and space).
+ The same applies to epmd's -address option.(Thanks to
+ Holger Weiß)
+ Own Id: OTP-9525
+ Remove dead code in erl_compile (Thanks to Tuncer Ayaz)
+ Own Id: OTP-9527
+ Add erlang:external_size/2 BIF
+ This BIF's second parameter is a list of options.
+ Currently the only allowed option is {minor_version,
+ Version} where version is either 0 (default) or 1.
+ (Thanks to Filipe David Manana )
+ Own Id: OTP-9528
+ Fix enif_compare on 64bits machines
+ In 64bits machines the Sint type has a size of 8 bytes,
+ while on 32bits machines it has a 4 bytes size.
+ enif_compare was ignoring this and therefore returning
+ incorrect values when the result of the CMP function
+ (which returns a Sint value) doesn't fit in 4 bytes.
+ (Thanks to Filipe David Manana)
+ Own Id: OTP-9533
+ Implement or fix -Werror option
+ If -Werror is enabled and there are warnings no output
+ file is written. Also make sure that error/warning
+ reporting is consistent. (Thanks to Tuncer Ayaz)
+ Own Id: OTP-9536 In some rare cases we did not have a run queue when
+ scheduling misc ops. This is now fixed.
+ Own Id: OTP-9537 Remove misc. compiler warnings
+ Own Id: OTP-9542
+ Two bugs in gen_sctp has been corrected: getopts/setopts
+ hence also send could only be called from socket owner,
+ and options 'linger', 'rcvbuf' and 'sndbuf' was read from
+ wrong protocol layer hence read wrong values by getopts.
+ Own Id: OTP-9544
+ Erlang/OTP can now be built on MacOS X Lion.
+ Own Id: OTP-9547 XML files have been corrected.
+ Own Id: OTP-9550 Aux Id: OTP-9541
+ Fix potential errors inspired by running cppcheck(1)
+ (Thanks to Christian von Roques)
+ Own Id: OTP-9557 When auxiliary work was enqueued on a scheduler, the
+ wakeup of the scheduler in order to handle this work
+ could be lost. Wakeups in order to handle ordinary work
+ were not effected by this bug. The bug only effected
+ runtime systems with SMP support as follows:
+ Own Id: OTP-9567
+ Handle rare race in the crypto key server functionality
+ Own Id: OTP-9586 Types and specifications have been added.
+ Own Id: OTP-9356
+ New allocator strategy "address order first fit". May
+ ease the emptying of memory carriers and thereby real
+ release of memory back to the OS.
+ Own Id: OTP-9424
+ The new
+ Own Id: OTP-9495 Update documentation and specifications of some of
+ the zlib functions.
+ Own Id: OTP-9506
+ Detect the available CPUs on IRIX
+ Add support for querying the number of configured and
+ online processors on SGI systems running IRIX.(Thanks to
+ Holger Weiß)
+ Own Id: OTP-9531 This document describes the changes made to the asn1 application.
+ Implement or fix -Werror option
+ If -Werror is enabled and there are warnings no output
+ file is written. Also make sure that error/warning
+ reporting is consistent. (Thanks to Tuncer Ayaz)
+ Own Id: OTP-9536
+ An error in how comments are colored in the test suite
+ overview html log file has been corrected. As result, a
+ new framework callback function, format_comment/1, has
+ been introduced.
+ Own Id: OTP-9237
+ Automatically generated init- and end-configuration
+ functions for test case groups caused incorrect execution
+ order of test cases. This has been corrected.
+ Own Id: OTP-9369
+ If multiple directories were specified with the 'logdir'
+ flag/option, Common Test would crash. This has been fixed
+ so that an error is properly reported instead.
+ Own Id: OTP-9370
+ If ct:log/2 was called with bad arguments, this could
+ cause the Common Test IO handling process to crash. This
+ fault has been corrected.
+ Own Id: OTP-9371 Aux Id: OTP-8933
+ A bug has been fixed that made Test Server call the
+ end_tc/3 framework function with an incorrect module name
+ as first argument.
+ Own Id: OTP-9379 Aux Id: seq11863
+ If a timetrap timeout occured during execution of of a
+ function in a lib module (i.e. a function called directly
+ or indirectly from a test case), the Suite argument in
+ the end_tc/3 framework callback function would not
+ correctly contain the name of the test suite, but the lib
+ module. (This would only happen if the lib module was
+ compiled with ct.hrl included). This error has been
+ solved.
+ Own Id: OTP-9398
+ Corrections of the vts mode. It will now report errors
+ (about e.g. incorrect config files) instead of crashing
+ or hanging. Furthermore, the requirement that the test
+ directory name must have a "_test" suffix has been
+ removed. Also, a workaround has been implemented for the
+ limitation that the file browser (in many web browsers)
+ will only return the basic file name, not the full
+ directory path (which made it impossible to have config
+ files in other directories than the main test directory).
+ Own Id: OTP-9429
+ Add a proplist() type
+ Recently I was adding specs to an API and found that
+ there is no canonical proplist() type defined. (Thanks to
+ Ryan Zezeski)
+ Own Id: OTP-9499
+ It is now possible to use the 'step' flag/option to run
+ the debugger for test suites that contain test case
+ groups. This previously caused Common Test to crash. If
+ 'step config' is specified, breakpoints are now also
+ automatically set on init_per_group and end_per_group.
+ Note that breakpoints are always set automatically on
+ test case functions and this is true also for grouped
+ cases.
+ Own Id: OTP-9518 Aux Id: OTP-8933
+ The test index page was not refreshed at the start of
+ each test suite which made it impossible to follow test
+ execution by means of refreshing the browser window (no
+ links to follow). This has been fixed.
+ Own Id: OTP-9520 Aux Id: OTP-8933
+ If a test suite would start with a test case group
+ defined without the init_per_group/2 and end_per_group/2
+ function, init_per_suite/1 would not execute initially
+ and logging of the test run would fail. This error has
+ been fixed.
+ Own Id: OTP-9584
+ The "Missing Suites" link from the top level index page
+ was incorrect and has been fixed.
+ Own Id: OTP-9592
+ Various corrections and updates to improve the handling
+ and reporting of errors.
+ Own Id: OTP-8933
+ The dir and suite start option can now be used in
+ combination. E.g. executing my_SUITE in directory
+ my_tests can either be specified as "ct_run -suite
+ my_tests/my_SUITE" or as "ct_run -dir my_tests -suite
+ my_SUITE". Furthermore, the specification:
+ ct:run_test([{suite,["./my_SUITE"]},{testcase,t1}]) is
+ now interpreted as
+ ct:run_test([{suite,"./my_SUITE"},{testcase,t1}]), i.e.
+ only testcase t1 in test suite my_SUITE - not all cases -
+ will be executed.
+ Own Id: OTP-9155
+ A new option, 'logopts', has been introduced, to make it
+ possible to modify some aspects of the logging behaviour
+ in Common Test (or Test Server). For example, whenever an
+ io printout is made, test_server adds newline (\n) to the
+ end of the output string. This may not always be a
+ preferred action and can therefore be disabled by means
+ of "ct_run ... -logopts no_nl" (or ct:run_test([...,
+ {logopts,[no_nl]}])). A new framework callback function,
+ get_logopts/0, has been introduced (see the ct_framework
+ module for details).
+ Own Id: OTP-9372 Aux Id: OTP-9396
+ A new option, 'logopts', has been introduced, to make it
+ possible to modify some aspects of the logging behaviour
+ in Common Test (or Test Server). For example, if the html
+ version of the test suite source code should not be
+ generated during the test run (and consequently be
+ unavailable in the log file system), the feature may be
+ disabled by means of "ct_run ... -logopts no_src" (or
+ ct:run_test([..., {logopts,[no_src]}])). A new framework
+ callback function, get_logopts/0, has been introduced
+ (see the ct_framework module for details).
+ Own Id: OTP-9396 Aux Id: seq11869, OTP-9372
+ CT Hooks can now be assigned a priority. The priority of
+ a CTH determines when it should execute in relation to
+ other CTHs. The CTH with the lowest priority will be
+ executed first, CTHs with equal priority will be executed
+ in the order which they were installed.
+ Own Id: OTP-9445
+ It is now possible to use a tuple {M,F,A}, or a fun, as
+ timetrap specification in the suite info function or test
+ case info functions. The function must return a valid
+ timeout value, as documented in the common_test man page
+ and in the User's Guide.
+ Own Id: OTP-9501 Aux Id: seq11894
+ A new built-in common test hook has been added which
+ captures error_logger and SASL event and prints them in
+ the testcase log. To disable this (and any other built-in
+ hooks) pass 'enable_builtin_hooks false' to common test.
+ Own Id: OTP-9543
+ Common Test now has the possibility to have built-in
+ hooks which are started by default when any test is run.
+ To disable built-in hooks pass 'enable_builtin_hooks
+ false' to common test. See the common test hooks
+ documentation for more details.
+ Own Id: OTP-9564 This document describes the changes made to the Compiler
application.
+ Compiler options given in the source code using a
+
+ Own Id: OTP-9534
+ beam_disasm: Handle stripped BEAM files
+ beam_disasm:file/1 would crash if asked to disassemble a
+ stripped BEAM file without an "Attr" chunk. (Thanks to
+ Haitao Li)
+ Own Id: OTP-9571 XML files have been corrected.
+ Own Id: OTP-9550 Aux Id: OTP-9541 This document describes the changes made to the Crypto application.
+
+ Own Id: OTP-9526
+ Fix win32 OpenSSL static linking (Thanks to Dave
+ Cottlehuber)
+ Own Id: OTP-9532 This document describes the changes made to the Dialyzer
application.
+ Update results of race_SUITE/extract_translations Update
+ results of small_SUITE/flatten Add codec_can and
+ list_to_bitstring tests Fix bug when reporting unused
+ functions Update Dialyzer r9c_suite results Fix dialyzer
+ warning on default clause for binary comprehension
+ (Thanks to Ivan Dubrov)
+ Own Id: OTP-9483
+ Fix server loop detection
+ Dialyzer does not normally emit warnings for functions
+ that implement non-terminating server loops. This
+ detection failed when some of the elements in an SCC
+ terminated normally (being for example list
+ comprehensions or other generic anonymous functions that
+ were included in the SCC). This patch fixes that.
+ Own Id: OTP-9489
+ Add a proplist() type
+ Recently I was adding specs to an API and found that
+ there is no canonical proplist() type defined. (Thanks to
+ Ryan Zezeski)
+ Own Id: OTP-9499
+ Suppress some warnings about generation of non-returning
+ funs
+ No warnings are emitted for funs that are non-returning
+ when the function that generates them has a contract that
+ specifies that it will return such a non-returning fun.
+ Enhance Dialyzer's inference on comparisons
+ This patch makes Dialyzer aware of Erlang's total
+ ordering of terms, enabling discrepancy detection in
+ cases where e.g. integer() < tuple() is treated as a
+ comparison that might also return false (when it is
+ certain to always return true).
+ Minor fix in dead code
+ Fix infinite loop in dataflow
+ Update r9c/{inets,mnesia} results in dialyzer's test
+ suite
+ Add origin information to #fun_var closures
+ (Thanks to Tuncer Ayaz and Maria Christakis)
+ Own Id: OTP-9529
+ Quote atoms if necessary in types
+ Atoms in some occurrences were not correctly quoted when
+ formatted to strings, for instance by the typer program
+ (Thanks to Tomas Abrahamsson)
+ Update Dialyzer's reference results
+ Own Id: OTP-9560
+ Fix typer's crash for nonexisting files Remove unused
+ macro Fix bug in dataflow Decrease tuple arity limit This
+ fixes a memory related crash.
+ Own Id: OTP-9597
+ Types for several BIFs have been extended/corrected. Also
+ the types for types for
+ Own Id: OTP-9496
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Handle #sctp_paddr_change and #sctp_pdapi_event from + gen_sctp.
++ The events are enabled by default but diameter_sctp + neither disabled nor dealt with them. Reception of such + an event caused a transport process to crash.
++ Own Id: OTP-9538
++ Fix header folding bug.
++ A prepare_request callback from diameter can return a + diameter_header record in order to set values in the + header of an outgoing request. A fault in + diameter_lib:fold_tuple/3 caused the subsequent encode of + the outgoing request to fail.
++ Own Id: OTP-9577
++ Fix bugs in sending of answer-message replies.
++ 3001 (DIAMETER_COMMAND_UNSUPPORTED) was not sent since + the decode placed the AVP list in the wrong field of the + diameter_packet, causing the subsequent encode to fail. + Session-Id was also set improperly, causing encode to + fail even in this case.
++ Own Id: OTP-9578
++ Fix improper use of error_logger:info_report/2.
++ Function doesn't take a format string and arguments as it + was called. Instead use error_logger:info_report/1 and + use the same report format as used for warning and error + reports.
++ Own Id: OTP-9579
++ Fix and clarify semantics of peer filters.
++ An eval filter returning a non-true value caused the call + process to fail and the doc was vague on how an exception + was treated. Clarify that the non-tuple host/realm + filters assume messages of a certain form.
++ Own Id: OTP-9580
++ Fix and clarify relay behaviour.
++ Implicit filtering of the sending peer in relaying a + request could cause loop detection to be preempted in a + manner not specified by RFC3588. Reply with 3002 + (DIAMETER_UNABLE_TO_DELIVER) on anything but an answer to + a relayed request.
++ Own Id: OTP-9583
++ @id required in dictionary files only when @messages is + specified.
++ @id defines an application identifier and this is used + only when sending or receiving messages. A dictionary can + define only AVP's however, to be included by other + dictionaries using @inherits, in which case it makes no + sense to require @id.
++ Note that message definitions are not inherited with + @inherits, only AVP's
++ Own Id: OTP-9467
++ Allow @enum when AVP is defined in an inherited + dictionary.
++ 3GPP standards (for one) extend the values allowed for + RFC 3588 AVP's of type Enumerated. Previously, extending + an AVP was only possible by completely redefining the + AVP.
++ Own Id: OTP-9469
++ Migrate testsuites to pure common test and add both + suites and testcases.
++ Own Id: OTP-9553
++ Requests of arbitrary form.
++ diameter:call/4 can be passed anything, as long as the + subsequent prepare_request callback returns a term that + can be encoded.
++ Own Id: OTP-9581
+This document describes the changes made to the DocBuilder application.
++ The docbuilder application has been deprecated and will + be removed in the R15 release.
++ Own Id: OTP-9509
+This document describes the changes made to the EDoc application.
++ Own Id: OTP-9350
++ synchronized with edoc development version
++ forgot to ensure that xmerl is found in path for + include_lib to work
++ fix -spec declaration that doesn't work in R13B04
++ eliminate warnings about unused imports
++ removed CVS-keywords from source files (Thanks to Richard + Carlsson )
++ Own Id: OTP-9463
++ Add a proplist() type
++ Recently I was adding specs to an API and found that + there is no canonical proplist() type defined. (Thanks to + Ryan Zezeski)
++ Own Id: OTP-9499
++ Removed some never-matching clauses reported by dialyzer + Fix macro expansion in comments following Erlang types + URI-escape bytes as two hex digits always (reported by + Alfonso De Gregorio) Updated author e-mail Recognize some + more URI schemas in wiki text, in particular https + (Thanks to Richard Carlsson)
++ Own Id: OTP-9590
+This document describes the changes made to the erl_docgen application.
-Bug fixes.
++ Own Id: OTP-9360
+The manpage generation has been improved.
++ Own Id: OTP-9541 Aux Id: OTP-9550
+Fix eix file generation for new function spec + references.
++ Own Id: OTP-9562
+The function signatures in the pdf files was not in a + fixed font.
++ Own Id: OTP-9563
+The parts level in the system documentation was + missing in the bookmarks menu for the pdf and the + copyright year generation for PDF was not correct.
++ Own Id: OTP-9576
+ The indentation after
+ Own Id: OTP-9588
+This document describes the changes made to the Erl_interface application.
+Align ei buffer according to size of pointers
++ Own Id: OTP-9390
+XML files have been corrected.
++ Own Id: OTP-9550 Aux Id: OTP-9541
++ Make comment and documentation reflect code in + erl_interface/src/misc/ei_decode_term.c (Thanks to Anneli + Cuss)
++ Own Id: OTP-9559
++ ei: integer overflow in string/atom encoding
++ ei_encode_atom() and ei_encode_string() use strlen() to + get the length of the buffer. As strlen() returns an + unsigned long long and both ei functions take a signed + integer, the length fields may overflow.
++ Check so that the results of strlen can be held in a + signed integer. (Thanks to Michael Santos)
++ Own Id: OTP-9530
+Dialyzer warnings have been fixed.
++ Own Id: OTP-9470
+This document describes the changes made to the EUnit application.
++ Generate separate surefire XMLs for each test suite
++ Previously the test cases of all test suites (=modules) + were put in one and the same surefire report XML thereby + breaking the principle of least astonishment and making + post analysis harder. Assume the following layout:
++ src/x.erl src/y.erl test/x_tests.erl test/y_tests.erl
++ The results for both x_tests and y_tests were written to + only one report grouped under either module x or y + (seemingly randomly).
++ Now two reports, one for module x and one for y are + generated. (Thanks to Klas Johansson)
++ Own Id: OTP-9465
++ Updated to EUnit version 2.2.0
++ New macros assertNotMatch(Guard, Expr), + assertNotEqual(Unexpected, Expr), and + assertNotException(Class, Term, Expr).
++ The debugMsg macro now also prints the pid of the current + process.
++ When testing all modules in a directory, tests in + Module_tests.erl are no longer executed twice.
++ The use of regexp internally has been replaced with re. + (Thanks to Richard Carlsson)
++ Own Id: OTP-9505
++ Removed some never-matching clauses reported by dialyzer + Updated author e-mails and homepages Removed cvs keywords + from files Removed files that should not be checked in + (Thanks to Richard Carlsson)
++ Own Id: OTP-9591
+This document describes the changes made to the GS application.
-Remove misc. compiler warnings
++ Own Id: OTP-9542
+This document describes the changes made to HiPE.
++ Clean up hipe.hrl.src (Thanks to Tuncer Ayaz)
++ Own Id: OTP-9511
++ Fix bug with binary pattern matching of floats of + variable size
++ Pattern matching of floats with variable size + (<<F:S/float>>) did always fail. Judging from + similar code for ints, this bug is simply a typo.(Thanks + to Paul Guyot)
++ Own Id: OTP-9556
++ Quote atoms if necessary in types
++ Atoms in some occurrences were not correctly quoted when + formatted to strings, for instance by the typer program + (Thanks to Tomas Abrahamsson)
++ Update Dialyzer's reference results
++ Own Id: OTP-9560
++ Fix typer's crash for nonexisting files Remove unused + macro Fix bug in dataflow Decrease tuple arity limit This + fixes a memory related crash.
++ Own Id: OTP-9597
+
+ Types for several BIFs have been extended/corrected. Also
+ the types for types for
+ Own Id: OTP-9496
+This document describes the changes made to the Kernel application.
++ Fix type of Packet arg of gen_tcp:send/2 and + gen_udp:send/4
++ The type is marked as a binary() or a string() but in + practice it can be an iodata(). The test suite was + updated to confirm the gen_tcp/2 and gen_udp:send/4 + functions accept iodata() (iolists) packets. (Thanks to + Filipe David Manana)
++ Own Id: OTP-9514
+XML files have been corrected.
++ Own Id: OTP-9550 Aux Id: OTP-9541
+The types and specifications of the inet modules have + been improved.
++ Own Id: OTP-9260
+Types and specifications have been added.
++ Own Id: OTP-9356
+Contracts in STDLIB and Kernel have been improved and + type errors have been corrected.
++ Own Id: OTP-9485
+Update documentation and specifications of some of + the zlib functions.
++ Own Id: OTP-9506
++ Fix protocol issues. Mnesia-4.4.19 could not communicate + with to older nodes.
++ Own Id: OTP-9473
+XML files have been corrected.
++ Own Id: OTP-9550 Aux Id: OTP-9541
++ Dump the log even if no transactions have been invoked on + local node, otherwise the log will grow forever with + decisions from the other nodes who have tables on disk. + Thanks Marek Majkowski.
++ Own Id: OTP-9551
++ Use dedicated api for clear_table, i.e. instead of + match_delete use delete_all_objects. Thanks KukHyun Lee.
++ Own Id: OTP-9558
+This document describes the changes made to the Observer application.
++ Do not install *.bat files on non-win32 machines (Thanks + to Hans Ulrich Niedermann)
++ Own Id: OTP-9515
+This document describes the changes made to the odbc application.
-+ When using output parameters the internal odbc state was + not correctly cleaned causing the next call to + param_query to misbehave.
++ Own Id: OTP-9444
+XML files have been corrected.
++ Own Id: OTP-9550 Aux Id: OTP-9541
++ Add code to handle old ODBC drivers on solaris. Also adds + tests with MySQL.
++ Own Id: OTP-8407
++ Odbc now supports SQL_WLONGVARCHAR, thanks to Hanfei Shen + for the patch.
++ Own Id: OTP-8493
+XML files have been corrected.
++ Own Id: OTP-9550 Aux Id: OTP-9541
+This document describes the changes made to the OS_Mon application.
+Remove misc. compiler warnings
++ Own Id: OTP-9542
+This document describes the changes made to the Parsetools application.
+Dialyzer warnings have been removed.
++ Own Id: OTP-8318
++ yecc: add warnings_as_errors option(Thanks to Tuncer + ayaz)
++ Own Id: OTP-9376
++ Fix incorrect order of pseudo variables in yecc example
++ The example is for converting from infix to prefix. This + change uses to correct ordering of the triplet. (Thanks + to Garret Smith)
++ Own Id: OTP-9484
++ Implement or fix -Werror option
++ If -Werror is enabled and there are warnings no output + file is written. Also make sure that error/warning + reporting is consistent. (Thanks to Tuncer Ayaz)
++ Own Id: OTP-9536
+XML files have been corrected.
++ Own Id: OTP-9550 Aux Id: OTP-9541
+This document describes the changes made to the Percept application.
++ Fix message handling in select requests
++ percept_db used to send results in untagged messages, and + use a non selective receive to extract them. When percept + is used from the shell process, this can confuse other + messages with the actual result.
++ Add a tag to the message to be {result, Result}. Add + demonitor to avoid keeping DOWN message in the queue fix + one spec in do_start/0
++ (Thanks to Ahmed Omar)
++ Own Id: OTP-9490
++ replace "a ssl" with "an ssl" reindent + pkix_path_validation/3 Trivial documentation fixes + (Thanks to Christian von Roques )
++ Own Id: OTP-9464
++ If a module was duplicated in the library directories + visible to reltool, and the configuration did not point + out which file to use, then reltool:start would always + fail. A pop-up is added which asks if you want to + continue with a safe and minimal configuration.
++ Own Id: OTP-9383
++ wx would sometimes crash due to an empty radiobox on the + 'releases' tab of the system window. This radiobox is + removed, and replaced by a listbox which will always + contain at least kernel and stdlib applications.
++ Own Id: OTP-9384
+This document describes the changes made to the Runtime_Tools application.
++ Two new built-in trace pattern aliases have been added: + caller_trace (c) and caller_exception_trace (cx). See the + dbg:ltp/0 documentation for more info.
++ Own Id: OTP-9458
+This document describes the changes made to the SASL application.
++ The release_handler functionality on windows services was + broken. This has been corrected.
++ Own Id: OTP-9306
++ If a new version of an application did not include any + erlang module changes, the code path of the application + was not updated by the release_handler unless a + 'load_object_code' instruction was added for the + application. This would be a problem if e.g. only some + files in the priv dir were changed since calls to + code:lib_dir or code:priv_dir would then point to the old + location of the application. This has been corrected - + now code:replace_path/2 will be called for all + applications that are changed (i.e. when the + application's vsn is changed in the .rel file).
++ Own Id: OTP-9402
++ The appup instruction 'delete_module' would cause a crash + during upgrade if the module to be deleted was not + loaded. This has been corrected.
++ Own Id: OTP-9417
+
+ If a path was given as ONLY 'ebin' and not for example
+ './ebin', then systools:make_tar would fail with a
+
+ Own Id: OTP-9507
++ Implement or fix -Werror option
++ If -Werror is enabled and there are warnings no output + file is written. Also make sure that error/warning + reporting is consistent. (Thanks to Tuncer Ayaz)
++ Own Id: OTP-9536
++ Improved error information for timeouts during + release_handler:install_release.
++ This patch addresses two cases where a timeout will occur + during upgrade. 1) if a supervisor is suspended (call to + get children from supervisor will hang) 2) if the child + spec for a supervisor incorrectly states that it is a + worker with a dynamic set of modules (call to get modules + from gen_event will hang)
++ An error report will now be printed, and the return value + of release_handler:install_release will indicate what + happened. (Thanks to joe williams)
++ Own Id: OTP-9546
+
+
+ A new option,
+ Own Id: OTP-9395
+This document describes the changes made to the SSL application.
-+ replace "a ssl" with "an ssl" reindent + pkix_path_validation/3 Trivial documentation fixes + (Thanks to Christian von Roques )
++ Own Id: OTP-9464
++ Adds function clause to avoid denial of service attack. + Thanks to Vinod for reporting this vulnerability.
++ Own Id: OTP-9364
++ Error handling code now takes care of inet:getopts/2 and + inets:setopts/2 crashes. Thanks to Richard Jones for + reporting this.
++ Own Id: OTP-9382
++ Support explicit use of packet option httph and httph_bin
++ Own Id: OTP-9461
++ Decoding of hello extensions could fail to come to the + correct conclusion due to an error in a binary match + pattern. Thanks to Ben Murphy.
++ Own Id: OTP-9589
+This document describes the changes made to the STDLIB application.
++ erl_tar:extract failed when executed inside a directory + with some parent directory to which the user has no read + access. This has been corrected.
++ Own Id: OTP-9368
+ A bug in
+ Own Id: OTP-9412
+ The contract of
+ Own Id: OTP-9413 Aux Id: seq11873
++ A crash in io_lib:fread/2 when end of input data was + encountered while trying to match literal characters, + which should return {more,_,_,_} but instead crashed, has + been corrected. Reported by Klas Johansson.
++ A similar peculiarity for io:fread when encountering end + of file before any field data has also been corrected.
++ Own Id: OTP-9439
+ The contract of
+ Own Id: OTP-9450
++ Fix minor typo in gen_fsm documentation (Thanks to Haitao + Li)
++ Own Id: OTP-9456
+The contracts of
+ Own Id: OTP-9471 Aux Id: seq11887, OTP-9472
+ A bug in
+ Own Id: OTP-9472 Aux Id: seq11887, OTP-9471
++ Fix trivial documentation errors(Thanks to Matthias Lang)
++ Own Id: OTP-9498
++ Add a proplist() type
++ Recently I was adding specs to an API and found that + there is no canonical proplist() type defined. (Thanks to + Ryan Zezeski)
++ Own Id: OTP-9499
++ fix supervisors restarting temporary children
++ In the current implementation of supervisors, temporary + children should never be restarted. However, when a + temporary child is restarted as part of a one_for_all or + rest_for_one strategy where the failing process is not + the temporary child, the supervisor still tries to + restart it.
++ Because the supervisor doesn't keep some of the MFA + information of temporary children, this causes the + supervisor to hit its restart limit and crash.
++ This patch fixes the behaviour by inserting a clause in + terminate_children/2-3 (private function) that will omit + temporary children when building a list of killed + processes, to avoid having the supervisor trying to + restart them again.
++ Only supervisors in need of restarting children used the + list, so the change should be of no impact for the + functions that called terminate_children/2-3 only to kill + all children.
++ The documentation has been modified to make this + behaviour more explicit. (Thanks to Fred Hebert)
++ Own Id: OTP-9502
++ fix broken edoc annotations (Thanks to Richard Carlsson)
++ Own Id: OTP-9516
+XML files have been corrected.
++ Own Id: OTP-9550 Aux Id: OTP-9541
++ Handle rare race in the crypto key server functionality
++ Own Id: OTP-9586
+Types and specifications have been added.
++ Own Id: OTP-9356
+ The contracts of the
+ Own Id: OTP-9418
+Contracts in STDLIB and Kernel have been improved and + type errors have been corrected.
++ Own Id: OTP-9485
+
+ Types for several BIFs have been extended/corrected. Also
+ the types for types for
+ Own Id: OTP-9496
++ An error in how comments are colored in the test suite + overview html log file has been corrected. As result, a + new framework callback function, format_comment/1, has + been introduced.
++ Own Id: OTP-9237
++ Test Server did not release SASL TTY handlers + (sasl_report_tty_h and error_logger_tty_h) properly after + each test run. This error has been fixed.
++ Own Id: OTP-9311
++ Automatically generated init- and end-configuration + functions for test case groups caused incorrect execution + order of test cases. This has been corrected.
++ Own Id: OTP-9369
++ If ct:log/2 was called with bad arguments, this could + cause the Common Test IO handling process to crash. This + fault has been corrected.
++ Own Id: OTP-9371 Aux Id: OTP-8933
++ A bug has been fixed that made Test Server call the + end_tc/3 framework function with an incorrect module name + as first argument.
++ Own Id: OTP-9379 Aux Id: seq11863
++ If end_per_testcase caused a timetrap timeout, the actual + test case status was discarded and the test case logged + as successful (even if the case had actually failed + before the call to end_per_testcase). This fault has been + fixed.
++ Own Id: OTP-9397
++ If a timetrap timeout occured during execution of of a + function in a lib module (i.e. a function called directly + or indirectly from a test case), the Suite argument in + the end_tc/3 framework callback function would not + correctly contain the name of the test suite, but the lib + module. (This would only happen if the lib module was + compiled with ct.hrl included). This error has been + solved.
++ Own Id: OTP-9398
++ Add a proplist() type
++ Recently I was adding specs to an API and found that + there is no canonical proplist() type defined. (Thanks to + Ryan Zezeski)
++ Own Id: OTP-9499
+XML files have been corrected.
++ Own Id: OTP-9550 Aux Id: OTP-9541
++ If a test suite would start with a test case group + defined without the init_per_group/2 and end_per_group/2 + function, init_per_suite/1 would not execute initially + and logging of the test run would fail. This error has + been fixed.
++ Own Id: OTP-9584
++ A new option, 'logopts', has been introduced, to make it + possible to modify some aspects of the logging behaviour + in Common Test (or Test Server). For example, whenever an + io printout is made, test_server adds newline (\n) to the + end of the output string. This may not always be a + preferred action and can therefore be disabled by means + of "ct_run ... -logopts no_nl" (or ct:run_test([..., + {logopts,[no_nl]}])). A new framework callback function, + get_logopts/0, has been introduced (see the ct_framework + module for details).
++ Own Id: OTP-9372 Aux Id: OTP-9396
++ A new option, 'logopts', has been introduced, to make it + possible to modify some aspects of the logging behaviour + in Common Test (or Test Server). For example, if the html + version of the test suite source code should not be + generated during the test run (and consequently be + unavailable in the log file system), the feature may be + disabled by means of "ct_run ... -logopts no_src" (or + ct:run_test([..., {logopts,[no_src]}])). A new framework + callback function, get_logopts/0, has been introduced + (see the ct_framework module for details).
++ Own Id: OTP-9396 Aux Id: seq11869, OTP-9372
++ It is now possible to use a tuple {M,F,A}, or a fun, as + timetrap specification in the suite info function or test + case info functions. The function must return a valid + timeout value, as documented in the common_test man page + and in the User's Guide.
++ Own Id: OTP-9501 Aux Id: seq11894
+This document describes the changes made to the Toolbar application.
++ Improve spelling throughout documentation, code comments + and error messages
++ Own Id: OTP-9555
+This document describes the changes made to the Tools application.
++ Teach the emacs mode to compile yecc and leex files
++ If visiting a .yrl or .xrl file in emacs with + erlang-mode, then the `erlang-compile' function (normally + bound to C-c C-k), now knows how to compile yecc and leex + files, and then, if that compilation succeeds, also + compiles the resulting .erl files.
++ Also introduce a `erlang-compile-command-function-alist' + to make it possible to hook in other functions for + computing compilation commands/expressions, depending on + file name. (Thanks to Tomas Abrahamsson )
++ Own Id: OTP-9503
+Bugs in xref(3) have been fixed. (Thanks to Matthias + Lang.)
++ Own Id: OTP-9416
+This document describes the changes made to the Webtool application.
++ Do not install *.bat files on non-win32 machines (Thanks + to Hans Ulrich Niedermann)
++ Own Id: OTP-9515
+This document describes the changes made to the wxErlang application.
++ wx: fix obsolete guard warning (list/1) (Thanks to Tuncer + Ayaz)
++ Own Id: OTP-9513
+XML files have been corrected.
++ Own Id: OTP-9550 Aux Id: OTP-9541
++ Support virtual tables in wxListCtrl.
++ Own Id: OTP-9415
+This document describes the changes made to the Xmerl application.
+Fixed a schema search bug in xmerl_xsd.
A + new flag was needed in the xsd_state record so if the + state is saved there is an incompatibility and a state + conversion is needed.
++ *** INCOMPATIBILITY with R14B03 ***
++ Own Id: OTP-9410
+Fixed xmerl_scan problems with entities in attribute + values.
++ Own Id: OTP-9411
+Streaming bug in xmerl_scan.
If the + continuation_fun runs out of input at the end of an + attribute value then it crashed. (Thanks to Simon + Cornish)
++ Own Id: OTP-9457
++ Fixed xmerl_ucs UCS2 little endian en/decoding
++ Corrected number of shift bytes in + xmerl_ucs:char_to_ucs2le and recursive call from + from_ucs2le to from_ucs4le. (Thanks to Michal Ptaszek)
++ Own Id: OTP-9548
++ Add latin9 (iso-8859-15) support in xmerl_ucs (Thanks to + David Julien)
++ Own Id: OTP-9552
++ Improve spelling throughout documentation, code comments + and error messages
++ Own Id: OTP-9555
+