# Pootle 2.9 release notes

Not yet released

Welcome to Pootle 2.9!

If you want to try it, check one of the following:

- Installation instructions
- Upgrading instructions

## Changes

- Pootle FS is enabled by default:
  - All projects are now handled by Pootle FS.
  - When creating new projects:
    - It is mandatory to set filesystem configuration right after creating it,
    - Pootle no longer automatically imports translations from disk,
    - Pootle no longer creates project directory on disk if missing,
    - Name for templates in disk is now configurable.
  - When adding new languages to a project:
    - Pootle no longer tries to first import existing translations from disk,
    - Pootle initializes the new languages using the templates in the database.
  - Merged previously separated forms for handling Pootle FS specific settings of projects into other existing forms:
    - Merged project’s Pootle FS backend configuration into project form.
    - Merged project’s languages mapping configuration into project’s languages form.
- Several bugfixes for Pootle FS:
  - Fix handling of obsolete and unsynced units,
  - Allow to sync to empty file,
  - Several fixes for initializing new languages from templates,
  - When language mappings change now the disk files that are tracked are immediately detected,
  - Fix for correctly stage filesystem overwrite on conflict,
  - Adjustments in migrations.
- Serialization:
  - Don’t cache on serialization,
  - Allow serializing obsolete units,
  - Serialization and sync bugfixes.
- Editor:
  - No longer shows red background if all critical checks are muted.
  - Don’t redirect to browse view after translating last unit unless all previous units have been translated.
- Improved performance on permissions forms by using a live search field for users.
- Fixed issues with variables in translations.
- Updated UI language discovery to try simpler language codes before trying a fallback.
- Limited several text fields in the models to 4096 characters.
- Overall documentation review and updates.

### Command changes and additions

- pootle command can now be run with no VIRTUAL_ENV environment variable set.
- `sync_stores`:
  - Has been deprecated in favor of Pootle FS commands,
  - Can now work with projects managed by Pootle FS,
  - Warns if there is any conflict between disk and database changes,
  - The `--force` and `--overwrite` arguments no longer have any effect in the command execution.
- `update_stores`:
  - Has been deprecated in favor of Pootle FS commands,
  - Can now work with projects managed by Pootle FS,
  - The `--force` argument no longer has any effect in the command execution.
- Removed `changed_languages` command. Use `list_languages` instead.
- Added `--yes` argument to `init` command.

## Credits

This release was made possible by the following people:

Ryan Northey, Leandro Regueiro, Dwayne Bailey, Taras Semenenko, boite.

And to all our bug finders, testers and translators, a Very BIG Thank You.