- add new JSON encoders for java.time Instant, LocalDate, and LocalDateTime
- add new functions for conversion of milliseconds to seconds, minutes, hours and days, along with a set of logical corresponding matrix of those units
- add new functions
duration-str->seconds
andduration-str->Duration
to calculate duration values in the style of Puppet duration settings resulting in an integer and a java.time.Duration respectively - add new function
safe-parse-int
to convert a number or string representing a to a number - update clj-parent to 5.6.14
- in
atomic-write
ensure the writer is closed if thewrite-function
throws an exception.
- change use of java.security.cert.X509Certificate/getSubjectDN, which is now deprecated, to java.security.cert.X509Certificate/getSubjectX500Principal
- add function
get-lein-project-version
to retrieve a given project version from the standardlein
system properties. - mark deprecated interfaces with metadata deprecation
- add 'unzip-file' routine to the files namespace to decompress zipped files
- add 'untar-file' routine to the files namespace to decompress tar files
- update clj-parent to 5.6.6
- remove reflection use in atomic-write
- add function
delete-recursively
to the files namespace to recursively delete a directory
- add clj-kondo linting, eastwood linting, and PR testing
- address issues identified by clj-kondo, and eastwood
- add function equivalent of puppet's versioncmp function, and helper functions for to determine if strings have all numeric characters and if strings start with a leading zero.
- add conversion functions from string -> ZonedDateTime -> string to facilitate the removal of clj-time
- update clj-parent to 5.3.7
- Update ini4j to 0.5.4 to address a Denial of Service vulnerability (CVE-2022-41404).
This is a minor feature release.
- Add key->str function to convert keywords to strings
- Add base-type function that returns the base type from an HTTP Content-Type header.
- Update clj-parent to resolve some outdated dependencies with security issues.
- Don't select an open port from the ephemeral range in open-port-num.
This is a minor feature release.
- Add a function for atomic file writes
Maintenance:
- Update dependencies to take up clj-parent 4
This is a minor maintenance release.
Maintenance:
- Fix adding URLs to classpath under Java 9.
This is a minor maintenance release.
Maintenance:
- Fix symbol redef warnings under Clojure 1.9
This is a minor feature release.
Features:
- add a
stream->sha256
function for hashing the contents of an InputStream
This is a minor feature and improvement release.
Features:
- add a
utf8-string->sha256
function, directly analogous toutf8-string->sha1
- add a
file->sha256
function, equivalent to reading a file's contents as a UTF-8 string and hashing the result. Uses an InputStream internally to avoid reading the entire file into memory at once.
Improvement:
- the
open-port-num
function should now return a random port number from the entire traditional ephemeral port range of 49152 through 65535.
This is a minor feature release.
Features:
- add a parser for period strings (7d, 12h, etc) into Joda Periods
- fix file connection leaks in the functions 'lines' and 'ini-to-map'
This is a minor feature release.
Features:
- Add an
assoc-if-new
macro, which associates a map key to a value only if the key does not already exist in the map. - Add a
deref-swap!
function, which behaves like deref but returns the old value instead of the new one. - Add a
rand-str
function, for generating random strings from various character sets.
Maintenance:
- Update to dynapath 0.2.5, to address some compatibility issues with Java 9.
The 2.1.1 release was burned and folded into 2.2.0.
This is a minor feature release.
Features:
- Add an
open-port-num
function, which returns a currently open port. Tests that bind services to ports can use this to guard against chance port collisions.
This is a bugfix release which contains one backward incompatible change.
Bug fix:
- Changes all of the maps in various slingshot errors thrown to use
:kind
and:msg
in place of:type
and:message
, respectively.
This is a minor feature release, which also includes some bugfixes and maintenance work.
Features:
- Add
uuid?
predicate function for determining whether a string is a valid UUID.
Bug fixes:
- Fix an issue in
with-additional-classpath-entries
wherein it's pre/post-conditions were not handling arguments properly.
Maintenance:
- Reduce use of reflection
- Remove unused plugins and jenkins scripts
- Switch to
lein-parent
for managing dependency versions
This is a maintenance release.
- Remove retired :flag option from cli tooling, to eliminate warnings on CLI invocations.
- Bump to org.clojure/tools.cli 0.3.3.
This is a maintenance / minor feature release.
- TK-315 - update to latest version
of
raynes.fs
to reduce downstream dependency conflicts. - Add an
absolute-path
fn to replace the one that was removed from raynes.fs - Add a
normalized-path
fn to replace the one that was removed from raynes.fs
- Add
temp-file-name
function, which returns a unique name to a temporary file, but does not actually create the file. - Add
with-timeout
macro, which returns a default value if executing an arbitrary block of code takes longer than a specified timeout.
- Add new
walk-leaves
function for applying a function to all of the leaf nodes of a map - Add new
zipper?
predicate which can be used to assert that an object is a clojure zipper. - Add new
while-let
macro - Add new
rand-weighted-selection
function - Add new
to-sentence
variant of string join
- Promoting previous release to 1.0.0 so that we can be more deliberate about adhering to semver from now on.
- Add 'filter-map' function that can be used to filter maps
- Change
mkdirs!
to allow string as path arg (7097bb3) - Add a new
dissoc-in
function, for removing data from nested maps.
- Add a new
to-bool
function, which provides a more tolerant way to coerce data to booleans
- Upgrade fs dependency to 1.4.5 (to standardize across projects)
- Add mkdirs! function to create parent directories with better failure reporting
- Move temp file functions from testutils to core
- Remove SSL utility code, which is now available in puppetlabs/certificate-authority.
- Upgrade cheshire dependency to version 5.3.1.
- .ini parsing utilities now throw an Exception if a key appears in the file(s) more than once.
- Added a
with-no-jvm-shutdown-hooks
macro for running a block of code without any JVM shutdown hooks.
- Minor change to the cli! function so that, in addition to the data that it already returned, it now also returns a string representation of a banner/usage summary. Callers can use this to display a help message if additional validation of the cli args fails.
- Utility functions added to ssl namespace that allow creation of an SSLContext or a KeyStore/TrustStore directly from the pem files.
- Added some JSON utility functions
- Added a deep-merge utility function