Recent Blog

2026

· One min read
thevpc
Criticize the world Casually...

🚀 nuts v0.8.9.0 RC1: The Foundation of the 1.0 Era

Today marks the release of v0.8.9.0 RC1. This version represents a major shift—it is the final "pre-1.0" major version, solidifying nuts as both a robust package manager and a powerful application framework.I’ll be dogfooding this release for a few more days to ensure total stability before the final rollout. Here is what’s new in this milestone: 🌟 Key Highlights
  • The Bridge to 1.0: v0.8.9 serves as our most stable and polished "odd-number" release, finalizing the core architecture for the future.
  • Polyglot Repositories: First-class support for non-Java-only repositories, including seamless bundling for NetBeans and PostgreSQL.
  • Lightning Fast Native Images: You can now install nuts via RPM or run it as a native image for near-instant execution.

🛠 Feature Breakdown

🔐 Hardened Security

We’ve overhauled the security layer to meet modern standards:
  • Modern Cryptography: Upgraded from DES/CBC to AES/GCM for all cipher implementations.
  • Vault & Secret Management: Introduced NSecureToken for external Vault integration and NSecureString for memory-safe, destroyable secrets.

📄 TSON v2.0 (Reference Implementation)

Nuts is now the definitive home for TSON. The parser has been rebuilt for the "Fail-Never" philosophy:
  • High-Fidelity Parsing: A round-trip parser that preserves comments and whitespace using a Concrete Syntax Tree (CST).
  • Resilience: A "Never-fail" architecture where errors are stored as diagnostic metadata within the CST rather than crashing the process.
  • Advanced Tooling: New navigation and transformation concepts (NElementNavigator, NElementTransform) and support for user metadata on any element.

⚡ Performance & Core Optimization

  • Parallelization: Multi-threaded dependency resolution for faster builds.
  • Optimized Connectivity: SSH connection pooling and support for binary SSH (ssh://...?use=bin).
  • Execution Speed: A faster Bean Factory and a new execution cache that remembers command classpaths, eliminating redundant rebuilds.
  • I/O Efficiency: NPath::getInfo now returns comprehensive file metadata in a single call to minimize system overhead.

🌐 An Expanded Ecosystem

Beyond the JVM, nuts is becoming a universal tool for your environment:
  • Portable Runtimes: Effortlessly manage runtimes (e.g., nuts settings add java --download -version=25).
  • Infrastructure & IDEs: Native support for Tomcat, PostgreSQL, and NetBeans.
  • Cloud Native: Improved detection for Docker and Kubernetes to enable zero-config deployments.
  • IDE Support: Syntax highlighting is now available across the board, from IntelliJ and VS Code to Vim, Kate, and Notepad++.
  • Build Tools: A new Gradle Dependency Solver bridges the gap between nuts and Gradle projects.

📝 What’s Next?

The full, exhaustive list of features and bug fixes will be revealed in the final Release Notes. For now, grab the RC1, try the native image, and let us know your feedback.Happy Hacking!

2026

· One min read
thevpc
Criticize the world Casually...

Changes

⚠️ Stability & Refactoring

Version 0.8.9 is a major milestone in our development cycle. As part of our commitment to quality, we treat our odd-numbered releases (5, 7, 9) as our most stable and polished versions.

Better security support

  • New more secure implementation of cipher using AES/GCM instead of older and broken DES/CBC
  • Enhanced types support with new order and unordered lists, Bloc Strings, grouped Multiline comments, etc.
  • added NSecureToken : a better way to support external Vaults
  • added NSecureString : a better way to support destroyable secrets

TSON v2.0

  • Nuts becomes the reference implementation of TSON
  • Enhanced types support with new expressions, order and unordered lists, bloc Strings, grouped multiline comments, fragments, etc.
  • Round-trip parser that preserves not only comments but also spaces in a CST (Concrete Syntax Tree)
  • Never fail parser/writer that stores errors as diagnostic information in the CST
  • Added User Metadata support (enhance any element with user data)
  • Added better navigation concepts : NElementPath, NElementNavigator
  • Added better AST/CST transformation concepts : NElementTransform, NElementFormatter

Enhanced performance

  • Parallel dependency resolution
  • Faster ssh connections with pooling
  • Faster Bean Factory
  • Added NPath::getInfo, listInfos that return a full NPathInfo for performance
  • Added cache to Exec to store command classpath, no need to rebuild classpath

Expanded Ecosystem

Beyond pure Java, Nuts now supports portable installations for:
  • Runtimes: JDK/JRE (nuts settings add java --download -version=25 --jdk)

  • Servers: Tomcat, PostgreSQL

  • IDE: Netbeans

  • Cloud & Containers: Improved "Nuts-native" detection for Docker and Kubernetes environments to simplify configuration-free deployments.

  • Tooling Support: We've added native syntax highlighting support for TSON and NTF. You can now enjoy a first-class editing experience in: IntelliJ IDEA, VS Code, and Notepad++ , Vim / Vi, Kate, GEdit, and jEdit

  • Gradle Integration: A new dedicated Gradle Dependency Solver to bridge the gap between Nuts and the Gradle ecosystem.

Integration

  • Support customizing common editors syntax highlighting (including but not limited to : vim, intellij, kate, vscode, gedit, jEdit, notepad++)
  • Normalized environment resolution across local, ssh etc
  • Better support for ssh for remote Windows and linux/posix machines
  • Added support for binary ssh (ssh://myuser@myserver?use=bin vs ssh://myuser@myserver?use=jcsh vs ssh://myuser@myserver?use=portable)
  • Added NExec::get/setRawCommand to enable complex commands
  • NPathOption now can include access credentials

Fixes

  • Fixed Progress display

Changes Details

  • 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 : TODO :: Added support to download JDK/JRE from nuts nuts settings add java --download -version=25 --jdk

  • 2025-12-27 : TODO :: Fixed Progress display (now backed to terminal and not PrintStream)

  • 2025-12-27 : TODO :: Fixed Progress displaying invalid percentile

  • 2025-12-26 : TODO :: 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

2025

· One min read
thevpc
Criticize the world Casually...

  • 2025-11-19 : Today we started new nuts 0.8.9 version

2025

· One min read
thevpc
Criticize the world Casually...

nuts v0.8.8 is out.

View Official releases here : Starred releases are most stable ones.

nuts 0.8.8.0 (STABLE VERSION)

  • 2025-11-19 nuts 0.8.8.0 released download nuts-0.8.8.jar

  • 2025-10-17 : FIXED fixed links (from thevpc.github.com to thevpc.github.io)
  • 2025-10-17 : ADDED added gogole analytics to website
  • 2025-10-17 : ADDED added compatibility matrix report in documentation
  • 2025-10-17 : FIXED fixed NMemorySize issue (throws exception on creation)
  • 2025-10-16 : FIXED removed some old source comments
  • 2025-10-15 : ADDED add more javadoc
  • 2025-10-14 : FIXED removed trailing System.out calls
  • 2025-10-13 : FIXED fixed isLong calls
  • 2025-10-13 : FIXED fixed isXYZ impls in NArg
  • 2025-10-13 : CHANGED added "--sandbox --yes" by default to spring apps
  • 2025-10-08 : ADDED NBulkheadCall to handle calls limited by concurrent count
  • 2025-10-08 : REMOVED getBeanContainer() && withBeanContainer(NBeanContainer container) in concurrent classes
  • 2025-10-08 : ADDED NDuration.parse(String) to parse user durations
  • 2025-11-07 : Today we started new nuts 0.8.8 version

2025

· One min read
thevpc
Criticize the world Casually...

  • 2025-10-17 : FIXED fixed links (from thevpc.github.com to thevpc.github.io)
  • 2025-10-17 : ADDED added gogole analytics to website
  • 2025-10-17 : ADDED added compatibility matrix report in documentation
  • 2025-10-17 : FIXED fixed NMemorySize issue (throws exception on creation)
  • 2025-10-16 : FIXED removed some old source comments
  • 2025-10-15 : ADDED add more javadoc
  • 2025-10-14 : FIXED removed trailing System.out calls
  • 2025-10-13 : FIXED fixed isLong calls
  • 2025-10-13 : FIXED fixed isXYZ impls in NArg
  • 2025-10-13 : CHANGED added "--sandbox --yes" by default to spring apps
  • 2025-10-08 : ADDED NBulkheadCall to handle calls limited by concurrent count
  • 2025-10-08 : REMOVED getBeanContainer() && withBeanContainer(NBeanContainer container) in concurrent classes
  • 2025-10-08 : ADDED NDuration.parse(String) to parse user durations
  • 2025-11-07 : Today we started new nuts 0.8.8 version

2025

· One min read
thevpc
Criticize the world Casually...

nuts v0.8.7 is out.

View Official releases here : Starred releases are most stable ones.

nuts 0.8.7.0 (STABLE VERSION)

  • 2025-11-07 nuts 0.8.7.0 released download nuts-0.8.7.jar

  • FIXED Fixed NDuration issue
  • CHANGED Now prefer NDuration over Duration in all API
  • CHANGED Rewritten install|require workflow to be faster and more robust
  • FIXED Fixed issue with plain maven repos
  • CHANGED Less boilerplate in progress (do not show url, too long)
  • CHANGED NElement destructible now can have multiple filters
  • CHANGED Removed dependency on awt, and replace all refs with NColor (renamed from NNamedColor)
  • ADDED Revamped documentation
  • CHANGED Global refactoring to adjust class packages
  • ADDED NScoredCallable a clean way to implement score based call strategy (renamed from NSupport)
  • ADDED NSagaCall to support Saga DesignPattern implementation with loops, and conditions enabled
  • ADDED NCircuitBreakerCall to support CircuitBreaker DesignPattern
  • ADDED NRetryCall to support RetryCall DesignPattern (along with NStableValue, NCachedValue, NRateLimitValue and NLock (for DB and File Locking))

2025

· One min read
thevpc
Criticize the world Casually...

  • 2025-11-07 : DELIVERED new version 0.8.7 stable
  • 2025-10-29 : FIXED Fixed NDuration issue
  • 2025-10-25 : CHANGED Now prefer NDuration over Duration in all API
  • 2025-10-25 : CHANGED Rewritten install|require workflow to be faster and more robust
  • 2025-10-24 : FIXED Fixed issue with plain maven repos
  • 2025-10-22 : CHANGED Less boilerplate in progress (do not show url, too long)
  • 2025-10-20 : CHANGED NElement destructible now can have multiple filters
  • 2025-10-19 : CHANGED Removed dependency on awt, and replace all refs with NColor (renamed from NNamedColor)
  • 2025-10-14 : ADDED Revamped documentation
  • 2025-10-10 : CHANGED Global refactoring to adjust class packages
  • 2025-10-07 : ADDED NScoredCallable a clean way to implement score based call strategy (renamed from NSupport)
  • 2025-10-02 : ADDED NSagaCall to support Saga DesignPattern implementation with loops, and conditions enabled
  • 2025-10-02 : ADDED NCircuitBreakerCall to support CircuitBreaker DesignPattern
  • 2025-10-02 : ADDED NRetryCall to support RetryCall DesignPattern (along with NStableValue, NCachedValue, NRateLimitValue and NLock (for DB and File Locking))
  • 2025-10-01 : Today we started new nuts 0.8.7 version

2025

· One min read
thevpc
Criticize the world Casually...

  • 2025-10-01 : Today we started new nuts 0.8.7 version
  • Nuts v0.8.7 is focusing on enterprise usability. It adds support for Resiliency tools

2025

· One min read
thevpc
Criticize the world Casually...

  • View Official releases here :

  • Starred releases are the most stable ones.

nuts 0.8.7.0 (DEVELOPMENT VERSION)

  • <DATE_TO_DO> nuts 0.8.7.0 released download nuts-0.8.6.jar

  • 2025-09-14 added NCachedValue/NStableValue to handle stable and cached values (will be promoted to java's StableValue)
  • 2025-09-08 added NScopedValue/NScopedStack to handle scoped values (based on ThreadLocal but will be promoted to java's ScopedValues)
  • 2025-09-05 Added better handling for Text Tables
  • 2025-09-05 Added better handling for Text Trees
  • 2025-09-02 Added handling for TextArt (Banners using figlets and more)
  • 2025-08-30 added Scoped Logging
  • 2025-08-27 rewritten Logging API to support backends (JUL and SLF4J)
  • 2025-07-28 enhance NComplex operations and mark as comparable
  • 2025-07-28 enhance NElement operations
  • 2025-07-28 NMsg.ofV now retains variable layout
  • 2025-07-27 introduce NElementTransform
  • 2025-07-27 introduce NElement::snippet
  • 2025-07-26 Enhance NOperator operations
  • 2025-07-26 introduce NOperatorGroup
  • 2025-07-10 added NPath::resolveSiblingWithExtension, NPathNameParts::toNameWithExtension
  • 2025-07-06 NArg now has getCmdLine() that returns the CmdLine when processed by NCmdLine. It returns null, if not.
  • 2025-07-01 added NColor ANSI Color constants and mappings
  • 2025-07-01 support for color names in ntf in tge form of ##:red:something## and something

  • 2025-06-25 added Nuts.require() to help creating an in-memory workspace if none is provided
  • 2025-06-25 from now NMsg.ofC/ofV/ofJ support ntf (instead of plain)
  • 2025-06-25 Added NIn a general purpose Input Utility (like NOut/NErr/NTrace)
  • 2025-06-24 Added --reset-options
  • 2025-06-24 Added Nuts.require()
  • 2025-06-24 Implemented N?Complex parsing
  • 2025-06-24 Added intValue/longValue... in NArg
  • 2025-06-24 STARTED

2025

· One min read
thevpc
Criticize the world Casually...

  • 2025-06-24 : Today we started new nuts 0.8.6 version

2025

· One min read
thevpc
Criticize the world Casually...

  • View Official releases here :

  • Starred releases are most stable ones.

nuts 0.8.5.0 (DEPLOYED on thevpc)

  • 2025-01-03 nuts 0.8.5.0 released download nuts-0.8.5.jar

  • ADDED: added NSession::isLogTermLevel, NSession::isVerboseTerm and equivalent for file log as well
  • FIXED: fixed ANSI support for resetLine in Swing Terminal Panel
  • ADDED: boot option (--boot-repository) to help considering this repo only to create the workspace (at create time)
  • ADDED: NRepository::isTemporary
  • ADDED: NPath::writeObject|NPath::writeMsg|NPath::writeText to handle efficient file writing (and or appending)
  • ADDED: better support in NRef for primitive type ( NIntRef has an inc method for instance)
  • ADDED: better added support for --@filepath format in commandline to embed files ars arguments
  • ADDED: better support of windows in nserver
  • ADDED: added support for ps and kill on windows, linux and macos
  • ADDED: added support of dependency resolution regardless of current OS environment (needed for bundles creation)
  • ADDED: added foundations for I18n
  • ADDED: added new runtime repository that supports (for now) netbeans and tomcat
  • ADDED: added simple Levenstein implementation to detect typos of boot commandline arguments and provide meaningful suggestions
  • ADDED: added rememberMe key in NAsk to help remembering user's input to avoid asking the same questions multiple times in same session.
  • ADDED: added simple templating (NTemplate) in NExpr to help manage text templating with simple expressions
  • ADDED: added new tool ndoc and nsite-lib (the related library) to generate statically html websites...

  • FIXED: enhanced NExprs toolkit to support complex expressions, and is now default for ndoc
  • DEPRECATED: deprecated for removal nclown (was really never used)
  • DEPRECATED: deprecated for removal old docusaurus website and replace with one new based on ndoc (a tool by nuts!!)
  • REMOVED: removed NFetch::isDependencies, NFetch::isEffective, NSearch::isDependencies, NSearch::isEffective (now information is loaded in lazy mode)
  • CHANGED: When generating preview jar, it will support natively thevpc.net
  • ADDED: added option --preview-repo | -U to help simplifying preview mode installation.
  • CHANGED: nuts-app now depends only on nuts-boot
  • CHANGED: extracted nuts boot that does only load runtime all within its API. This will make simpler api upgrades
  • CHANGED: nuts is exploded into nuts-boot (minimal bootstrap app), nuts (api library), nuts-lib (common library), two applications : nuts-app (minimal) and nuts-app-full (including runtime)
  • WARNING: The OSS License has changed from APACHE2 to LGPL3
  • REMOVED: cleanup and removal of javax.security (and all SecurityManager staff) as It's marked for removal for JDK 24
  • CHANGED: simplified NPathSPI interface to help simpler implementation of, let's say, in-memory files for instance
  • FIXED: fixed NStringBuilder::lines()
  • CHANGED: enhanced and simplified NProgressMonitor API
  • ADDED: added support for TSON (in progress)
  • CHANGED: introduced NAppRunOptions to help customize application behaviour when running NApplication (exit on termination, throw error when found, handle error and only show a short message,etc)
  • ADDED: added NPath::ensureEmptyDirectory, NPath::ensureEmptyFile to help delete file/folder content is a clean manner
  • ADDED: Now you can customize NOptional Message with NOptional::withMessage
  • FIXED: fixed several issues related to utility methods that generate NException whereas the workspace is not yet created
  • CHANGED: for now on, nuts jar will include information about if it supports automatically preview features. You still can disable them using repo filters.
  • CHANGED: refactored nuts to separate nuts-boot, nuts-api (nuts), nus-lib and nuts-runtime
  • 2024-09-06 started new version


2024

· One min read
thevpc
Criticize the world Casually...

nuts v0.8.5 is starting development phase. Many promising features to work on
  • cleaner API
  • library separated from app!
  • and much, much more...

2024

· One min read
thevpc
Criticize the world Casually...

nuts v0.8.4 is out. It's been a while. What's new? lots of things. but not only :
  • cleaner API
  • native image support
  • faster startup/warmup
  • better isolation
  • better desktop environment support
  • better service support
  • and much, much more...

View Official releases here : Starred releases are most stable ones.

nuts 0.8.4.0 (DEVELOPMENT VERSION)

  • 2024-04-25 nuts 0.8.4.0 released download nuts-0.8.6.jar

  • WARNING: The OSS License has changed from APACHE2 to LGPL3
  • WARNING : api API has evolved with incompatibilities with previous versions

  • CHANGED: renamed nlib-ssh to next-ssh et is promoted as extension
  • FIXED: Fixed maven url parsing on Windows platforms that prevented nsh from being installed
  • CHANGED: Prefix is now 'N' instead of 'Nuts'
  • ADDED: Add native installers for windows, linux and macOS
  • ADDED: Add links to pdf docs in website and offline documentation
  • ADDED: Add new nuts LOGO
  • ADDED: Add NOptional a feature riche replacement of java's Optional
  • ADDED: Add NEnvCondition/NEnvConditionBuilder::setProperties/getProperties
  • ADDED: Add NDescriptor/NDescriptorBuilder::setLicenses
  • ADDED: Add NDescriptor/NDescriptorBuilder::setDevelopers
  • ADDED: Add NConstants.IdProperties.DESKTOP_ENVIRONMENT -> NConstants.IdProperties.PROPERTIES
  • ADDED: Add NPath::getLongBaseName // longest file name before last '.'
  • ADDED: Add NMessageFormattable
  • ADDED: Add NDescribable now takes a Session instead of NElements
  • ADDED: Add cmdline arguments : --isolation,--confined, --sandbox
  • ADDED: promote cmdline arguments : --init-platforms,--init-launchers,--init-scripts, --init-java
  • ADDED: promote cmdline arguments : --desktop-launcher,--menu-launcher,--user-launcher
  • ADDED: Add 30+ unit tests
  • ADDED: NSession::isProgress
  • ADDED: NCommandline now extends NBlankable
  • ADDED: Added/Exposed Bean Reflection API : NReflectRepository,NReflectType,NReflectProperty
  • ADDED: Added NChronometer, NDuration
  • ADDED: Added Var Style (dollar based placeholder) in NMessage
  • ADDED: added NProgressMonitor and monitoring api
  • ADDED: NMemorySize and memory size api
  • ADDED: --progress=log now prints progress to log instead of stderr
  • CHANGED: Enum.parseLenient replaced by NOptional
  • CHANGED: Rename NConstants.IdProperties.DESKTOP_ENVIRONMENT -> NConstants.IdProperties.DESKTOP
  • CHANGED: Now NWorkspaceOptionsBuilder extends NWorkspaceOptions
  • CHANGED: Rename NRepositoryDB::getRepositoryNameByURL -> NRepositoryDB::getRepositoryNameByLocation
  • CHANGED: Rename NRepositoryDB::getRepositoryURLByName -> NRepositoryDB::getRepositoryLocationByName
  • CHANGED: Change type to long in NExecCmd::getSleepMillis()/setSleepMillis(int sleepMillis);
  • CHANGED: complete rewrite of NTF parser
  • CHANGED: classes refactored to be repackaged in inner packages
  • REMOVED: Remove session dependency from NVersion,NId and NDescriptor
  • REMOVED: Remove NBootOptions
  • REMOVED: removed CoreNumberUtils
  • REMOVED: NMessageFormatted

2022

· One min read
thevpc
Criticize the world Casually...

We are thrilled to announce v0.8.3 release of #nuts, the open source #java package manager intended to be #devops friendly. Look at this location (at github repo) for a small intro

View Official releases here : Starred releases are most stable ones.

nuts 0.8.3.1 (PUBLISHED VERSION)

  • 2022-02-01 nuts 0.8.3.1 released nuts-runtime-0.8.3.1.jar

  • UPDATED : move support to repositories "nuts-public" and "nuts-preview"
  • FIXED : Updated README
  • FIXED : runtime Fixed problem with dependency resolution whit maven's "import" scope

  • ROLLBACK : Rolled back test on maven-local
  • FIXED : Fixed nuts api without changing the version and without breaking the API, changes will be promoted to next version later
  • UPDATED : Updated NEXT API CHANGES
  • UPDATED : Updated .gitignore
  • FIXED : Fixed Help files
  • FIXED : Changed $ by $@- FIXED : Fixed NAF support in ncode

  • UPDATED : Updated TEST
  • FIXED : Fixed display of URL paths
  • PERF : Optimize Maven Dependency Resolver
  • FIXED : Fix reinstall so that it calls uninstaller component
  • FIXED : Fix recommendation connector API
  • FIXED : Fix Class Name resolution when using CGLIB
  • FIXED : Call clearLine before Progress
  • FIXED : Call resetLine before Log

nuts 0.8.3.0 (PUBLISHED VERSION)

  • 2021-01-05 nuts 0.8.3.0 (*) released download nuts-0.8.3.jar

  • WARNING : api API has evolved with incompatibilities with previous versions

  • ADDED : runtime now search --dry displays the search query plan

  • ADDED : api added command "settings install-log" to display installation logs

  • ADDED : api added NutsExpr to help parsing simple expressions (used or will be used in almost all commands)

  • CHANGED : api Simplified API

  • ADDED : api added NutsDescriptorFlag to match multiple descriptor info such as app, executable etc.

  • ADDED : api added NutsIOCopyAction.setSource(byte[]) and NutsIOHashAction.setSource(byte[])

  • ADDED : api removed NutsId.compatFilter and NutsVersion.compatFilter and replaced by compatNewer/compatOlder

  • ADDED : api replaced string messages with NutsMessage in NutsLogger

  • ADDED : api removed 'NutsInput' and 'NutsOutput'

  • ADDED : api removed 'NutsCommandlineFamily' and replaced by 'NutsShellFamily'

  • ADDED : api added 'NutsBootTerminal' to help nuts bootstrap using custom stdin/out end err

  • CHANGED : api added 'NutsHomeLocation' to replace compound key NutsOSFamily and NutsStoreLocation

  • ADDED : api added 'NutsPath.isDirectory' and 'NutsPath.isRegularFile'

  • CHANGED : api removed commandline options '-C' and '--no-color', you can use '--!color' instead

  • CHANGED : api removed commandline options '--no-switch' and '--no-progress', you can use '--!switch' and '--!progress' instead

  • CHANGED : api NutsResultList renamed to NutsStream and revamped with handy stream features and added ws.util.streamOf(...)

  • CHANGED : api ws.io.expandPath replaced by NutsPath.builder.setExpanded(true)

  • REMOVED : api removed deprecated ClassifierMapping

  • REMOVED : api removed NutsTokenFilter (little to no interest)

  • REMOVED : api removed deprecated feature inheritedLog

  • ADDED : api NutsVal, a simple wrapper for strings and objects with helpful converters used in args, env, options and properties.

  • CHANGED : api changed descriptor to add maven profiles support, mainly added platform for dependency and added os/platform etc to property

  • ADDED : api added NutsShellFamily to support bash, csh, and other shell families

  • ADDED : pom add Manifest Entry 'Automatic-Module-Name' in all projects to support j9+ module technology

  • FIXED : impl NutsFormat now creates any missing parent folder when calling print(Path/File) or println(Path/File)


2021

· One min read
thevpc
Criticize the world Casually...

View Official releases here : Starred releases are most stable ones.

nuts 0.8.2.0 (PUBLISHED VERSION)

  • 2021-09-04 nuts 0.8.2.0 (*) released download nuts-0.8.2.jar

  • WARNING: API has evolved with multiple incompatibilities with previous versions
  • FIXED: Fixed problem that requires reinstalling nuts each time we have a new version
  • FIXED: Fixed some Documentation issues (still fixing)

2021

· One min read
thevpc
Criticize the world Casually...

View Official releases here : Starred releases are most stable ones.

nuts 0.8.1.0 (PUBLISHED VERSION)

  • 2021-08-24 nuts 0.8.1.0 (*) released download nuts-0.8.1.jar

  • WARNING: API has evolved with multiple incompatibilities with previous versions
  • ADDED: api added static methods of() in interfaces to simplify instantiation

  • ADDED: api parseLenient to all NutsEnum classes

  • CHANGED: nadmin removed nadmin and merged into runtime (tight coupling!!)

  • REMOVED: api removed session.formatObject() as the session is now propagated silently

  • CHANGED: api removed NutsApplicationLifeCycle and replaced with NutsApplication (an interface instead of a class)

  • ADDED : api added support for parsing pom.xml (MAVEN) along with .nuts (nuts descriptors)- ADDED : api added io killProcess support

  • CHANGED: api added path API, implemented via nlib-ssh to add ssh support for paths

  • CHANGED: all remove dependencies, runtime has no dependencies, and others have the bare minimum

  • CHANGED: api session is from now on mandatory to perform any operation. A simple way to make it simple to use is to get a "session aware" workspace with session.getWorkspace()

  • ADDED : api added support for Yaml with minimal implementation

  • ADDED : api element now supports complex keys in Map Entries (Objects)

  • ADDED : api cmdline added support for History and implemented in JLine extension

  • ADDED : api cmdline added support for readline syntax coloring (using jline)

  • ADDED : api cmdline added --locale option to support multi languages. The option is reflected to Session as well

  • ADDED : api cmdline added ---key=value options to support extra properties

  • ADDED : api cmdline added -S short option, equivalent to --standalone

  • ADDED : api cmdline added NutsFormattedMessage to support formatted messages in a uniform manner (C-style, positional)

  • CHANGED: api cmdline both list and tree dependencies are now accessible as NutsDependencies

  • ADDED : runtime added support to community maven repositories : jcenter, jboss, spring, clojars, atlassian, atlassian-snapshot, google, oracle to use the repository you can add it as a permanent repository or temporary. here are some examples:

    • nuts nadmin add repository jcenter // add permanently the repository
    • nuts -r jcenter my-command // use temporarily the repository top run my-command
  • FIXED : runtime extension support (for JLine)

  • ADDED : runtime added minimal implementation for YAM

  • ADDED : runtime added fast implementation for JSON and removed gson dependency

  • CHANGED: runtime revamped Nuts Text Format to support simplified syntax but more verbose styles. Now supports #), ##), ###) and so on as Title Nodes. It supports as well the common markdown 'code' format with anti-quotes such as code goes here...

Other supported examples are: some command...

error message...

someKeyword

  • CHANGED: runtime help files now have extensions ".ntf" (for nuts text format) instead of ".help"

  • ADDED : njob added --help sub-command

  • FIXED : nsh fixed multiple inconsistencies and implemented a brand new parser

  • REMOVED: docusaurus-to-ascidoctor tool fully removed as replaced by a more mature ndocusaurus

  • REMOVED: ndi, removed project, merged into nadmin

  • REMOVED: nded, removed project, temporarily code added to nadmin, needs to be refactored

  • ADDED : ntalk-agent new modules nlib-talk-agent (library) and ntalk-agent (application using the library) that enable client to client communication. nlib-talk-agent is a broker that helps communication between nuts components with minimum overhead. nlib-talk-agent enables one workspace to talk with any other workspace without having to create one server socket for each workspace. It also enables singleton per location implementation


2020

· One min read
thevpc
Criticize the world Casually...

View Official releases here : Starred releases are most stable ones.

nuts 0.8.0.0 (PUBLISHED VERSION)

  • 2020-11-08? nuts 0.8.0.0 (*) released download nuts-0.8.0.jar

  • WARNING: this is the first version to be deployed to maven central. previous versions will no longer be supported
  • WARNING: this is a major version, API has evolved with multiple incompatibilities with previous versions

  • WARNING: The OSS License has changed from GPL3 to the more permessive Apache Licence v2.0
  • CHANGED: changed packages from net.vpc to net.thevpc (required for central to be aligned with website)
  • CHANGED: removed support for vpc-public-maven and vpc-public-nuts
  • CHANGED: -Z will update .bashrc file and switch back to default workspace

  • ADDED : when a dependency is missing it will be shown in the error message
  • ADDED : nuts commandline argument --N (--expire) to force reloading invoked artifacts (expire fetched jars). a related NSession.expireTime is introduced to force reinstall of any launched application and it dependencies, example: -N ndi

  • ADDED : install --strategy=install|reinstall|require|repair introduced to select install strategy (or sub command)
  • ADDED : NutsInput & NutsOutput to help considering reusable sources/targets
  • ADDED : nuts commandline argument --skip-errors to ignore unsupported commandline args
  • ADDED : new toolbox njob, to track service jobs (how many hours you are working on each service project)
  • ADDED : new next-term, to support jline console extension into nuts
  • ADDED : workspace.str() to create NutsStringBuilder
  • ADDED : 'switch' command in ndi to support switching from one workspace to another. example : switch -w other-workspace -a 0.8.0


2020

· One min read
thevpc
Criticize the world Casually...

View Official releases here : Starred releases are most stable ones.

nuts 0.7.2.0

WARNING: this version is not deployed to maven-central
  • 2020-09-23 nuts 0.7.2.0 (*) released download nuts-0.7.2.jar

  • FIXED : execute non installed artifacts sometimes do not ask for confirmation
  • ADDED : NutsCommandLineProcessor.prepare/exec/autoComplete
  • ADDED : NutsApplicationContext.processCommandLine(cmdLine)
  • ADDED : NutsApplicationContext.configureLast(cmdLine)
  • RENAMED: feenoo renamed to ncode*- ADDED : Docusaurus Website

  • ADDED : new toolbox ndocusaurus : Docusaurus Website templating

nuts 0.7.1.0

WARNING: this version is not deployed to maven-central
  • 2020-09-14 nuts 0.7.1.0 (*) released download nuts-0.7.1.jar

  • FIXED : reset stdout line when calling external processes
  • FIXED : fixed several display issues.

nuts 0.7.0.0

WARNING: this version is not deployed to maven-central
  • 2020-07-26 nuts 0.7.0.0 (*) released download nuts-0.7.0.jar

  • ADDED : NutsApplicationContext.processCommandLine(c)
  • ADDED : NutsWorkspaceCommand.copySession()
  • RENAMED: derby renamed to nderby
  • RENAMED: mysql renamed to nmysql
  • RENAMED: tomcat renamed to ntomcat
  • RENAMED: mvn renamed to nmvn

2020

· One min read
thevpc
Criticize the world Casually...

View Official releases here : Starred releases are most stable ones.

nuts 0.6.0.0

WARNING: this version is not deployed to maven-central
  • 2020-01-15 nuts 0.6.0.0 (*) released download nuts-0.6.0.jar

  • CHANGED : config file format changed
  • CHANGED : now installed packages are stored in 'installed' meta repository
  • CHANGED : alias files have extension changed form .njc to .cmd-alias.json

  • CHANGED : now nuts looks for system env variable NUTS_WORKSPACE for default workspace location
  • CHANGED : api and runtime are installed by default
  • CHANGED : now distinguishes between installed primary and installed dependencies packages.
  • ADDED : support for ROOT_CMD execution (SYSCALL was renamed USER_CMD)
  • ADDED : support for Interrupting Copy
  • ADDED : support to ps (list processes)
  • ADDED : support progress options
  • CHANGED : worky, searches now for modified deployments with same version but different content
  • FIXED : encoding problem with json/xml
  • REMOVED : NutsRepositorySession

2019

· One min read
thevpc
Criticize the world Casually...

nuts 0.5.8.0

WARNING: this version is not deployed to maven-central
  • 2019-09-02 nuts 0.5.8.0 (*) released download nuts-0.5.8.jar## nuts 0.5.7.0 WARNING: this version is not deployed to maven-central

  • 2019-07-23 nuts 0.5.7.0 (*) released download nuts-0.5.7.jar## nuts 0.5.6.0 WARNING: this version is not deployed to maven-central

  • 2019-06-23 nuts 0.5.6.0 released download nuts-0.5.6.jar## nuts 0.5.5.0 WARNING: this version is not deployed to maven-central

  • 2019-06-08 nuts 0.5.5.0 released download nuts-0.5.5.jar## nuts 0.5.4.0 Change Log WARNING: this version is not deployed to maven-central

  • 2019-04-21 nuts 0.5.4.0 (*) released download nuts-0.5.4.jar## nuts 0.5.3.0 Change Log WARNING: this version is not deployed to maven-central

  • 2019-01-05 nuts 0.5.3.0 released download nuts-0.5.3.jar## nuts 0.5.2.0 Change Log WARNING: this version is not deployed to maven-central

  • 2018-12-28 nuts 0.5.2.0 released download nuts-0.5.2.jar ## nuts 0.5.1.0 Change Log WARNING: this version is not deployed to maven-central

  • 2018-12-18 nuts 0.5.1.0 released download nuts-0.5.1.jar## nuts 0.5.0.0 Change Log WARNING: this version is not deployed to maven-central

  • 2018-11-25 nuts 0.5.0.0 released download nuts-0.5.0.jar

  • Very first published version. older ones were used internally for internal projects only.

2018

· One min read
thevpc
Criticize the world Casually...

This is the first version of the Nuts website.