Skip to content

Releases: niv/neverwinter.nim

2.1.2

17 Aug 09:16

Choose a tag to compare

[2.1.2] - 2025-08-17

Changed

  • scriptcomp: Experimental, breaking optimisations are now guarded behind -O3, and the default is now -O1.

2.1.1

29 May 10:15

Choose a tag to compare

[2.1.1] - 2025-05-29

Fixed

  • Linux binaries now link against gnu ABI, not musl. This should fix the start errors on some distros.

2.1.0

06 May 14:03

Choose a tag to compare

[2.1.0] - 2025-05-06

This release is built with a entirely revamped compiler/release toolchain.

It should fix the issues seen with previous MingW-built releases on Windows ("fseek issue").

This release now also ships the script compiler as a dynamic library on all platforms.

Added

  • scriptcomp: dynamic library (libnwscriptcomp.*).

2.0.3

15 Mar 09:36

Choose a tag to compare

[2.0.3] - 2025-03-14

Changed

  • scriptcomp: disabled a for loop optimization where the compiler would sometimes generate code that caused an infinite loop.

N.B.: We still get reports of the amd64 windows binaries having issues with stream seeking. I have removed them from distribution until that can be fixed.

2.0.2

25 Jan 15:07

Choose a tag to compare

[2.0.2] - 2025-01-25

Added

  • scriptcomp: Added support for binary (0b101010) and octal (0o52) integers.

Fixed

  • The MacOS binary build via GHA is now amd64, not arm64. A proper universal build can come later.
  • asm: Can now correctly disasm struct equality checks.

2.0.1

12 Oct 09:49

Choose a tag to compare

[2.0.1] - 2024-10-12

This release now requires nim 2.0 or newer.

Added

  • Add support for nim 2.0.x and 2.2.x.
  • lib: Now correctly reads retail.key for game version 37+.
  • scriptcomp: Added support for __FUNCTION__, __FILE__, __LINE__, __DATE__ and __TIME__ keywords.
  • scriptcomp: Added dead branch code optimisations for constant ifs.
  • scriptcomp: Added support for unary plus (e.g. constants like +7 now compile).
  • scriptcomp: Added support for double bang (e.g. !!x not compiles).
  • scriptcomp: Added support for hashed string literals (e.g. h"foo" -> int).
  • scriptcomp: Can now output graphviz parse trees to help compiler engineers.
  • scriptcomp: Added better error reporting on parser errors.

Fixed

  • lib: Fixed --manifests not working.
  • lib: Compressedbuf can now correctly handle zero-byte payloads.
  • nwn_resman_*: Fixed --all not working.
  • nwn_nwsync_prune: Incorrect size reporting on reference pruning.
  • scriptcomp: Fixed potential stack overflow issue when compiling particularly complex switch statements.
  • scriptcomp: Fixed Unidentified Identifier errors not displaying the identifier label.

1.8.0

26 Mar 11:12

Choose a tag to compare

[1.8.0] - 2024-03-26

Added

  • The nwsync utilities from beamdog/nwsync have been moved into this repository.
  • nwsync: prune utility will not trim recently-written files (default: 2 weeks).

Fixed

  • nwsync: Will now correctly error out if any lookup path element cannot be found.
  • nwsync: Do not create directories in dryrun mode.

1.7.3

17 Feb 15:51

Choose a tag to compare

[1.7.3] - 2024-02-17

Fixed

  • Fixed checksums import when using neverwinter.nim as library (#110).
  • scriptcomp: Fixed regression not utilising all threads when compiling (#109).

1.7.2

04 Feb 13:45

Choose a tag to compare

[1.7.2] - 2024-02-04

Changed

  • All binaries now build with stacktraces enabled, to make user reports more useful.

Fixed

  • Fixed installation on nim 1.6 due to changed checksums package upstream.

Performance Improvements

  • scriptcomp: Optimized the common for loop construct for (i = 0; i < N; ++i).

1.7.1

17 Dec 15:17

Choose a tag to compare

[1.7.1] - 2023-12-17

Changed

  • ResDir instances now cache their contents on creation time. This is a change from previous behaviour, where additions to a local directory were reflected immediately.

Fixed

  • ResDir is now case-insensitive, same as base game and other ResContainer types.
  • scriptcomp: Messages about encoding are no longer printed multiple times when using threads.