summary refs log tree commit diff stats
path: root/web/news.txt
diff options
context:
space:
mode:
Diffstat (limited to 'web/news.txt')
-rw-r--r--web/news.txt403
1 files changed, 393 insertions, 10 deletions
diff --git a/web/news.txt b/web/news.txt
index 9719fb8d7..b417892b9 100644
--- a/web/news.txt
+++ b/web/news.txt
@@ -2,20 +2,402 @@
 News
 ====
 
-..
-  2015-05-05 Version 0.11.2 released
-  ==================================
+2015-10-27 Version 0.12.0 released
+==================================
+
+The Nim community of developers is proud to announce the new version of the
+Nim compiler. This has been a long time coming as the last release has been
+made over 5 months ago!
+
+This release includes some changes which affect backwards compatibility,
+one major change is that now the hash table ``[]`` operators now raise a
+``KeyError`` exception when the key does not exist.
+
+Some of the more exciting new features include: the ability to unpack tuples
+in any assignment context, the introduction of `NimScript <docs/nims.html>`_,
+and improvements to the type inference of lambdas.
+
+There are of course many many many bug fixes included with this release.
+We are getting closer and closer to a 1.0 release and are hoping that only
+a few 0.x releases will be necessary before we are happy to release version 1.0.
+
+As always you can download the latest version of Nim from the
+`downloads <downloads.html>`_ page.
+
+For a more detailed list of changes look below. Some of the upcoming breaking
+changes are also documented in this forum
+`thread <http://forum.nim-lang.org/t/1708>`_.
+
+Changes affecting backwards compatibility
+-----------------------------------------
+- ``tables.[]``, ``strtabs.[]``, ``critbits.[]`` **now raise**
+  the ``KeyError`` **exception when the key does not exist**! Use the
+  new ``getOrDefault`` instead to get the old behaviour. Compile all your
+  code with ``-d:nimTableGet`` to get a listing of where your code
+  uses ``[]``!
+- The ``rawsockets`` module has been renamed to ``nativesockets`` to avoid
+  confusion with TCP/IP raw sockets, so ``newNativeSocket`` should be used
+  instead of ``newRawSocket``.
+- The ``miliseconds`` property of ``times.TimeInterval`` is now ``milliseconds``.
+  Code accessing that property is deprecated and code using ``miliseconds``
+  during object initialization or as a named parameter of ``initInterval()``
+  will need to be updated.
+- ``std.logging`` functions no longer do formatting and semantically treat
+  their arguments just like ``echo`` does. Affected functions: ``log``,
+  ``debug``, ``info``, ``warn``, ``error``, ``fatal``. Custom subtypes of
+  ``Logger`` also need to be adjusted accordingly.
+- Floating point numbers can now look like ``2d`` (float64)
+  and ``2f`` (float32) which means imports like ``import scene/2d/sprite``
+  do not work anymore. Instead quotes have to be
+  used: ``import "scene/2d/sprite"``. The former code never was valid Nim.
+- The Windows API wrapper (``windows.nim``) is now not part of the official
+  distribution anymore. Instead use the ``oldwinapi`` Nimble package.
+- There is now a clear distinction between ``--os:standalone``
+  and ``--gc:none``. So if you use ``--os:standalone`` ensure you also use
+  ``--gc:none``. ``--os:standalone`` without ``--gc:none`` is now a version
+  that doesn't depend on any OS but includes the GC. However this version
+  is currently untested!
+- All procedures which construct a ``Socket``/``AsyncSocket`` now need to
+  specify the socket domain, type and protocol. The param name
+  ``typ: SockType`` (in ``newSocket``/``newAsyncSocket`` procs) was also
+  renamed to ``sockType``. The param ``af`` in the ``connect`` procs was
+  removed. This affects ``asyncnet``, ``asyncdispatch``, ``net``, and
+  ``rawsockets``.
+- ``varargs[typed]`` and ``varargs[untyped]`` have been refined and now work
+  as expected. However ``varargs[untyped]`` is not an alias anymore for
+  ``varargs[expr]``. So if your code breaks for ``varargs[untyped]``, use
+  ``varargs[expr]`` instead. The same applies to ``varargs[typed]`` vs
+  ``varargs[stmt]``.
+- ``sequtils.delete`` doesn't take confusing default arguments anymore.
+- ``system.free`` was an error-prone alias to ``system.dealloc`` and has
+  been removed.
+- ``macros.high`` never worked and the manual says ``high`` cannot be
+  overloaded, so we removed it with no deprecation cycle.
+- To use the ``parallel`` statement you now have to
+  use the ``--experimental`` mode.
+- Toplevel procs of calling convention ``closure`` never worked reliably
+  and are now deprecated and will be removed from the language. Instead you
+  have to insert type conversions
+  like ``(proc (a, b: int) {.closure.})(myToplevelProc)`` if necessary.
+- The modules ``libffi``, ``sdl``, ``windows``, ``zipfiles``, ``libzip``,
+  ``zlib``, ``zzip``, ``dialogs``, ``expat``, ``graphics``, ``libcurl``,
+  ``sphinx`` have been moved out of the stdlib and are Nimble packages now.
+- The constant fights between 32 and 64 bit DLLs on Windows have been put to
+  an end: The standard distribution now ships with 32 and 64 bit versions
+  of all the DLLs the standard library needs. This means that the following
+  DLLs are now split into 32 and 64 versions:
+
+  * ``pcre.dll``: Split into ``pcre32.dll`` and ``pcre64.dll``.
+  * ``pdcurses.dll``: Split into ``pdcurses32.dll`` and ``pdcurses64.dll``.
+  * ``sqlite3.dll``: Split into ``sqlite3_32.dll`` and ``sqlite3_64.dll``.
+  * ``ssleay32.dll``: Split into ``ssleay32.dll`` and ``ssleay64.dll``.
+  * ``libeay32.dll``: Split into ``libeay32.dll`` and ``libeay64.dll``.
+
+  Compile with ``-d:nimOldDLLs`` to make the stdlib use the old DLL names.
+- Nim VM now treats objects as ``nkObjConstr`` nodes, and not ``nkPar`` nodes
+  as it was previously. Macros that generate ``nkPar`` nodes when object is
+  expected are likely to break. Macros that expect ``nkPar`` nodes to which
+  objects are passed are likely to break as well.
+- Base methods now need to be annotated with the ``base`` pragma. This makes
+  multi methods less error-prone to use with the effect system.
+- Nim's parser directive ``#!`` is now ``#?`` in order to produce no conflicts
+  with Unix's ``#!``.
+- An implicit return type for an iterator is now deprecated. Use ``auto`` if
+  you want more type inference.
+- The type ``auto`` is now a "multi-bind" metatype, so the following compiles:
+
+  .. code-block:: nim
+    proc f(x, y: auto): auto =
+      result = $x & y
+
+    echo f(0, "abc")
+- The ``ftpclient`` module is now deprecated in favour of the
+  ``asyncftpclient`` module.
+- In sequtils.nim renamed ``repeat`` function to ``cycle`` (concatenating
+  a sequence by itself the given times), and also introduced ``repeat``,
+  which repeats an element the given times.
+- The function ``map`` is moved to sequtils.nim. The inplace ``map`` version
+  is renamed to ``apply``.
+- The template ``mapIt`` now doesn't require the result's type parameter.
+  Also the inplace ``mapIt`` is renamed to ``apply``.
+
+Library Additions
+-----------------
+
+- The nre module has been added, providing a better interface to PCRE than re.
+- The ``expandSymlink`` proc has been added to the ``os`` module.
+- The ``tailDir`` proc has been added to the ``os`` module.
+- Define ``nimPinToCpu`` to make the ``threadpool`` use explicit thread
+  affinities. This can speed up or slow down the thread pool; it's up to you
+  to benchmark it.
+- ``strutils.formatFloat`` and ``formatBiggestFloat`` do not depend on the C
+  locale anymore and now take an optional ``decimalSep = '.'`` parameter.
+- Added ``unicode.lastRune``, ``unicode.graphemeLen``.
+
+
+Compiler Additions
+------------------
+
+- The compiler now supports a new configuration system based on
+  `NimScript <docs/nims.html>`_.
+- The compiler finally considers symbol binding rules in templates and
+  generics for overloaded ``[]``, ``[]=``, ``{}``, ``{}=`` operators
+  (issue `#2599 <https://github.com/nim-lang/Nim/issues/2599>`_).
+- The compiler now supports a `bitsize pragma <docs/manual.html#pragmas-bitsize-pragma>`_
+  for constructing bitfields.
+- Added a new ``--reportConceptFailures`` switch for better debugging of
+  concept related type mismatches. This can also be used to debug
+  ``system.compiles`` failures.
+
+
+Language Additions
+------------------
+
+- ``system.unsafeAddr`` can be used to access the address of a ``let``
+  variable or parameter for C interoperability. Since technically this
+  makes parameters and ``let`` variables mutable, it is considered even more
+  unsafe than the ordinary ``addr`` builtin.
+- Added ``macros.getImpl`` that can be used to access the implementation of
+  a routine or a constant. This allows for example for user-defined inlining
+  of function calls.
+- Tuple unpacking finally works in a non-var/let context: ``(x, y) = f()``
+  is allowed. Note that this doesn't declare ``x`` and ``y`` variables, for
+  this ``let (x, y) = f()`` still needs to be used.
+- ``when nimvm`` can now be used for compiletime versions of some code
+  sections. Click `here <docs/manual.html#when-nimvm-statement>`_ for details.
+- Usage of the type ``NimNode`` in a proc now implicitly annotates the proc
+  with ``.compileTime``. This means generics work much better for ``NimNode``.
+
+
+Bugfixes
+--------
+- Fixed "Compiler internal error on iterator it(T: typedesc[Base]) called with it(Child), where Child = object of Base"
+  (`#2662 <https://github.com/Araq/Nim/issues/2662>`_)
+- Fixed "repr() misses base object field in 2nd level derived object"
+  (`#2749 <https://github.com/Araq/Nim/issues/2749>`_)
+- Fixed "nimsuggest doesn't work more than once on the non-main file"
+  (`#2694 <https://github.com/Araq/Nim/issues/2694>`_)
+- Fixed "JS Codegen. Passing arguments by var in certain cases leads to invalid JS."
+  (`#2798 <https://github.com/Araq/Nim/issues/2798>`_)
+- Fixed ""check" proc in unittest.nim prevents the propagation of changes to var parameters."
+  (`#964 <https://github.com/Araq/Nim/issues/964>`_)
+- Fixed "Excessive letters in integer literals are not an error"
+  (`#2523 <https://github.com/Araq/Nim/issues/2523>`_)
+- Fixed "Unicode dashes as "lisp'ish" alternative to hump and snake notation"
+  (`#2811 <https://github.com/Araq/Nim/issues/2811>`_)
+- Fixed "Bad error message when trying to construct an object incorrectly"
+  (`#2584 <https://github.com/Araq/Nim/issues/2584>`_)
+- Fixed "Determination of GC safety of globals is broken "
+  (`#2854 <https://github.com/Araq/Nim/issues/2854>`_)
+- Fixed "v2 gc crashes compiler"
+  (`#2687 <https://github.com/Araq/Nim/issues/2687>`_)
+- Fixed "Compile error using object in const array"
+  (`#2774 <https://github.com/Araq/Nim/issues/2774>`_)
+- Fixed "httpclient async requests with method httpPOST isn't sending Content-Length header"
+  (`#2884 <https://github.com/Araq/Nim/issues/2884>`_)
+- Fixed "Streams module not working with JS backend"
+  (`#2148 <https://github.com/Araq/Nim/issues/2148>`_)
+- Fixed "Sign of certain short constants is wrong"
+  (`#1179 <https://github.com/Araq/Nim/issues/1179>`_)
+- Fixed "Symlinks to directories reported as symlinks to files"
+  (`#1985 <https://github.com/Araq/Nim/issues/1985>`_)
+- Fixed "64-bit literals broken on x86"
+  (`#2909 <https://github.com/Araq/Nim/issues/2909>`_)
+- Fixed "import broken for certain names"
+  (`#2904 <https://github.com/Araq/Nim/issues/2904>`_)
+- Fixed "Invalid UTF-8 strings in JavaScript"
+  (`#2917 <https://github.com/Araq/Nim/issues/2917>`_)
+- Fixed "[JS][Codegen] Initialising object doesn't create unmentioned fields."
+
+  (`#2617 <https://github.com/Araq/Nim/issues/2617>`_)
+- Fixed "Table returned from proc computed at compile time is missing keys:"
+  (`#2297 <https://github.com/Araq/Nim/issues/2297>`_)
+- Fixed "Clarify copyright status for some files"
+  (`#2949 <https://github.com/Araq/Nim/issues/2949>`_)
+- Fixed "math.nim: trigonometry: radians to degrees conversion"
+  (`#2881 <https://github.com/Araq/Nim/issues/2881>`_)
+- Fixed "xoring unsigned integers yields RangeError in certain conditions"
+  (`#2979 <https://github.com/Araq/Nim/issues/2979>`_)
+- Fixed "Directly checking equality between procs"
+  (`#2985 <https://github.com/Araq/Nim/issues/2985>`_)
+- Fixed "Compiler crashed, but there have to be meaningful error message"
+  (`#2974 <https://github.com/Araq/Nim/issues/2974>`_)
+- Fixed "repr is broken"
+  (`#2992 <https://github.com/Araq/Nim/issues/2992>`_)
+- Fixed "Ipv6 devel - add IPv6 support for asyncsockets, make AF_INET6 a default"
+  (`#2976 <https://github.com/Araq/Nim/issues/2976>`_)
+- Fixed "Compilation broken on windows"
+  (`#2996 <https://github.com/Araq/Nim/issues/2996>`_)
+- Fixed "'u64 literal conversion compiler error"
+  (`#2731 <https://github.com/Araq/Nim/issues/2731>`_)
+- Fixed "Importing 'impure' libraries while using threads causes segfaults"
+  (`#2672 <https://github.com/Araq/Nim/issues/2672>`_)
+- Fixed "Uncatched exception in async procedure on raise statement"
+  (`#3014 <https://github.com/Araq/Nim/issues/3014>`_)
+- Fixed "nim doc2 fails in Mac OS X due to system.nim (possibly related to #1898)"
+  (`#3005 <https://github.com/Araq/Nim/issues/3005>`_)
+- Fixed "IndexError when rebuilding Nim on iteration 2"
+  (`#3018 <https://github.com/Araq/Nim/issues/3018>`_)
+- Fixed "Assigning large const set to variable looses some information"
+  (`#2880 <https://github.com/Araq/Nim/issues/2880>`_)
+- Fixed "Inconsistent generics behavior"
+  (`#3022 <https://github.com/Araq/Nim/issues/3022>`_)
+- Fixed "Compiler breaks on float64 division"
+  (`#3028 <https://github.com/Araq/Nim/issues/3028>`_)
+- Fixed "Confusing error message comparing string to nil "
+  (`#2935 <https://github.com/Araq/Nim/issues/2935>`_)
+- Fixed "convert 64bit number to float on 32bit"
+  (`#1463 <https://github.com/Araq/Nim/issues/1463>`_)
+- Fixed "Type redefinition and construction will break nim check"
+  (`#3032 <https://github.com/Araq/Nim/issues/3032>`_)
+- Fixed "XmlParser fails on very large XML files without new lines"
+  (`#2429 <https://github.com/Araq/Nim/issues/2429>`_)
+- Fixed "Error parsing arguments with whitespaces"
+  (`#2874 <https://github.com/Araq/Nim/issues/2874>`_)
+- Fixed "Crash when missing one arg and used a named arg"
+  (`#2993 <https://github.com/Araq/Nim/issues/2993>`_)
+- Fixed "Wrong number of arguments in assert will break nim check"
+  (`#3044 <https://github.com/Araq/Nim/issues/3044>`_)
+- Fixed "Wrong const definition will break nim check"
+  (`#3041 <https://github.com/Araq/Nim/issues/3041>`_)
+- Fixed "Wrong set declaration will break nim check"
+  (`#3040 <https://github.com/Araq/Nim/issues/3040>`_)
+- Fixed "Compiler segfault (type section)"
+  (`#2540 <https://github.com/Araq/Nim/issues/2540>`_)
+- Fixed "Segmentation fault when compiling this code"
+  (`#3038 <https://github.com/Araq/Nim/issues/3038>`_)
+- Fixed "Kill nim i"
+  (`#2633 <https://github.com/Araq/Nim/issues/2633>`_)
+- Fixed "Nim check will break on wrong array declaration"
+  (`#3048 <https://github.com/Araq/Nim/issues/3048>`_)
+- Fixed "boolVal seems to be broken"
+  (`#3046 <https://github.com/Araq/Nim/issues/3046>`_)
+- Fixed "Nim check crashes on wrong set/array declaration inside ref object"
+  (`#3062 <https://github.com/Araq/Nim/issues/3062>`_)
+- Fixed "Nim check crashes on incorrect generic arg definition"
+  (`#3051 <https://github.com/Araq/Nim/issues/3051>`_)
+- Fixed "Nim check crashes on iterating nonexistent var"
+  (`#3053 <https://github.com/Araq/Nim/issues/3053>`_)
+- Fixed "Nim check crashes on wrong param set declaration + iteration"
+  (`#3054 <https://github.com/Araq/Nim/issues/3054>`_)
+- Fixed "Wrong sharing of static_t instantations"
+  (`#3112 <https://github.com/Araq/Nim/issues/3112>`_)
+- Fixed "Automatically generated proc conflicts with user-defined proc when .exportc.'ed"
+  (`#3134 <https://github.com/Araq/Nim/issues/3134>`_)
+- Fixed "getTypeInfo call crashes nim"
+  (`#3099 <https://github.com/Araq/Nim/issues/3099>`_)
+- Fixed "Array ptr dereference"
+  (`#2963 <https://github.com/Araq/Nim/issues/2963>`_)
+- Fixed "Internal error when `repr`-ing a type directly"
+  (`#3079 <https://github.com/Araq/Nim/issues/3079>`_)
+- Fixed "unknown type name 'TNimType' after importing typeinfo module"
+  (`#2841 <https://github.com/Araq/Nim/issues/2841>`_)
+- Fixed "Can export a template twice and from inside a block"
+  (`#1738 <https://github.com/Araq/Nim/issues/1738>`_)
+- Fixed "C Codegen: C Types are defined after their usage in certain cases"
+  (`#2823 <https://github.com/Araq/Nim/issues/2823>`_)
+- Fixed "s.high refers to the current seq instead of the old one"
+  (`#1832 <https://github.com/Araq/Nim/issues/1832>`_)
+- Fixed "Error while unmarshaling null values"
+  (`#3149 <https://github.com/Araq/Nim/issues/3149>`_)
+- Fixed "Inference of `static[T]` in sequences"
+  (`#3144 <https://github.com/Araq/Nim/issues/3144>`_)
+- Fixed "Argument named "closure" to proc inside template interfere with closure pragma"
+  (`#3171 <https://github.com/Araq/Nim/issues/3171>`_)
+- Fixed "Internal error with aliasing inside template"
+  (`#3158 <https://github.com/Araq/Nim/issues/3158>`_)
+- Fixed "Cardinality of sets prints unexpected value"
+  (`#3135 <https://github.com/Araq/Nim/issues/3135>`_)
+- Fixed "Nim crashes on const assignment from function returning var ref object"
+  (`#3103 <https://github.com/Araq/Nim/issues/3103>`_)
+- Fixed "`repr` cstring"
+  (`#3080 <https://github.com/Araq/Nim/issues/3080>`_)
+- Fixed "Nim check crashes on wrong enum declaration"
+  (`#3052 <https://github.com/Araq/Nim/issues/3052>`_)
+- Fixed "Compiler assertion when evaluating template with static[T]"
+  (`#1858 <https://github.com/Araq/Nim/issues/1858>`_)
+- Fixed "Erroneous overflow in iterators when compiler built with overflowChecks enabled"
+  (`#3140 <https://github.com/Araq/Nim/issues/3140>`_)
+- Fixed "Unicode dashes as "lisp'ish" alternative to hump and snake notation"
+  (`#2811 <https://github.com/Araq/Nim/issues/2811>`_)
+- Fixed "Calling discardable proc from a defer is an error."
+  (`#3185 <https://github.com/Araq/Nim/issues/3185>`_)
+- Fixed "Defer statement at the end of a block produces ICE"
+  (`#3186 <https://github.com/Araq/Nim/issues/3186>`_)
+- Fixed "Call to `createU` fails to compile"
+  (`#3193 <https://github.com/Araq/Nim/issues/3193>`_)
+- Fixed "VM crash when accessing array's element"
+  (`#3192 <https://github.com/Araq/Nim/issues/3192>`_)
+- Fixed "Unexpected proc invoked when different modules add procs to a type from a 3rd module"
+  (`#2664 <https://github.com/Araq/Nim/issues/2664>`_)
+- Fixed "Nim crashes on conditional declaration inside a template"
+  (`#2670 <https://github.com/Araq/Nim/issues/2670>`_)
+- Fixed "Iterator names conflict within different scopes"
+  (`#2752 <https://github.com/Araq/Nim/issues/2752>`_)
+- Fixed "VM: Cannot assign int value to ref variable"
+  (`#1329 <https://github.com/Araq/Nim/issues/1329>`_)
+- Fixed "Incorrect code generated for tagged unions with enums not starting at zero"
+  (`#3096 <https://github.com/Araq/Nim/issues/3096>`_)
+- Fixed "Compile time procs using forward declarations are silently ignored"
+  (`#3066 <https://github.com/Araq/Nim/issues/3066>`_)
+- Fixed "re binding error in generic"
+  (`#1965 <https://github.com/Araq/Nim/issues/1965>`_)
+- Fixed "os.getCreationTime is incorrect/impossible on Posix systems"
+  (`#1058 <https://github.com/Araq/Nim/issues/1058>`_)
+- Fixed "Improve error message for osproc.startProcess when command does not exist"
+  (`#2183 <https://github.com/Araq/Nim/issues/2183>`_)
+- Fixed "gctest segfaults with --gc:markandsweep on x86_64"
+  (`#2305 <https://github.com/Araq/Nim/issues/2305>`_)
+- Fixed "Coroutine changes break compilation on unsupported architectures"
+  (`#3245 <https://github.com/Araq/Nim/issues/3245>`_)
+- Fixed "Bugfix: Windows 32bit  TinyCC support issue fixed"
+  (`#3237 <https://github.com/Araq/Nim/issues/3237>`_)
+- Fixed "db_mysql getValue() followed by exec() causing error"
+  (`#3220 <https://github.com/Araq/Nim/issues/3220>`_)
+- Fixed "xmltree.newEntity creates xnCData instead of xnEntity"
+  (`#3282 <https://github.com/Araq/Nim/issues/3282>`_)
+- Fixed "Methods and modules don't work together"
+  (`#2590 <https://github.com/Araq/Nim/issues/2590>`_)
+- Fixed "String slicing not working in the vm"
+  (`#3300 <https://github.com/Araq/Nim/issues/3300>`_)
+- Fixed "internal error: evalOp(mTypeOf)"
+  (`#3230 <https://github.com/Araq/Nim/issues/3230>`_)
+- Fixed "#! source code prefix collides with Unix Shebang"
+  (`#2559 <https://github.com/Araq/Nim/issues/2559>`_)
+- Fixed "wrong codegen for constant object"
+  (`#3195 <https://github.com/Araq/Nim/issues/3195>`_)
+- Fixed "Doc comments inside procs with implicit returns don't work"
+  (`#1528 <https://github.com/Araq/Nim/issues/1528>`_)
+
+
+2015-10-16 First Nim conference
+===============================
+
+.. raw::html
+
+  <img src="assets/zeo/banner.jpg" alt="First Nim conference in Ukraine!" width="682"/>
+
+This Autumn you have the unique opportunity to take part in the first Nim event
+held in Kyiv and to meet the creator of the Nim programming language -
+Andreas Rumpf. The event is hosted by Zeo Alliance and is taking place between
+14-15 November 2015 in Kyiv, Ukraine.
+
+During the workshop you will learn:
+
+- The basics of the language including its safe and unsafe subsets.
+- How to use Nim to develop web applications.
+- How Nim's meta programming capabilities make Nim the ultimate glue language,
+  excellent at interoperability with C++, JavaScript, Java and others.
+- Games in Nim and the ability to rapidly prototype without sacrificing speed.
+
+Registration is free, but the number of places is limited. More details
+can be found `here <https://nimworkshop.splashthat.com/>`_.
+
 
-  Changes affecting backwards compatibility
-  -----------------------------------------
 
 
-  Language Additions
-  ------------------
 
 
-  Bugfixes
-  --------
 
 
 2015-05-04 Version 0.11.2 released
@@ -223,6 +605,7 @@ Library additions
   space between ``.. <`` and ``.. ^`` is not necessary anymore.
 - Added ``system.xlen`` for strings and sequences to get back the old ``len``
   operation that doesn't check for ``nil`` for efficiency.
+- Added sexp.nim to parse and generate sexp.
 
 
 Bugfixes
@@ -479,7 +862,7 @@ is the installation of packages containing libraries and/or applications
 written in Nim.
 Even though Nimble is still very young it already is very
 functional. It can install packages by name, it does so by accessing a
-packages repository which is hosted on a Github repo. Packages can also be
+packages repository which is hosted on a GitHub repo. Packages can also be
 installed via a Git repo URL or Mercurial repo URL. The package repository
 is searchable through Nimble. Anyone is free to add their own packages to
 the package repository by forking the