Here you can see the full list of changes between each SQLAlchemy-i18n release.
- Added SA 1.4 support
- Drop py27, py33, py34, py35 support
- Set autoincrement as False for translation class inherited primary keys
- Added
translations_relationship_args
configuration option - Added
foreign_key_args
parameter totranslations_base
function
- Made current_locale expression a GenericFunction
- Made current_translation work with same schematics as class variable and object variable.
- Added get_fallback_locale utility function
- Added fallback_translation hybrid property
- Added support for classical SQLAlchemy mappings
- Added enhanced column aliases handling
- Updated SQLAlchemy-Utils dependency to 0.25.3
- Fixed infinite recursion issue with UnknownLocaleError when given object repr() uses
translated columns
- Add custom base class support for translation_base
- Better exception message for UnknownLocaleError
- Fixed common base class handling (__translatable__ args copied to each child class now)
- Add _translations relationship for translatable classes
- Rewritten relationship model for translatable classes
- New more robust syntax for declaring translation models
- Composite primary key support for translation parent classes
- Added default_locale utility function
- Translatable.translations now a hybrid property instead of regular property (allows flexible querying)
- New utility function find_translations
- Fixed hybrid property collision detection for single table inheritance
- Added property collision detection for generated hybrid properties
- Added hybrid property exclusion for hybrid property generator
- Hybrid property builder now checks for manager options if class option 'default_locale' is not set.
- Support for callables as default locales
- Fixed object to string conversion in current_translation methods
- Fixed fatal bug in set_not_nullables_to_empty_strings which would cause setting of already assigned translation columns to empty strings
- Listener set_not_nullables_to_empty_strings invoked even if locale object already exists
- Translation auto generation with nullable to empty string auto setting now works with join table inheritance
- Translation auto creation now sets not nullable translated columns without defaults as empty strings
- Translation hybrid properties now fallback to default locale for empty strings
- Added get_locale_fallback option
- Fixed translation auto-creation
- Added unified and easily overridable global configuration
- Completely rewritten translation relationships
- Translation auto creation listener added
- Added TranslationManager
- Base classes option no longer mandatory
- New, more extendable syntax for setting up translatable models (make_translatable utility function)
- Fixed current_translation proxy window building
- Updated SQLAlchemy-Utils requirements to 0.12.4
- Added force_locale
- Rewrote current_translation schematics
- Updated SQLAlchemy-Utils requirements to 0.12.2
- Renamed __locale_getter__ to get_locale
- Made __locale_getter__ a class attribute for more robust overriding
- Added hybrid_property expressions for current_translation and translations
- ProxyDict moved to SQLAlchemy-Utils
- SQLAlchemy-Utils added as dependency
- Completely rewritten inheritance handling
- Column locale defined right after primary keys
- Fixed translatable options handling when using common base class
- Joined table inheritance support
- Added base_classes configuration option
- Generated translations class names now in format '[ParentClass]Translation'
- Initial release