Skip to content

Releases: Permafrost/Tundra

v0.0.8

13 Feb 11:12
Compare
Choose a tag to compare
v0.0.8 Pre-release
Pre-release

The changes included in this release are as follows:

  • change tundra.content:discard to support being wrapped by another service, and being executed using the /soap/rpc handlers
  • change tundra.content:reject to support being wrapped by another service, and being executed using the /soap/rpc handlers

To install, download Tundra-v0.0.8.zip, copy to IntegrationServer/replicate/inbound, and install the release via the package management web page.

v0.0.7

01 Oct 07:01
Compare
Choose a tag to compare
v0.0.7 Pre-release
Pre-release

The changes included in this release are as follows:

  • add tundra.assertion.datetime:equal and :unequal services
  • add tundra.bool:* services for manipulating boolean values
  • add tundra.content:discard and :reject gateway services for successfully receiving and throwing away and rejecting content respectively
  • add tundra.datetime:emit and :parse services for converting between datetime strings and java.util.Date objects
  • add tundra.decimal:average, :maximum, and :minimum for calculating the average, maximum, and minimum from a list of decimals
  • add tundra.directory:join to construct a single file path from a parent directory and child path or file
  • add tundra.directory:ls as an alternative to tundra.directory:list for when performance is a priority over ease of use
  • add tundra.document:clear to remove all keys except those specified from the given IData document
  • add tundra.document:emit and :parse for encoding/decoding IData objects as XML
  • add tundra.document:sort to sort an IData by its keys in natural ascending order
  • add tundra.document:squeeze to trim all leading and trailing whitespace, then convert empty strings to null, then compact the IData document by removing all null values
  • add tundra.file:match to check if a given file matches a regular expression or wildcard pattern
  • add tundra.integer:average, :maximum, and :minimum for calculating the average, maximum, and minimum from a list of integers
  • add tundra.list.document:clear to remove all keys except for those specified from each IData document in the given list
  • add tundra.pipeline:clear to remove all keys except those specified from the pipeline
  • add tundra.pipeline:emit and :parse for encoding/decoding the pipeline as XML
  • change tundra.content:deliver to return the delivery response body when applicable
  • change tundra.content:emit to HTML-encode values by default when emitting XML
  • change tundra.datetime:add, :compare, :duration, and :subtract to support datetimes other than ISO8601
  • change tundra.datetime:format so that when the input is null or absent, the output is now guaranteed to be absent rather than null, so that when mapping to an IData structure null elements are not created inadvertently
  • change tundra.datetime:format to support JDBC named patterns, and use java.sql.Timestamp to parse and emit JDBC datetime strings
  • change tundra.directory:list to improve performance, and fix a NullPointerException when the directory doesn't exist
  • change tundra.document:rename to fix bug when old and new keys are the same
  • change tundra.document:split to support the input and output arguments being the same for the translation service
  • change tundra.document:translate to fix a variable substitution bug in an error message
  • change tundra.document:translate to support the input and output arguments being the same for the translation service
  • change tundra.http:client to have unambiguous and distinct input ($request) and output ($response) arguments [backwards incompatible]
  • change tundra.integer:decrement input argument to be optional so that you don't need to initialize a counter variable to zero prior to calling this service in a loop
  • change tundra.integer:increment input argument to be optional so that you don't need to initialize a counter variable to zero prior to calling this service in a loop
  • change tundra.uri:parse so that malformed URIs now return more meaningful error messages
  • delete all tundra.support.test:* services from Tundra, and moved them to new TundraTest package to keep Tundra as lightweight as possible, and to avoid inadvertently running the test services in production

To install, download Tundra-v0.0.7.zip, copy to IntegrationServer/replicate/inbound, and install the release via the package management web page.

v0.0.6

20 Jul 03:00
Compare
Choose a tag to compare
v0.0.6 Pre-release
Pre-release

The changes included in this release are as follows:

  • add tundra.content:retrieve to fetch content from a source URI and process it with the given content processing service
  • add tundra.document:listify to normalize an IData or IData[] item in the pipeline to an IData[]
  • add tundra.list.string:match to partition a list of strings into separate lists of matched and unmatched strings by matching each item against the given regular expression
  • add tundra.mime.type:* services for parsing and emitting mime types
  • add tundra.node:access to set ACL permissions on namespace nodes
  • add tundra.object:listify to normalize an Object or Object[] item in the pipeline to an Object[]
  • add tundra.string:listify to normalize a String or String[] item in the pipeline to a String[]
  • add tundra.system:reflect to return system settings (Java properties, environment settings) and state (Java heap memory usage)
  • add tundra.user:current to return the currently logged on user invoking the service
  • change tundra.content:deliver to correctly allow any additional variables to be passed in $pipeline
  • change tundra.content:deliver to correctly extract the authority component of HTTP URIs
  • change tundra.content:deliver to support mailto: URI delivery
  • change tundra.directory:list to support wildcard/glob pattern matching, as well as regular expression matching
  • change tundra.list.*:drop services to return $list to improve their usefulness
  • change tundra.object:instance now always returns $instance?
  • change tundra.support:startup to set appropriate ACL permissions on tundra nodes
  • change tundra.xml:validate to return $valid? as false when $content is null

To install, download Tundra-v0.0.6.zip, copy to IntegrationServer/replicate/inbound, and install the release via the package management web page.

v0.0.5

03 Jul 09:49
Compare
Choose a tag to compare
v0.0.5 Pre-release
Pre-release

The changes included in this release are as follows:

  • add tundra.xpath:exists to test whether an XPath query exists in an XML document
  • add tundra.list.service:chain for calling a list of services sequentially with a shared pipeline
  • add tundra.list.service:ensure to provide a try/catch/finally pattern while invoking a list of services sequentially with a shared pipeline
  • add tundra.document:first and tundra.document:last to return the first and last {key, value} pair in an IData document
  • add tundra.pipeline:first and tundra.pipeline:last to return the first and last {key, value} pair in the pipeline
  • add tundra.integer:* services for working with arbitrary precision integers (uses java.math.BigInteger for its implementation)
  • add tundra.decimal:* services for working with arbitrary precision decimals (uses java.math.BigDecimal for its implementation)
  • add tundra.condition:evaluate for testing conditional predicates against the pipeline or optional scope IData document
  • add tundra.service:validate to test whether a named service exists
  • add tundra.content:amend and tundra.document:amend for making precise inline edits in XML or flat file content, or IData documents
  • change tundra.content:split to support splitting content into disparate schemas

To install, download Tundra-v0.0.5.zip, copy to IntegrationServer/replicate/inbound, and install the release via the package management web page.

v0.0.4

13 Feb 02:10
Compare
Choose a tag to compare
v0.0.4 Pre-release
Pre-release

The changes included in this release are as follows:

  • add tundra.string:squeeze for replacing runs of whitespace characters with a single space character
  • add tundra.document:duplicate for making (optionally recursive) copies of IData documents
  • add support for fully qualified IData key names a/b/c[0] to relevant tundra.document and tundra.pipeline services
  • add tundra.uri:* services for parsing and emitting URI strings
  • add tundra.content:deliver and tundra.document:deliver which provides an extensible framework for delivering arbitrary content to a URI destination
  • add tundra.dns:resolve to lookup DNS names and IP addresses
  • add tundra.dns:localhost to return the name and IP address of the localhost Integration Server is running on
  • add tundra.base64:* services for encoding and decoding base64 strings
  • add tundra.service:self to return the name of the currently running service
  • change tundra.directory and tundra.file services to handle file:// URIs
  • rename tundra.file:open to tundra.file:process [backwards incompatible]

To install, download Tundra-v0.0.4.zip, copy to IntegrationServer/replicate/inbound, and install the release via the package management web page.

v0.0.3

03 Jul 06:45
Compare
Choose a tag to compare
v0.0.3 Pre-release
Pre-release

The changes included in this release are as follows:

  • add tundra.content:* services for parsing, emitting, and translating or mapping structured textual data (XML, flat files)
  • add lots of useful tundra.document:* services for manipulating IData documents
  • add tundra.node:* services for querying Integration Server namespace nodes
  • add tundra.pipeline:drop, tundra.pipeline:get, and tundra.pipeline:put for dropping, retrieving, and adding {key, value} pairs from/to the pipeline
  • add tundra.string:lines to return all the lines in a string
  • add tundra.string:replace to replace all occurrences of a regular expression pattern in a string
  • add tundra.string:split to split a string around matches of a regular expression pattern

To install, download Tundra-v0.0.3.zip, copy to IntegrationServer/replicate/inbound, and install the release via the package management web page.

v0.0.2

03 Jul 06:22
Compare
Choose a tag to compare
v0.0.2 Pre-release
Pre-release

The changes included in this release are as follows:

  • add tundra.directory:* for working with directories
  • add tundra.file:* for working with files
  • add tundra.list.datetime:format for formatting a list of datetime strings
  • add tundra.list.duration:format for formatting a list of time duration strings
  • add tundra.list.service:invoke for invoking a list of services either synchronously (with an optional level of concurrency) or asynchronously
  • add tundra.list.service:join for waiting on a list of asynchronously invoked services to finish
  • add tundra.object:stringify for converting any object to a string
  • add tundra.pipeline:capture for grabbing a snapshot of the current pipeline as an IData document
  • add tundra.pipeline:log for logging the current contents of the pipeline to the server debug log
  • add tundra.service:ensure to provide a try/catch/finally pattern for service invocations
  • add tundra.service:join for waiting on an asynchronously invoked service to finish
  • add tundra.service:sleep for putting the currently executing thread to sleep
  • add tundra.string:match for matching strings against regular expression patterns
  • add tundra.string:trim for removing leading and trailing whitespace from strings

To install, download Tundra-v0.0.2.zip, copy to IntegrationServer/replicate/inbound, and install the release via the package management web page.

v0.0.1

03 Jul 05:49
Compare
Choose a tag to compare
v0.0.1 Pre-release
Pre-release

The changes included in this release are as follows:

  • add tundra.assertion:* to provide a lightweight unit testing framework
  • add tundra.bytes:* for working with byte[] objects
  • add tundra.datetime:* for parsing, emitting, and manipulating datetime strings
  • add tundra.document:* for manipulating com.wm.data.IData objects (also known as records or documents in Integration Server)
  • add tundra.duration:* for parsing, emitting, and manipulating time durations
  • add tundra.exception:* for throwing exceptions
  • add tundra.id:* for generating unique identifier strings
  • add tundra.list:* to provide a comprehensive set of services for enumerating and manipulating lists (com.wm.data.IData[], java.lang.Object[], java.lang.String[])
  • add tundra.object:* for reflecting on objects
  • add tundra.service:* for invoking services dynamically
  • add tundra.stream:* for working with java.io.InputStream and java.io.OutputStream objects
  • add tundra.string:* for manipulating strings

To install, download Tundra-v0.0.1.zip, copy to IntegrationServer/replicate/inbound, and install the release via the package management web page.