Portable and lightweight cross-platform desktop application development framework
:warning: Nightly build: This nighly-release may contain experimental features and breaking changes.
No changes — this version is similar to the previous version
Update the config file option cli.binaryVersion
with nightly
and enter neu update
to fetch this version.
Get started: https://neutralino.js.org/docs
This release was auto-generated by ReleaseZri :rocket:
Neutralinojs offers the inbuilt borderless mode and draggable region API to create custom window frames using HTML and CSS. Earlier, Neutralinojs used a default opaque color (usually white) for the window and webview layer, so app developers couldn't make custom CSS-styled window frames transparent or implement custom window frame shapes (i.e., rounded edges). Now, it offers the window.transparent
boolean flag to activate window transparency.
If the transparency mode is on, the Neutralinojs window and webview use an alpha color layer and become transparent, so developers can use the rgba
CSS color function on body
background to handle the transparency level of the app.
The transparency mode can be activated using the --window-transparent=<bool>
internal command-line option too.
Note: This feature is not implemented for the Windows operating system yet.
clipboard.readImage()
and clipboard.writeImage(image)
functions to work with clipboard image data.clipboard.clear()
function to clear system clipboard.clipboard.getFormat()
function to check the system clipboard data format. This function returns text
, image
, and unknown
enum values based on existing data on the clipboard.Update the config file option cli.binaryVersion
with 5.1.0
and enter neu update
to fetch this version.
Get started: https://neutralino.js.org/docs
This release was auto-generated by ReleaseZri :rocket:
app.readProcessInput(readAll=false)
for reading string data from the standard input stream. This function can read a single line or multiple lines at once.app.writeProcessOutput
and app.writeProcessError
for sending string data to standard output and error streams accordingly.filesystem.createDirectory
function.filesystem.copy
, filesystem.move
, and filesystem.remove
functions.{recursive}
options object to filesystem.readDirectory(path, options)
activate recursive directory listing.os.execCommand
function.NL_TOKEN
) to connect to the Neutralinojs framework WebSocket server to receive app events.NL_ARCH
global variable returns the same value that computer.getArch
returns.filesystem.removeFile
, filesystem.removeDirectory
, filesystem.copyFile
, and filesystem.moveFile
functions.--nl-port
, --nl-token
, and --nl-extension-id
as command-line arguments. Now the framework sends these via stdin as a JSON string.Update the config file option cli.binaryVersion
with 5.0.0
and enter neu update
to fetch this version.
Get started: https://neutralino.js.org/docs
This release was auto-generated by ReleaseZri :rocket:
Developers sometimes use the user agent string to indentify the client in server-side and client-side source codes. Now, Neutralinojs lets app developers extend the default user agent string with a custom string via the window.extendUserAgentWith
configuration property and the --window-extend-user-agent-with=<string>
command-line option, as shown in the following example:
"window": {
// ---
"extendUserAgentWith": "MyAppClient"
}
The above configuration extends the user agent string:
console.log(navigator.userAgent) // <Default UA> MyAppClient
The Neutralinojs framework typically loads the application configuration content from the neutralino.config.json
file, but sometimes app developers need to use a custom configuration filename during development (i.e., For separating production and development environments). Now, you can use the --config-file=<filename>
internal command-line parameter to use a custom app configuration, as shown in the following example:
./myapp-linux_x64 --load-dir-res --config-file=neutralino-dev.config.json
Update the config file option cli.binaryVersion
with 4.15.0
and enter neu update
to fetch this version.
Get started: https://neutralino.js.org/docs
This release was auto-generated by ReleaseZri :rocket:
MACOSX_DEPLOYMENT_TARGET=10.7
Update the config file option cli.binaryVersion
with 4.14.1
and enter neu update
to fetch this version.
Get started: https://neutralino.js.org/docs
This release was auto-generated by ReleaseZri :rocket:
filesystem.getWatchers
function to get all created watchers.filesystem.updateOpenedFile(id, action, data)
function. This function implements readBinary
and readAllBinary
actions and dataBinary
output action in the openedFile
global event.filesystem.createWatcher
if there is an existing active watcher for the given path.os.execCommand(command, options)
now supports cwd
via the options object and os.spawnProcess(command, cwd)
accepts currently working directory via the second string parameter.filesystem.openFile
function.window
method executions on non-window modes.Update the config file option cli.binaryVersion
with 4.14.0
and enter neu update
to fetch this version.
Get started: https://neutralino.js.org/docs
This release was auto-generated by ReleaseZri :rocket:
Now the framework stores the primary window state in a temporary file (JSON formatted) and loads during the startup process.
This feature stores and sets the window position (x, y coordinates), size (width and height), and maximized status. This feature is enabled by default in all platforms, but app developers can turn it off by using false
for the window.useSavedState
configuration attribute or --window-use-saved-state
internal CLI argument.
Also, the window state loading status is available via the NL_WSAVSTLOADED
global variable. The framework sets true
for this boolean variable if the window state was loaded from the saved configuration.
Update the config file option cli.binaryVersion
with 4.13.0
and enter neu update
to fetch this version.
Get started: https://neutralino.js.org/docs
This release was auto-generated by ReleaseZri :rocket:
window.center
to center the application window programmatically.modes.window.x
and modes.window.y
integer config props.modes.window.center
boolean config props.--window-center=<true|false>
, --window-x=<int>
and --window-y=<int>
WebView2Loader.dll
file.Update the config file option cli.binaryVersion
with 4.12.0
and enter neu update
to fetch this version.
Get started: https://neutralino.js.org/docs
This release was auto-generated by ReleaseZri :rocket:
In some scenarios, Neutralinojs app developers need to implement file watchers in their apps. Earlier, Neutralinojs API didn't offer a native file watcher API and developers had to use less-performant workarounds, such as making recursive filesystem.readDirectory
calls. The new file watchers API lets you create native, cross-platform, event-based file watchers for filesystem paths with the following functions:
filesystem.createWatcher(path)
: Creates a new file watcher for a given path and returns the watcher identifier.filesystem.removeWatcher(watcherId)
: Removes a files watcher based on a file watcher identifier.Whenever a filesystem change occurs, file watcher instances dispatch the watchFile
event with the following data:
id
: Watcher identifieraction
: Filesystem change: add
, delete
, modified
, and moved
dir
: Directory pathfilename
: Modified fileUpdate the config file option cli.binaryVersion
with 4.11.0
and enter neu update
to fetch this version.
Get started: https://neutralino.js.org/docs
This release was auto-generated by ReleaseZri :rocket:
arm64
(For Apple M1 and higher devices) and universal binaries with the GitHub workflow.neutralino.config.json
file.arm64
systems.Neutralinojs typically stores the client library implementation in a separate file (neutralino.js
). This approach makes Neutralinojs app development
process easier with a globally exposed JavaScript object, Neutralino
. But, modern web developers use ES modules and they usually like to fetch dependencies from NPM. So, now, developers can load the __neutralino_globals.js
internal script (i.e., <script src="__neutralino_globals.js"></script>
) to load only globals. Then, they can use the client library implementation via neutralino.mjs
with the neu CLI or from @neutralinojs/lib
with a Node package manager.
Update the config file option cli.binaryVersion
with 4.10.0
and enter neu update
to fetch this version.
Get started: https://neutralino.js.org/docs
This release was auto-generated by ReleaseZri :rocket: