Skip to content

Releases: OpenAF/openaf

20200108

09 Jan 03:12
Compare
Choose a tag to compare

Generic:

  • added isJavaException, isSchema (json schema), isBoolean, isNull, isUUID and isTNumber (truth number)
  • $cache shortcut function, ttl, use a pre-existing channel and max size
  • oDoc improvements on loading web based help
  • getJavaStackTrace helper function
  • update libs: googleauth
  • $rest: shortcut downloadResume option, optionally send a string has request and retry/retryWait options
  • added randomCryptSalt, secureRandom
  • jsonParse option to use gson library
  • $ch: getName (channel name)

Console:

  • corrected error reporting issues
  • pause by default
  • utf output and corrections when using table and view modes

oJob:

  • new option ojob.loadLibs/ojob.loads to preload any external lib

io:

  • Added shouldAppend argument to writeFileStream

ow.format:

  • added ow.format.printWithWaiting, logWithWaiting for print/log with a spining theme
  • ow.format.string: unicode, getSurrogatePair, getAstralCodePoint for unicode 8-bit and 16-bit conversions
  • howManyAgo: correction to get previous entry

ow.obj:

  • added thread-safe syncArray object
  • json schema: schema check, validation with internal caching

ow.server:

  • locks: check null timeout and better handling
  • cluster: error channel
  • new simple queue, channel based, implementation

ow.ch:

  • set and getSet function should always return data if successful

ow.java:

  • corrected error on encryptStream
  • improvement on maven.getDependencies
  • added setIgnoreSSLDomains to ignore SSL checking for a list of domains

XLS:

  • correcting index out of bounds errors when using getTable

20191002

02 Oct 18:43
Compare
Choose a tag to compare

Generic:

  • $rest new functions to return a stream or save to a file
  • $sh, $ssh new json output parser
  • $ssh new listFiles
  • odoc duplicate entries sorting fix
  • better printMap
  • updates to lodash, jansi, commons-codec and commons-compress
  • small bug corrections
  • SLF4JErrorOnly flag now defaults to false for embedded cases

AF:

  • new getEncoding, printStackTrace and toEncoding functions

IO:

  • new createTempFile

Console:

  • "view" result is now default
  • powershell script will no longer force code page
  • better encoding support in windows

oJob:

  • Internal termination checks
  • ojob.opacks triggers when loading so it's ready for the "includes" section
  • periodic jobs: new cronCheck option

ow.ch:

  • remote: new throwExceptions option and errorFn (error callback function)
  • remote: support for preAction
  • etcd2: support for throwExceptions and default
  • elasticsearch: support for preAction
  • etcd: support for preAction
  • syncs replaced with re-entrant locks
  • buffer: small bug corrections
  • mvs: small bug corrections

ow.obj:

  • rest functions can return streams
  • better encoding support for rest functions (enforces UTF-8 if no content-type is provided)

ow.server:

  • cluster: improvements on cluster wide locks
  • rest: new audit callback function

ow.format:

  • getActualTime: changed main service
  • new cron.howManyAgo function
  • new testPortLatency and testURLLatency functions

ow.java:

  • Added chiper (to encrypt/decrypt strings and streams using public key encryption)
  • new getMemory and gc functions

DB:

  • Support for JDBC dynamic driver loading

SNMP:

  • getOIDs will use a ScopePDU in version 3

20190809

09 Aug 18:12
Compare
Choose a tag to compare

General

  • $sh/$ssh get/exec functions can now reference results by index
  • updated lib versions
  • improvements on printMap calculations
  • $rest new parameter uriQuery
  • sleep new option to double-check time passed

oJob

  • shutdown jobs can now be executed ad-hoc (when calling an isolated oJob)
  • improved oJob processing end
  • ojob.catch new entry for default exception catch code

IO

  • new getCanonicalPath function

ZIP

  • streamPutFileStream accepts arrays of input streams & filenames
  • stream functions now optionally can use a temporary file instead of memory

ow.obj

  • timeout option for db pools

ow.ch

  • new unsetAll for channels
  • etcd implementation
  • new ow.ch.utils.syncCh

ow.server

  • cluster: channel peers implementation
  • cluster: inter nodes messaging and locking

20190716

17 Jul 01:13
Compare
Choose a tag to compare

Generic:

  • Rhino default language is now ES6
  • Custom classloader support for instrumentation
  • Repack now uses the JDK tools.jar if available
  • Updates to: fusejs and handlerbars
  • New $cache shortcut, isNull, descType, stopOpenAFAndRun, printMap, includeOPack, hmacSHA256 and hmacSHA512, __engineScript, new $openaf shortcut, forkOpenAF, $fnDef4Help, $m2a, sortMapKeys, $a2m, $fnM2A and $fnM.
  • The $rest shortcut has now pre-actions to change headers among others
  • New $sh and $ssh shortcuts

AF

  • New fromXML2Obj and fromObj2XML

Console

  • Better error handling and ansi detection

DB

  • Connection timeout specification

HTTP

  • New getBytes and getStream

HTTPd

  • New isAlive function

Ignite

  • Moved to the plugin-ignite opack

oJob

  • small improvements to non-sequential jobs
  • to/from improved
  • oJobRun now includes the init section
  • support for opacks definition with ojob.opacks

ow.ch

  • Small improvements on expose
  • Important bug corrections for the cache channel

ow.format

  • Change the alternate source of actual time
  • New getHostName and getHostAddress

ow.server

  • Small and simple shared storage based master nodes

20190424

24 Apr 12:09
Compare
Choose a tag to compare

Generic:

  • added isNotNull, isBoolean to _$
  • added support for plugin opacks
  • added support for sh input and output streams
  • small improvements (for example: loadExternalJars with cache)
  • small bug corrections
  • improved support for java > 8
  • new H2 util functions: createDBServer, createDB, showH2Console
  • new $from().pselect(func) for parallel function execution
  • new $tb ("thread-box") function to control execution by timeout or stop functions
  • new $rest function as shortcut to ow.obj.rest client with "thread-box", stats gathering, on error default reply and per url or host/port connection enable/disable flag
  • new function to protect/unprotect against system exit
  • correction on windows powershell openaf-console startup script generation
  • new __pm to act as an interface between __pmIn and __pmOut

DB:

  • jdbc driver is now infered from the JDBC URL for oracle, h2 and postgresql

CSV:

  • bug corrections on fromArray2File and fromFile2Array

oJob:

  • logToConsole output change to a smaller one
  • new ojob.async option
  • new init entry (args.init) to make initialization values easy to edit
  • jobs can be declared out of order due to a new job dependencies calculation prior to execution
  • ojob.unique.pidFile is now an evaluated string
  • java exceptions stacktraces are converted now to log arrays
  • jobs from/to no longer define the main job type as previously
  • option '-jobhelp' now doesn't need job name space quoting
  • global wait times adjusted for faster execution
  • flags to control console width and ansi support detection

oPack:

  • on update the previous package is now erased (only package declared files)

OWrap Format:

  • new command-line progress report functions
  • added helper functions for controlled streamed output (for example: adding a prefix to each output line)
  • new printWithFooter and printWithProgressFooter functions

OWrap Obj:

  • HTTP client: flag to control exceptions
  • HTTP client: new head function (for HTTP verb HEAD)
  • HTTP client: ability to set the default connection timeout
  • REST client: http client factory to control http connection creation
  • REST client: new function to obtain request length
  • REST client: support for the PATCH verb
  • support for setting HTTP, HTTPs, FTP and SOCKS proxies
  • new fromDBRS helper function to use DB result sets directly (usefull for large result sets)

OWrap Server:

  • HTTPd: internal css and fonts are now also mapped
  • HTTPd: map of headers is now provided for reply functions
  • HTTPd: appropriate internal content is now replied with compression

OWrap Ch:

  • MVS: small improvements and close on shutdown
  • improved waitForJobs
  • new buffer functions: closeBuffer and flushBuffer
  • new unpeer function
  • bug corrections on the buffer implementation

OWrap AI:

  • new neural network feedback function "put"

HTTP plugin:

  • support for wss (secure web sockets)

HTTPd plugin:

  • added map of headers for reply functions

GIT plugin:

  • new branch function to retrieve current branch

XLS plugin:

  • support for read-only mode
  • support for password protected XLS/XLSx

SSH plugin:

  • support for input and output execution streams

SMB plugin:

  • removed from the main code to handle better improvements (e.g. SMB3 support) as a plugin. Can be added by installing the 'plugin-smb' opack.

20190119

18 Jan 03:14
Compare
Choose a tag to compare

Generic:

  • removed unnecessary spaces and new lines from compress
  • improved support for Java >8
  • new function addOPackRemoteDB for private opack repositories
  • update to jsch, jsdiff and js-yaml

OWrap Obj:

  • object pools use function now interprets no return correctly
  • added new function setKeepaliveInMS
  • Channels: now defaults to "simple" instead of "big"
  • Channels: new 'proxy' channel type
  • Channels: added ow.ch.utils.getBufferSubscriber, ow.ch.utils.getStatsProxyFunction
  • Channels: ignite persistence options
  • Channels: small improvements
  • HTTP: correction on timeout

OWrap Format:

  • new functions: ow.format.string.printable (equivalent to strings in unix), ow.format.string.toHex and ow.format.string.toHexArray

oJob:

  • added ojob.checkStall options with a new internal thread scheduling mechanism
  • added ojob.argsFromEnvs for better container support
  • internal log limit reduced from 100 to 10

GIT plugin:

  • support for clone with credentials

SMB plugin:

  • added the "rm"" function

SNMP plugin:

  • v3 support with authentication and encryption
  • trap & inform added

20181207

07 Dec 01:30
Compare
Choose a tag to compare
  • core: changed the command option '-f' to behave like '--script' and added '-o'; adding function mapArray, $path and loadExternalJars; startup time optimizations; small bug corrections and enhancements
  • af: adding function fromJavaArray
  • console: new table command; postgresql error recover for sql command
  • ow.obj: added ow.obj.fromArray2DB ; adding option to reuse http object on ow.obj.rest; small bug corrections and enhancements
  • ow.server: added small local and distributed locks management functionality
  • ow.format: added toBase36 and fromBase36
  • ow.java: new openwrap lib integrating the Maven opack functionality
  • CSV: added setStreamFormat, fromStream, toStream, fromArray2File and fromFile2Array
  • oJob: startup time optimizations
  • external lib updates

20180930

30 Sep 19:01
Compare
Choose a tag to compare
  • New java-based repack for Java >= 9 compatibility
  • New custom class loader for Java >= 9 compatibility (requires —install to recreate launch scripts)
  • Corrected copy options for io.cp (removed atomic move)
  • openaf-console: sh alias uses /bin/sh instead of /bin/bash
  • ow.ch.peers: added a new default retry subscriber
  • oJob: bug correction on job types shutdown and subscribe
  • oJob: added ojob.channels.create, peers and id (alternative id) options

20180823

23 Aug 01:57
0f92777
Compare
Choose a tag to compare
  • Generic
    • Java NIO use is now default; several improvements on NIO based streams
    • Added getEnv* functions to retrieve environment variables
    • log* functions now accept individual call options (including async false or true)
    • sh/af.sh bug fixing when timeout is used
    • __noSLF4JErrorOnly flag to be able to avoid setting SLF4J to error level on startup
    • first implementation of __correctYAML to try to correct tabs (will get better in the future)
    • added isBinaryFile, isBinaryArray, bcrypt, io.writeLineNDJSON and io.readLinesNDJSON
    • support for AES256 using af.encrypt/af.decrypt
    • Improvements on the OAFEngine scripting engine
    • HTTP: enabling changing the user agent
    • DB: improvements on lob updating
  • OpenAF-console: added default sh alias
  • oPack: corrections on hash generation to avoid windows \r validation errors
  • oJob:
    • decrease the timeInterval default for decrease waiting time between untasked new job execution
    • ojob from/to can now access args, jobs and id
    • oJobRunJob accepts referring to a job by name make it easy for ad-hoc ojob execution; new oJobRunJobAsync
    • job task type ‘job’ ignores unique ojob settings (first parent settings prevail)
    • typeArgs can now be the result of openaf code in a string as args
    • all job types now support typeArgs ‘single’ to force them to only use one thread individually
  • ow.format: new functions for OS and Java information, new ldap date conversions
  • ow.server: support for more secure http based authentication (e.g. channels) with authAppGen and authAppCheck
  • ow.ch: new channel type buffer; better setAll implementation for elasticsearch; new getElasticQuery util function; expose now accepts login functions (like ow.server.authAppGen)
  • ow.obj: fromObj2Array was changed to try to set first the key on the array
  • ow.template: new addOpenAFHelpers
  • ow.ai:
    • added ID3, C45 and kmeans
    • features array helper
  • Libs update and other small bug fixing

20180527

26 May 20:18
Compare
Choose a tag to compare
  • SSH: improving sudo and exec map return