Skip to content

Releases: niv/neverwinter.nim

2.3.1

Choose a tag to compare

@github-actions github-actions released this 25 Aug 19:28

[2.3.1] - 2026-08-25

Fixed

  • scriptcomp: Fixed StartConditional/main confusion when compiling include files.
  • scriptcomp: Function implementations whose return type doesn't match their prototype are now rejected.
  • scriptcomp: Fixed a crash (SIGFPE) on division by zero for compile time consts.
  • scriptcomp: Empty for loop bodies are now allowed.
  • scriptcomp: Semantic errors are now reported even for scripts without an entry point.
  • scriptcomp: No longer crashes on constant negation of a string (e.g. !"foo").
  • scriptcomp: Reports the actual invalid function name instead of a bracket error.

2.3.0

Choose a tag to compare

@github-actions github-actions released this 20 Aug 15:23

[2.3.0] - 2026-08-20

Added

  • scriptcomp: Added --no-require-entry-point to enable syntax and semantic checks for include files (thanks, @cgtudor).

Fixed

  • TLS init should be more robust, no longer print duplicate log output.
  • Replaced the deprecated std/threadpool with the recommended taskpools lib.

2.2.0

Choose a tag to compare

@github-actions github-actions released this 16 Aug 20:18

[2.2.0] - 2026-08-15

Changed

  • GFF JSON: Slightly improved conversion performance.

2.1.2

Choose a tag to compare

@github-actions github-actions released this 17 Aug 09:16

[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

Choose a tag to compare

@github-actions github-actions released this 29 May 10:15

[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

Choose a tag to compare

@github-actions github-actions released this 06 May 14:03

[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

Choose a tag to compare

@github-actions github-actions released this 15 Mar 09:36

[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

Choose a tag to compare

@github-actions github-actions released this 25 Jan 15:07

[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

Choose a tag to compare

@github-actions github-actions released this 12 Oct 09:49

[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

Choose a tag to compare

@github-actions github-actions released this 26 Mar 11:12

[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.