summary refs log tree commit diff stats
path: root/changelog.md
blob: 61e6711db94bf67fb71afde8717168054f860ce5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# v1.1 - XXXX-XX-XX


## Changes affecting backwards compatibility

- The switch ``-d:nimBinaryStdFiles`` does not exist anymore. Instead
  stdin/stdout/stderr are binary files again. This change only affects
  Windows.
- On Windows console applications the code-page is set at program startup
  to UTF-8. Use the new switch `-d:nimDontSetUtf8CodePage` to disable this
  feature.

- The language definition and compiler are now stricter about ``gensym``'ed
  symbols in hygienic templates. See the section in the
  [manual](https://nim-lang.org/docs/manual.html#templates-hygiene-in-templates)
  for further details. Use the compiler switch `--useVersion:0.19` for a
  transition period.


### Breaking changes in the standard library

- We removed `unicode.Rune16` without any deprecation period as the name
  was wrong (see the [RFC](https://github.com/nim-lang/RFCs/issues/151) for details)
  and we didn't find any usages of it in the wild. If you still need it, add this
  piece of code to your project:

```nim

type
  Rune16* = distinct int16

```


### Breaking changes in the compiler


## Library additions

- `encodings.getCurrentEncoding` now distinguishes between the console's
  encoding and the OS's encoding. This distinction is only meaningful on
  Windows.
- Added `system.getOsFileHandle` which is usually more useful
  than `system.getFileHandle`. This distinction is only meaningful on
  Windows.

## Library changes

- Added `os.delEnv` and `nimscript.delEnv`. (#11466)

- Enable Oid usage in hashtables. (#11472)

- Added `unsafeColumnAt` procs, that return unsafe cstring from InstantRow. (#11647)

- Make public `Sha1Digest` and `Sha1State` types and `newSha1State`,
  `update` and `finalize` procedures from `sha1` module. (#11694)

- Added the `std/monotimes` module which implements monotonic timestamps.

- Consistent error handling of two `exec` overloads. (#10967)

## Language additions


## Language changes


### Tool changes

- The Nim compiler now does not recompile the Nim project via ``nim c -r`` if
  no dependent Nim file changed. This feature can be overridden by
  the ``--forceBuild`` command line option.
- The Nim compiler now warns about unused module imports. You can use a
  top level ``{.used.}`` pragma in the module that you want to be importable
  without producing this warning.


### Compiler changes

- VM can now cast integer type arbitrarily. (#11459)


## Bugfixes