Dear Community,

We are pleased to announce the availability of the Next Scripting
Framework (NSF) 2.4.0. The changes are mostly perfective improvements
in terms of bug fixes, Tcl version compatibility, and API consistency.
See below for the details.

Diff stats since 2.3.0:

    182 files changed, 26862 insertions(+), 20338 deletions(-)

Major changes relative to 2.3.0 are: NSF now compiles and runs with
Tcl 9 (core.tcl-lang.org/tcl main branch at the time of writing,
August 2022). This way, NSF/NX/XOTcl can be used with the Tcl 8.5.*
series, Tcl 8.6.*, and Tcl 8.7.* and Tcl 9.* on Linux/Windows/macOS.
One can see the results of the compilations and test runs on

    https://github.com/nm-wu/nsf/actions
    https://ci.appveyor.com/project/mrcalvin/nsf-2ylk0/history

Selected changes worth mentioning:

- Maintenance & bug fixes:

  * Tcl 9: For the first time, NSF now compiles and its test suite
    completes with Tcl 9. Kudos to Jan Njitmans.

  * Tcl 8.7:

    o Support for the Tcl 8.7a5 release

      (core.tcl-lang.org/tcl branch "core-8-branch"). NSF compiles and
      its regression tests execute successfully (including
      TCL_NO_DEPRECATE).

    o NSF is now TIP-538 ready (Tcl starting relying on libtommath
      as an extrinsic dependency).

   * Fixed type name abbreviation bug: Previous versions did not
     handle cases correctly where an application type name starts with
     the same character sequence as a built-in type. So it was not
     possible to define a type "object_id", since a a spec of the form
     "x:object_id" was interpreted as "x:object" ("object" is a
     predefined type). Now, such type name abbreviations are not
     allowed.

  * Plugged a small memory leak when using mp_int (libtommath) data internally.

  * Fixed a crash when using volatile combined with method "configure"
    in XOTcl 2.

  * Fixed crashes due to internal cache mismanagement of flag names
    processed by configure/ cget. See
    https://groups.google.com/g/comp.lang.tcl/c/F9cn_Ah4js4/m/eL22xbQaCgAJ

  * Fixed exit from non-threaded NSF builds (will not hang anymore).

  * Added a warning when a slot name hints a typing error.

- Build environments, automated builds:

  * Made "Makefile" more robust in light of file paths containing
    whitespace characters

  * Due to Travis becoming unavailable, we moved to GitHub Actions for
    automated builds on Linux and macOS. Windows builds are still
    served by AppVeyor.

- XOTcl:

  * "dict" is now available as a per-object method, similar to
    "array".

- MongoDB:

  * Tested the NSF MongoDB binding against latest stable releases of
    MongoDB (5.0.9) and MongoDB-C driver (1.22.1).

  * Fixed test case for gridfs and file renaming

- Documentation:

  * Improved wording and corrected spelling in man pages, tutorials,
    and examples.

The detailed changelog is available at
https://next-scripting.org/xowiki/download/file/ChangeLog-2.3.0-2.4.0.log

The Next Scripting Framework 2.4.0 (containing NX 2.4.0 and XOTcl
2.4.0) can be obtained from https://next-scripting.org/. Please report
issues and wishes by opening a ticket at
https://sourceforge.net/p/next-scripting/tickets/.

Best regards
- Gustaf Neumann
- Stefan Sobernig