Skip to content

Releases: taoensso/tower

v3.1.0-beta4 / 2015 Jul 13

27 Jan 11:27
Compare
Choose a tag to compare
Pre-release

As beta3 with updated deps

[com.taoensso/tower "3.1.0-beta4"]

v3.1.0-beta3 / 2015 Apr 28

29 Apr 04:35
Compare
Choose a tag to compare
Pre-release

Non-breaking hotfix release

  • Fix: broken support for invalid JVM locales in translation dicts [@okal #62]
[com.taoensso/tower "3.1.0-beta3"]

v3.1.0-beta2 / 2015 Mar 3

03 Mar 12:52
Compare
Choose a tag to compare
Pre-release

Non-breaking hotfix release.

[com.taoensso/tower "3.1.0-beta2"]

v3.1.0-beta1 / 2015 Feb 28

28 Feb 08:47
Compare
Choose a tag to compare
Pre-release

This is a major update that may be BREAKING.

  • BREAK: ClojureScript dict compiler has been renamed dict-compile->dict-compile* for consistency with new dict-load,dict-load* fn+macro pair.
  • BREAK (rarely): t now always returns a string unless it has an explicit nil fallback.
  • BREAK (rarely): Fix strange JVM handling for locales #{:he :yi :id}. [@juhani-hietikko - #56]
  • New: add get-countries, get-langs (experimental).
  • New: add kw-locale :lang-only? option.
  • New: add fully-configurable dictionary decorators (experimental).
  • New: eval macro-time dict compilation to allow for dicts in vars, etc. [#54]
  • New: country-name, lang-name are now public (experimental).
  • Fix: ensure that foo.bar and foo/bar reach same translation.
  • Implementation: move to unified .cljx codebase.
  • Implementation: t, Ring middleware performance improvements.
[com.taoensso/tower "3.1.0-beta1"]

v3.0.2 / 2014 Oct 1

01 Oct 14:37
Compare
Choose a tag to compare
  • CHANGE: no longer throw NPEs on nil format patterns (e.g. for missing translation key).
[com.taoensso/tower "3.0.2"]

v3.0.1 / 2014 Sep 7

07 Sep 16:09
Compare
Choose a tag to compare
[com.taoensso/tower "3.0.1"]

v3.0.0 / 2014 Aug 28

28 Aug 09:43
Compare
Choose a tag to compare

This is a major update that may be BREAKING for users upgrading from < v2.1.0-RC1.
It introduces ClojureScript translation support and fixes a number of useability sharp edges.

  • FIX: All localization formatters are now correctly thread safe.

  • NEW: Added ClojureScript translation support. See the README for an example and notes.

  • NEW: timezones fn now supports optional timezone-ids arg.

  • NEW: Add all-timezone-ids set.

  • NEW [#42]: Translation dictionary now supports underscores in translation keys.

  • NEW [#43]: Translation fns can now take a vector of descending-preference locales (@vvvvalvalval).

  • NEW [#43]: Ring middleware now automatically attaches a smarter translation fn that'll search through all of a client's sorted Accept-Language header languages when looking for a translation.

  • NEW [#50], [#52]: Translation dictionary now supports arbitrary (non-JVM) locales.

  • CHANGE: Dropped (experimental) :scope-var tconfig option.

  • CHANGE: Dropped (experimental) :root-scope tconfig option.

  • CHANGE: Default :missing translations entry now avoids <>'s (no need for html escaping).

  • CHANGE: languages now returns languages as "localized (unlocalized)" pairs rather than "unlocalized (localized)" pairs.

  • CHANGE: All Exceptions are now ExceptionInfos.

  • POSSIBLY BREAKING: translate and t are both being phased out in favor of a new make-t fn. The new approach is more flexible and faster. This change is non-breaking if you use the Ring middleware; otherwise please see the README for new recommended usage examples.

  • DEPRECATED: locale->jvm-locale, try-locale->try-jvm-locale (only the names have changed).

  • DEPRECATED: wrap-tower-middleware -> wrap-tower. This is a recommended change, but it's BREAKING if you make it:

    ;;; 1. The fn signature has changed (tconfig is now an explicit arg):
    (wrap-tower-middleware <ring-handler> {:tconfig _ <other opts>}) ; Old
    ;; vs
    (wrap-tower <ring-handler> <tconfig> {<other-opts>}) ; New
    
    ;;; 2. The Ring request's `:t` key has changed:
    {:locale _ :t  (fn [k-or-ks & fmt-args])} ; Old
    ;; vs
    {:locale _ :t  (fn [locale k-or-ks & fmt-args]) ; Now takes a locale
               :t' (fn [k-or-ks & fmt-args])}       ; New, behaves like old `:t`

    The new behaviour is more consistent. t always refers to a translation fn that takes a locale arg, and t' always refer to a partial translation fn that has already been provided a locale arg. Migrate by swapping your middleware, and using t' instead of t as your locale-less translation fn. OR you can give a :legacy-t? true opt to wrap-tower to keep the old behaviour.

[com.taoensso/tower "3.0.0"]

v2.0.2 / 2014 Jan 19

30 Mar 14:23
Compare
Choose a tag to compare

This is a backwards compatible bug fix release. Recommended upgrade.

New

  • normalize fn now takes optional normalization form.

Fixes

  • Broken fmt-fn argument for translate fn.
  • Fallback locales should have locale-key called on their locale.
  • #37 Broken t parent fallback for empty child locales.
[com.taoensso/tower "2.0.2"]