This is the changelog for Cldr Routes version 1.3.2 released on December 15th, 2024. For older changelogs please consult the release tag on GitHub
-
Relax LiveView support to include 1.x.
-
Fix unquoting invalid AST for Elixir 1.18.
This is the changelog for Cldr Routes version 1.3.1 released on August 23rd, 2024. For older changelogs please consult the release tag on GitHub
- Requires Gettext version 0.26 or later since that version has an incompatible API with previous versions and we wish to avoid more conditional code. Thanks to @krns for the PR to align the documentation and examples as well.
This is the changelog for Cldr Routes version 1.3.0 released on February 19th, 2024. For older changelogs please consult the release tag on GitHub
- Adds support for calling
url/{1,2,3}
with asigil_q
(localized verified route) parameter. ThePhoenix.VerifiedRoutes.url/1
macro checks that its parameter is asigil_p
call. Sincesigil_q
returns acase
expression with one or more case clauses returning asigil_p
result, thePhoenix.VerifiedRoutes.url/1
macro cannot be used directly. This release addsurl/{1,2,3}
to theMyApp.Cldr.VerifiedRoutes
module so it is compatible with existing code and supports bothsigil_p
andsigil_q
parameters. Thanks to @rigzad for the issue. Closes #16.
This is the changelog for Cldr Routes version 1.2.0 released on January 3rd, 2024. For older changelogs please consult the release tag on GitHub
- Configures
:phoenix_html_helpers
as a dependency rather than the full:phoenix
app.:ex_cldr_routes
only uses the tag helper which is now hosted in the new library. Whilst deprecated within Phoenix, its use here is to generatehreflang
headers.
This is the changelog for Cldr Routes version 1.1.0 released on May 9th, 2023. For older changelogs please consult the release tag on GitHub
-
Fix Phoenix integration which was failing to compile when using Phoenix auth. Thanks to @rubas for the report and collaboration.
-
Fix dialyzer error. Thanks to @rubas for the report.
- The module
Cldr.Route
is renamed toCldr.Routes
to better match Phoenix naming. As a result, the provider module to be added to a Cldr backend configuration is nowCldr.Routes
, notCldr.Route
.Cldr.Route
remains for now and if used will issue a deprecation warning.
This is the changelog for Cldr Routes version 1.0.0 released on May 3rd, 2023. For older changelogs please consult the release tag on GitHub
-
Supports localized verified routes with
~q
(Sigil_q
). -
Supports Phoenix 1.7 and later only.
-
Supports Elixir 1.11 and later only.
This is the changelog for Cldr Routes version 0.6.4 released on April 29th, 2023. For older changelogs please consult the release tag on GitHub
- Fixes route
:as
option to correctly stringify atom names. Closes #14. Thanks to @krns for the report.
This is the changelog for Cldr Routes version 0.6.2 released on April 27th, 2023. For older changelogs please consult the release tag on GitHub
-
Fix readme example. Thanks to @krns for the PR. Closes #12.
-
Support Phoenix 1.7. NOTE: Doesn't yet include localized verified routes.
This is the changelog for Cldr Routes version 0.6.2 released on August 6th, 2022. For older changelogs please consult the release tag on GitHub
- Uses the standard Phoenix
tag
helper to generatehreflang
helpers.
This is the changelog for Cldr Routes version 0.6.1 released on July 24th, 2022. For older changelogs please consult the release tag on GitHub
- Fix
LocalizedHelpers.hreflang_links/1
to return an empty string if links isnil
.
This is the changelog for Cldr Routes version 0.6.0 released on July 24th, 2022. For older changelogs please consult the release tag on GitHub
- Adds
MyApp.Router.LocalizedHelpers.<helper>_links
functions to the generatedLocalizedHelpers
module. These_links
functions are 1:1 correspondents to the_path
and_url
helpers. The_link
helpers generate link headers that help identify the other language versions of a page. They are used like this:
iex> alias MyApp.Router.LocalizedHelpers, as: Routes
iex> Routes.user_links(conn, :show, 1) |> Routes.hreflang_links()
{
:safe,
[
["<link href=", "\"http://localhost/users_de/1\"", "; rel=alternate; hreflang=", "\"de\"", " />"],
"\n",
["<link href=", "\"http://localhost/users/1\"", "; rel=alternate; hreflang=", "\"en\"", " />"],
"\n",
["<link href=", "\"http://localhost/users_fr/1\"", "; rel=alternate; hreflang=", "\"fr\"", " />"]
]
}
This is the changelog for Cldr Routes version 0.5.0 released on July 22nd, 2022. For older changelogs please consult the release tag on GitHub
- Propogate locales on the
localize
macro to nested resources
- The locale is now stored in the
:private
field of theconn
for both live routes and other routes. It was previously stored in the:assigns
field for non-live routes.
This is the changelog for Cldr Routes version 0.4.0 released on July 19th, 2022. For older changelogs please consult the release tag on GitHub
-
Fixed Localized route helpers were matching on the full locale, not on the
:gettext_locale_name
field. Thanks to @rubas for the report and collaboration. Closes #6. -
mix phx.routes MyApp.Router.LocalizedRoutes
was attempting to "un"-translate the routes. This is no longer the case since doing so hides information required by developers. Closes #8.
This is the changelog for Cldr Routes version 0.3.0 released on July 17th, 2022. For older changelogs please consult the release tag on GitHub
-
Add support for
live
routes. Thanks to @ringofhealth for the report. Closes #1. -
Support interpolating
locale
,language
andterritory
into a route. Thanks to @rubas for the suggestion. Closes #3. For example:
localize do
get "/#{locale}/locale/pages/:page", PageController, :show, as: "with_locale"
get "/#{language}/language/pages/:page", PageController, :show, as: "with_language"
get "/#{territory}/territory/pages/:page", PageController, :show, as: "with_territory"
end
-
Uses the macros from Gettext rather than the functions when generating routes. This means that the mix tasks
gettext.extract
andgettext.merge
now work as expected. Closes #3. -
Rewrite the
LocalizedHelpers
module that now proxies into the standard PhoenixHelpers
module rather than maintaining a separate forked module. As a result:- The standard
Helpers
module now generates helper names that have locale suffixes. That isuser_path
becomesuser_en_path
,user_fr_path
and so on. - The
LocalizedHelpers
module hosts the standard helper names (likeuser_path
) which will then call the appropriate standard helper depending on the result ofCldr.get_locale/1
.
- The standard
-
Add functions to output the localised routes. At compile time a module called
MyApp.Router.LocalizedRoutes
is created. This module hosts a__routes__/0
function which can be passed as an argument to the Phoenix standardPhoenix.Router.ConsoleFormatter.format/1
function that returns a string representation of configured localized routes. These can then beIO.puts/1
as required. In the next release a mix task will automate this process.
Thanks to @rubas and @ringofhealth for their extreme patience while I worked this through. Closes #1, and #4.
This is the changelog for Cldr Routes version 0.2.0 released on March 26th, 2022. For older changelogs please consult the release tag on GitHub
- Changes the module name from
Cldr.Routes
toCldr.Route
to be consistent with the otherex_cldr
-based libraries which use singular module names.
This is the changelog for Cldr Routes version 0.1.0 released on March 26th, 2022. For older changelogs please consult the release tag on GitHub
- Initial release