- Add
abbreviatefunction, a better, unicode-aware version ofprune - Simplify the versioning to just a year plus number of commits (example 2026.XXX)
-
Fix incorrect handling of contigous capital letters on kebab and snake functions. This change is important because it changes a bit how that functions works with some input:
;; Previous: (str/kebab "MOZ") => "moz" ;; Current (str/kebab "MOZ") => "m-o-z"
This change fix the inconsistency of the previous output that caused:
;; Previous (str/kebab "layoutItemHSizing") => "layout-item-hsizing" ;; Current (str/kebab "layoutItemHSizing") => "layout-item-h-sizing"
All this because the
str/camelproduces:(str/camel "layout-item-h-sizing") => "layoutItemHSizing"
And all this functions should always produce reversible output between distinct cases (whenever technically possible)
- Fix regex escape on trim function
- Fix deprecation warning
- Add performance improvement on
word?predicate (x3 aprox) - Add performance improvement for
letters?predicate (x3 aprox) - Add performance improvement for default case of
trim,rtrimandltrim(arity 1) - Add performance improvement to
camel,snakeandkebab(x9 in cljs) - Add
unindenthelper as replacement for<<-
Important: these changes introduces some minor breaking changes;
in practice, these changes should be considered safe and most likely
will not affect you at all; because users are probably already
managing nil explicitly.
- Make
blank?returntruewhen value isnil - Make
empty?returntruewhen value isnil - Deprecate
empty-or-nil?predicate
- Handle
nilson concat macro.
- Handle
nilson concat macro.
- Add
concatmacro, for faster string concatenation on CLJS. - Add
ffmtmacro, a simplier and faster string formating macro. Alternative to theistr(like ES6 template strings).
- Fix bug in starts-with? and ends-with? predictates.
IMPORTANT NOTE:
- This release removes the third party XRegExp dependency (making this library to have 0 external dependencies). This may affect environments that does not suport the unicode flag.
- Reaply shadow-cljs compatibility fixes that have been accidentally reverted in previous release. (sorry for the inconvenience)
- Update xregexp to 5.0.2
- Update deps and docs.
- Use the latest xregexp version (4.3.0 from npm).
- Make it compatible with shadow-cljs.
- Version numbering change to more simple one, based on date.
- Remove
parse-*functions they behave inconsistently and cuerdas is a string manipulation library (not parsing library). - Remove already marked deprecated functions.
- Remove
caseless=andlocale-caseless= - Remove
lower-localeandupper-locale(no cross platform support). - Add
index-ofandlast-index-of(safer versions of clojure.string/*). - Remove support for
java.lang.Character(all arguments should be strings now, this doesn't have much added value but removing improves performance). - Make all predicates return a boolean type (instead of logical boolean).
Date: 2019-11-14
- Remove implicit clojurescript compiler dependency.
Date: 2019-03-31
- Add again the xregexp bundle (revert previous change)
- Update xregexp to 4.2.0.
Date: 2019-01-09
- Fix
parse-intprecision issues. - Remove regexp bundle (provide it as npm dep).
Date: 2018-07-22
- Fix unexpected behavior of
capitalwith empty strings.
Date: 2018-01-08
- Fix unexpected exception on
padfunction when the provided string length is larger than the:lengthparameter (cljs only). - Fix unexpected behavior with regexes with advanced compilation.
- Fix
parse-intandparse-doubleunexpected behavior on clj and cljs.
Date: 2017-10-06
- Fix compatibility issues with the latest version of cljs compiler.
Date: 2017-02-06
- Fix many reflection warnings.
Date: 2016-12-25
- Allow pass single chars to varios functions that accepts strings.
Date: 2016-11-15
- Fix
js-selectorwrong behavior.
Date: 2016-10-23
- The
blank?predicate now properly returnsnilifnilvalue is provided. (BREAKING CHANGE). - Add missing
underscoreddeprecated alias. - Fix some bugs in
ends-with?predicate. - Improve NPE handling in many functions.
- Fix wrong impl in
locale-lowerandlocale-upperfunctions. - Fix inconsistencies on
caseless=andlocale-caseless=functions. - Depreacate
startswith?andendswith?predicate aliases. - Rename
<<interpolation macro toistr(an alias for the old name is maintained for backward compatibility) - Improve unicode support for
titleand similar functions. - Add
empty-or-nil?predicate.
Date: 2016-09-17
- Return boolean type instead logical boolean from
blank?,alpha?,alnum?digits?,word?,letters?andnumeric?predicates.
Date: 2016-08-30
- Fix compatibility issue with clojure 1.7 due to the internal usage of clojure.string/includes? that has been introduced in 1.8.
- Mark deprecated the
contains?predicate because it is identical toincludes?.
Date: 2016-08-29
Important: this is a major release and includes many breaking changes among other fixes and improvements. A proper backward compatibility aliases are maintained but not all conserves the exactly same behavior.
This is a complete list of changes:
- Rename
alpha-numeric?toalnums?. - Rename existing
numeric?todigits?. - Rename old functions such as
dasherize,underscore,classify,titleize,humanizewith more consistent with clojure naming:kebab,snake,pascal,titleandhuman. Backward compatibility aliases are maintained. BREAKING CHANGE:-moz-transition<->MozTransitiontransformations and similar stuff related to css/js are now handled by new functions:js-selectorandcss-selector. (Please, see more info in PR #33). - Rename
parse-longtoparse-intin jvm impl (make the clj and cljs impl equivalent). - Rename
parse-floattoparse-doublein cljs impl (the second arity is removed and now clj and cljs impl are equivalent). - Rename
capitalizetocapital. - Make
parse-numbercross-platform (and remove the second arity that used for specify the precision). - Make
wordsfunction unicode aware. - Make
blank?predicate unicode aware. - Make
cleanfunction unicode aware. - Make
collapse-whitespacefunction unicode aware. - Improve performance of
capitalfunction. - Fix inconsistency issue in
wordsfunction in terms of nil safety. - Fix wrong behavior of
replacefunction in cljs. - Remove ireplace-first function (it was only on the cljs).
- Remove ireplace function (it was only on the cljs).
- Add
escape-htmlandunescape-htmlfor clj. - Add
word?predicate (unicode aware). - Add
letters?predicate (unicode aware). - Add
numeric?predicate. - Add
locale-upperandlocale-lowerfunctions. - Add
caseless=andlocale-caseless=functions. - Add
fmtalias toformatfunction. - Add
uslugfunction (unicode friendly version ofslug). - Add string interpolation support (
<<macro) - Add string unindentation support (
<<-function) - Add enhaced support for regular expressions thanks to xregexp (cljs only).
Date: 2016-06-25
- Fix NPE on
formatfunction. - Improve string interpolation on
formatfunction making it more flexible.
Date: 2016-04-12
- Fix null pointer exception on format function without arguments (clj only).
Date: 2015-12-03
- Fix unexpected behavior of prune.
- Update cljs compiler version.
- Minor cosmetic fixes to code.
Date: 2015-11-30
- Start using reader conditionals (clojure >= 1.7 required now)
- starts-with? and ends-with? and contains? return true for empty sub-string
- General bugfixing
- Add varios new functions such as
to-bool,words,alpha?, among others (thanks to @jelz).
Date: 2015-08-01
- Update cljs compiler to 1.7.28
- Start using cljs own compiler facilities instead of lein-cljsbuild.
- Remove cljx dependency and start using reader conditionals for tests.
- Unify the source under one directory (instead of have two: cljs and clj).
Date: 2015-06-21
- Add substr-between function (thanks to @podviaznikov)
- Add some additional type hints on clojure code.
Date: 2015-03-30
- Changed the groupId of the package to funcool.
Date: 2015-03-30
- Add unlines function (thanks to @pepegar)
- Replace speclj with clojure.test.
- Update dependencies.
Date: 2015-03-14
- Remove clojure and clojurescript from required dependencies.
- Add some additional testcases.
Date: 2015-01-13
- Fixed bug on contains? function (thanks @podviaznikov for report)
- Fixed bug on dasherize function (thanks to @NoamB for improved version)
- Add strip-suffix and strip-prefix functions.
Date: 2015-01-05
- Remove Apache Commons Lang dependency (clj).
- Add proper nil handling for almost all functions.
- Add strip, rstrip and lstrip aliases for trim, rtrim and ltrim respectively.
- Rename endswith? and startswith? with ends-with? and starts-with? respectively, but conserve the previously funcnames as aliases.
- Add the ability of arbitrary replacements to strip-tags function.
Date: 2014-12-23
- Initial version