Foundation Tools Releases Development Blog Articles On this page
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
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
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()
.