Releases: taoensso/tower
v3.1.0-beta4 / 2015 Jul 13
As beta3 with updated deps
[com.taoensso/tower "3.1.0-beta4"]
v3.1.0-beta3 / 2015 Apr 28
v3.1.0-beta2 / 2015 Mar 3
Non-breaking hotfix release.
- Fix: unnested resource dictionaries were not loading correctly [@juhani-hietikko #60]
[com.taoensso/tower "3.1.0-beta2"]
v3.1.0-beta1 / 2015 Feb 28
This is a major update that may be BREAKING.
- BREAK: ClojureScript dict compiler has been renamed
dict-compile
->dict-compile*
for consistency with newdict-load
,dict-load*
fn+macro pair. - BREAK (rarely):
t
now always returns a string unless it has an explicitnil
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
andfoo/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
- 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
- FIX taoensso/timbre#79 (unnecessary deps being pulled in).
[com.taoensso/tower "3.0.1"]
v3.0.0 / 2014 Aug 28
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
Exception
s are nowExceptionInfo
s. -
POSSIBLY BREAKING:
translate
andt
are both being phased out in favor of a newmake-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, andt'
always refer to a partial translation fn that has already been provided a locale arg. Migrate by swapping your middleware, and usingt'
instead oft
as your locale-less translation fn. OR you can give a:legacy-t? true
opt towrap-tower
to keep the old behaviour.
[com.taoensso/tower "3.0.0"]
v2.0.2 / 2014 Jan 19
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"]