diff options
Diffstat (limited to 'changelog.md')
-rw-r--r-- | changelog.md | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/changelog.md b/changelog.md index 05211b116..5b5cdabf1 100644 --- a/changelog.md +++ b/changelog.md @@ -83,13 +83,19 @@ - `writeStackTrace` is available in JS backend now. - Added `decodeQuery` to `std/uri`. + - `strscans.scanf` now supports parsing single characters. -- `strscans.scanTuple` added which uses `strscans.scanf` internally, returning a tuple which can be unpacked for easier usage of `scanf`. + +- `strscans.scanTuple` added which uses `strscans.scanf` internally, + returning a tuple which can be unpacked for easier usage of `scanf`. - Added `setutils.toSet` that can take any iterable and convert it to a built-in `set`, if the iterable yields a built-in settable type. + - Added `setutils.fullSet` which returns a full built-in `set` for a valid type. + - Added `setutils.complement` which returns the complement of a built-in `set`. + - Added `setutils.[]=`. - Added `math.isNaN`. @@ -100,20 +106,24 @@ - Added `jsbigints` module, arbitrary precision integers for JavaScript target. - Added `math.copySign`. + - Added new operations for singly- and doubly linked lists: `lists.toSinglyLinkedList` and `lists.toDoublyLinkedList` convert from `openArray`s; `lists.copy` implements shallow copying; `lists.add` concatenates two lists - an O(1) variation that consumes its argument, `addMoved`, is also supplied. - Added `euclDiv` and `euclMod` to `math`. + - Added `httpcore.is1xx` and missing HTTP codes. + - Added `jsconsole.jsAssert` for JavaScript target. - Added `posix_utils.osReleaseFile` to get system identification from `os-release` file on Linux and the BSDs. https://www.freedesktop.org/software/systemd/man/os-release.html - `math.round` now is rounded "away from zero" in JS backend which is consistent -with other backends. see #9125. Use `-d:nimLegacyJsRound` for previous behavior. + with other backends. See #9125. Use `-d:nimLegacyJsRound` for previous behavior. + - Added `socketstream` module that wraps sockets in the stream interface - Changed the behavior of `uri.decodeQuery` when there are unencoded `=` @@ -127,8 +137,8 @@ with other backends. see #9125. Use `-d:nimLegacyJsRound` for previous behavior. - Added `math.signbit`. - - Removed the optional `longestMatch` parameter of the `critbits._WithPrefix` iterators (it never worked reliably) + - In `lists`: renamed `append` to `add` and retained `append` as an alias; added `prepend` and `prependMoved` analogously to `add` and `addMoved`; added `remove` for `SinglyLinkedList`s. @@ -136,17 +146,20 @@ with other backends. see #9125. Use `-d:nimLegacyJsRound` for previous behavior. - Deprecated `any`. See https://github.com/nim-lang/RFCs/issues/281 - Added `std/sysrand` module to get random numbers from a secure source -provided by the operating system. + provided by the operating system. - Added optional `options` argument to `copyFile`, `copyFileToDir`, and `copyFileWithPermissions`. By default, on non-Windows OSes, symlinks are followed (copy files symlinks point to); on Windows, `options` argument is ignored and symlinks are skipped. + - On non-Windows OSes, `copyDir` and `copyDirWithPermissions` copy symlinks as symlinks (instead of skipping them as it was before); on Windows symlinks are skipped. + - On non-Windows OSes, `moveFile` and `moveDir` move symlinks as symlinks (instead of skipping them sometimes as it was before). + - Added optional `followSymlinks` argument to `setFilePermissions`. - Added `os.isAdmin` to tell whether the caller's process is a member of the @@ -196,10 +209,12 @@ provided by the operating system. - `std/options` changed `$some(3)` to `"some(3)"` instead of `"Some(3)"` and `$none(int)` to `"none(int)"` instead of `"None[int]"`. + - Added `std/jsfetch` module [Fetch](https://developer.mozilla.org/docs/Web/API/Fetch_API) wrapper for JavaScript target. + - Added `std/jsheaders` module [Headers](https://developer.mozilla.org/en-US/docs/Web/API/Headers) wrapper for JavaScript target. -- Added `std/jsformdata` module [FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData) wrapper for JavaScript target. +- Added `std/jsformdata` module [FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData) wrapper for JavaScript target. - `system.addEscapedChar` now renders `\r` as `\r` instead of `\c`, to be compatible with most other languages. @@ -208,7 +223,12 @@ provided by the operating system. - Added `jscore.debugger` to [call any available debugging functionality, such as breakpoints.](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/debugger) -- Added `htmlgen.portal` for [making "SPA style" pages using HTML only.](https://web.dev/hands-on-portals) +- Added `htmlgen.portal` for [making "SPA style" pages using HTML only](https://web.dev/hands-on-portals). + +- Added `ZZZ` and `ZZZZ` patterns to `times.nim` `DateTime` parsing, to match time + zone offsets without colons, e.g. `UTC+7 -> +0700`. + + ## Language changes @@ -229,6 +249,8 @@ provided by the operating system. - `typedesc[Foo]` now renders as such instead of `type Foo` in compiler messages. + + ## Compiler changes - Added `--declaredlocs` to show symbol declaration location in messages. @@ -266,6 +288,8 @@ provided by the operating system. - Added `unsafeIsolate` and `extract` to `std/isolation`. + + ## Tool changes - The rst parser now supports markdown table syntax. |