Skip to content

Latest commit

 

History

History
48 lines (29 loc) · 2.26 KB

changelog.md

File metadata and controls

48 lines (29 loc) · 2.26 KB

v2.2.0 - yyyy-mm-dd

Changes affecting backward compatibility

  • -d:nimStrictDelete becomes the default. An index error is produced when the index passed to system.delete was out of bounds. Use -d:nimAuditDelete to mimic the old behavior for backwards compatibility.
  • The default user-agent in std/httpclient has been changed to Nim-httpclient/<version> instead of Nim httpclient/<version> which was incorrect according to the HTTP spec.
  • Methods now support implementations based on a VTable by using --experimental:vtables. Methods are then confined to be in the same module where their type has been defined.
  • With -d:nimPreviewNonVarDestructor, non-var destructors become the default.

Standard library additions and changes

  • Changed std/osfiles.copyFile to allow to specify bufferSize instead of a hardcoded one.
  • Changed std/osfiles.copyFile to use POSIX_FADV_SEQUENTIAL hints for kernel-level aggressive sequential read-aheads.
  • std/htmlparser has been moved to a nimble package, use nimble or atlas to install it.
  • Added newStringUninit to system, which creates a new string of length len like newString but with uninitialized content.
  • Added setLenUninit to system, which doesn't initalize slots when enlarging a sequence.
  • Added hasDefaultValue to std/typetraits to check if a type has a valid default value.
  • Added Viewport API for the JavaScript targets in the dom module.
  • Deprecates system.newSeqUninitialized, which is replaced by newSeqUninit.

Language changes

Compiler changes

  • --nimcache using a relative path as the argument in a config file is now relative to the config file instead of the current directory.

Tool changes

  • koch now allows bootstrapping with -d:nimHasLibFFI, replacing the older option of building the compiler directly w/ the libffi nimble package in tow.