diff options
author | Araq <rumpf_a@web.de> | 2016-01-18 16:11:49 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2016-01-18 16:11:49 +0100 |
commit | 293e51bd91891ecedcda7ed376465bb301a14705 (patch) | |
tree | 8b8d9feec640be23e74d311cc59d5ebd862ece95 | |
parent | 0ed29abca7e46e7bb11ee57f2e8aff5104bd097a (diff) | |
parent | 0e09612cb9d4294ad00f9412b89e3231cc16f56c (diff) | |
download | Nim-293e51bd91891ecedcda7ed376465bb301a14705.tar.gz |
Merge branch 'devel' of https://github.com/nim-lang/Nim into devel
-rw-r--r-- | web/news.txt | 101 |
1 files changed, 96 insertions, 5 deletions
diff --git a/web/news.txt b/web/news.txt index 8d11127a1..fd92e1ad2 100644 --- a/web/news.txt +++ b/web/news.txt @@ -6,12 +6,41 @@ News 2016-01-XX Version 0.13.0 released ================================== + Once again we are proud to announce the latest release of the Nim compiler + and related tools. This release comes just 3 months after the last + release! + + A new version of Nimble which depends on this release, has also been + released. See `this <http://forum.nim-lang.org/t/1912>`_ forum thread for + more information about the Nimble release. + + This release of Nim includes over 116 bug fixes, many of which are related + to closures. The lambda lifting algorithm in the compiler has been completely + rewritten, and some changes have been made to the semantics of closures in + Nim as a result. These changes may affect backwards compatibility and are all + described in the section below. + + With this release, we are one step closer to Nim version 1.0. + The 1.0 release will be a big milestone for Nim, because after that version + is released there will be no more breaking changes made to the language + or the standard library. + + That being said, the next release will likely be Nim 0.14. It will focus on + improvements to the GC and concurrency. We will in particular be looking at + ways to add multi-core support to async await. Standard library improvements + are also on our roadmap but may not make it for Nim 0.14. + + As always you can download the latest version of Nim from the + `download <download.html>`_ page. + + Happy coding! + Changes affecting backwards compatibility ----------------------------------------- - ``macros.newLit`` for ``bool`` now produces false/true symbols which actually work with the bool datatype. - - When compiling to JS, ``Node``, ``NodeType`` and ``Document`` are no longer + - When compiling to JS: ``Node``, ``NodeType`` and ``Document`` are no longer defined. Use the types defined in ``dom.nim`` instead. - The check ``x is iterator`` (used for instance in concepts) was always a weird special case (you could not use ``x is proc``) and was removed from @@ -30,7 +59,7 @@ News The parser now considers leading whitespace in front of operators to determine if an operator is used in prefix or infix position. - This means that finally ``echo $foo`` is parsed as people expect + This means that finally ``echo $foo`` is parsed as people expect, which is as ``echo($foo)``. It used to be parsed as ``(echo) $ (foo)``. ``echo $ foo`` continues to be parsed as ``(echo) $ (foo)``. @@ -39,11 +68,10 @@ News code like ``0..kArraySize div 2 -1`` needs to be changed to ``0..kArraySize div 2 - 1``. - This release also adds multi-line comments to Nim. They look - like ``#[ comment here ]#``. For more details read the section of + This release also adds multi-line comments to Nim. The syntax for them is: + ``#[ comment here ]#``. For more details read the section of the `manual <manual#multiline-comments>`_. - Iterator changes ~~~~~~~~~~~~~~~~ @@ -76,6 +104,7 @@ News s.add(proc(): string = return ii*ii)) This behaviour has changed in 0.13.0 and now needs to be written as: + .. code-block:: nim proc outer = @@ -92,6 +121,68 @@ News 2. Is easier to implement and we are at a point in Nim's development process where simple+stable wins over perfect-in-theory+unstable-in-practice. 3. Implies programmers are more in control of where memory is allocated which is benefitical for a systems programming language. + Bugfixes + -------- + + The list below has been generated based on the commits in Nim's git + repository. As such it lists only the issues which have been closed + via a commit, for a full list see + `this link on Github <https://github.com/nim-lang/Nim/issues?utf8=%E2%9C%93&q=is%3Aissue+closed%3A%222015-10-27+..+2016-01-19%22+>`_. + + - Fixed "Generic arguments cannot be used in templates (raising undeclared identifier)" + (`#3498 <https://github.com/nim-lang/Nim/issues/3498>`_) + - Fixed "multimethods: Error: internal error: cgmeth.genConv" + (`#3550 <https://github.com/nim-lang/Nim/issues/3550>`_) + - Fixed "multimethods: Error: internal error: cgmeth.genConv" + (`#3550 <https://github.com/nim-lang/Nim/issues/3550>`_) + - Fixed "nimscript - SIGSEGV in except block" + (`#3546 <https://github.com/nim-lang/Nim/issues/3546>`_) + - Fixed "Bool literals in macros do not work." + (`#3541 <https://github.com/nim-lang/Nim/issues/3541>`_) + - Fixed "Docs: nativesocket.html - 404" + (`#3582 <https://github.com/nim-lang/Nim/issues/3582>`_) + - Fixed ""not nil" return types never trigger an error or warning" + (`#2285 <https://github.com/nim-lang/Nim/issues/2285>`_) + - Fixed "No warning or error is raised even if not nil is specified " + (`#3222 <https://github.com/nim-lang/Nim/issues/3222>`_) + - Fixed "Incorrect fsmonitor add() filter logic" + (`#3611 <https://github.com/nim-lang/Nim/issues/3611>`_) + - Fixed ""nimble install nimsuggest" failed" + (`#3622 <https://github.com/nim-lang/Nim/issues/3622>`_) + - Fixed "compile time `excl ` cause SIGSEGV" + (`#3639 <https://github.com/nim-lang/Nim/issues/3639>`_) + - Fixed "Unable to echo unsigned ints at compile-time" + (`#2514 <https://github.com/nim-lang/Nim/issues/2514>`_) + - Fixed "Nested closure iterator produces internal error" + (`#1725 <https://github.com/nim-lang/Nim/issues/1725>`_) + - Fixed "C Error on walkDirRec closure" + (`#3636 <https://github.com/nim-lang/Nim/issues/3636>`_) + - Fixed "Error in generated c code" + (`#3201 <https://github.com/nim-lang/Nim/issues/3201>`_) + - Fixed "C Compile-time error with generic proc type." + (`#2659 <https://github.com/nim-lang/Nim/issues/2659>`_) + - Fixed "ICE dereferencing array pointer" + (`#2240 <https://github.com/nim-lang/Nim/issues/2240>`_) + - Fixed "Lambda lifting crash" + (`#2007 <https://github.com/nim-lang/Nim/issues/2007>`_) + - Fixed "Can't reference outer variables from a closure in an iterator" + (`#2604 <https://github.com/nim-lang/Nim/issues/2604>`_) + - Fixed "M&S collector breaks with nested for loops." + (`#603 <https://github.com/nim-lang/Nim/issues/603>`_) + - Fixed "Regression: bad C codegen" + (`#3723 <https://github.com/nim-lang/Nim/issues/3723>`_) + - Fixed "JS backend - handle bool type in case statement" + (`#3722 <https://github.com/nim-lang/Nim/issues/3722>`_) + - Fixed "linenoise compilation with cpp" + (`#3720 <https://github.com/nim-lang/Nim/issues/3720>`_) + - Fixed "(???,???) duplicate case label" + (`#3665 <https://github.com/nim-lang/Nim/issues/3665>`_) + - Fixed "linenoise compilation with cpp" + (`#3720 <https://github.com/nim-lang/Nim/issues/3720>`_) + - Fixed "Update list of backward incompatibilities for Nim 0.12.0 in the main site" + (`#3689 <https://github.com/nim-lang/Nim/issues/3689>`_) + - Fixed "Can't compile nimble with latest devel - codegen bug" + (`#3730 <https://github.com/nim-lang/Nim/issues/3730>`_) 2015-10-27 Version 0.12.0 released ================================== |