qsome
now short-circuits on predicate beingnil
orfalse
.
- Added
strs-simple
,qsome
,or-some
,some-fn*
,qstrb
and optimizedstrs
,strspc
andstrspc-squeezed
macros.
- Added
memoize+
fast memoization function.
- Fixed binary variants of
strs
,strspc
andstrspc-squeezed
.
- Fixed string conversion in
strs
macro. - Added
strspc
andstrspc-squeezed
macros.
- Added
strs
macro andstrb
function.
- Version bump for core.cache.
- Speed optimizations (referential equality checks, optimistic conversions, type hints).
- Database caching functions are now using a special keyword instead of false to mark and group cache misses.
- Added
defdoc!
macro.
- Removed reflection warnings.
- Fixed common validators.
- Improved
db/invalidator
. - Added console appenders.
- Added
map/qupdate
. - Optimized
map/qassoc
fornil
values as source maps.
- Switched to a custom implementation of fast assoc.
- Multiple map transforming functions optimized for speed.
- Multiple database accessing functions optimized for speed.
map/update-missing
now takes only unary functions by default, without shifting the arguments.
map/assoc-if
andmap/assoc-if-not
can now handle multiple pairs.
-
Added
some-str-down
. -
Performance improvements in:
empty-string?
,not-empty-string?
,some-str
,some-str-up
,some-str-simple
,some-str-simple-up
,some-str-simple-down
,some-string
.
- Optimizations in
ip/bytes-to-ipv4
andip/bytes-to-ipv6
. - Bug fixed in
db/get-cached-prop
(list
->list*
).
- Added
str-squeeze-spc
,some-str-squeeze-spc
.
- IP predicates improved, safer unsigned bytes support.
- Multiple improvements in IP address conversion functions.
- Added
db.types/add-setter-phone-number
.
- Added multary variant of settings getter produced by
db/make-setting-getter
. - Added multary variant of
db/cached-setting-get
. - Keying improved in cached settings (was vector-based, now it's keyword-based).
- Improved
validators/explain
andvalidators/validate
. - Introduced 3 operational modes of required parameters validation:
- matching all of the required parameters,
- matching at least 1 required parameter,
- matching at least n required parameters.
- Replaced
when
withif
where appropriate.
- Added
validators/explain
.
- Added
map/map-values-with-path
andmap/map-values-with-rpath
.
- Common validators improved.
- Memoization improved.
- Added
var/update
.
- Lazy map support functions added compatible with
com.intuitiveexplanations/lazy-map
:map/lazy
,map/to-lazy
,map/lazy?
,map/select-keys-lazy
,map/merge-lazy
.
- Added
db.types/add-setter-uuid
.
- Removed type hints for primitive locals.
- Numeric ID keys support in generic database getters and setters
- Database builders and converters greatly simplified (removed some of the predefined options)
- More verbose error reporting during de-serialization
- Added
io.randomseed.utils.db.types
with opinionated database readers and writers - Improved
some-str-*
functions, added filtering out empty strings insome-str-spc
- Added string processing functions:
to-lisp-str
,to-snake-str
,to-lisp-simple-str
,to-snake-simple-str
replace-first
,to-lisp-str-replace-first
,to-snake-str-replace-first
,to-lisp-slashed-str
,to-snake-slashed-str
.
- Added
some-symbol
,some-symbol-up
,some-symbol-simple
,simple-symbol-up
.
- Fixed a bug in
map/nil-keys
andmap/nil-existing-keys
causing error when there was no matching key.
- Added console reading functions: read-line-with-prompt, crypto/read-pwd, crypto/read-key.
- Added high-level text getting functions: ask, crypto/ask-pass, crypto/ask-key.
- Database setter generator simplified.
- Removed Clojure 11.1.0 dependency.
- Added backward compatibility with Clojure versions < 11.1.0.
- Dependencies adjusted for Clojure 1.11.0.
- Updated CircleCI image reference.
- Renamed parse-long to some-long.
- Removed random-uuid.
- Renamed uuid to to-uuid.
- Fixed a bug causing empty keywords not being detected by empty-ident?.
- Added not-empty-string? and not-empty-ident?.
- Improved valuable? and not-valuable?.
- Added macros: not-valuable, when-not-valuable.
- Added empty-string? and empty-ident?.
- Improved valence testing.
- Added Reitit support functions.
- Improved valence testing in valuable? and not-valuable?.
- Fixed typo causing db/make-getter to produce unusable ternary function.
- Better handling of sequential collections in time/parse-duration.
- Improvements in time/parse-duration (multiple arguments support).
- Initial release.