Skip to main content

ns-scripting


1.13.0 (2024-05-22)

Fixed

  • Fixed JSON serialization support which broke with the update to Kotlin 1.9.0.

Added

  • Added NpmScope to provide executions for NPM.
  • Added EnvironmentContext context to provide information about the execution environment.
  • Added execution for NPM install.
  • Added execution for NPM run.

Changed

  • Updated Kotlin from 1.9.23 to 2.0.0.

1.12.1 (2024-04-09)

Fixed

  • If no message is given for a tag, the message parameter will still be added for a tag.

1.12.0 (2024-03-30)

Changed

  • Updated copyright notice for API documentation.
  • Updated Kotlin from 1.9.0 to 1.9.23.

1.11.0 (2023-08-09)

Changed

  • Updated copyright notice for API documentation.
  • Updated Kotlin from 1.8.22 to 1.9.0.

1.10.2 (2023-06-14)

Fixed

  • Installer was packaged in the wrong chocolatey package.

1.10.1 (2023-06-14)

Fixed

  • Ns-scripting no longer packaged in main chocolatey package, only in install package.

1.10.0 (2023-06-13)

Fixed

  • (INIT-27) Windows installer would duplicate the path to ns-scripting in the PATH variable when installing over an existing installation. It will also remove all duplicates when (un)installing now.

Changed

  • Updated Kotlin from 1.7.10 to 1.8.22.
  • Updated SLF4J from 1.7.36 to 2.0.7.
  • Updated PicoCli from 4.6.3 to 4.7.4.

1.9.1 (2022-10-03)

Fixed

  • Path to libraries was not processed correctly on Windows.

1.9.0 (2022-09-27)

Added

  • Added support for Kotlin serialization to serialize JSON data.
  • Added support for creating releases with Git Flow.

1.8.0 (2022-08-08)

Fixed

  • Suppressed irrelevant warning from compiler.

Added

  • Added default import for ScriptScope interface.

Changed

  • Debian package now also accepts Temurin JDK as dependencies.
  • Changed Chocolatey JDK dependency from outdated Oracle JDK to Temurin.
  • Updated Kotlin from 1.7.0 to 1.7.10.

1.7.0 (2022-06-11)

Changed

  • Updated Kotlin from 1.6.10 to 1.7.0.

1.6.2 (2022-05-19)

Fixed

  • Project name in packaging was set incorrectly.

1.6.1 (2022-05-17)

Fixed

  • Moved remaining dependencies to main Chocolatey package.

1.6.0 (2022-05-17)

Changed

  • Split Chocolatey packages into ns-scripting.install and ns-scripting, the latter of which provides external dependencies.
  • Switched dependency from openjdk8 to oraclejdk in main Chocolatey package.
  • Dropped minimum version on maven dependency in main Chocolatey package.

1.5.0 (2022-05-13)

Added

  • Chocolatey packaging.

1.4.1 (2022-05-11)

Fixed

  • Script file path in warnings produced by the script engine was incorrect.
  • Mapping of diagnostic information inadvertently broke script imports. With this fix, script filenames in API exceptions will only be mapped to the full path if there are no duplicate script filenames.

1.4.0 (2022-05-10)

Fixed

  • When a warning and no errors are returned by the script engine, the exit code 1 was returned instead of 0.

Added

  • Added EULA for distribution artifacts.
  • API to interact with Git.
  • exit() function alias for kotlin.system.exitProcess().

Changed

  • Improved error reporting now prints path to script file and line number for calling site when exception occurs in library functions.
  • Exceptions for internal APIs now indicate what API was called in order to have better reporting of the cause of exceptions in libraries.
  • API structure refactoring:
    • Moved API for NS scope and related executions to net.democritus.scripting.ns.
    • Moved API for Maven execution to net.democritus.scripting.maven.
    • Moved API for dir() and exec() executions to net.democritus.scripting.common.
    • Moved ScriptScope and ExecutionTemplate interfaces to net.democritus.scripting.

Removed

  • Default import of kotlin.system package.

1.3.0 (2022-05-02)

Added

  • Command-line option --verbose to print stack traces when a JVM error occurs while executing a script.
  • kotlin.system standard API is now imported by default in all scripts.
  • File annotation MinVersion() was added to the API, which is used to verify that the NSScript engine is at least at the specified version.

Changed

  • Default log level printed from script engine is now WARN instead of ERROR.
  • By default stack traces are no longer printed if a JVM exception occurs in a script.

1.2.2 (2022-04-19)

Fixed

  • nss.ps1 script for PowerShell did not function correctly.

1.2.1 (2022-04-04)

Fixed

  • Script engine did not consistently detect core library on classpath.

1.2.0 (2022-04-01)

Added

  • Signing of installer.

1.1.1 (2022-03-26)

Fixed

  • Source URL in API documentation was not correct.

1.1.0 (2022-03-26)

Fixed

  • The NSScript process returned code 1 reports with a severity lower than ERROR.
  • The behavior of ScriptScope.dir(Path) was not consistent with ScriptScope.dir(String).

Added

  • Extensive KDoc documentation of the API.
  • Added support to map ~ in the script path to the user's home directory.
  • Added support to map ~ in the the ScriptScope.dir() scope function to the user's home directory.
  • -h/--help argument for the script engine to write command-line help to the console.
  • -V/--version argument for the script engine to write the version of ns-scripting to the console.

Changed

  • Refactored class net.democritus.scripting.scope.ScopeNestingException to net.democritus.scripting.IllegalFunctionNestingException.
  • The constructor of IllegalFunctionNestingException is no longer accessible in scripts.
  • Nesting an execution function within an execution template will now throw a IllegalFunctionNestingException.
  • ExecutionTemplate is now a sealed interface instead of a sealed class to completely hide the implementation details from scripts.
  • ScriptScope is now a sealed interface instead of a sealed class to completely hide the implementation details from scripts.
  • NSScope.expand() and NSScope.harvest() now default to pom-expansion.xml, pom-expand.xml or pom.xml if found by default if no POM file was specified.
  • The function net.democritus.scripting.scope.ScriptScope.env() was refactored to net.democritus.scripting.env().

1.0.0 (2022-03-21)

  • Initial release.