Updated news.txt with release announcement.

This commit is contained in:
Dominik Picheta
2016-01-18 15:02:23 +00:00
parent 7691506a08
commit 0e09612cb9

View File

@@ -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 =