Skip to content

Releases: OpenAF/openaf

20251115

15 Nov 21:03
7505e8e

Choose a tag to compare

Generic

  • Unix/Mac support for Java CDS with direct improvement on startup time (created on install)
  • Bump chart.js library
  • Bump to commons-cli, commons-codec, commons-compress, commons-csv, commons-io, commons-lang3, commons-net, gson, h2, jacksons-annotations, jackson-core, jackson-databind, jetty-client, jetty-compression-common, jetty-http, jetty-io, jetty-util, jetty-web socket-, jjwt-, jna-*, jsch, kotlin-stdlib, ojdbc, okhttp, okio and postgresql
  • Support for Java 25
  • Support for shared JSON RPC connections (for LLM MCP servers support)
  • New global flag JSONRPC enabling setting the default STDIO mcp server working directory (when used with $mcp)
  • New global flag YAML enabling setting default YAML formatting and KYAML setting
  • Small improvements on ANSI color caching
  • $path new custom functions: "oafpd", "to_kyaml", "from_kyaml", "to_base64", "from_base64", "to_xml", "from_xml"
  • "pidKill" when force=true will now also try to kill children processes
  • New "fromJava2JS" to generically provide Java object conversion to javascript object
  • "sh" new option "exitCallback" that enables providing a callback function on "sh" process execution end with the corresponding exitcode (added also to $sh.exitcb)
  • "$mcp"/"$jsonrpc" new options "debug" (enables stdout output of jsonrpc communication) and "shared" (that will reuse existing jsonrpc connections when the same parameters are provided)
  • "$mcp" new type "ojob" that doesn't run the oJob MCP server as an external process but rather just runs the corresponding oJob's jobs (to reduce memory footprint and faster startup)
  • "$mcp" now adds a default protocol version to support connecting to MCP servers that require it.
  • New "$mcp.toGptTools" that will automatically add all MCP tools to a "$llm/$gpt" connection.
  • "askChoose" / "askChooseMultiple" now support going back to the bottom when going up from the first entry and going back to the top when going down from the last entry; also support "esc-esc" to cancel a return undefined.
  • New "$ssh.delTunnelLocal" and "$ssh.delTunnelRemote"
  • Small improvements in "nwu" http server type

AF

  • "af.getEnconding" improvements for performance and correctness
  • "af.toYAML" coloring option improvements
  • New "af.toKYAML" function
  • "externalAddClasspath" improvements integrating with OpenAF's class loader

DB

  • "usArray" now returns long numbers instead of integers and small internal improvements were made

Email

  • Small improvements to support libs bump

SNMP

  • Small improvements to support libs bump

ow.format

  • formatWithMD now supports also inline code and strikethrough

ow.java

  • "ini" now returns data in the correct original order

ow.template

  • Support for pos-markdown extra html snippets (e.g. to add javascript script tags)
  • Small bug corrections on markdown code blocks clipboard copy functionality
  • New global flag MD_CHART to include chartjs library
  • New "$toKYAML" handlebars custom function
  • Chart.js support was greatly improved
  • New "parseHTML2MD" function

ow.metrics

  • added OpenAF class loader metrics

ow.obj

  • Support for new okhttp major version

ow.net

  • "getActualTime" implementation was refactored to use NTP servers
  • new "createIP2ASNIndex" to create a json.gz index file to be quickly loaded when needed using new "getIP2ASNIndex" and searched using "asnIndexIP2ASN" and "asnIndexASN2IP"

ow.server

  • mcp servers now have a default mcp version field if not provided

ow.ai

  • $llm/$gpt new "setDebugCh" to audit/debug all communication to and from a LLM
  • New functions across LLM providers implementation to: getLastStats, getModelName, getEmbeddings (from LLM text embedding models)
  • $llm/$gpt new functions: getType, getModelName, getEmbeddings, getEmbeddingsWithStats, getLastStats, rawPromptWithStats, jsonPromptWithStats, withMcpTools and promptWithStats
  • Several individual improvements to each LLM provider implementation to reflect recent providers changes

ow.oJob

  • job.lang = "javascript" defaults to OpenAF javascript
  • shortcut addition internal was improved

oJob

  • New global flag OJOB_ARGS_FROM_ENVS equivalent to ojob.argsFromEnvs
  • New option "-f" that enables passing parameters in YAML, JSON or SLON (similar to oAFp's "-f")

oPack

  • New "-i" additional option for "remove4db" that adds interactive choice of oPack db to remove (similar to ojob.io/opack/remove)
  • Fixes #1523 (update to use original install path)

oAFp

  • New flag to support input db auto commit
  • New input "mcp" for LLM MCP servers
  • New input "minia" to support https://github.com/openaf/mini-a
  • New outputs "kyaml", "ckyaml", "lkyaml" and "clkyaml"
  • New output "ndcslon"
  • New output "rawascii"
  • Small bug corrections

Full Changelog: v20250721...v20251115

20250725

25 Jul 20:28
9869095

Choose a tag to compare

Generic

  • New 'nvl' function
  • New '$err' error handling functionality
  • New '$sync' function for synchronized execution of provided functions using ReentrantLock
  • New '$doV' as an alternative '$do' supporting virtual threads
  • New '$queue' thread-safe functionality
  • Several improvements to 'listFilesRecursive'
  • Improve support for Java 24
  • Improve performance and readability of splitArray and pForEach functions
  • Simplify ANSI handling in printTree function for improved readability
  • Libraries bump: jetty, commons-csv, jna, jna-platform, kotlin-stdlib, snmp4j, gson, okio, commons-io, commons-collection4, postgresql, semver4j, Jackson, oracle jdbc, commons-lang3
  • Fix date handling in $path
  • Fixes #1386, #1286

AF

  • New 'swap' function

IO

  • Support for LZ4 files and compression/decompression

Threads

  • Add support for virtual threads with initVirtualThreadPerTaskExecutor and addVirtualThread methods

HTTPd

  • Support for configurable HTTPd server buffer size
  • Add support for Java built-in HttpServer implementation ('java')
  • Add a new default 'nwu2' implementation based on Java 21 and with better SSL support

ow.format

  • Refactoring of the 'toBytesAbbreviation' function

ow.obj

  • Enhance key handling in fromObj2DBTableCreate for case sensitivity
  • New "at position" ow.obj.syncArray method signatures: add and addALL; new methods subList and isEmpty
  • Update data type description from NUMBER to NUMERIC in fromObj2DBTableCreate function

oJob

  • Improvements of shared arguments handling
  • New 'reference' documentation option with options to render or output reference in raw format
  • Update startLog call to include recordLogHistory in load function
  • Refactor host and IP retrieval for improved clarity and error handling

oPack

  • Update erase function to handle update scenarios

ow.server

  • Browse oPacks template and functionality
  • Improvements to browse files functionality
  • New JSONRPC endpoint implementation
  • New LLM MCP endpoint implementation
  • Refactored HTTPd route algorithm
  • Add HTTPD_CUSTOMURIS to manage custom URIs in HTTPD routing
  • Improved daemon for better performance

ow.ch

  • Added default value handling to $cache and $ch cache type
  • Small improvements to the channel type 'db'

ow.template

  • Added table sorting option for HTML output
  • MD parsing correct meta tag structure and improve CSS styling for responsiveness
  • New template handlers: 'nvl' and 'nl'

ow.ai

  • LLM: Adjusted system instructions for various supported APIs
  • LLM: Several update improvements to supported APIs

ow.java

  • Added Java Flight Recorder control methods

ow.metrics

  • Added flag to inform if a thread is virtual or not

20250315

15 Mar 17:38
6861932

Choose a tag to compare

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

20241117

17 Nov 08:34
2cfe58a

Choose a tag to compare

BREAKING CHANGES

  • deprecating use with JRE 8; some functionality will still work in JRE8 but recommended to use JRE 21
  • ask functions now use stderr*

Generic

  • Support for bash and zsh completion (oaf, opack, ojob and oafp)
  • load now supports providing the indication of the oPack to use (e.g. @my-opack/my.js)
  • merge function updated to improve performance when handling undefined objects
  • performance improvements on pForEach
  • getEnvsDef now parses SLON as well as JSON
  • askChoose improvements to support different terminals
  • console type detection improvements
  • new $fetch to mimic missing fetch with $rest functionality
  • $path new functions: if, at, random, srandom

Flags

  • OAF_FLAGS allows for a JSON/SLON map to change flags values

Libs bumps

  • commons-cli
  • commons-compress
  • commons-civ
  • commons-io
  • commons-logging
  • commons-lang3
  • dnsjava
  • jackson
  • kotlin
  • postgresql
  • jetty upgrade to 12
  • jna
  • jsch
  • okio
  • semver4j

AF

  • Improvements to fromJSSLON format detection
  • Support for colored YAML in toYAML

IO

  • new io.zip and io.unzip
  • Support lenient in readStreamJSON

ZIP

  • Add support for concurrent file system access in ZIP plugin

ow.ojob

  • Support 'cyaml' output format

ow.obj

  • http: support options.followSslRedirects and options.followRedirects

ow.sec

  • new $sec.procMap to process options from a map

ow.server

  • improvements to replyFile

ow.net

  • new getIP2ASNCache and getIP2ASN functions
  • getDNS with new extended data option

ow.ai

  • gpt: initial support for tools
  • gpt: support for custom headers in openai API wrapper

20240812

12 Aug 01:12
0c6affc

Choose a tag to compare

Generic

  • New Rhino javascript runtime (1.7.15)
  • Added functions to programmatically access oafp functionality
  • new $path functions: to_toml, from_toml, range, ranges, inc, dec, unset, getc, search_keys, search_values, k2a, geta, sql_format, sort_semver, sort_by_semver, progress, ch, path, opath, to_ms, env, envs, oafp
  • New OAF_CONSOLE boolean environment variable to force ansi color rendering in capable terminals (for example when using oafp with pipes)
  • New askChooseMultiple and improvements to askChoose with new color format theme options
  • New pForEach function for parallel forEach equivalent.
  • New askStruct function to make a questionnaire based on a provided map over using other “ask*” functions.
  • New filter capability for askChoose and askChooseMultiple
  • New byPopularity behaviour for $cache when maxSize is defined
  • For non javascript, json and yaml extensions the ‘—sb’ option will generate a oafp shebang addition
  • Support for oafp shebang as oafp-sb
  • Fixes and performance improvements on printTable
  • Improvements to parallel automatic load balancing
  • Performances improvements in printTree

Flags

  • New SH.prefixLog flag to control if $sh().prefix should use, by default, log or print functions
  • New HTTP_DEFAULT_HEADERS flag to control if default headers (e.g. Accept) should be included.
  • New HTTP_USE_MEDIA_TYPE flag to control the use of OkHttp media type functionality.
  • isJavaArray function to better determine if the Java object provided is an array
  • New PATH_CNF flag to allow for the inclusion of custom $path functions
  • New ALTERNATIVES.listFilesRecursive feature flag to use the new listFilesRecursive implementation
  • New ALTERNATIVES.colorify feature flag to use the new colorify implementation

Libs bumps

  • Commons-Cli, Commons-Codec, Commons-Compress, Commons-CSV, Commons-Logging, Commons-IO, Commons-Net
  • GSON
  • Jetty
  • Jackson
  • JSCH
  • JJWT
  • Kotlin
  • H2
  • PostgreSQL
  • SNMP4J
  • DNSJava
  • SLF4J

oJob

IO

  • Performance improvements and new mode, permissions and linkName fields to io.listFilesTAR

SSH

  • New getSession, isConnected and sendKeepAlive functions

ow.format

  • New sqlFormat to beautify SQL statements for different databases
  • “string.wordWrap” improvements
  • New semVer for semantic versioning handling

ow.obj

  • Improvements to rest functions character enconding
  • New syncMap for synchronized javascript Map functionality
  • New key2array to return the values of filtered keys
  • Fix #1017

ow.ch

  • Small improvements to server
  • New option multifile for type file

ow.ai

  • GPT getModels
  • Improvements on normalize.withSchema
  • New normalize.denormalizeWithSchema to denormalize previously normalized data given a schema
  • New gpt.promptImgGen function to support image generation transformation models
  • New normalize.softMax and normalize.quantitize
  • Improvements to GPT external models API requests
  • Support for brainjs with new network types: neuralnetwork, rnntimestep, lstmtimestep, grutimestep, rnn, lstm, gru, feedforward and recurrent

ow.java

  • cipher.getCert4String function to obtain a Java certificate object from a string certificate representation (X509)
  • parseHSPerf improved to be able to read dumps right after shutdown of the original java process
  • withMD as new color theme options for better customization (specially for light and dark terminals)

ow.template

  • new helper function oafp

20240318

18 Mar 22:03
36aaef2

Choose a tag to compare

Generic

  • New oafp tool (from https://openaf.io/openaf/oafp)
  • Refactor "merge" to better handle arrays and maps
  • Improvements on ask and askChoose
  • $path: several new custom functions
  • Fix SQL query method auto determination when functions are used
  • $sql improved to have a configurable sample of records for column type detection
  • Fixes to oJobRunFile and $job
  • #913
  • #920
  • new conReset function
  • Refactor and fixes to af.fromXML2Obj
  • Refactor of sortMapKeys to handle nested maps and arrays
  • Fix ansi colors and performance improvements on printTree
  • Fixes and improvements on $o/$output
  • Fix ignoreNonJson option on the jsonParse function
  • Improvements to the isJavaObject function
  • Improvement on print buffer stream size
  • Remove logback library
  • Refactor $$ get and set functions
  • Stringify corrected to handle null elements on arrays
  • New "splitBySepWithEnc" function
  • New af.fromJSSLON function
  • Improvements to printChart function to support dec4, hSize and vSize
  • Improvements on splitKVBySeperator
  • Bump libraries: jackson, slf4j, jsch, jjwt, commons-codec, okio, jetty, postgresql, commons-compress, diff, kotlin and others
  • Improvements to color render for printMap
  • Support for oafp opack libraries extensions
  • printBars support for custom space characters
  • genscript (--install) now checks for Java runtime module support
  • new OAF_LEVEL environment variable to influence the Rhino compile level (default is 9)
  • Adding Open wrapper oBook (promoted from ow.dev)
  • Add the javascript chart.js library

oJob

  • Corrected missing parallel shortcuts args and considering only defined args in shortcut definitions
  • Fix job sec get secEnv boolean parsing
  • job.check._in and job.check._out for checks above the from/to scope
  • Improvements on listing global jobs
  • Refactor stdout handling
  • Fix console initialisation
  • New ojob ask included job

oPack

  • Install and erase operation now tries to remove old files

ow.format

  • New string.pauseString function
  • New string.tabExpand function
  • Add ANSI scroll up/down function
  • withMD function now removes HTML tags and script code adding horizontal line support
  • grid support for md and text types and corresponding word wrapping
  • Refactor progress bar to dynamically determine size

ow.obj

  • Fixes and improvements to fromArray2DB and fromObj2DBTableCreate
  • filterKeys was refactored for faster execution

ow.ch

  • Refactor of the 'simple' type for a much faster and lighter implementation

ow.sec

  • Support for SLON based bucket environment variable data

ow.java

  • New jcmd, pidSystemProperties and pidThreadDump functions
  • Added support for using the BouncyCastle opack when generating certificates with Java 21
  • Fix SSL certificate verification for custom domains to allow "insecure" like access in development situations

ow.ai

  • LLM json output parameter support
  • LLM support for custom like OpenAI APIs
  • GPT keep conversation functionality

ow.metrics

  • Fixed fromObj2OpenMetrics labels of map arrays
  • Fix on round method call

ow.test

  • Test functions can now receive a data argument

ow.template

  • Support UTF-9 in parseMD2HTML
  • Added OpenAF helper $pchart, $pbars and $pbar

CSV

  • Fix CSV parsing logic

JMX

  • Refactor to be also used with JRE setups

20231222

23 Dec 00:14
be94e9d

Choose a tag to compare

Breaking Changes: SNMP.trap changed it's signature to include time

Generic

  • traverse, merge and extend were refactored for performance (you can control the use of the new version with __flags.ALTERNATIVES)
  • new $output/$o function equivalent to the functionality provided by ow.oJob.output
  • the $sql method now defaults to automatic determination if it should use nlinq or H2 to achieve the desire result and supports multiple tables
  • printChart now supports "-min" and "-max" to specify the chart scale
  • performance improvements in printTree
  • jsonParse: improved ignoreNonJson detection
  • $llm/$gpt shortcut for ow.ai.gpt functionality
  • new option on getNumberOfCores to return the real number of cores independently of multiply factor applied
  • new $await.notifyAll
  • new askChoose function
  • removal of logback for security reasons
  • bump of jjwt, okhttp, commons-io, jsch, commons-cli, kotlin-stdlib, dnsjava, postgresql, commons-compress, commons-io, commons-lang3, Jackson-annotations, commons-logging, jna, slf4j-api, jQuery, +materialize2 and commons-email

oJob

  • better support for escaping double-quotes in args (requires regenerating the ojob script with oaf --install)
  • new typeArgs.eachThreads to establish the number of threads use with "each" jobs
  • new typeArgs.pwd for all langs except openaf, js, python and ssh

DB

  • better support for date and timestamp dates with changes across several functions

ZIP

  • new streamCreate and streamCreateFolder functions

SNMP

  • change to SNMP.trap to allow to specify the time parameter

ow.obj

  • fromObj2TableCreate better detection of boolean, number and timestamps

ow.format

  • bool shortcut for string.bool
  • string.grid improvements
  • withMD: better italic and bold support
  • new percentile function

ow.ai

  • new ow.ai.gpt to support Generate Propose Transformer models and Large Language Models (LLM)
  • support for LLM using APIs from Ollama and OpenAI

ow.metrics

  • improvement of performance in ow.metrics.fromObj2OpenMetrics

20231014

14 Oct 17:28
306224a

Choose a tag to compare

IMPORTANT: GIT plugin has been moved to an external plugin-git

Generic

  • Support for ojob shebang (detected by the extension of the provided file)
  • Bump libraries: h2, commons-lang3, handlebars, nLinq, jetty, commons-compress, commons-net, jackson, kotlin-stdlib, jjwt, jsch, okio, okio-jvm and kotlin-stdlib
  • #612
  • Added af.toCSLON and changed lprint* functions to optionally use it
  • Added ansiMove function
  • printTable word-wrap functionality
  • Improved table color settings
  • Thread pool factor is now, by default, 2
  • Sigil lib added $$.unset + support for “or” and dotted key strings.
  • clone function improved for arrays
  • Generated scripts improvements
  • “includeOPack” function will try to avoid interactive questions
  • Performance improvements on sortMapKeys
  • New object query method using simple SQL (af.fromSQL, af.fromSQL2NLinq and $sql)
  • New option on af.toYAML to “sanitize” an object that contains java objects
  • New option on af.fromObj2XML to “sanitize” an object that contains java objects
  • printTable support for banded rows for easier reading
  • Small performance improvements on printTree
  • New option on jsonParse to ignore non json prefixes and suffixes

oJob

  • New “-syntax” option to display all oJob yaml based entry combinations for reference
  • The included ojob jobs now also have shortcuts reference for each
  • New output options: stable, ctable
  • New output querying arg: __sql
  • #613
  • #653
  • Langs support for argsFn, returnRE, returnFn and pre & pos code to handle args
  • New langs support for node.
  • Improvements to oJob debug
  • Option to output the original markdown for “ojob print md”
  • Improvements to avoid duplicated shortcut/job
  • New include ojob shortcuts: “run”, “convert” and “debug”
  • “ojob query” now also supports SQL
  • New option to skip the load of jobs in loadJSON

ow.format

  • withMD: support dash separator, side line, code blocks, bullets, numbered lists, word wrap tables and links
  • New string.wordWrapArray
  • New side line themes: closedOneSpace, simpleOneSpace, doubleOneSpace, openCurvedSpace, blockCurvedSpace
  • New option for streamSHPrefix to allow handling of output after prefix printing

ow.obj

  • #624
  • Performance improvements on filterKeys

ow.template

  • Added OpenAF helpers: $pass, $sline, $startsWith, $endsWith, $match, $concat and $set
  • #638
  • Support for custom js libs for static html gen (with Mermaid in mind)

ow.server

  • https now reuses previous httpd objects by port
  • Improvements on httpd.replyData

ow.java

ow.test

  • Including assert stats

ow.ai

  • Added +convertBools option to normalize

20230704

04 Jul 21:30
842ad3d

Choose a tag to compare

Generic

  • new "-v" option to display the OpenAF version and distribution
  • improved color cache for ansiColor
  • bump on jetty, nlinq, jQuery, dnsjava, jjwt, kotlin, commons-csv, jackson, jna, commons-io, snmp4j, commons-cli, commons-compress, commons-lang3, ojdbc, okhttp, okio, postgresql, commons-codec
  • $path - added custom functions: count_by, unique, to_map, flat_map, delete, substring, groupBy, search_keys and search_values
  • new printChart, printBars, print, ansiLength function
  • new $t shortcut for templify
  • new getEnvsDef and improvements on getEnvs
  • $csv improvements to handle dates, maps and arrays
  • new $sh.getYaml
  • new force exit option
  • automated ocli update support
  • improvements on njsmap to display correctly missing properties on tables
  • improvements on exceptions handling on compileToClasses
  • new flags to control precompile level
  • changed colors and template for ask* functions
  • genUUID alternative implementation

AF

  • new fromSLON parser function
  • new fromNLinq parser function

IO

  • io.writeFileTARStream now adds the modified date
  • new flag to change the default buffer size used

oPack

  • indicates when an operation is done
  • small improvements on new line logs
  • ensure sorting of files in metadata package generation

ow.oJob

  • new color theme with console logs going to stderr now by default
  • new ojob shortcuts functionality
  • faster includeOJob that now happens by default
  • new options for nolog/ignoreNoLog specially for ojob shortcuts
  • new ojob.depsOnFail option
  • new ojob pass (handling nulls in args) and print md job (several improvements on existing included ojobs)
  • improvements to todo args passing
  • delayed the automatic oaf::global creation to allow to define the channel with a different type and options
  • several small improvements including for subjoins
  • support for templateArgs in individual oJob using typeArgs
  • output: new csv, key and html output
  • correction on inPM
  • support for changing OpenAF flags on startup
  • support multi map checks in jobs[].check
  • disabled new feature to test warnings for jobs changes and removal

ow.format

  • new string.dataLineChart, dataClean, lineChart, updateLine and bool
  • fromTimeAbbreviation now includes "w" (week)
  • added toBase32, fromBase32, toBase16, fromBase16 and hmacSHA1
  • improvements to string.grid including support for charts, area and bar
  • improved unicode syms
  • improve printWithWaiting to support suffixes
  • new toCSLON function

ow.server

  • support for external js libs like mermaid

ow.template

  • new acolor, toJSON, from, ptable, tree, cjson, cslon, pmap, jsmap, $t, data, isoDate, number, boolean, string, keys, values, __, alen, len, repeat, a2m, a4m, m2a, m4a and helper
  • parseMD2HTML now can have default and specific showdown options

ow.java

  • updates to oDoc
  • new getCCPU, getLinuxUptime and getLinuxCPUInfo functions
  • new getLatestversionString function

SSH

  • support ssh urls without passwords
  • bump jsch library

20230325

25 Mar 23:19
b705663

Choose a tag to compare

Generic

  • Improvements on the fnDef4Help
  • sigil: support java objects
  • updated libs: jetty, gson, Jackson, jsch, okhttp,
  • new OAF_HOME env variable

oJob

  • Setting ojob.includeOJob adds the embedded ojob.yaml from oJob-common that it's now include in this distro
  • new ojob.poolThreadFactor to enable better control on the number of threads used
  • new ojob.owraps to automatically load ow.load*
  • jobhelp improvements
  • support in printTable & printTree for background color
  • better support of args in from/to jobs
  • new output format 'cjson'

ow.format

  • string.wildcardRE to generate the regular expression that implements the wildcard filtering
  • new fromSIAbbreviaton function
  • correction of word-wrap in withSideLine

ow.debug

  • new types: tree, block and table

ow.sec

  • $sec.encSKey enables retrieving the encrypted version of a sbucket with the current main secret for the repo
  • fixing encryption or plain text secret files

ow.net

  • new functions sendUDPPacket and sendTCPPacket

ow.ch

  • ensure lock assignments are sync

ow.java

  • function cipher.getCert4File to retrieve a certificate object from a file

ow.template

  • added the $$ template helper
  • added $switch, $case and $default template helpers

ow.python

  • new _g (equivalent to $get) and _s functions (equivalent to $set)