diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml index 7383ea381d6b..3733fb2db99f 100644 --- a/erts/doc/src/notes.xml +++ b/erts/doc/src/notes.xml @@ -30,6 +30,357 @@
This document describes the changes made to the ERTS application.
+Fix binary and iolist overflow problems. Typically + problems arose in length calculation where the result + would exceed (1 bsl 32 - 1).
++ Own Id: OTP-9118
++ Using the old erlang shell (i.e. erl instead on werl) on + windows and doing several init:restart's would eventually + hang the VM. That is no longer the case.
++ Own Id: OTP-9139
++ Removed recursive C code when printing Erlang terms to + buffers, avoiding stack overflows that could cause VM to + crash.
++ Own Id: OTP-9140
++ The send_timeout option in gen_tcp did not work properly + in active mode or with {active,once} options. This is now + corrected.
++ Own Id: OTP-9145
++ Fixed various typos across the documentation (Thanks to + Tuncer Ayaz)
++ Own Id: OTP-9154
+Remove duplicate stack entries which could occur after + calling certain BIFs.
++ Own Id: OTP-9163
++ A race when starting two nodes simultaneously using + run_erl has been removed.
++ Own Id: OTP-9164
++ Add documentation on .erlang processing back again + (Thanks to Gabor Liptak)
++ Own Id: OTP-9189
++ Remove gratuitous paren in driver_entry(Thanks to Tuncer + Ayaz)
++ Own Id: OTP-9192
++ Fix some wrong pointer dereferences (Thanks to Cristian + Greco)
++ Own Id: OTP-9194
++ erts: Remove unused variables (Thanks to Tuncer Ayaz)
++ Own Id: OTP-9205
+
+ The documentation for
+ Own Id: OTP-9209
++ Allow user to specify the IP address epmd binds to
++ The IP address(es) epmd binds to can now be specified by + the user, either via epmd's new "-address" option or (if + that's not used) by setting the environment variable + ERL_EPMD_ADDRESS. Multiple addresses may be specified + using a comma-separated list. If the loopback address is + not in this list, it will be added implicitly, so that + the daemon can be queried by an interactive epmd + process.(Thanks to Holger Weiß)
++ Own Id: OTP-9213
++ epmd: include host address in local access check
++ In FreeBSD jails, the source and destination address of + connections to localhost are changed to be the IP address + of the jail. Consider connections from the host's IP + address to itself (e.g., the source and destination + address match) to be local for the access control checks. + (Thanks to Michal Santos and Tom at diogunix.com)
++ Own Id: OTP-9214
++ Fix list returned by net_kernel:epmd_module
++ Function epmd_module of net_kernel returns a list instead + of an atom, when the epmd_module-flag is used. (Thanks to + Markus Knofe)
++ Own Id: OTP-9215
++ Fix epmd's dbg_perror() output
++ The dbg_perror() function now hands the current errno + value over to dbg_gen_printf(). This fixes the problem + that errno had been reset to zero by the time it was used + (to print the corresponding error message) in the + dbg_gen_printf() function. (Thanks to Holger Weiß)
++ Own Id: OTP-9223
++ heart: remove garbage appended to heart command
++ heart:get_cmd/0 is documented to return an empty string + if the command is cleared. get_cmd/0 returns 2 extra + bytes: 1 byte for the trailing null, 1 byte from the op + (the op is an unsigned char and 2 bytes are allocated for + it in the returned buffer). (Thanks to Michael Santos)
++ Own Id: OTP-9224
++ file: fix hang reading compressed files
++ The gzio driver goes into an infinite loop when reading + past the end of a compressed file. Reported-By: Alex + Morarash (Thanks to Michael Santos)
++ Own Id: OTP-9245
+Eliminate alias warnings from gcc 4.5.2
++ Own Id: OTP-9250
++ Unsigned integer may overflow in error message (Thanks to + Michael Santos)
++ Own Id: OTP-9251
++ Driver names should be strings, not atoms
++ Own Id: OTP-9253
++ driver_entry: Remove gratuitous paren and fix typo + (Thanks to Tuncer Ayaz)
++ Own Id: OTP-9254
++ Fix format specifiers in erl_exit messages
++ Fix an error message by using an unsigned integer + specifier as seen in a tweet by @metabrew: #erlang VM + crashed with "no next heap size found: -2090496108, + offset 0", suddenly allocated all available RAM
++ Also correct mis-typed string formats in bif.c.(Thanks to + Michael Santos)
++ Own Id: OTP-9262
++ net_drv: remove unused tcp request id inet_drv: remove + gratuitous assignment (Thanks to Tuncer Ayaz)
++ Own Id: OTP-9263
++ Teach run_erl RUN_ERL_DISABLE_FLOWCNTRL for disabling + flow control
++ Flow control can cause unwanted behaviour of the beam + process, if accidentally hit Ctrl-S (instead of Ctrl-D to + detach) the entire beam may be blocked.
++ Fix this problem by making it possible to turn off flow + control by setting the environment variable + RUN_ERL_DISABLE_FLOWCNTRL. (Thanks to Jonas Faklkevik)
++ Own Id: OTP-9270
+The following bugs due to missing memory barriers have + been fixed:
ETS tables using the
+
ETS tables using the
A number of memory barriers
+ have been added when building with the
+
The BIF
+
A thread blocking other threads + during code loading, or setup of tracing could + potentially read invalid data.
+ Fixation of ETS tables could potentially get into an + internally inconsistent state.
+ Own Id: OTP-9281
+
+ Fix halfword bug for ETS ordered_set when doing
+
+ Own Id: OTP-9292
+
+ Fix bug in
+ Own Id: OTP-9298
+
+ Calling
+ Own Id: OTP-9302
+
+ New
+ Own Id: OTP-9150
+
+ A process being garbage collected by another process
+ could be scheduled on another scheduler. This prevented
+ this scheduler from doing any useful work until the
+ garbage collection was done. This either occurred due to
+ a explicit call to the
+ Own Id: OTP-9211
++ Remove unnecessary validation copy in + prim_file:drv_command/3 (Thanks to Tony Rogvall)
++ Own Id: OTP-9276
++ Symbolic link handling on windows have been slightly + updated to map error conditions more consequently and + correctly read directory links created outside of the + Erlang environment.
++ Own Id: OTP-9279
++ Due to standard library DLL mismatches between versions + of OpenSSL and Erlang/OTP, OpenSSL is now linked + statically to the crypto driver on Windows. This fixes + problems starting crypto when running Erlang as a service + on all Windows versions.
++ Own Id: OTP-9280
+Halfword emulator memory handling improvements:
+Much more of internal memory structures + have been made able to use "high" memory and are no + longer restricted to the 4Gb limit that still applies for + all process heap data.
Fixed faulty
+ values from
New counter
+
+ Own Id: OTP-9291 Aux Id: seq11841
++ The value set in the undocumented and unsupported + ERL_version_FLAGS (e.g. ERL_R14B03_FLAGS) environment + variable can now be overridden by the command line + (similar to ERL_AFLAGS).
++ Own Id: OTP-9297
+This document describes the changes made to the asn1 application.
++ Test cases which started failing when timer:tc was + changed to not catch are corrected.
++ Own Id: OTP-9286
++ The bounds checking in the asn1_erl_driver when the + length value of a TLV is a Long Definite Length is + corrected. Thanks to Vance Shipley.
++ Own Id: OTP-9303
++ It was previously not possible to use timetrap value + 'infinity' with ct:timetrap/1. This has been fixed.
++ Own Id: OTP-9159
++ The Common Test VTS mode has been updated to be able to + report test results of suites that include test case + groups (when it would previously crash).
++ Own Id: OTP-9195
++ Common Test now refreshes the very top level index.html + page at the start of each individual test in a test run, + so that progress of the ongoing test can be tracked by + following the link to its overview page.
++ Own Id: OTP-9210 Aux Id: OTP-9054
++ A bug that made it impossible to cancel the previous + timetrap when calling ct:timetrap/1 has been corrected.
++ Own Id: OTP-9233 Aux Id: OTP-9159
++ Fix bug which would make cth's to not be removed when out + of scope when adding a cth in suite/0 and crashing in + pre_init_per_suite.
++ Own Id: OTP-9264
++ It is now possible to return a tuple {fail,Reason} from + init_per_testcase/2. The result is that the associated + test case gets logged as failed without ever executing.
++ Own Id: OTP-9160 Aux Id: seq11502
++ Common Test now accepts, but ignores, empty test case + group specifications.
++ Own Id: OTP-9161
+This document describes the changes made to the Compiler application.
++ If a variable is matched out in binary matching and used + as the size for a binary element, it would seem to be + unbound if used in a subsequent match operation. (Thanks + to Bernard Duggan.)
++ Own Id: OTP-9134
+Eliminate incorrect warning in
+
+ Own Id: OTP-9152
+This document describes the changes made to the Crypto application.
++ Various small documentation fixes (Thanks to Bernard + Duggan)
++ Own Id: OTP-9172
+
+ New
+ Own Id: OTP-9275
++ Due to standard library DLL mismatches between versions + of OpenSSL and Erlang/OTP, OpenSSL is now linked + statically to the crypto driver on Windows. This fixes + problems starting crypto when running Erlang as a service + on all Windows versions.
++ Own Id: OTP-9280
+This document describes the changes made to the Dialyzer application.
++ Fix the name of an error function(Thanks to Maria + christakis)
++ Own Id: OTP-9175
++ Fix crash related with the contract blame assignment + patch
++ Own Id: OTP-9219
++ dialyzer/doc: synchronize manual.txt and dialyzer.xml + (Thanks to Tuncer Ayaz)
++ Own Id: OTP-9226
++ Simplify Dialyzer's test suite structure
++ *_SUITE.erl files are now automatically generated by the + respective data directories by the Makefile.
++ Own Id: OTP-9278
+This document describes the changes made to the DocBuilder application.
+ fop 1.0 crashed when building the docbuilder pdf with
+ the following message
+ "java.lang.IllegalArgumentException: factor < 0; was:
+ -1".
This is a known bug in fop 1.0 (fop bug id:
+ Bug 50524) when there is a word that consist of a single
+ soft hyphen (­). this has been fixed in fop
+ source archive but not it's not in a release yet. It's
+ fixed in our documentation by removing the soft hyphens
+ where this is a problem.
+ Own Id: OTP-9143
+This document describes the changes made to the EDoc application.
++ Fix infinite loop for malformed edoc input
++ When processing an edoc comment with ``` in it, if the + comment ends without a matching ''' then an infinite loop + occurs in the function edoc_wiki:strip_empty_lines/2. + This change fixes that by adding a clause to return from + the function upon the end of the comment input. This + allows an error to be thrown to indicate the problem, + which is the same behaviour as leaving either `` or ` + unmatched. (Thanks to Taylor Venable)
++ Own Id: OTP-9165
+ Bugs concerning the option
+
+ Own Id: OTP-9301
+This document describes the changes made to the erl_docgen application.
-The support for using Erlang specifications and types + has been improved.
++ Own Id: OTP-9261
+This document describes the changes made to the Erl_interface application.
++ Fix using sizeof() for array given as function argument
++ When using the sizeof() operator for an array given as + function argument it returns the size of the pointer. In + this case, the affected function hex(char digest[16], + char buff[33]) will just print 4 or 8 byte instead of the + full length of 16 bytes, on 32bit and 64bit systems + respectively. (Thanks to Cristian greco)
++ Own Id: OTP-9151
+
+ Initialize
+ Own Id: OTP-9241
++ erl_interface: fix compile error(Thanks to Michael + Santos)
++ Own Id: OTP-9252
++ The popup window 'contents viewer' did not display + properly on Windows.
++ Own Id: OTP-9238
+This document describes the changes made to the EUnit application.
++ Increase depth of error messages in Eunit Surefire + reports
++ Currently, error messages in Eunit Surefire reports are + shortened just like when written to a terminal. However, + the space limitations that constrain terminal output do + not apply here, so it's more useful to include more of + the error message. The new depth of 100 should be enough + for most cases, while protecting against runaway errors. + (Thanks to Magnus Henoch)
++ Own Id: OTP-9220
++ Don't let eunit_surefire report back to eunit when + stopping
++ When eunit is terminating, a stop message is sent to all + listeners and eunit then waits for *one* result message + but previously both eunit_tty and eunit_surefire sent a + response on error. Don't send a result message from + eunit_surefire; let eunit_tty take care of all result + reporting, both positive and negative to avoid race + conditions and inconsistencies. (Thanks to Klas + Johansson)
++ Own Id: OTP-9269
+This document describes the changes made to HiPE.
++ Fix hipe bug causing minor heap corruption related to + binary matching. The bug has not been confirmed as the + cause of any actual fault symptom.
++ Own Id: OTP-9182
++ Enable HiPE by default when compiling for PPC64
++ Own Id: OTP-9198
++ Fix handling of <<_:N,_:_*M>> type + expressions Fix the argument of + erlang:list_to_bitstring/1 Remove unneeded function + 'sequence/2' Same functionality provided by + string:join/2.
++ Own Id: OTP-9277
+This document describes the changes made to the Kernel application.
++ The send_timeout option in gen_tcp did not work properly + in active mode or with {active,once} options. This is now + corrected.
++ Own Id: OTP-9145
++ Fixed various typos across the documentation (Thanks to + Tuncer Ayaz)
++ Own Id: OTP-9154
++ Fix typo in doc of rpc:pmap/3 (Thanks to Ricardo + Catalinas Jiménez)
++ Own Id: OTP-9168
++ A bug in inet_res, the specialized DNS resolver, has been + corrected. A late answer with unfortunate timing could + cause a runtime exception. Some code cleanup and + improvements also tagged along. Thanks to Evegeniy + Khramtsov for a pinpointing bug report and bug fix + testing.
++ Own Id: OTP-9221 Aux Id: OTP-8712
+Types and specifications have been added.
++ Own Id: OTP-9268
+Erlang types and specifications are used for + documentation.
++ Own Id: OTP-9272
+Two opaque types that could cause warnings when + running Dialyzer have been modified.
++ Own Id: OTP-9337
++ Mnesia could crash if mnesia:add_table_index/2 was + invoked before the table was loaded on all nodes.
++ Own Id: OTP-9285 Aux Id: seq11844
++ Add {majority, boolean()} per-table option.
++ With {majority, true} set for a table, write transactions + will abort if they cannot commit to a majority of the + nodes that have a copy of the table. Currently, the + implementation hooks into the prepare_commit, and forces + an asymmetric transaction if the commit set affects any + table with the majority flag set. In the commit itself, + the transaction will abort if it cannot satisfy the + majority requirement for all tables involved in the + transaction.(Thanks to Ulf Wiger)
++ Own Id: OTP-9304
+This document describes the changes made to the OS_Mon application.
++ Add NetBSD support to memsup and disksup (Thanks to + Andrew Thompson)
++ Own Id: OTP-9216
++ Add support for DragonFlyBSD to memsup
++ DragonFly was partially supported by os_mon already but + when trying to start the os_mon application it'd crash + with an error about an unknown operating system in + memsup. This patch changes memsup to use the FreeBSD + sysctl method to get memory information when on + DragonFly. (Thanks to Andrew Thompson )
++ Own Id: OTP-9217
++ The public_key application now supports encode/decode of + ssh public-key files.
++ Own Id: OTP-9144
+
+ The system level option
+ Own Id: OTP-9135
++ Allow the same module name in multiple applications + visible to reltool, as long as all but one of the + applications/modules are explicitely excluded. (Thanks to + Andrew Gopienko and Jay Nelson)
++ Own Id: OTP-9229
+This document describes the changes made to the SASL application.
++ Remove traces of release_handler reading from filesystem + when it has Masters list
++ There are a couple of places in release_handler and + release_handler_1 that assumed it has a disk to read + from, which in the case of an erl_prim_loader Loader + other than efile is not necessarily true
++ Add check_paths/2 to do the equivalent of check_path/1 + for when there is a Masters list
++ Change get_vsn to no longer get sent File paths but + instead use the Bin since beam_lib:version being sent a + file path causes it to read the local file system
++ Add get_current_vsn/1 as an equivalent to + beam_lib:version(code:which(Mod)), but using + erl_prim_loader:get_file instead of reading from local + file system
++ (Thanks to Steven Gravell)
++ Own Id: OTP-9142
++ rb:stop did sometimes return {error,running}. This came + from supervisor:delete_child and happened when the + rb_server has not yet terminated when this function was + called. Instead of having a separate gen_server call to + rb_server for stopping the process, + supervisor:terminate_child is now called. This is a + synchronous function - i.e. it waits for the process to + actually terminate before it returns.
++ A file descriptor leak in rb:scan_files is corrected. The + index file was never closed after reading.
++ A mismatch in the behavior of rb:filter, when filter + included 'no', is corrected. Such filters will now return + *all* non-matching reports, not only the 'proplist' + reports.
++ Own Id: OTP-9149
++ Start and end date for rb:filter/2 was specified as + {{Y-M-D},...} in the help text instead of {{Y,M,D},...}. + This has been corrected.
++ Own Id: OTP-9166
++ If some, but not all, of the sasl environment variables + related to the log_mf_h error handler were missing sasl + would successfully start but silently skip starting + log_mf_h. This is corrected so sasl startup will now fail + if one or two of the three variables are given. If none + of the variables are given, sasl will start as before + without starting log_mf_h.
++ Own Id: OTP-9185
++ Change default behaviour to not check src code when + creating release
+
+ Add new option
+ *** POTENTIAL INCOMPATIBILITY ***
++ Own Id: OTP-9146 Aux Id: seq11803
+This document describes the changes made to the STDLIB application.
+ The default value
+ Own Id: OTP-9147
++ Update index file atomically
++ Since the log_mf_h index file might be read by other + processes than the error handler (e.g. by the rb tool), + this file should be updated atomically. This will avoid + hitting the time gap between opening the file in write + mode (and thus emptying the file) and the actual update + with the new contents. To do this, a temporary file is + written, and the file:rename/1 used to replace the real + index file.
++ Own Id: OTP-9148
++ Fixed various typos across the documentation (Thanks to + Tuncer Ayaz)
++ Own Id: OTP-9154
++ Supervisors should not save child-specs for temporary + processes when they terminate as they should not be + restarted. Saving the temporary child spec will result in + that you can not start a new temporary process with the + same child spec as an already terminated temporary + process. Since R14B02 you can not restart a temporary + temporary process as arguments are no longer saved, it + has however always been semantically incorrect to restart + a temporary process. Thanks to Filipe David Manana for + reporting this and suggesting a solution.
++ Own Id: OTP-9167 Aux Id: OTP-9064
++ Various small documentation fixes (Thanks to Bernard + Duggan)
++ Own Id: OTP-9172
++ Fix format_status bug for unregistered gen_event + processes
++ Port the gen_fsm code for format_status to gen_event in + order to prevent a lists:concat([...,pid()]) crash when + calling sys:get_status/1 on an unregistered gen_event + process.
++ Refactor format_status header code from gen_* behaviours + to module gen.
++ Extend the format_status tests in gen_event_SUITE to + cover format_status bugs with anonymous gen_event + processes. (Thanks To Geoff Cant)
++ Own Id: OTP-9218
++ List of pids changed to 'set' in supervisor for dynamic + temporary children. Accessing the list would not scale + well when adding/deleting many children. (Thanks to + Evgeniy Khramtsov)
++ Own Id: OTP-9242
++ Change pool module to attempt to attach to nodes that are + already running
++ The pool module prints out an error message and takes no + further action for nodes that are already running. This + patch changes that behavior so that if the return from + slave:start/3 is {already_running, Node} then an attempt + to attach to the node is still made. This makes sense + because the node has been specified by the user in the + .hosts.erlang file indicating a wish for the node to be + part of the pool and a manual attach can be successfully + made after the pool is started.(Thanks to Kelly + McLaughlin)
++ Own Id: OTP-9244
++ unicode: document 16#FFFE and 16#FFFF (non chars)(Thanks + to Tuncer Ayaz)
++ Own Id: OTP-9256
++ re: remove gratuitous "it " in manpage (Thanks to Tuncer + Ayaz)
++ Own Id: OTP-9307
+A bug in erl_eval(3) has been fixed.
++ Own Id: OTP-9322
+
+ Add
+ *** POTENTIAL INCOMPATIBILITY ***
++ Own Id: OTP-9169
++ Allow supervisor:terminate_child(SupRef,Pid) for + simple_one_for_one supervisors
++ supervisor:terminate_child/2 was earlier not allowed if + the supervisor used restart strategy simple_one_for_one. + This is now changed so that children of this type of + supervisors can be terminated by specifying the child's + Pid.
++ (Thanks to Vance Shipley.)
++ Own Id: OTP-9201
+Types and specifications have been added.
++ Own Id: OTP-9267
+Erlang types and specifications are used for + documentation.
++ Own Id: OTP-9271
+Allow Dets tablenames to be arbitrary terms.
++ Own Id: OTP-9282
+A specification that could cause problems for + Dialyzer has been fixed. An opaque type in erl_eval has + been turned in to a ordinary type. This is a temporary + fix.
++ Own Id: OTP-9333
+This document describes the changes made to the Syntax_Tools application.
+ In a file containing declarations and comments
+ without any empty lines between them, the
+
+ Own Id: OTP-9180
++ It was previously not possible to use timetrap value + 'infinity' with ct:timetrap/1. This has been fixed.
++ Own Id: OTP-9159
++ A bug that made it impossible to cancel the previous + timetrap when calling ct:timetrap/1 has been corrected.
++ Own Id: OTP-9233 Aux Id: OTP-9159
++ When running tests with auto-compilation disabled, Common + Test could only display the test suite source code on + html format in the test case log if the source file was + located in the same directory as the pre-compiled suite. + This has been modified so that Common Test now tries to + locate the source file by means of the test suite module + info (Suite:module_info/1). As a result, a suite may now + be compiled to a different output directory (e.g. + $MYTEST/bin) than the source code directory (e.g. + $MYTEST/src), without the source-code-to-html generation + being affected.
++ Own Id: OTP-9138
++ It is now possible to return a tuple {fail,Reason} from + init_per_testcase/2. The result is that the associated + test case gets logged as failed without ever executing.
++ Own Id: OTP-9160 Aux Id: seq11502
++ Added DragonflyBSD check in test_server configure.
++ Own Id: OTP-9249
+This document describes the changes made to the Tools application.
++ Change make:files to behave more like erlc
++ This change removes the unnecessary checks on the files + when make:files is called and allows the error checking + to be done in compile:file, where the error messages are + produced. It does not affect the return value.
++ (Thanks to Sam bobroff)
++ Own Id: OTP-9179
++ add user specified compiler options on form reloading
++ In order to be able to test non-exported functions from + another (test) module it is necessary to compile the + specific module (at least during the test phase) with the + export_all compiler option. This allows complete + separation of testing and productive code. At the moment + it is not possible to combine this with a test code + coverage using the cover module. The problem is that when + cover compiling a module using cover:compile_* the code + is reloaded into the emulator omitting/filtering the + passed user options. In my example above the export_all + option would be removed and the non-exported functions + cannot be called any more. (Thanks to Tobias Schlager)
++ Own Id: OTP-9204
++ Inhibit electric newline after "->" when inside a type + spec
++ The Erlang mode for Emacs inserts a newline after every + "->", which saves you one keystroke when writing a + function, but that is inappropriate when writing a type + spec, as you'd normally keep the spec on one line. This + change inhibits the automatic insertion when the current + line starts with "-spec" or "-type".(Thanks to Magnus + Henoch)
++ Own Id: OTP-9255
++ Add a check logic to prevent file descriptor leak
++ cover module handle files as raw in export and import. + Assert counts of ports are the same at the beginning and + at the end of the test case.(Thanks to Shunichi + Shinohara)
++ Own Id: OTP-9300
+This document describes the changes made to the TV application.
++ tv: Allow table viewer to display refs, ports and small + binaries
++ Table viewer displayed #Port, #Ref, or #Bin as place + holders for their respective object types in ets and + mnesia tables. This can make table viewer difficult to + use when viewing tables containing those data types. It + doesn't make sense to render large binaries so #Bin will + still be used for binaries that exceed 100 bytes. (Thanks + to Blaine whittle)
++ Own Id: OTP-9153
+This document describes the changes made to the Webtool application.
++ Various small documentation fixes (Thanks to Bernard + Duggan)
++ Own Id: OTP-9172
+This document describes the changes made to the wxErlang application.
++ Fixed wx app files on mac and solaris. Thanks Jachym + Holecek and Joe Williams.
++ Own Id: OTP-9324
+This document describes the changes made to the Xmerl application.
++ Fix minor typos and improve punctuation in the + xmerl_xpath @doc comment (Thanks to Marcus Marinelli)
++ Own Id: OTP-9187
++ Prevent xmerl from over-normalizing character references + in attributes
++ Section 3.3.3 of the XML Recommendation gives the rules + for attribute-value normalization. One of those rules + requires that character references not be re-normalized + after being replaced with the referenced characters. + (Thanks to Tom Moertel)
++ Own Id: OTP-9274
+Fixed the default encoding option in SAX parser.
++ Own Id: OTP-9288
+Added the xmerl test suites and examples to the open + source distribution.
++ Own Id: OTP-9228
+