Add 0.16.0 release notes.

This commit is contained in:
Dominik Picheta 2017-01-07 14:37:46 +00:00
commit 961096b564
2 changed files with 120 additions and 4 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

View file

@ -3,7 +3,7 @@ Version 0.16.0 released
.. container:: metadata .. container:: metadata
Posted by xyz on dd/mm/yyyy Posted by The Nim Team on dd/mm/yyyy
We're happy to announce that the latest release of Nim, version 0.16.0, is now We're happy to announce that the latest release of Nim, version 0.16.0, is now
available! available!
@ -11,12 +11,39 @@ available!
As always, you can grab the latest version from the As always, you can grab the latest version from the
`downloads page <http://nim-lang.org/download.html>`_. `downloads page <http://nim-lang.org/download.html>`_.
This release includes almost xyz bug fixes and improvements. To see a full list This release includes over 80 bug fixes and improvements. To see a full list
of changes, take a look at the detailed changelog of changes, take a look at the detailed changelog
`below <#changelog>`_. `below <#changelog>`_.
Some of the most significant changes in this release include: xyz Some of the most significant changes in this release include: a major new
Nimble release, an improved import syntax, and the stabilisation of
name mangling rules enabling faster compile times.
The new Nimble release that is included with Nim 0.16.0 includes a variety of
new features and bug fixes. The most prominent of which is the improved output
system, as shown in the figure below.
.. raw::html
<a href="../assets/news/images/0.16.0/nimble.png">
<img src="../assets/news/images/0.16.0/nimble.png" alt="Nimble 0.8.0" style="width:100%"/>
</a>
For a full list of changes in Nimble, see its
`changelog <https://github.com/nim-lang/nimble/blob/master/changelog.markdown#080---05012017>`_.
The new import syntax makes it easier to import multiple modules from the same
package or directory. For example:
.. code-block:: nim
import compiler/ast, compiler/parser, compiler/lexer
import compiler / [ast, parser, lexer]
The two are equivalent, but the new latter syntax is less redundant.
Finally, the code responsible for name mangling in the generated C and C++ code
has been improved to reduce compile times. In particular, compile-time for
the common edit-compile-run cycles have been reduced.
Changelog Changelog
~~~~~~~~~ ~~~~~~~~~
@ -103,4 +130,93 @@ Bugfixes
The list below has been generated based on the commits in Nim's git 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 repository. As such it lists only the issues which have been closed
via a commit, for a full list see 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%222016-06-22+..+2016-09-30%22+>`_. `this link on Github <https://github.com/nim-lang/Nim/issues?utf8=%E2%9C%93&q=is%3Aissue+closed%3A%222016-10-23+..+2017-01-07%22+>`_.
- Fixed "staticRead and staticExec have different working directories"
(`#4871 <https://github.com/nim-lang/Nim/issues/4871>`_)
- Fixed "CountTable doesn't support the '==' operator"
(`#4901 <https://github.com/nim-lang/Nim/issues/4901>`_)
- Fixed "documentation for module sequtls apply proc"
(`#4386 <https://github.com/nim-lang/Nim/issues/4386>`_)
- Fixed "Operator `==` for CountTable does not work."
(`#4946 <https://github.com/nim-lang/Nim/issues/4946>`_)
- Fixed "sysFatal (IndexError) with parseUri and the / operator"
(`#4959 <https://github.com/nim-lang/Nim/issues/4959>`_)
- Fixed "initialSize parameter does not work in OrderedTableRef"
(`#4940 <https://github.com/nim-lang/Nim/issues/4940>`_)
- Fixed "error proc from macro library could have a node parameter"
(`#4915 <https://github.com/nim-lang/Nim/issues/4915>`_)
- Fixed "Segfault when comparing OrderedTableRef with nil"
(`#4974 <https://github.com/nim-lang/Nim/issues/4974>`_)
- Fixed "Bad codegen when comparing isNil results"
(`#4975 <https://github.com/nim-lang/Nim/issues/4975>`_)
- Fixed "OrderedTable cannot delete entry with empty string or 0 key"
(`#5035 <https://github.com/nim-lang/Nim/issues/5035>`_)
- Fixed "Deleting specific keys from ordered table leaves it in invalid state."
(`#5057 <https://github.com/nim-lang/Nim/issues/5057>`_)
- Fixed "Paths are converted to lowercase on Windows"
(`#5076 <https://github.com/nim-lang/Nim/issues/5076>`_)
- Fixed "toTime(getGMTime(...)) doesn't work correctly when local timezone is not UTC"
(`#5065 <https://github.com/nim-lang/Nim/issues/5065>`_)
- Fixed "out of memory error from `test=` type proc call when parameter is a call to a table's `[]` proc"
(`#5079 <https://github.com/nim-lang/Nim/issues/5079>`_)
- Fixed "Incorrect field order in object construction"
(`#5055 <https://github.com/nim-lang/Nim/issues/5055>`_)
- Fixed "Incorrect codegen when importing nre with C++ backend (commit 8494338)"
(`#5081 <https://github.com/nim-lang/Nim/issues/5081>`_)
- Fixed "Templates, {.emit.}, and backtick interpolation do not work together"
(`#4730 <https://github.com/nim-lang/Nim/issues/4730>`_)
- Fixed "Regression: getType fails in certain cases"
(`#5129 <https://github.com/nim-lang/Nim/issues/5129>`_)
- Fixed "CreateThread doesn't accept functions with generics"
(`#43 <https://github.com/nim-lang/Nim/issues/43>`_)
- Fixed "No instantiation information when template has error"
(`#4308 <https://github.com/nim-lang/Nim/issues/4308>`_)
- Fixed "realloc leaks"
(`#4818 <https://github.com/nim-lang/Nim/issues/4818>`_)
- Fixed "Regression: getType"
(`#5131 <https://github.com/nim-lang/Nim/issues/5131>`_)
- Fixed "Code generation for generics broken by sighashes"
(`#5135 <https://github.com/nim-lang/Nim/issues/5135>`_)
- Fixed "Regression: importc functions are not declared in generated C code"
(`#5136 <https://github.com/nim-lang/Nim/issues/5136>`_)
- Fixed "Calling split("") on string hangs program"
(`#5119 <https://github.com/nim-lang/Nim/issues/5119>`_)
- Fixed "Building dynamic library: undefined references (Linux)"
(`#4775 <https://github.com/nim-lang/Nim/issues/4775>`_)
- Fixed "Bad codegen for distinct + importc - sighashes regression"
(`#5137 <https://github.com/nim-lang/Nim/issues/5137>`_)
- Fixed "C++ codegen regression: memset called on a result variable of `importcpp` type"
(`#5140 <https://github.com/nim-lang/Nim/issues/5140>`_)
- Fixed "C++ codegen regression: using channels leads to broken C++ code"
(`#5142 <https://github.com/nim-lang/Nim/issues/5142>`_)
- Fixed "Ambiguous call when overloading var and non-var with generic type"
(`#4519 <https://github.com/nim-lang/Nim/issues/4519>`_)
- Fixed "[Debian]: build.sh error: unknown processor: aarch64"
(`#2147 <https://github.com/nim-lang/Nim/issues/2147>`_)
- Fixed "RFC: asyncdispatch.poll behaviour"
(`#5155 <https://github.com/nim-lang/Nim/issues/5155>`_)
- Fixed "Can't access enum members through alias (possible sighashes regression)"
(`#5148 <https://github.com/nim-lang/Nim/issues/5148>`_)
- Fixed "Type, declared in generic proc body, leads to incorrect codegen (sighashes regression)"
(`#5147 <https://github.com/nim-lang/Nim/issues/5147>`_)
- Fixed "Compiler SIGSEGV when mixing method and proc"
(`#5161 <https://github.com/nim-lang/Nim/issues/5161>`_)
- Fixed "Compile-time SIGSEGV when declaring .importcpp method with return value "
(`#3848 <https://github.com/nim-lang/Nim/issues/3848>`_)
- Fixed "Variable declaration incorrectly parsed"
(`#2050 <https://github.com/nim-lang/Nim/issues/2050>`_)
- Fixed "Invalid C code when naming a object member "linux""
(`#5171 <https://github.com/nim-lang/Nim/issues/5171>`_)
- Fixed "[Windows] MinGW within Nim install is missing libraries"
(`#2723 <https://github.com/nim-lang/Nim/issues/2723>`_)
- Fixed "async: annoying warning for future.finished"
(`#4948 <https://github.com/nim-lang/Nim/issues/4948>`_)
- Fixed "new import syntax doesn't work?"
(`#5185 <https://github.com/nim-lang/Nim/issues/5185>`_)
- Fixed "Fixes #1994"
(`#4874 <https://github.com/nim-lang/Nim/issues/4874>`_)
- Fixed "Can't tell return value of programs with staticExec"
(`#1994 <https://github.com/nim-lang/Nim/issues/1994>`_)
- Fixed "startProcess() on Windows with poInteractive: Second call fails ("Alle Pipeinstanzen sind ausgelastet")"
(`#5179 <https://github.com/nim-lang/Nim/issues/5179>`_)