Changelog

All notable changes to this project will be documented in this file.

[0.5.1] - 2025-11-12

Fixed

  • Fix bug when context is nil in PO file (#134)

[0.5.0] - 2025-11-03

Breaking Changes

  • Gettext 1.0.0 Migration: This version requires updating your Gettext module definition to use the new backend adapter system. You must define use Kanta.Gettext.Backend in your Gettext module and configure the adapter.

Added

  • Gettext versions v0.26 and v1.0.0 compatibility with via custom backend adapter system
  • Allow custom locales (i.e. "es-es") (#100)
  • Stale messages detection and merging (#120)
  • Updated Tailwind to v3.4.17 (#130)

Changed (Dependencies)

  • Gettext supported versions updated to 0.26 and 1.x
  • Phoenix relaxed to ~> 1.7 (allowing minor version bumps)
  • Phoenix LiveView relaxed to >= 0.20.0 (allowing for 1.x versions)
  • shards dependency dropped
  • expo relaxed to >= 0.3.0
  • scrivener_ecto upgraded to ~> 3.0

[0.4.2] - 2025-08-25

Fixed

  • Dialyzer errors related to Phoenix version detection (#122)
  • Replace Mix.Dep.Lock.read/0 with Application.spec/2 for better static analysis compatibility
  • .dialyzer_ignore.exs to handle Phoenix dependency warnings

Added

  • Phoenix 1.8 and Phoenix LiveView 1.x compatibility (#122)

Authored by: Jakub Lambrych jakub.lambrych@curiosum.com Signed-off-by: Michał Buszkiewicz michal@curiosum.com

[0.4.1] - 2024-10-09

Added

  • Expand Kanta.Query module (#86)
  • Button for manual cache clearing (#85)
  • Application source support
  • Support for multiline msgids (#56)
  • Support for nested scopes and different main path (#61)
  • Support for different ID types (#52)
  • Way to create new application source
  • Way to clear all filters at once
  • dashboard_path helper to verified routes
  • Colors module
  • Chevrons to Icons module
  • Missing @moduledoc
  • Versioce for version bumping
  • Support for SQLite3 (#51)
  • Doc to compiling? function
  • Child LV dashboard components support (#42)
  • Docs to DashboardLive

Changed

  • Improve UX when editing many translations (#62)
  • Improve filter bar UI (#84)
  • Make filters bar responsive
  • Improve readability of Router
  • Improve CI (#80)
  • Improve UX when using filters (#49)
  • Improve efficiency of messages list query
  • Refactor translations_live.ex
  • Update pagination.ex
  • Replace parse_msgid/1 with just Enum.join
  • Extract logic of parse_filters/1s reduce to parse_filter/2
  • Support for newer phoenix_html 4 with phoenix_html_helpers (#47)
  • Support translations during compilation (#48)
  • Search for PO files only in priv/gettext (#41)
  • PO Extractor - allow to import multi-lines msgstr (#40)

Fixed

  • Pagination logic for not showing many pages (#71)
  • Translation preloads to preload only necessary data (#60)
  • application_source_form_live
  • Migrations
  • Pagination failing to parse int (#44)
  • Credo issues
  • Naming across file

Changed (Dependencies)

  • Bump ecto versions
  • Bump uri_query version
  • Bump credo and dialyxir versions
  • Use Ubuntu 24.04 LTS in CI
  • Add supported Elixir versions
  • Remove unsupported OTP version

Changed (Configuration)

  • Restore params after saving a translation
  • Recover filters from params on mount in the translations list (#49)
  • Properly find index in Select
  • Parse params and add redirects
  • Return error when id_parse_function provided with MFA with invalid arity
  • Suppress warning about router.ex
  • Changes to make import export plugin work

Removed

  • Remove devenv (#77)
  • Remove autogenerated dummy test
  • Remove Logger

Co-authored-by: Jakub Melkowski 9402720+Blatts12@users.noreply.github.com Co-authored-by: Maksymilian Jodłowski maksymilian.jodlowski@gmail.com Co-authored-by: Jan Świątek jan.swiatek@curiosum.com

Signed-off-by: Jan Jakůbek jan.jakubek96@gmail.com

[0.3.1] - 2023-10-13

Added

  • API endpoints (#36)
  • Optional API authorization
  • @moduledoc to APIAuthPlug
  • API scaffolding

Fixed

  • Minor naming issues

[0.3.0] - 2023-09-26

Changed

  • Update phoenix_live_view to 0.20
  • Update Kanta version to 0.3.0
  • Improve translations search (#21)
  • Improve efficiency of messages list query
  • Require opts keyword list in join_resource/3

Fixed

  • JS error on LiveView page change (#34)
  • README missing import in router (#32)

Deprecated

  • Get rid of deprecated live_component/2

[0.2.2] - 2023-09-05

Changed

  • Update information about POWriter (#29)
  • Add badges (#27)

[0.2.1] - 2023-09-04

Changed

  • Add badges (#28)
  • Update README to match Kanta version (#26)

[0.2.0] - 2023-09-04

Added

  • Dialyzer (#18)
  • Plugin docs, specs and conditional components rendering (#18)

Changed

  • Set docs entry and bump mix version (#24)
  • Update "How to write plugins?" tutorial (#18)
  • Update gettext repo (#22)
  • Update demo link in README (#20)
  • Module names consistency, explicit ArgumentError rescue (#18)

Fixed

  • Improve UI and plural translations form (#23)
  • Use truncate CSS prop instead of String.slice
  • Credo and dialyzer warnings (#18)
  • Wrong type (it was a Map all along)
  • Multitenancy projects issues (#14)
  • Down migration order (#14)
  • prefix() calls into prefix (#14)
  • Phoenix VerifiedRoutes issues & missing views (#10)
  • Kanta in mix release projects (#8)

Changed

  • Fallback to public prefix for messages (#14)
  • Pass on_mount option to live_session opts (#14)
  • Use https instead ssh connection for gettext (#14)
  • Pass down opts to respective up&down migrations (#14)
  • Add limit 1 (#14)
  • Rework plural messages handling (#14)
  • Change unverified url to unverified path (#11)
  • Extract DeepL plugin to external package (#12)

Added

  • Devenv (#14)

[0.1.0] - 2023-05-18

Initial version of Kanta translations manager.

Added

  • Basic rwd (responsive web design)
  • Dark mode
  • Messages filters
  • Plugins management
  • Gettext contexts
  • Form for plural translation updates
  • Form for singular translation updates
  • Plural translations
  • Nebulex as a caching tool
  • Sample pages in petal
  • Basic configuration for semi-PETAL stack
  • PopulateCacheWithStoredDataService
  • File structure

Changed

  • Update readme
  • Update package version
  • Update deps & readme
  • Rework translation listings
  • Change translations to singular translations
  • Mimic LiveDashboard mechanism in Kanta (#3)
  • Adjust gettext repo for plural messages handling
  • Mainly UI adjusts
  • Small refactoring

Fixed

  • Github dependency on gettext fork (#6, #1)
  • Plural translations
  • Cached translations in UI (#4)
  • LV redirect loop
  • Paths resolution