This release includes 2 breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
ReleasePort's take
Moderate signalVersion v0.8.9.0 fixes PostgreSQL installation support and several progress‑display bugs; it also removes regex from TSON v2.0.
Why it matters: The release addresses a critical install bug for PostgreSQL (severity 40) and corrects two progress‑output issues, while its breaking change—dropping regex in TSON v2.0—carries high severity 80 and will affect any code using that feature.
Summary
AI summaryUpdates documentation/specifications/ntf.md, documentation/specifications/tson.md, and String across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Breaking | High |
Removed regex support in TSON v2.0 due to conflicts with expressions. Removed regex support in TSON v2.0 due to conflicts with expressions. Source: llm_adapter@2026-06-12 Confidence: high |
— |
| Breaking | High |
Nuts becomes the reference implementation of TSON; TSON GitHub repo sources are obsolete. Nuts becomes the reference implementation of TSON; TSON GitHub repo sources are obsolete. Source: granite4.1:30b@2026-06-12-audit Confidence: high |
— |
| Breaking | High |
Removed matrix support; matrices are now simple arrays of arrays in TSON v2.0. Removed matrix support; matrices are now simple arrays of arrays in TSON v2.0. Source: granite4.1:30b@2026-06-12-audit Confidence: high |
— |
| Feature | Low |
Added nuts-compression to support tar/tgz/txz formats. Added nuts-compression to support tar/tgz/txz formats. Source: llm_adapter@2026-06-12 Confidence: high |
— |
| Feature | Low |
Added better support for expression parsing in NExpr with customizable defaults. Added better support for expression parsing in NExpr with customizable defaults. Source: llm_adapter@2026-06-12 Confidence: high |
— |
| Feature | Low |
Added NSecureToken for external Vault integration. Added NSecureToken for external Vault integration. Source: llm_adapter@2026-06-12 Confidence: high |
— |
| Feature | Low |
Added NSecureString for destroyable secret handling. Added NSecureString for destroyable secret handling. Source: llm_adapter@2026-06-12 Confidence: high |
— |
| Feature | Low |
Added user documentation for NTF (ntf.md). Added user documentation for NTF (ntf.md). Source: granite4.1:30b@2026-06-12-audit Confidence: high |
— |
| Feature | Low |
Added user documentation for TSON (tson.md). Added user documentation for TSON (tson.md). Source: granite4.1:30b@2026-06-12-audit Confidence: high |
— |
| Feature | Low |
Added better support of path store types. Added better support of path store types. Source: llm_adapter@2026-06-12 Confidence: low |
— |
| Feature | Low |
Added NFragmentElement to improve document root and fluid embeddings support. Added NFragmentElement to improve document root and fluid embeddings support. Source: llm_adapter@2026-06-12 Confidence: low |
— |
| Feature | Low |
Implemented TSON v2.0, reimplemented parser and lexer from scratch and dropped javacc support. Implemented TSON v2.0, reimplemented parser and lexer from scratch and dropped javacc support. Source: llm_adapter@2026-06-12 Confidence: low |
— |
| Feature | Low |
Added support for unsigned numbers (u format) in TSON v2.0. Added support for unsigned numbers (u format) in TSON v2.0. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Added support for signed numbers (s format) in TSON v2.0. Added support for signed numbers (s format) in TSON v2.0. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Added support for special numbers like 0NaN in TSON v2.0. Added support for special numbers like 0NaN in TSON v2.0. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Added support for ordered lists (starting with '#') in TSON v2.0. Added support for ordered lists (starting with '#') in TSON v2.0. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Added support for unordered lists (starting with '.') in TSON v2.0. Added support for unordered lists (starting with '.') in TSON v2.0. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Added support for expressions in TSON v2.0. Added support for expressions in TSON v2.0. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Added better copy support in NReflectMapper. Added better copy support in NReflectMapper. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Added JDK/JRE download support via `nuts settings add java --download` command. Added JDK/JRE download support via `nuts settings add java --download` command. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Added cache to Exec for storing command classpath, avoiding rebuilds. Added cache to Exec for storing command classpath, avoiding rebuilds. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Introduced NEnv and merged it with the removed NExecTargetInfo. Introduced NEnv and merged it with the removed NExecTargetInfo. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Added NPath::getInfo and listInfos for full NPathInfo retrieval (performance). Added NPath::getInfo and listInfos for full NPathInfo retrieval (performance). Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Added NPath::getTargetType and getTargetPath to describe link targets. Added NPath::getTargetType and getTargetPath to describe link targets. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Added binary SSH mode (use=bin) alongside existing jcsh and portable modes. Added binary SSH mode (use=bin) alongside existing jcsh and portable modes. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Added NSysEditorSupportCmd for customizing editor syntax highlighting (vim, IntelliJ, Kate, VS Code, Gedit, jEdit, Notepad++). Added NSysEditorSupportCmd for customizing editor syntax highlighting (vim, IntelliJ, Kate, VS Code, Gedit, jEdit, Notepad++). Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Introduced NMsgIntent::DISPOSE constant. Introduced NMsgIntent::DISPOSE constant. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Added NExecCmd::get/setRawCommand to enable complex command execution. Added NExecCmd::get/setRawCommand to enable complex command execution. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Added NConnectionString::normalize utility method. Added NConnectionString::normalize utility method. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Added NConnectionStringBuilder::setNormalized, getQueryParam, and getQueryParams methods. Added NConnectionStringBuilder::setNormalized, getQueryParam, and getQueryParams methods. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Added NWorkspace::getProperty(Class) and getOrComputeProperty(...) methods for typed property retrieval. Added NWorkspace::getProperty(Class) and getOrComputeProperty(...) methods for typed property retrieval. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Improved path store type handling. Improved path store type handling. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Feature | Low |
Introduced NFragmentElement for better document root and fluid embedding support. Introduced NFragmentElement for better document root and fluid embedding support. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Performance | Medium |
Added parallel dependency resolution for faster builds. Added parallel dependency resolution for faster builds. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Performance | Medium |
Implemented faster bean factory resolution by eliminating scoring instance creation. Implemented faster bean factory resolution by eliminating scoring instance creation. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Performance | Medium |
Optimized SSH connections with pooling for faster connexions. Optimized SSH connections with pooling for faster connexions. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Bugfix | Medium |
Fixed support for installing postgres. Fixed support for installing postgres. Source: llm_adapter@2026-06-12 Confidence: high |
— |
| Bugfix | Medium |
Fixed support for mvn netbeans. Fixed support for mvn netbeans. Source: llm_adapter@2026-06-12 Confidence: high |
— |
| Bugfix | Medium |
Fixed Gradle Dependency Solver. Fixed Gradle Dependency Solver. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Bugfix | Low |
Fixed progress display to be backed to terminal instead of PrintStream. Fixed progress display to be backed to terminal instead of PrintStream. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Bugfix | Low |
Fixed invalid percentile display in progress output. Fixed invalid percentile display in progress output. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Bugfix | Low |
Improved SSH support for remote Windows machines. Improved SSH support for remote Windows machines. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Bugfix | Low |
Improved SSH support for remote Linux/POSIX machines. Improved SSH support for remote Linux/POSIX machines. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Refactor | Medium |
Refactored getters/setters for consistency with the rest of the API. Refactored getters/setters for consistency with the rest of the API. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Refactor | Medium |
Renamed NExecCmd to NExec for consistency; similar renames applied to other *Cmd classes. Renamed NExecCmd to NExec for consistency; similar renames applied to other *Cmd classes. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Refactor | Medium |
Changed NPath methods: permissions → getPermissions, lastAccess → getLastAccessInstant, type → getType, creationTime → getCreationInstant. Changed NPath methods: permissions → getPermissions, lastAccess → getLastAccessInstant, type → getType, creationTime → getCreationInstant. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Refactor | Medium |
Updated NPathSPI: contentLength → getContentLength, type → getType. Updated NPathSPI: contentLength → getContentLength, type → getType. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Refactor | Medium |
Changed NExecTargetCommandContext.getTarget() to getConnectionString(). Changed NExecTargetCommandContext.getTarget() to getConnectionString(). Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Refactor | Medium |
Changed NWorkspace::getProperty(String) return type from NLiteral to Object. Changed NWorkspace::getProperty(String) return type from NLiteral to Object. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
| Refactor | Medium |
Renamed NConnexionString to NConnectionString. Renamed NConnexionString to NConnectionString. Source: granite4.1:30b@2026-06-12-audit Confidence: low |
— |
Full changelog
- 2025-06-11 : PUBLISH :: version 0.8.9 published
- 2025-06-09 : ADDED :: fixed support for installing postgres
- 2025-05-07 : ADDED :: fixed support for mvn netbeans
- 2025-04-20 : ADDED :: added nuts-compression to support tar/tgz/txz formats
- 2025-03-10 : REFACTOR:: refactor getters/setters to be more consistent with the rest of the API
- 2025-02-13 : ADDED :: better support of path store types
- 2025-02-11 : ADDED :: added better support for expression parsing in NExpr with customizable defaults
- 2025-01-11 : ADDED :: added NFragmentElement : a better way to support documents roots and fluid embeddings
- 2025-01-07 : ADDED :: added NSecureToken : a better way to support external Vaults
- 2025-02-06 : ADDED :: added NSecureString : a better way to support destroyable secrets
- 2025-01-16 : ADDED :: added user documentation for NTF (documentation/specifications/ntf.md)
- 2025-01-16 : ADDED :: implemented TSON v2.0, reimplemented from scratch TSON parser and LEXER, dropped javacc support
- 2025-01-16 : ADDED :: implemented TSON v2.0, added user documentation for TSON (documentation/specifications/tson.md)
- 2025-01-16 : CHANGED :: implemented TSON v2.0, nuts becomes the reference implementation of TSON, the TSON github repo sources are obsolete
- 2025-01-16 : ADDED :: implemented TSON v2.0, removed support for regex (could simply use strings). removed because in introduces conflicts with expressions
- 2025-01-16 : REMOVED :: implemented TSON v2.0, removed support for regex (could simply use strings). removed because in introduces conflicts with expressions
- 2025-01-16 : REMOVED :: implemented TSON v2.0, removed support for Matrices (now matrices are simple arrays of arrays)
- 2025-01-16 : ADDED :: implemented TSON v2.0, added valid support of unsigned numbers (with u format aka 10_u8)
- 2025-01-16 : ADDED :: implemented TSON v2.0, added valid support of signed numbers (with s format aka 10_s8)
- 2025-01-16 : ADDED :: implemented TSON v2.0, added valid support of special numbers like 0NaN
- 2025-01-16 : ADDED :: implemented TSON v2.0, added valid support of ordered list (starts with hash '#')
- 2025-01-16 : ADDED :: implemented TSON v2.0, added valid support of unordered list (starts with dot '.')
- 2025-01-16 : ADDED :: implemented TSON v2.0, added valid support of expressions
- 2025-01-01 : ADDED :: added better support of copy in NReflectMapper
- 2025-12-27 : ADDED :: Added support to download JDK/JRE from nuts
sh nuts settings add java --download -version=25 --jdk - 2025-12-27 : ADDED :: Fixed Progress display (now backed to terminal and not PrintStream)
- 2025-12-27 : ADDED :: Fixed Progress displaying invalid percentile
- 2025-12-26 : ADDED :: Added cache to Exec to store command classpath, no need to rebuild classpath
- 2025-12-26 : FIXED :: Fixed Gradle Dependency Solver
- 2025-12-26 : FIXED :: Better perf : added parallel dependency resolution
- 2025-12-26 : ADDED :: Better perf : added parallel dependency resolution
- 2025-12-25 : ADDED :: Better perf : implemented faster bean factory resolution : no more create instances for scoring
- 2025-12-20 : ADDED :: added NEnv and merge it with older NExecTargetInfo (that is now removed)
- 2025-12-20 : CHANGED :: better support for kubernetes (now auto detected)
- 2025-12-20 : CHANGED :: better support for ssh (now auto detected)
- 2025-12-20 : CHANGED :: better support for docker (now auto detected)
- 2025-12-19 : CHANGED :: renamed NExecCmd to NExec (simpler are more coherent with the rest), same for other *Cmd
- 2025-12-12 : ADDED :: added NSysEditorSupportCmd to support customizing common editor syntax highlighting (including but not limited to : vim, intellij, kate, vscode, gedit, jEdit, notepad++)
- 2025-12-07 : FIXED :: faster ssh connexions with pooling
- 2025-12-01 : CHANGED :: renamed NStableValue to NOnceValue
- 2025-11-30 : ADDED :: added NPath::getInfo, listInfos that return a full NPathInfo for performance
- 2025-11-30 : FIXED :: Better support for ssh for remote Windows machines
- 2025-11-30 : FIXED :: Better support for ssh for remote linux/posix machines
- 2025-11-30 : ADDED :: Added support for binary ssh (ssh://myuser@myserver?use=bin vs ssh://myuser@myserver?use=jcsh vs ssh://myuser@myserver?use=portable)
- 2025-11-30 : ADDED :: added NPath::getTargetType, NPath::getTargetPath to describe the pointed path for a link
- 2025-11-29 : CHANGED :: changed NPath::permissions -> NPath::getPermissions ; NPath::lastAccess -> NPath::getLastAccessInstant ; NPath::lastAccess -> NPath::getLastAccessInstant; NPath::getGroup -> NPath::getGroup; NPath::type -> NPath::getType ; NPath::creationTime -> NPath::getCreationInstant
- 2025-11-28 : CHANGED :: changed NPathSPI::contentLength -> NPathSPI::getContentLength; NPathSPI::type -> NPathSPI::getType ; NPathSPI::contentLength -> NPathSPI::getContentLength
- 2025-11-27 : ADDED :: added NMsgIntent::DISPOSE
- 2025-11-26 : ADDED :: added NExecCmd::get/setRawCommand to enable complex commands
- 2025-11-25 : ADDED :: added NConnectionString::normalize
- 2025-11-24 : ADDED :: added NConnectionStringBuilder::setNormalized, getQueryParam, getQueryParams
- 2025-11-23 : CHANGED :: changed NExecTargetCommandContext.getTarget() -> NExecTargetCommandContext.getConnectionString()
- 2025-11-22 : CHANGED :: changed NWorkspace::getProperty(String) return type from NLiteral to Object
- 2025-11-21 : ADDED :: added NWorkspace::getProperty(Class), getOrComputeProperty(...)
- 2025-11-20 : CHANGED :: renamed NConnexionString to NConnectionString
- 2025-11-19 : Today we started new nuts 0.8.9 version
Breaking Changes
- Removed regex support in TSON (conflicts with expressions).
- Removed matrix type; matrices now represented as arrays of arrays.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Nuts
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]