Change Log
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
not released yet nuts-runtime-0.8.4.0-rc1.jar- 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
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)
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)
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 asjava code goes here...
Other supported examples are:sh some command...
error error message...
kw 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
nuts 0.8.0.0 (PUBLISHED VERSION)
2020/11/8? 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.thevpc to net.thevpc (required for central to be aligned with website)
- CHANGED: removed support for vpc-public-maven and vpc-public-nuts
- CHANGED:
nuts -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 NutsSession.expireTime is introduced to force reinstall of any launched application and it dependencies, example:
nuts -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 :
ndi switch -w other-workspace -a 0.8.0
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
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
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- ADDED : support for Custom Monitor in Copy Command
- ADDED : support to javaw for windows (exec command supports --javaw or --win flag)
- ADDED : support to workspace custom logging (with support for colouring)
- ADDED : support to userProperties per repository
- ADDED : NutsString and NutsStringFormat to support 'Nuts Stream Format'
- ADDED : NutsWarkspaceAware to support initialize/dispose of NutsComponents
- ADDED : I/O Delete action
- ADDED : I/O Lock action
- ADDED : I/O Compress and Uncompress actions
- CHANGE : now if a command to execute ends with '!', we will force searching in installed only.
- CHANGE : removed install/uninstall in Terminal, replaced by NutsWorkspaceAware
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- ADDED : support to Windows (Tested on Win 7) and MacOS(Not Tested) ofr Desktop Integration
- ADDED : added session and Nuts(Add/Update/Remove)Options where applicable
- ADDED : Initial support for uri based workspaces
- ADDED : --dry option to help dry-run commands (test execution without side effects)
- ADDED : NutsApplication getShared*Folder() method for configuration shared between versions
- ADDED : flags (in Definition and search) : api,runtime,extension,companion
- CHANGED : Improved compatibility with Maven
- CHANGED : Improved Documentation (still to much to go though)
- CHANGED : Changed NutsCommandLine main api to simplify boot time implementations
- CHANGED : Renamed NutsEffectiveUser->NutsUser
- CHANGED : Renamed NutsRight->NutsPermission (and all subsequent methods)
- CHANGED : NutsExtensionInfo->NutsExtensionInformation
- CHANGED : NutsHttpConnectionFacade->NutsHttpConnection
- CHANGED : Added java.io.Serializable anchor when applicable
- REMOVED : NutsDefaultRepositoriesProvider,NutsSingletonClassLoaderProvider,NutsDefaultClassLoaderProvider,NutsWorkspaceSPI
- REMOVED : NutsRepositoryListener.onInstall(...)
- REMOVED : 'alternative' concept, and added NutsClassifierMapping so that classifier can be resolved according to env
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- ADDED : Implements XDG Base Directory Specification
- ADDED : Added Json Path support
- ADDED : Added NutsQuestionParser and NutsQuestionFormat
- CHANGED : Extensions are loaded by boot instead of impl so that one can change default impl behavour
- CHANGED : All repositories are now cache aware.
- CHANGED : Refactored *Format to extends the very same interface.
- CHANGED : Using to java.time package instead of older Date class
- CHANGED : Improved Documentation (still to much to go though)
- CHANGED : Prefer https repository urls
- FIXED : Fixed several issues
- REMOVED : [CommandLine] IMMEDIATE
- REMOVED : [Options] --term
- REMOVED : [Extensions] add/remove extensions from extension manager (should use install/uninstall commands)
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- REMOVED : Removed Nsh commands Console Deploy Info Install Fetch Uninstall,Push Update Exec Which
- REMOVED : Removed maven-github repository type support (web API)
- REMOVED : Removed nuts-cmd-app project dependency. A built-in NutsApplication is included in the api the help simplify extension.
- ADDED : Added support for XML,TABLE and TREE (along with JSON, PROPS and PLAIN) printing format to help automate result parsing
- ADDED : Added Better api in Nuts IO to handle SHA and MD5
- ADDED : json and xml nsh commands to help manipulating json and xml in commands outputs
- FIXED : Fixed fprint issue with "" (empty string)
- FIXED : Fixed Update indexes/stats command
- FIXED : When installing nuts, lookup latest core implementation
- CHANGED : Renamed FindCommand to SearchCommand (and some of their methods too)
- CHANGED : NutsIdFilter.accept accepts workspace as a second argument
- CHANGED : Improved Help text
- CHANGED : Improved Documentation (still to much to go through)
- ADDED : (nsh) Builtin nsh commands basename and dirname
- CHANGED : (nsh) Builtin nsh command who renamed to whoami
- REMOVED : (nfind) Removed nfind companion (the built-in search command is a better replacement)
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 -Added lucene indexing facility (thanks to the excellent work of nasreddine bac ali)- Removed dependencies to common,strings, io and utils (utility classes).
- Removed dependencies to asm (bytecode manipulation).
- From Now on only gson and jansi are retained.
- Layout changes
- from now on configuration will be version specific. some migration should be done to import previous configs
- system (global) repo is no more created under the workspace. Only a link to is is registered in nuts-workspace.json
- added MacOs Layout. Help is needed for testing this !
- Better support for JDK 8+ (New IO,Predicates, Streams, ...)
- Added Comprehensive implementation of Iterator (Stream Like) to better handle result iteration while search is in progress
- Speed improvements
- Added JUnit test battery
- Added support to JSON,PROPS and PLAIN result, implemented in version and info. Should continue implementing in other commands.
- Removed --license, --update, --install, ... options, replaced by workspace "internal" commands new concept.
- Workspaces handle several type of executables that will be resolved in that order : "internal command","aliases : aka workspace command aliases", "components", "path/unmanaged components" and system/native commands.
- Several Fixes
- Fixed Problem with Layout
- Fixed Problem coloring (fprint embedded library)
- All System properties now start with "nuts."
- System properties starting with "nuts.export." are exported to children processes
- Added watch dog agains infinite child process creation
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- (WINDOWS) First support to Windows platform
- Support for Console coloring on windows
- Storing to AppData\Local and AppData\Roaming folders
- ndi is not yet supported!
- (LINUX,UNIX) ndi no more stores to ~/bin but instead it updates .bashrc to point to current workspace added a confirmation question.
- API Change
- Moved getStoreRoot from NutsWorkspace to NutsWorkspaceConfigManager
- Added StoreType : CACHE,LIB
- Introduced NutsDeploymentBuilder,NutsIoManager,NutsParseManager,NutsFormatManager,DescriptorFormat
- Introduced NutsSessionTerminal,NutsSystemTerminal
- Added description, alternative (to support multi architecture nuts) descriptor properties
- Removed descriptor/id 'ext' and 'file' parameters. 'packaging' should be more than enough
- Removed Maps from config. Replaced by plain arrays
- Removed workspace.cwd
- Removed Temp File/Folder support
- Added Archetype "standalone" to help bundling and application with all its dependencies
- Several fixes
- Fixed Log configuration, introduced --log-inherited to enable inherited log-handlers
- Fixed support for install/uninstall hooks
- Fixed Repository Layout where ref repo folder is created twice
- Fixed Multiple pom download issue
- Fixed Gson parsing issue
- Fixed autocomplete support
- Fixed bad json format recovery
- nsh
- introduced pwd,set unset,alias,unalias,autocomplete commands
- fixed support to autocomplete
- TODO
- Code Comments
- Help files
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- Global refactoring
- Introduced NutsCommandExecBuilder, NutsDependencyBuilder, NutsDeploymentBuilder, NutsIdBuilder, NutsClassLoaderBuilder
- Extracted nsh commands as regular nuts package (nadmin, nfind) WORKING-ON : Fixing "mvn" start from nuts (handling, exclude, pom import and classifiers from maven)
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- FIXED : Fixed problem with inheritIO from child process (added InputStreamTransparentAdapter and OutputStreamTransparentAdapter interfaces)
- FIXED : Added distinction between workspace config and runtime boot api/runtime values
- FIXED : Do not read workspace version and dependency config from child process (because it may require distinct version of nuts)
- FIXED : Mkdir,cp, etc... used incorrectly cwd. Fixed.
- CHANGED : Optimized pom.xml parse execution time (using DOM instead of SAX)
- CHANGED : moved cache from bootstrap folder to default-workspace/cache
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.