summary refs log tree commit diff stats
path: root/web/news/e029_version_0_16_0.rst
diff options
context:
space:
mode:
Diffstat (limited to 'web/news/e029_version_0_16_0.rst')
-rw-r--r--web/news/e029_version_0_16_0.rst222
1 files changed, 0 insertions, 222 deletions
diff --git a/web/news/e029_version_0_16_0.rst b/web/news/e029_version_0_16_0.rst
deleted file mode 100644
index 4b204cfd0..000000000
--- a/web/news/e029_version_0_16_0.rst
+++ /dev/null
@@ -1,222 +0,0 @@
-Version 0.16.0 released
-=======================
-
-.. container:: metadata
-
-  Posted by The Nim Team on 08/01/2017
-
-We're happy to announce that the latest release of Nim, version 0.16.0, is now
-available!
-
-As always, you can grab the latest version from the
-`downloads page <http://nim-lang.org/download.html>`_.
-
-This release includes over 80 bug fixes and improvements. To see a full list
-of changes, take a look at the detailed changelog
-`below <#changelog>`_.
-
-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
-~~~~~~~~~
-
-Changes affecting backwards compatibility
------------------------------------------
-
-- ``staticExec`` now uses the directory of the nim file that contains the
-  ``staticExec`` call as the current working directory.
-- ``TimeInfo.tzname`` has been removed from ``times`` module because it was
-  broken. Because of this, the option ``"ZZZ"`` will no longer work in format
-  strings for formatting and parsing.
-
-Library Additions
------------------
-
-- Added new parameter to ``error`` proc of ``macro`` module to provide better
-  error message
-- Added new ``deques`` module intended to replace ``queues``.
-  ``deques`` provides a superset of ``queues`` API with clear naming.
-  ``queues`` module is now deprecated and will be removed in the future.
-
-- Added ``hideCursor``, ``showCursor``, ``terminalWidth``,
-  ``terminalWidthIoctl`` and ``terminalSize`` to the ``terminal``
-  `(doc) <http://nim-lang.org/docs/terminal.html>`_ module.
-
-- Added new module ``distros``
-  `(doc) <http://nim-lang.org/docs/distros.html>`_  that can be used in Nimble
-  packages to aid in supporting the OS's native package managers.
-
-
-Tool Additions
---------------
-
-
-Compiler Additions
-------------------
-
-- The C/C++ code generator has been rewritten to use stable
-  name mangling rules. This means that compile times for
-  edit-compile-run cycles are much reduced.
-
-
-Language Additions
-------------------
-
-- The ``emit`` pragma now takes a list of Nim expressions instead
-  of a single string literal. This list can easily contain non-strings
-  like template parameters. This means ``emit`` works out of the
-  box with templates and no new quoting rules needed to be introduced.
-  The old way with backtick quoting is still supported but will be
-  deprecated.
-
-.. code-block:: nim
-  type Vector* {.importcpp: "std::vector", header: "<vector>".}[T] = object
-
-  template `[]=`*[T](v: var Vector[T], key: int, val: T) =
-    {.emit: [v, "[", key, "] = ", val, ";"].}
-
-  proc setLen*[T](v: var Vector[T]; size: int) {.importcpp: "resize", nodecl.}
-  proc `[]`*[T](v: var Vector[T], key: int): T {.importcpp: "(#[#])", nodecl.}
-
-  proc main =
-    var v: Vector[float]
-    v.setLen 1
-    v[0] = 6.0
-    echo v[0]
-
-- The ``import`` statement now supports importing multiple modules from
-  the same directory:
-
-.. code-block:: nim
-  import compiler / [ast, parser, lexer]
-
-Is a shortcut for:
-
-.. code-block:: nim
-  import compiler / ast, compiler / parser, compiler / lexer
-
-
-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%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>`_)