-
The
isLower
,isUpper
family of procs in strutils/unicode operating on strings have been deprecated since it was unclear what these do. Note that the much more useful procs that operator onchar
orRune
are not affected. -
strutils.editDistance
has been deprecated, useeditdistance.editDistance
oreditdistance.editDistanceAscii
instead. -
The OpenMP parallel iterator `
||
` now supports any#pragma omp directives
and not just#pragma omp parallel for
. See OpenMP documentation.The default annotation is
parallel for
, if you used OpenMP without annotation the change is transparent, if you used annotations you will have to prefix your previous annotations withparallel for
. -
The
unchecked
pragma was removed, instead usesystem.UncheckedArray
. -
The undocumented
#? strongSpaces
parsing mode has been removed. -
The
not
operator is now always a unary operator, this means that code likeassert not isFalse(3)
compiles.
- The compiler now implements the "generic symbol prepass" for
when
statements in generics, see bug #8603. This means that code like this does not compile anymore:
proc enumToString*(enums: openArray[enum]): string =
# typo: 'e' instead 'enums'
when e.low.ord >= 0 and e.high.ord < 256:
result = newString(enums.len)
else:
result = newString(enums.len * 2)
discard x
is now illegal whenx
is a function symbol.
-
There is a new stdlib module
std/editdistance
as a replacement for the deprecatedstrutils.editDistance
. -
There is a new stdlib module
std/wordwrap
as a replacement for the deprecatedstrutils.wordwrap
. -
Added
split
,splitWhitespace
,size
,alignLeft
,align
,strip
,repeat
procs and iterators tounicode.nim
. -
Added
or
forNimNode
inmacros
. -
Added
system.typeof
for more control over howtype
expressions can be deduced.
-
The string output of
macros.lispRepr
proc has been tweaked slightly. ThedumpLisp
macro in this module now outputs an indented proper Lisp, devoid of commas. -
In
strutils
empty strings now no longer matched as substrings anymore. -
Complex type is now generic and not a tuple anymore.
-
The
parseopt
module now supports a new flagallowWhitespaceAfterColon
(default value: true) that can be set tofalse
for better Posix interoperability. (Bug #9619.)
- Vm suport for float32<->int32 and float64<->int64 casts was added.
jsondoc
now include amoduleDescription
field with the module description.jsondoc0
shows comments as it's own objects as shown in the documentation.