Releases: OpenAF/openaf
Releases · OpenAF/openaf
20240318
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
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
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
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
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)
20221216
Generic
- New functions: splitKVBySeparator, nowE, nowNanoE
- New flags: OJOB_SHAREARGS, HTTP_TIMEOUT, HTTP_CON_TIMEOUT
- When generating scripts (install) adds the env variable OAF_JARGS to make it easier to pass JVM args like memory limits
- oJobRunFile defaults for running with shareArgs disabled
- $path extended to support function: ends_with
- visibleLength improved to be faster and support a broader set of characters (e.g. including Asian)
- Updated libs
- Apache commons-text lib was removed
- Fixed $csv.fromInFn not properly using setStreamFormat
oJob
- Performance improvements on startup
- oJob.output support for types: res, args, ndjson, xml, map and set_ (which uses $set)
- oJob.output now supports arg __path to filter results
- Fixed previewFile to better handle includes
- Fixes on ojob.
- Better support, on jobs.check, for using references to global variables
- Supports integrity check using ow.java.checkDigest
oPack
- List sorting ignoring case
IO
- writeFileGzipStream now supports appending
ow.format
- New functions: wildcardTest
- Improvements on string.closest
ow.obj
- signVerify now supports ow.java.checkDigest
- ow.obj.filter now supports both $from and $path
ow.template
- Fixed OpenAFHelper get
ow.net
- New functions: ipv4SubNetInfo, getAddressInfo, ipv4SubNetInRange
ow.metrics
- fromObj2OpenMetrics now avoids using “_” as the first char in a label
ow.java
- New functions: getDigestAlgs, digestAsHex and checkDigest
- Improvements on getJarVersion
ow.dev
- obook: fixed support for mac keyboards
20220822
Breaking changes
- ow.template: built-in helpers now use “$” as a prefix
- okhttp makes all headers low-case
Generic
- HTTP libs moved from Apache HTTPComponents to OKHTTP
- range function (equivalent to python)
- Improvements on core code isolation
- “-c” option with better code separation
- Installation scripts try to determine where they are installed
- Improvements to includeOPack
- load/require: several improvements
- $doA2B improvements
- isJavaClass: to determine if value is a Java class
- $$ .getI: same as $$.get but case-insensitive
- nowTZ: same as now but adjusted to local time one
- $a4m: builds a map of maps from an array of maps (shortcut to ow.obj.fromArray2Obj)
- $m4a: builds an array of maps from a map of maps (shortcut to ow.obj.fromObj2Array)
- Sigil: corrected greater and greaterEquals
- $ch now supports not including the “compress” legacy first argument
- newFn: creates a new function supporting ow.debug
- printTree: new function to represent maps and arrays
- $csv: new shortcut to encapsulate CSV handling
- If a password starts with “$raw$” no check if it’s encrypted will be performed.
- Included nLinq for browser support
- All configuration files written are fallback to the current tmp directory if it’s not possible to write on the user home directory
Console
- Better handling of java exceptions
- Better handling of byte arrays
- Better handling of nulls
- Support for printTree faster representation by default (tree off to disable it)
oJob
- oJobRunJob correctly inherits ojob settings
- Supports template OpenAF, Format and Conditional helpers and “_state” helper (controlled by typeArgs.noTemplateArgs)
- jobsInclude will now not include any existing help legacy jobs
- Fixed handling of from/to and checks with different langs
- Support for JSON log (when OJOB_JSONLOG env variable is set to true or ojob.logOjob = true)
- Supports running local oJobs stored in __flags.OJOB_LOCALPATH directly (“-global” will list these oJobs)
- “-which” new option to determine from where an oJob will be executed (path)
- When ojob.sequential = true each job execution return (stored in $get(“res”)) will be included in the receiving rags.
oPack
- improvements on directory removal
- when retrieving from oPack server with authentication will try to keep credentials with $sec
- Repack improvements
AF
- compile now uses better optimization and language settings
- visibleLength: function to calculate aString visible length independently of string size (e.g. emoticons)
- parse: parses javascript code to an array of javascript lines
- Improvements on the handling of input in sh.
- support to work with older gson libs
IO
- readStreamJSON: reading a JSON file as a stream with a callback function to enable the parsing of large JSON files
- readFileBytesRO: reads a file’s bytes enforcing read-only mode if the file is locked.
- Several new functions to support TAR handling (https://docs.openaf.io/docs/guides/medium/reading-listing-writing-tar-files.html)
- pipeLn: supports waiting for stdin and calling a callback function to handle lines
- pipeCh: supports waiting for stdin and calling a callback function to handle characters
- createTempDir: creates a temporary directory that will be deleted upon execution end (similar to createTempFile)
SSH
- library upgraded to mwiede/jsch
SNMP
- Supports for traps with decimal values (#379)
- Better handling java objects
XML
- fromNodes2XML: converts the result of XML.find* into a E4X object
ow.format
- withSideLines: cosmetic improvements
- elapsedTime4ms: improvements
- getTmpDir: retrieves the system temporary directory
- getUserName: retrieves the current perceive user name
- string.chart: produces simple ascii based charts
- fromTimeAbbreviation: reverts to ms time from elapsed time
- New func type for string.grid
- Support for abbreviations in time ago
- Support for decimal values in fromBytesAbbreviation
- streamHandle: helper function to be used as an $sh callback to provide similar functionality to Unix’s expect.
ow.ch
- utils.getMirrorSubscriber: aFunc also provides the operation that triggers callback
- utils.poolChanges: supports triggering subscribe on channels by pooling for value changes (for small channels that don’t support value change notification)
- mvs: improvements
- elasticsearch: supports timeout option
- file: supports gzip and tmp (for temporary file usage) option
- buffer: several improvements on time option
ow.obj
- filter: allows to query arrays/maps with a map of options equivalent to $from
ow.server
- passive telemetry now supports option for json or openmetrics output
ow.net
- host4URL: given an URL will return host:port
- path4URL: given an URL will return the URI
- Include isIPv4, isIPv6, isURL and isHost
- getDNS: retrieves DNS information using dnsjava lib
- getCAStoredCertificates: get the current Java CA certificates
- getJSSECAStoredCertificates: get the current Java JSSE CA certificates
- getStoredCertificates: lists the certificates included in a file
ow.template
- adding OpenAF helpers $get and $getObj
- __flags.MD_NOMAXWIDTH controls if generated markdown should have a max width or not
- md.fromTable: converts a markdown table into a javascript array
- $dateDiff helper (from nAttrMon)
ow.metrics
- improvements to fromObj2OpenMetrics
- __flags.OPENMETRICS_LABEL_MAX restricts the maximum label length to the recommended 128 characters.
- added metrics from cgroup memory usage when running on Linux containers
- added metrics for hotspot VM performance
- Solved currency issue that would trigger “Cannot find function map in object [object Object]”
ow.test
- setKeepStackTrace to keep java exceptions on tests
- test results can now be stored
ow.java
- getCMemory: on Linux containers retrieves the current cgroup memory usage
- getLocalJavaPIDs: retrieves the current local Java running process PIDs
- parseHSPerf: for HotSpot based JVMs parses the performance data stored in the temporary folder
- encodeCert: encodes a certificate into a base64 PEM representation
- encodeKey: encodes a public or private key into a base64 PEM representation
- decodeKey: decodes a key encoded with encodeKey
- Ini: support for windows like “ini” files
ow.debug
- adding debug comment based optional debug features
ow.dev
- improvements on multi-line code support
Updated libs
- H2
- Jackson-*
- Logback
- Rhino
- PostgreSQL
- Jetty*
- Showdown
- FuseJS
- JQuery
- Lodash
- Highlight
- GSON
- nLinq
- Materialize
Other bugs & improvements
20211229
Potential breaking change: H2 version doesn't support old versions (use ojob.io/h2/export, ojob.io/h2/import and ojob.io/h2/onlineMigration for H2 db mitigation or ojob.io/oaf/mvs/import & ojob.io/oaf/mvs/export for H2 MVS mitigation)
Generic
- improvements on printTable and printMap
- $from: new cartesian and filter functions
- $rest: keeping request headers in upload (#305)
- isDef now correctly checks if it's a Java object
- improvements on Windows old command prompt UI detection
- new log formats supporting json and OpenAF's slon
- includeOPack will just add to the local opack db if include opack is a local folder (#312)
- improvements on isJavaObject to avoid stack overflows
- new $atomic .set and .setIf (#315)
- improvements on oPromise/$do (#316)
- sigil: new toNumber, toString, toBoolean, toArray, toDate and toMap conversion helpers
- initial support for Java 17
- small startup performance improvements
- oJobRunFile bug correction (#307)
- Java libraries updates (#300, #301, #317
oJob
- new language support for "sh"
- new jobs.typesArgs.url
- new todo.when supporting global states changed with ow.oJob.setState
- new help main entry with support for mandatory args and improved -jobhelp
- new active metrics (ojob.metrics.active) for nAttrMon and Prometheus
- new getMetric and setMetric functions
- new ojob.integrity for integrity check on includes
- new ojob.check for input and output arguments sigil-based checks and conversions (#318)
- job.exec now overrides job.execRequire
- improvements on async/sequential modes, job "res" return and include functionality
ow.format
- withSideLine themes and function
- new sshProgress support
- toDate new timezone argument
- withMD support for headings and tables
ow.ch
- new prometheus type
- Elasticsearch: getSet improvement and exception handling (#304); improved support for ElasticSearch 7.x; new seeAll option; new stamp option (#314)
- revision on several types to ensure key entries sorting when desirable
- waitForJobs improvements based on (#316)
- small bug corrections
ow.obj
- http: support for replacing existing headers like the user agent header
ow.server
- telemetry: new send2nAttrMon and send2Prometheus
ow.sec
- new support for secret files
- new special bucket "system" with environment variables based entries
ow.metrics
- More stats on $rest calls
- New log functions metrics
- New java related metrics
- fromObj2OpenMetrics improvements
- New fromOpenMetrics2Array
- Bug correction for $cache metrics
ow.java
- new getSystemProperties, getClassPath, getInputArguments and getLibraryPath
ow.python
- pid file is now placed on user's home
- try to fallback to python3 if python is not found
SSH
- sftpPut now correctly identifies between a string or a java stream in some situations
CSV
- improvements on stream format functions
20210721
Potential breaking changes on: ow.server.jwt
Generic
- Help is now offline by default
- Improvements to Windows ANSI handling (you might need to run --install to update startup scripts) #266
- new _i$ alternative to _$ that will interactive ask for input if not defined
- new $f and $ft wrappers around Java's Formatter
- new $lock wrapper around Java's Reentrant Locks
- new $flock wrapper around Java's file locking functionality
- new md2, sha384, hmacSHA384 and hmacSHA512 bug fixed
- ansiLength and ansiColor now support 8-bit color
- compare was improved
- plugin now supports different Java plugin classes on the same plugin oPack
- load improvements when errors are found or files are not found
- $rest improvements to avoid rare issues with the preAction option
- oPromise/$do small improvements
- Third-party libraries updates (including #275, #284, #286 )
Console
- Slight look&feel change: errors and help now have a colored side line in ANSI terminals; error info was also improved
- In Windows will output warning if started without UTF-8 encoding set
oJob
- Improved args handling under-the-woods
- Support for oJob map hash check integrity (by file or oPack) and/or JWT signature map validation
- You can now customizer the ojob.daemonFunc when daemon is set to true
- More languages small improvements
- execRequire forcely uses "oaf" language
- new ojob map code section so execRequire can have embedded code in the same file (useful for distribution scenarios)
- Added a ojobio alias
DB
- After establishing a connection it tries to set auto commit always to false
- Rollback will ignore errors (controllable by an argument flag)
- Connection user and password are only set if defined (to support JDBC drivers that don't use user/pass)
- New getAutoCommit and setAutoCommit for better direct control of auto commit connection flag
ow.format
- Wordwrap improvements and new "side line" formatting
- Very basic markdown support for console
- streamSHPrefix now has a template option
- xls.getStyle now ensures correct fill pattern if not specified
- xls.getColor now supports also color number indexes
ow.obj
- New sign, isSigned and signVerify functionality to sign map objects with a JWT
- flatMap now accepts a separator argument
- new reorderArrayMap to reorder keys of each map of an array of maps
ow.ch
- Big improvements on getHousekeepSubscriber to handle heavy concurrency situations
- Improvements on the "all" channel type (e.g. including custom functions for handling available keys and values)
- Improvements on the destroy method of "buffer" channel type
- The "file" channel type now supports using the new $flock
- waitForJobs returns immediately if no jobs are set
ow.server
- jwt was reimplemented. to use the jjwt library See odoc help to understand changes to arguments although functionality is pretty similar.
ow.net
- New getSSLPublicCertificates to retrieve public certificates from a HTTPS connection
- getPublicIP now has an alternative implementation and enables checking on other IP addresses too.
ow.template
- Improvements to OpenAF helper functions and added new ones
ow.ai
- New regression with functionality for calculating linear, power, exponential, logarithmic and polynomial regressions over a set of values
- New valuesArray with functionality for calculating deviation, variance and movingAverage over a set of values
SNMP plugin
- Update to libraries
- Fix engineId #267
20210515
Generic
- Small improvements on merge
- Main openaf_profile is now compiled if possible to improve startup
- Improvements on JSON and YAML generation that can be controlled with __JSONformat and __YAMLformat
- Updated libs jackson-core, postgresql, js-yaml
- Update to handlebars (security issue GHSA-f2jv-r9rf-7988)
AF
- The function af.fromXML2Obj now can have an optional prefix for XML attributes
oJob
- OJOB_AUTHORIZEDDOMAINS is now a global array so it can be set on profile also
- Small improvements on lang support
- Small improvements on using ansi output
- Supports safe or unsafe tags in YAML
oPack
- Preliminary support for per-user extra opack db allowing to install opacks on user space
ow.format
- New functions: getUserHome, getOSArch and getOSVersion
- Included shortcuts for: toBase64, fromBase64, md5, sha1, sha256, sha512, toBoolean, now, nowUTC, nowNano, hmacSHA256 and hmacSHA512
ow.ch
- New parameter to channel elasticsearch to include id calculation function
ow.obj
- New flatMap function
ow.java
- New cipher functions: saveKey2String, saveKey2Stream, readKey4String and readKey4Stream
ow.net
- New oWrap to include network related functions from ow.format and ow.java
ow.metrics
- Added metrics for architecture, openaf distribution and OS version
- Collecting OpenAF channel now also includes date object as key
- Improvements on stopCollecting