summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2016-01-18 16:24:20 +0100
committerAraq <rumpf_a@web.de>2016-01-18 16:24:20 +0100
commite9537f48f3b5b425079925424da7570ba183fbbb (patch)
tree204f54d1bf598c41461ac016cf98243219afbea8
parent293e51bd91891ecedcda7ed376465bb301a14705 (diff)
downloadNim-e9537f48f3b5b425079925424da7570ba183fbbb.tar.gz
updated news for upcoming release
-rw-r--r--web/news.txt303
-rw-r--r--web/ticker.txt10
2 files changed, 157 insertions, 156 deletions
diff --git a/web/news.txt b/web/news.txt
index fd92e1ad2..491b0254a 100644
--- a/web/news.txt
+++ b/web/news.txt
@@ -2,187 +2,188 @@
 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!
+2016-01-18 Version 0.13.0 released
+==================================
 
-  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.
+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!
 
-  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.
+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.
 
-  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.
+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.
 
-  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.
+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.
 
-  As always you can download the latest version of Nim from the
-  `download <download.html>`_ page.
+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.
 
-  Happy coding!
+As always you can download the latest version of Nim from the
+`download <download.html>`_ page.
 
-  Changes affecting backwards compatibility
-  -----------------------------------------
+Happy coding!
 
-  - ``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
-    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
-    the language.
-  - Top level routines cannot have the calling convention ``closure``
-    anymore.
-  - The ``redis`` module has been moved out of the standard library. It can
-    now be installed via Nimble and is located here:
-    https://github.com/nim-lang/redis
-  - ``math.RunningStat`` and its associated procs have been moved from
-    the ``math`` module to a new ``stats`` module.
+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
+  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
+  the language.
+- Top level routines cannot have the calling convention ``closure``
+  anymore.
+- The ``redis`` module has been moved out of the standard library. It can
+  now be installed via Nimble and is located here:
+  https://github.com/nim-lang/redis
+- ``math.RunningStat`` and its associated procs have been moved from
+  the ``math`` module to a new ``stats`` module.
 
-  Syntax changes
-  ~~~~~~~~~~~~~~
 
-  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,
-  which is as ``echo($foo)``. It used to be parsed as ``(echo) $ (foo)``.
+Syntax changes
+~~~~~~~~~~~~~~
 
-  ``echo $ foo`` continues to be parsed as ``(echo) $ (foo)``.
+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,
+which is as ``echo($foo)``. It used to be parsed as ``(echo) $ (foo)``.
 
-  This also means that ``-1`` is always parsed as prefix operator so
-  code like ``0..kArraySize div 2 -1`` needs to be changed to
-  ``0..kArraySize div 2 - 1``.
+``echo $ foo`` continues to be parsed as ``(echo) $ (foo)``.
 
-  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>`_.
+This also means that ``-1`` is always parsed as prefix operator so
+code like ``0..kArraySize div 2 -1`` needs to be changed to
+``0..kArraySize div 2 - 1``.
 
-  Iterator changes
-  ~~~~~~~~~~~~~~~~
+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>`_.
 
-  Implicit return type inference for iterators has been removed from the language. The following used to work:
+Iterator changes
+~~~~~~~~~~~~~~~~
 
-  .. code-block:: nim
-    iterator it =
-      yield 7
+Implicit return type inference for iterators has been removed from the language. The following used to work:
 
-  This was a strange special case and has been removed. Now you need to write it like so which is consistent with procs:
+.. code-block:: nim
+  iterator it =
+    yield 7
 
-  .. code-block:: nim
-    iterator it: auto =
-      yield 7
+This was a strange special case and has been removed. Now you need to write it like so which is consistent with procs:
 
+.. code-block:: nim
+  iterator it: auto =
+    yield 7
 
-  Closure changes
-  ~~~~~~~~~~~~~~~
 
-  The semantics of closures changed: Capturing variables that are in loops do not produce a new environment. Nim closures behave like JavaScript closures now.
+Closure changes
+~~~~~~~~~~~~~~~
 
-  The following used to work as the environment creation used to be attached to the loop body:
+The semantics of closures changed: Capturing variables that are in loops do not produce a new environment. Nim closures behave like JavaScript closures now.
 
-  .. code-block:: nim
+The following used to work as the environment creation used to be attached to the loop body:
 
-    proc outer =
-      var s: seq[proc(): int {.closure.}] = @[]
-      for i in 0 ..< 30:
+.. code-block:: nim
+
+  proc outer =
+    var s: seq[proc(): int {.closure.}] = @[]
+    for i in 0 ..< 30:
+      let ii = i
+      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 =
+    var s: seq[proc(): int {.closure.}] = @[]
+    for i in 0 ..< 30:
+      (proc () =
         let ii = i
-        s.add(proc(): string = return ii*ii))
+        s.add(proc(): int = return ii*ii))()
 
-  This behaviour has changed in 0.13.0 and now needs to be written as:
+The reason is that environment creations are now only performed once
+per proc call. This change is subtle and unfortunate, but:
 
-  .. code-block:: nim
+1. Affects almost no code out there.
+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>`_)
 
-    proc outer =
-      var s: seq[proc(): int {.closure.}] = @[]
-      for i in 0 ..< 30:
-        (proc () =
-          let ii = i
-          s.add(proc(): int = return ii*ii))()
-
-  The reason is that environment creations are now only performed once
-  per proc call. This change is subtle and unfortunate, but:
-
-  1. Affects almost no code out there.
-  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
 ==================================
diff --git a/web/ticker.txt b/web/ticker.txt
index 106f8f008..a7ad73bc4 100644
--- a/web/ticker.txt
+++ b/web/ticker.txt
@@ -1,3 +1,8 @@
+<a class="news" href="news.html#Z2016-01-18-version-0-13-0-released">
+  <h4>Jan 18, 2016</h4>
+  <p>Nim version 0.13.0 has been released!</p>
+</a>
+
 <a class="news" href="news.html#Z2015-10-27-version-0-12-0-released">
   <h4>October 27, 2015</h4>
   <p>Nim version 0.12.0 has been released!</p>
@@ -13,9 +18,4 @@
   <p>Nim version 0.11.2 has been released!</p>
 </a>
 
-<a class="news" href="news.html#Z2014-12-29-version-0-10-2-released">
-  <h4>Dec 29, 2014</h4>
-  <p>Nim version 0.10.2 has been released!</p>
-</a>
-
 <a href="news.html" class="blue">See All News...</a>