Skip to content

20250315

Latest
Compare
Choose a tag to compare
@nmaguiar nmaguiar released this 15 Mar 17:38
· 83 commits to master since this release
6861932

BREAKING CHANGES

  • continue deprecating use with JRE 8; the main engine and functionality is now only JRE >= 21 compatible

Generic

  • Due to changes for JRE 21 on pre-compiled classes added compilation logic to check version and recompile if necessary automatically.
  • Fix script generation logic to handle parameter shifting and improve help display conditions
  • $path new functions: to_numSpace, from_numSpace
  • $path better handling of date conversion using Java (to_isoDate and to_date)
  • New "--py" option and "pyoaf" script to run Python scripts with OpenAF extensions
  • "ojob -syntax" besides including new oJob functionality has been increased in contents
  • New "ojob -i" for ojob assisted argument prompt.
  • New $pyExec function to start a Python script in "standalone" mode (as the main process but still connected to OpenAF)
  • New logFlush function to ensure when logging is asynchronous it's flushed.
  • Improvements on askChoose and askChooseMultiple functions to improve console output formatting and enhance line length handling
  • Fix double type handling in map output visualization
  • Increase support for oJob* functions to return results to code when using ow.oJob.output or $o
  • Improvements to SLON and nLinq language parsing.
  • Enhance SQL to NLinq conversion by adding missing support for NOT LIKE condition.
  • Bump nLinq with new attachBy, attachNotBy, and attachByEmpty.
  • Several security and performance improvements to the internal nwu (http server) functionality
  • Fix fo #1255
  • Improvements on shell completion generation performance.
  • Enhance printTree function to support mono and color options in output formatting (new output modes "btree" and "mtree")
  • Enhancements on printTable with focus on value type formatting.
  • Optimizations on URLClassLoader management with better loader caching
  • Upgraded to Mozilla Rhino 1.8.0

Libs bump

  • commons-io, commons-codec, commons-csv, commons-codec, commons-logging, gson, postgresql, Jackson, kotlin, kotlin-stdlib, jetty, jna, semver4j, okio, jsch, dns-java, snmp4j, snmp4j-agent, slf4j

AF

  • Function af.fromObj2XML now supports attribute prefixes when converting a JSON object to XML
  • New setInteractiveTerminal and unsetInteractiveTerminal functions to manage unix tty settings
  • Several improvements to fromJSSLON including YAML detection and parsing
  • Add handling for raw string input in fromJSSLON function in openaf.js ("$raw$")
  • Fix regex pattern in toYAML function to ensure proper key matching

oPack

  • Added support for multiple packages install, update and erase
  • Better install, update and erase operation summaries
  • New dependency ordering algorithm for installing, updating and erasing packages
  • Enhance to preinstall, postinstall, preerase, and posterase to accept arrays of shell commands with new environment variables (OAF_PATH, JAVA_HOME, OAF_HOME, OAF_VERSION, OAF_DIST and OJOB_HOME)
  • For preinstall, postinstall, preerase, and posterase javascript text based code the variables OAF_PATH, JAVA_HOME, OAF_HOME, OAF_VERSION, OAF_DIST and OJOB_HOME available on the args map.
  • Improved error handling on pre and post code actions.
  • New OAF_OPACKS environment variable (comma separated) with file paths or URLs to remote oPack repositories.

ow.oJob

  • Improvements to Go "lang" jobs
  • Small improvements on embedded shortcut jobs
  • #1225

ow.format

  • New toNumberSpacing and _fromNumberSpacing functions
  • New fromISODate function
  • Improvements to the fromTimeAbbreviation function

ow.obj

  • New ow.obj.syncMap.forEach for thread-safe forEach

ow.server

  • Improved MIME type handling and add support for additional file extensions
  • Improve error messages in ow.server.httpd.route
  • Improve Mermaid library loading logic to check for file existence before loading

ow.template

  • Added markdown code block copy button functionality (feature flag MD_CODECLIP)
  • Added support for trigger extras in Markdown to HTML conversion
  • Refactor helper and partial management to utilize syncMap for improved performance and consistency
  • Added support for forced or automated dark mode on HTML output (flag MD_DARKMODE ("auto", "true" and "false"))
  • Dark mode support on nJSMap
  • Better UTF-8 support on markdown HTML generation.
  • Refactor nJSMap function to handle nested arrays and improve output rendering.

ow.python

  • New alone mode letting you start a Python script, as the main process, and embedding OpenAF code on it
  • New functions execStandalone

ow.java

  • The getLocalJavaPIDs now allows specifying where is the temporary folder

ow.ai

  • Support for Google Gemini LLMs
  • Support for Anthropic LLMs

ow.metrics

  • Improvements on timestamp handling on fromOpenMetrics2Array

HTTPServer

  • Enhance error logging in JSResponse to include stack trace and exception class
  • New thread handling in nwu with flag HTTPD_THREADS
  • Enhance data handling in JSResponse to support multiple data types and improve error logging

SNMP

  • Enhance SNMP class to manage transport mapping and add close method for resource cleanup