diff options
Diffstat (limited to 'lib/dialyzer/doc/src/notes.xml')
-rwxr-xr-x | lib/dialyzer/doc/src/notes.xml | 320 |
1 files changed, 319 insertions, 1 deletions
diff --git a/lib/dialyzer/doc/src/notes.xml b/lib/dialyzer/doc/src/notes.xml index b6106b928a..17291b24f7 100755 --- a/lib/dialyzer/doc/src/notes.xml +++ b/lib/dialyzer/doc/src/notes.xml @@ -4,7 +4,7 @@ <chapter> <header> <copyright> - <year>2006</year><year>2010</year> + <year>2006</year><year>2011</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -31,6 +31,324 @@ <p>This document describes the changes made to the Dialyzer application.</p> +<section><title>Dialyzer 2.4.4</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p> + 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)</p> + <p> + Own Id: OTP-9483</p> + </item> + <item> + <p> + Fix server loop detection</p> + <p> + 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.</p> + <p> + Own Id: OTP-9489</p> + </item> + <item> + <p> + Add a proplist() type</p> + <p> + Recently I was adding specs to an API and found that + there is no canonical proplist() type defined. (Thanks to + Ryan Zezeski)</p> + <p> + Own Id: OTP-9499</p> + </item> + <item> + <p> + Suppress some warnings about generation of non-returning + funs</p> + <p> + 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.</p> + <p> + Enhance Dialyzer's inference on comparisons</p> + <p> + 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).</p> + <p> + Minor fix in dead code</p> + <p> + Fix infinite loop in dataflow</p> + <p> + Update r9c/{inets,mnesia} results in dialyzer's test + suite</p> + <p> + Add origin information to #fun_var closures</p> + <p> + (Thanks to Tuncer Ayaz and Maria Christakis)</p> + <p> + Own Id: OTP-9529</p> + </item> + <item> + <p> + Quote atoms if necessary in types</p> + <p> + Atoms in some occurrences were not correctly quoted when + formatted to strings, for instance by the typer program + (Thanks to Tomas Abrahamsson)</p> + <p> + Update Dialyzer's reference results</p> + <p> + Own Id: OTP-9560</p> + </item> + <item> + <p> + Fix typer's crash for nonexisting files Remove unused + macro Fix bug in dataflow Decrease tuple arity limit This + fixes a memory related crash.</p> + <p> + Own Id: OTP-9597</p> + </item> + </list> + </section> + + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Types for several BIFs have been extended/corrected. Also + the types for types for <c>lists:keyfind/3</c>, + <c>lists:keysearch/3</c>, and <c>lists:keyemember/3</c> + have been corrected. The incorrect/incomplete types could + cause false dialyzer warnings.</p> + <p> + Own Id: OTP-9496</p> + </item> + </list> + </section> + +</section> + +<section><title>Dialyzer 2.4.3</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p> + Fix the name of an error function(Thanks to Maria + christakis)</p> + <p> + Own Id: OTP-9175</p> + </item> + <item> + <p> + Fix crash related with the contract blame assignment + patch</p> + <p> + Own Id: OTP-9219</p> + </item> + <item> + <p> + dialyzer/doc: synchronize manual.txt and dialyzer.xml + (Thanks to Tuncer Ayaz)</p> + <p> + Own Id: OTP-9226</p> + </item> + <item> + <p> + Simplify Dialyzer's test suite structure</p> + <p> + *_SUITE.erl files are now automatically generated by the + respective data directories by the Makefile.</p> + <p> + Own Id: OTP-9278</p> + </item> + </list> + </section> + +</section> + +<section><title>Dialyzer 2.4.2</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p> + Add a --fullpath option to Dialyzer</p> + <p> + This change adds a --fullpath option to Dialyzer, which + makes the warning messages contain the full path of the + corresponding file.</p> + <p> + Original patch submitted by Magnus Henoch (legoscia) on + 15/9/2010 and cooked to death in the 'pu' branch all this + time.</p> + <p> + The patch was essentially correct and most of it has been + used as is, but there have been some changes to make the + code slightly prettier, avoid some code duplication, and + add documentation to dialyzer's doc files and to its help + message.</p> + <p> + Own Id: OTP-9098</p> + </item> + <item> + <p> + Fix warnings about guards containing not</p> + <p> + The wording of warnings about unsatisfiable guards that + used 'not' was incorrect (the 'not' was not mentioned and + it appeared as "Guard test is_atom(atom()) can never + succeed") (thanks to Stavros Aronis).</p> + <p> + Own Id: OTP-9099</p> + </item> + <item> + <p> + Version 2.4.2 (in Erlang/OTP R14B02) + ------------------------------------ - Added --fullpath + option to display files with warnings with their full + file names (thanks to Magnus Henoch for the original + patch). - Better handling of 'and'/'or'/'not' guards that + generate warnings (thanks to Stavros Aronis). - Better + blame assignment for cases when a function's spec is + erroneous (thanks to Stavros Aronis). - More descriptive + warnings when a tuple/record pattern contains subterms + that violate the declared types of record fields (thanks + to Matthias Lang for the test case and for Stavros Aronis + for the actual fix).</p> + <p> + Own Id: OTP-9126</p> + </item> + <item> + <p> + Add spec to dialyzer_cl_parse:get_lib_dir/1</p> + <p> + Own Id: OTP-9129</p> + </item> + </list> + </section> + + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Test suites for Dialyzer</p> + <p> + This is a transcription of most of the + cvs.srv.it.uu.se:/hipe repository dialyzer_tests into + test suites that use the test server framework.</p> + <p> + See README for information on how to use the included + scripts for modifications and updates.</p> + <p> + When testing Dialyzer it's important that several OTP + modules are included in the plt. The suites takes care of + that too.</p> + <p> + Own Id: OTP-9116</p> + </item> + </list> + </section> + +</section> + +<section><title>Dialyzer 2.4.0</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p> - Fixed pretty rare infinite loop when refining the + types of an SCC whose functions all returned none() + (thanks to Stavros Aronis). </p><p> - Fixed pretty rare + crash when taking the infimum of two tuple_sets. </p> + <p> + Own Id: OTP-8979</p> + </item> + </list> + </section> + + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> - Added ability to supply multiple PLTs for the + analysis (option --plts). Currently these PLTs must be + independent (i.e., no module appears in more than one + PLT) and there must not include files with module name + clashes.</p><p> - Strengthened and streamlined hard-coded + type information for some BIFs and key library + functions.</p> + <p> + Own Id: OTP-8962</p> + </item> + </list> + </section> + +</section> + +<section><title>Dialyzer 2.3.1</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Eliminated warnings for auto-imported BIF clashes.</p> + <p> + Own Id: OTP-8840</p> + </item> + </list> + </section> + +</section> + +<section><title>Dialyzer 2.3.0</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Various changes to dialyzer-related files for R14.</p> + <p> + - Dialyzer properly supports the new attribute + -export_type and checks that remote types only refer to + exported types. A warning is produced if some + files/applications refer to types defined in modules + which are neither in the PLT nor in the analyzed + applications.</p> + <p> + - Support for detecting data races involving whereis/1 + and unregister/1.</p> + <p> + - More precise identification of the reason(s) why a + record construction violates the types declared for its + fields.</p> + <p> + - Fixed bug in the handling of the 'or' guard.</p> + <p> + - Better handling of the erlang:element/2 BIF.</p> + <p> + - Complete handling of Erlang BIFs.</p> + <p> + Own Id: OTP-8699</p> + </item> + </list> + </section> + +</section> + <section><title>Dialyzer 2.2.0</title> <section><title>Improvements and New Features</title> |