summary refs log tree commit diff stats
diff options
context:
space:
mode:
authornarimiran <narimiran@disroot.org>2019-09-23 14:42:19 +0200
committernarimiran <narimiran@disroot.org>2019-09-23 14:42:19 +0200
commit5b43c98897ee7eb9f8ded8ceb7623f6caa23bace (patch)
tree7425bfef05fa806c9745a13395565b3d36a93d29
parentf388817a795ac46490c44829340e1a4df5fd2bd1 (diff)
downloadNim-5b43c98897ee7eb9f8ded8ceb7623f6caa23bace.tar.gz
version 1.0
-rw-r--r--changelog.md95
-rw-r--r--changelog_v020.md31
-rw-r--r--changelogs/changelog_1_0_0.md137
-rw-r--r--lib/system.nim6
4 files changed, 142 insertions, 127 deletions
diff --git a/changelog.md b/changelog.md
index e062403d0..290e2e73f 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,132 +1,41 @@
-# v1.1 - XXXX-XX-XX
+# v1.1 - xxxx-xx-xx
 
 
 ## Changes affecting backwards compatibility
 
-- The switch ``-d:nimBinaryStdFiles`` does not exist anymore. Instead
-  stdin/stdout/stderr are binary files again. This change only affects
-  Windows.
-- On Windows console applications the code-page is set at program startup
-  to UTF-8. Use the new switch `-d:nimDontSetUtf8CodePage` to disable this
-  feature.
-
-- The language definition and compiler are now stricter about ``gensym``'ed
-  symbols in hygienic templates. See the section in the
-  [manual](https://nim-lang.org/docs/manual.html#templates-hygiene-in-templates)
-  for further details. Use the compiler switch `--oldgensym:on` for a
-  transition period.
 
 
 ### Breaking changes in the standard library
 
-- We removed `unicode.Rune16` without any deprecation period as the name
-  was wrong (see the [RFC](https://github.com/nim-lang/RFCs/issues/151) for details)
-  and we didn't find any usages of it in the wild. If you still need it, add this
-  piece of code to your project:
-
-```nim
-
-type
-  Rune16* = distinct int16
-
-```
 
-- `exportc` now uses C instead of C++ mangling with `nim cpp`, matching behavior of `importc`, see #10578
-  Use the new `exportcpp` to mangle as C++ when using `nim cpp`.
 
 ### Breaking changes in the compiler
 
-- A bug allowing `int` to be implicitly converted to range types of smaller size (e.g `range[0'i8..10'i8]`) has been fixed.
 
 
 ## Library additions
 
-- `encodings.getCurrentEncoding` now distinguishes between the console's
-  encoding and the OS's encoding. This distinction is only meaningful on
-  Windows.
-- Added `system.getOsFileHandle` which is usually more useful
-  than `system.getFileHandle`. This distinction is only meaningful on
-  Windows.
-- Added a `json.parseJsonFragments` iterator that can be used to speedup
-  JSON processing substantially when there are JSON fragments separated
-  by whitespace.
 
 
 ## Library changes
 
-- Added `os.delEnv` and `nimscript.delEnv`. (#11466)
-
-- Enabled Oid usage in hashtables. (#11472)
-
-- Added `unsafeColumnAt` procs, that return unsafe cstring from InstantRow. (#11647)
-
-- Make public `Sha1Digest` and `Sha1State` types and `newSha1State`,
-  `update` and `finalize` procedures from `sha1` module. (#11694)
-
-- Added the `std/monotimes` module which implements monotonic timestamps.
-
-- Consistent error handling of two `exec` overloads. (#10967)
-
-- Officially the following modules now have an unstable API:
-
-  - std/varints
-  - core/allocators
-  - core/hotcodereloading
-  - asyncstreams
-  - base64
-  - browsers
-  - collections/rtarrays
-  - collections/sharedlist
-  - collections/sharedtable
-  - concurrency/atomics
-  - concurrency/cpuload
-  - concurrency/threadpool
-  - coro
-  - endians
-  - parsesql
-  - pathnorm
-  - reservedmem
-  - typetraits
-
-  Every other stdlib module is API stable with respect to version 1.
 
 
 ## Language additions
 
-- Inline iterators returning `lent T` types are now supported, similarly to iterators returning `var T`:
-```nim
-iterator myitems[T](x: openarray[T]): lent T
-iterator mypairs[T](x: openarray[T]): tuple[idx: int, val: lent T]
-```
-
-- Added an `importjs` pragma that can now be used instead of `importcpp`
-  and `importc` to import symbols from JavaScript. `importjs` for routines always
-  takes a "pattern" for maximum flexibility.
 
 
 ## Language changes
 
-- `uint64` is now finally a regular ordinal type. This means `high(uint64)` compiles
-  and yields the correct value.
-
 
 
 ### Tool changes
 
-- The Nim compiler now does not recompile the Nim project via ``nim c -r`` if
-  no dependent Nim file changed. This feature can be overridden by
-  the ``--forceBuild`` command line option.
-- The Nim compiler now warns about unused module imports. You can use a
-  top level ``{.used.}`` pragma in the module that you want to be importable
-  without producing this warning.
-- The "testament" testing tool's name was changed
-  from `tester` to `testament` and is generally available as a tool to run Nim
-  tests automatically.
 
 
 ### Compiler changes
 
-- VM can now cast integer type arbitrarily. (#11459)
+
 
 
 ## Bugfixes
diff --git a/changelog_v020.md b/changelog_v020.md
deleted file mode 100644
index 0f4582ae7..000000000
--- a/changelog_v020.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# v0.20.4 - xxxx-xx-xx
-
-
-## Changes affecting backwards compatibility
-
-
-### Breaking changes in the standard library
-
-
-### Breaking changes in the compiler
-
-
-## Library additions
-
-
-## Library changes
-
-
-## Language additions
-
-
-## Language changes
-
-
-### Tool changes
-
-
-### Compiler changes
-
-
-## Bugfixes
diff --git a/changelogs/changelog_1_0_0.md b/changelogs/changelog_1_0_0.md
new file mode 100644
index 000000000..b0a4184cc
--- /dev/null
+++ b/changelogs/changelog_1_0_0.md
@@ -0,0 +1,137 @@
+# v1.0 - 2019-09-23
+
+
+## Changes affecting backwards compatibility
+
+- The switch ``-d:nimBinaryStdFiles`` does not exist anymore. Instead
+  stdin/stdout/stderr are binary files again. This change only affects
+  Windows.
+
+- On Windows console applications the code-page is set at program startup
+  to UTF-8. Use the new switch `-d:nimDontSetUtf8CodePage` to disable this
+  feature.
+
+- The language definition and compiler are now stricter about ``gensym``'ed
+  symbols in hygienic templates. See the section in the
+  [manual](https://nim-lang.org/docs/manual.html#templates-hygiene-in-templates)
+  for further details. Use the compiler switch `--oldgensym:on` for a
+  transition period.
+
+
+### Breaking changes in the standard library
+
+- We removed `unicode.Rune16` without any deprecation period as the name
+  was wrong (see the [RFC](https://github.com/nim-lang/RFCs/issues/151) for details)
+  and we didn't find any usages of it in the wild. If you still need it, add this
+  piece of code to your project:
+```nim
+type
+  Rune16* = distinct int16
+```
+
+- `exportc` now uses C instead of C++ mangling with `nim cpp`, matching behavior
+  of `importc`, see #10578.
+  Use the new `exportcpp` to mangle as C++ when using `nim cpp`.
+
+
+### Breaking changes in the compiler
+
+- A bug allowing `int` to be implicitly converted to range types of smaller size
+  (e.g `range[0'i8..10'i8]`) has been fixed.
+
+
+
+## Library additions
+
+- `encodings.getCurrentEncoding` now distinguishes between the console's
+  encoding and the OS's encoding. This distinction is only meaningful on
+  Windows.
+- Added `system.getOsFileHandle` which is usually more useful
+  than `system.getFileHandle`. This distinction is only meaningful on
+  Windows.
+- Added a `json.parseJsonFragments` iterator that can be used to speedup
+  JSON processing substantially when there are JSON fragments separated
+  by whitespace.
+
+
+
+## Library changes
+
+- Added `os.delEnv` and `nimscript.delEnv`. (#11466)
+
+- Enabled Oid usage in hashtables. (#11472)
+
+- Added `unsafeColumnAt` procs, that return unsafe cstring from InstantRow. (#11647)
+
+- Make public `Sha1Digest` and `Sha1State` types and `newSha1State`,
+  `update` and `finalize` procedures from `sha1` module. (#11694)
+
+- Added the `std/monotimes` module which implements monotonic timestamps.
+
+- Consistent error handling of two `exec` overloads. (#10967)
+
+- Officially the following modules now have an unstable API:
+  - std/varints
+  - core/allocators
+  - core/hotcodereloading
+  - asyncstreams
+  - base64
+  - browsers
+  - collections/rtarrays
+  - collections/sharedlist
+  - collections/sharedtable
+  - concurrency/atomics
+  - concurrency/cpuload
+  - concurrency/threadpool
+  - coro
+  - endians
+  - parsesql
+  - pathnorm
+  - reservedmem
+  - typetraits
+
+  Every other stdlib module is API stable with respect to version 1.
+
+
+
+## Language additions
+
+- Inline iterators returning `lent T` types are now supported, similarly to
+  iterators returning `var T`:
+```nim
+iterator myitems[T](x: openarray[T]): lent T
+iterator mypairs[T](x: openarray[T]): tuple[idx: int, val: lent T]
+```
+
+- Added an `importjs` pragma that can now be used instead of `importcpp`
+  and `importc` to import symbols from JavaScript. `importjs` for routines always
+  takes a "pattern" for maximum flexibility.
+
+
+
+## Language changes
+
+- `uint64` is now finally a regular ordinal type. This means `high(uint64)` compiles
+  and yields the correct value.
+
+
+### Tool changes
+
+- The Nim compiler now does not recompile the Nim project via ``nim c -r`` if
+  no dependent Nim file changed. This feature can be overridden by
+  the ``--forceBuild`` command line option.
+- The Nim compiler now warns about unused module imports. You can use a
+  top level ``{.used.}`` pragma in the module that you want to be importable
+  without producing this warning.
+- The "testament" testing tool's name was changed
+  from `tester` to `testament` and is generally available as a tool to run Nim
+  tests automatically.
+
+
+### Compiler changes
+
+- VM can now cast integer type arbitrarily. (#11459)
+
+
+
+## Bugfixes
diff --git a/lib/system.nim b/lib/system.nim
index f12ab2e8d..f89e78fda 100644
--- a/lib/system.nim
+++ b/lib/system.nim
@@ -3563,13 +3563,13 @@ export dollars
 
 
 const
-  NimMajor* {.intdefine.}: int = 0
+  NimMajor* {.intdefine.}: int = 1
     ## is the major number of Nim's version.
 
-  NimMinor* {.intdefine.}: int = 20
+  NimMinor* {.intdefine.}: int = 0
     ## is the minor number of Nim's version.
 
-  NimPatch* {.intdefine.}: int = 99
+  NimPatch* {.intdefine.}: int = 0
     ## is the patch number of Nim's version.
 
   NimVersion*: string = $NimMajor & "." & $NimMinor & "." & $NimPatch