minor fixes in 1.2 changelog [ci skip]

This commit is contained in:
narimiran 2020-04-13 08:12:27 +02:00
commit 2ef39081e1

View file

@ -33,7 +33,7 @@
- Added `expectIdent` to the `macros` module. - Added `expectIdent` to the `macros` module.
- Added `os.isValidFilename` that returns `true` if `filename` argument is valid - Added `os.isValidFilename` that returns `true` if `filename` argument is valid
for cross-platform use. for cross-platform use.
- Added `times.isLeapDay` - Added `times.isLeapDay`.
- `base64` adds URL-Safe Base64, implements RFC-4648 Section-7. - `base64` adds URL-Safe Base64, implements RFC-4648 Section-7.
- Added a new module, `std / compilesettings` for querying the compiler about - Added a new module, `std / compilesettings` for querying the compiler about
diverse configuration settings. diverse configuration settings.
@ -53,6 +53,8 @@
was designed for it. For example: was designed for it. For example:
```nim ```nim
import std/with
type type
Foo = object Foo = object
col, pos: string col, pos: string
@ -113,8 +115,6 @@ echo f
usage. The `$` operator can be used to obtain the string form of `HttpCode` usage. The `$` operator can be used to obtain the string form of `HttpCode`
for comparison if desired. for comparison if desired.
- `std/oswalkdir` was buggy, it's now deprecated and reuses `std/os` procs. - `std/oswalkdir` was buggy, it's now deprecated and reuses `std/os` procs.
- `net.newContext` now performs SSL Certificate checking on Linux and OSX.
Define `nimDisableCertificateValidation` to disable it globally.
- `os.walkDir` and `os.walkDirRec` now have new flag, `checkDir` (default: false). - `os.walkDir` and `os.walkDirRec` now have new flag, `checkDir` (default: false).
If it is set to true, it will throw if input dir is invalid instead of a noop If it is set to true, it will throw if input dir is invalid instead of a noop
(which is the default behaviour, as it was before this change), (which is the default behaviour, as it was before this change),
@ -128,8 +128,8 @@ echo f
of children nodes. of children nodes.
- `os.splitPath()` behavior synchronized with `os.splitFile()` to return "/" - `os.splitPath()` behavior synchronized with `os.splitFile()` to return "/"
as the dir component of `/root_sub_dir` instead of the empty string. as the dir component of `/root_sub_dir` instead of the empty string.
- The deprecated `lc` macro has been removed from `sugar`. It is now replaced with the - The deprecated `lc` macro has been removed from `sugar`. It is now replaced
more powerful `collect` macro. with the more powerful `collect` macro.
- `os.relativePath("foo", "foo")` is now `"."`, not `""`, as `""` means invalid - `os.relativePath("foo", "foo")` is now `"."`, not `""`, as `""` means invalid
path and shouldn't be conflated with `"."`; use `-d:nimOldRelativePathBehavior` path and shouldn't be conflated with `"."`; use `-d:nimOldRelativePathBehavior`
to restore the old behavior. to restore the old behavior.
@ -138,25 +138,33 @@ echo f
Use `base64.encodeMime` instead. Use `base64.encodeMime` instead.
### Breaking changes
- `net.newContext` now performs SSL Certificate checking on Linux and OSX.
Define `nimDisableCertificateValidation` to disable it globally.
## Language changes ## Language changes
- An `align` pragma can now be used for variables and object fields, similar - An `align` pragma can now be used for variables and object fields, similar
to the `alignas` declaration modifier in C/C++. to the `alignas` declaration modifier in C/C++.
- `=sink` type bound operator is now optional. Compiler can now use combination - The `=sink` type bound operator is now optional. The compiler can now use a
of `=destroy` and `copyMem` to move objects efficiently. combination of `=destroy` and `copyMem` to move objects efficiently.
- Unsigned integer operators have been fixed to allow promotion of the first operand. - Unsigned integer operators have been fixed to allow promotion of the first operand.
- Conversions to unsigned integers are unchecked at runtime, imitating earlier Nim - Conversions to unsigned integers are unchecked at runtime, imitating earlier Nim
versions. The documentation was improved to acknowledge this special case. versions. The documentation was improved to acknowledge this special case.
See https://github.com/nim-lang/RFCs/issues/175 for more details. See https://github.com/nim-lang/RFCs/issues/175 for more details.
- New syntax for lvalue references: `var b {.byaddr.} = expr` enabled by - There is a new syntax for lvalue references: `var b {.byaddr.} = expr` enabled by
`import std/decls`. `import std/decls`.
- `var a {.foo.}: MyType = expr` now lowers to `foo(a, MyType, expr)` for - `var a {.foo.}: MyType = expr` now lowers to `foo(a, MyType, expr)` for
non-builtin pragmas, enabling things like lvalue references (see `decls.byaddr`). non-builtin pragmas, enabling things like lvalue references (see `decls.byaddr`).
## Compiler changes ## Compiler changes
- Generated JS code uses spaces, instead of mixed spaces and tabs. - The generated JS code uses spaces, instead of mixing spaces and tabs.
- The Nim compiler now supports the ``--asm`` command option for easier - The Nim compiler now supports the ``--asm`` command option for easier
inspection of the produced assembler code. inspection of the produced assembler code.
- The Nim compiler now supports a new pragma called ``.localPassc`` to - The Nim compiler now supports a new pragma called ``.localPassc`` to
@ -192,10 +200,6 @@ echo f
with `-d:nimEmulateOverflowChecks`. with `-d:nimEmulateOverflowChecks`.
## Tool changes
- Nimpretty doesn't accept negative indentation argument anymore, because it was
breaking files.
## Bugfixes ## Bugfixes