# Translate Toolkit 2.3.0

Released on 18 March 2018

This release contains improvements and bug fixes.

## Changes

### Formats and Converters

- PO

  - Avoid escaping some characters (`()/:,`) that don’t need to be escaped

  - Wrap lines on `/` like Gettext

  - Lines can be wrapped at specified length

  - MO units now allow to set the unit context

  - Always URL-encode locations

- PHP

  - Full rewrite of the PHP format using `phply`:

    - Fixes multiple issues

    - Brings support for new dialects: `heredoc`, `nowdoc`, short array syntax and nested arrays.

- YAML

  - Added `yaml2po` and `po2yaml` converters

  - Fixed some minor bugs

  - Documented unsupported features

- JSON

  - Refactored the storage classes to get rid of repeated shared code, reduce memory usage and get readable representation of the units.

- txt

  - Added `--no-segmentation` flag to `txt2po`

### Tools

- Removed `translate.convert.poreplace`

### General

- Improved support for Windows

- Refactored multiple converters to increase readability and use a common pattern which will allow to further refactor repeated code

- Tests:

  - Enabled testing on Windows

  - Added more tests

  - Plenty of tests cleanups and fixes

- Docs:

  - Updated docs on installation

  - Improved automatic generation of docs on factories

## Contributors

This release was made possible by the following people:

Leandro Regueiro, Michal Čihař, Stuart Prescott, Nick Schonning, Johannes Marbach, andreistefan87, Alejandro Mantecon Guillen.

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