mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-02 11:12:37 +00:00
1.8 KiB
1.8 KiB
x.x - xxxx-xx-xx
Changes affecting backwards compatibility
Breaking changes in the standard library
base64.encodeno longer supportslineLenandnewLineusebase64.encodeMIMEinstead.os.splitPath()behavior synchronized withos.splitFile()to return "/" as the dir component of "/root_sub_dir" instead of the empty string.
Breaking changes in the compiler
- Implicit conversions for
constbehave correctly now, meaning that code likeconst SOMECONST = 0.int; procThatTakesInt32(SOMECONST)will be illegal now. Simply writeconst SOMECONST = 0instead.
Library additions
macros.newLitnow works for ref object types.system.writeFilehas been overloaded to also supportopenarray[byte].- Added overloaded
strformat.fmtmacro that use specified characters as delimiter instead of '{' and '}'.
Library changes
asyncdispatch.drainnow properly takes into accountselector.hasPendingOperationsand only returns once all pending async operations are guaranteed to have completed.asyncdispatch.drainnow consistently uses the passed timeout value for all iterations of the event loop, and not just the first iteration. This is more consistent with the other asyncdispatch apis, and allowsasyncdispatch.drainto be more efficient.base64.encodeandbase64.decodewas made faster by about 50%.htmlgenadds MathML support (ISO 40314).
Language additions
Language changes
- Unsigned integer operators have been fixed to allow promotion of the first operand.
Tool changes
Compiler changes
- JS target indent is all spaces, instead of mixed spaces and tabs, for generated JavaScript.
Bugfixes
- The
FDvariant ofselector.unregisterforioselector_epollandioselector_selectnow properly handle theEvent.Userselect event type.