1# Change Log
2
3All notable changes to this project will be documented in this file.
4
5The format is based on [Keep a Changelog](http://keepachangelog.com/)
6and this project adheres to [Semantic Versioning](http://semver.org/).
7
8Previous releases are documented in [github releases](https://github.com/oscarotero/Gettext/releases)
9
10## [4.8.4] - 2021-03-10
11### Fixed
12- PHP 8 compatibilty [#266]
13
14## [4.8.3] - 2020-11-18
15### Fixed
16- Blade extractor for Laravel8/Jetstream [#261]
17
18## [4.8.2] - 2019-12-02
19### Fixed
20- UTF-8 handling for VueJs extractor [#242]
21
22## [4.8.1] - 2019-11-15
23### Fixed
24- Php error when scanning for a single domain but other string found [#238]
25
26## [4.8.0] - 2019-11-04
27### Changed
28- Many `private` properties and methods were changed to `protected` in order to improve the extensibility [#231]
29
30### Fixed
31- PHP 7.4 support [#230]
32
33## [4.7.0] - 2019-10-07
34### Added
35- Support for UnitID in Xliff [#221] [#224] [#225]
36- Support for scan multiple domains at the same time [#223]
37
38### Fixed
39- New lines in windows [#218] [#226]
40
41## [4.6.3] - 2019-07-15
42### Added
43- Some VueJs extraction improvements and additions [#205], [#213]
44
45### Fixed
46- Multiline extractions in jsCode [#200]
47- Support for js template literals [#214]
48- Fixed tabs in PHP comments [#215]
49
50## [4.6.2] - 2019-01-12
51### Added
52- New option `facade` in blade extractor to use a facade instead create a blade compiler [#197], [#198]
53
54### Fixed
55- Added php-7.3 to travis
56- Added VueJS extractor method docblocks for IDEs [#191]
57
58## [4.6.1] - 2018-08-27
59### Fixed
60- VueJS DOM parsing [#188]
61- Javascript parser was unable to extract some functions [#187]
62
63## [4.6.0] - 2018-06-26
64### Added
65- New extractor for VueJs [#178]
66
67### Fixed
68- Do not include empty translations containing the headers in the translator [#182]
69- Test enhancement [#177]
70
71## [4.5.0] - 2018-04-23
72### Added
73- Support for disabled translations
74
75### Fixed
76- Added php-7.2 to travis
77- Fixed po tests on bigendian [#159]
78- Improved comment estraction [#166]
79- Fixed incorrect docs to dn__ function [#170]
80- Ignored phpcs.xml file on export [#168]
81- Improved `@method` docs in `Translations` [#175]
82
83## [4.4.4] - 2018-02-21
84### Fixed
85- Changed the comment extraction to be compatible with gettext behaviour: the comment must be placed in the line preceding the function [#161]
86
87### Security
88- Validate eval input from plural forms [#156]
89
90## [4.4.3] - 2017-08-09
91### Fixed
92- Handle `NULL` arguments on extract entries in php. For example `dn__(null, 'singular', 'plural')`.
93- Fixed the `PhpCode` and `JsCode` extractors that didn't extract `dn__` and `dngettext` entries [#155].
94- Fixed the `PhpCode` and `JsCode` extractors that didn't extract `dnpgettext` correctly.
95
96## [4.4.2] - 2017-07-27
97### Fixed
98- Clone the translations in `Translations::mergeWith` to prevent that the translation is referenced in both places. [#152]
99- Fixed escaped quotes in the javascript extractor [#154]
100
101## [4.4.1] - 2017-05-20
102### Fixed
103- Fixed a bug where the options was not passed correctly to the merging Translations object [#147]
104- Unified the plural behaviours between PHP gettext and Translator when the plural translation is unknown [#148]
105- Removed the deprecated function `create_function()` and use `eval()` instead
106
107## [4.4.0] - 2017-05-10
108### Added
109- New option `noLocation` to po generator, to omit the references [#143]
110- New options `delimiter`, `enclosure` and `escape_char` to Csv and CsvDictionary extractors and generators [#145]
111- Added the missing `dn__()` function [#146]
112
113### Fixed
114- Improved the code style including php_codesniffer in development
115
116## 4.3.0 - 2017-03-04
117### Added
118- Added support for named placeholders (using `strtr`). For example:
119  ```php
120  __('Hello :name', [':name' => 'World']);
121  ```
122- Added support for Twig v2
123- New function `BaseTranslator::includeFunctions()` to include the functions file without register any translator
124
125### Fixed
126- Fixed a bug related with the javascript source extraction with single quotes
127
128[#143]: https://github.com/oscarotero/Gettext/issues/143
129[#145]: https://github.com/oscarotero/Gettext/issues/145
130[#146]: https://github.com/oscarotero/Gettext/issues/146
131[#147]: https://github.com/oscarotero/Gettext/issues/147
132[#148]: https://github.com/oscarotero/Gettext/issues/148
133[#152]: https://github.com/oscarotero/Gettext/issues/152
134[#154]: https://github.com/oscarotero/Gettext/issues/154
135[#155]: https://github.com/oscarotero/Gettext/issues/155
136[#156]: https://github.com/oscarotero/Gettext/issues/156
137[#159]: https://github.com/oscarotero/Gettext/issues/159
138[#161]: https://github.com/oscarotero/Gettext/issues/161
139[#166]: https://github.com/oscarotero/Gettext/issues/166
140[#168]: https://github.com/oscarotero/Gettext/issues/168
141[#170]: https://github.com/oscarotero/Gettext/issues/170
142[#175]: https://github.com/oscarotero/Gettext/issues/175
143[#177]: https://github.com/oscarotero/Gettext/issues/177
144[#178]: https://github.com/oscarotero/Gettext/issues/178
145[#182]: https://github.com/oscarotero/Gettext/issues/182
146[#187]: https://github.com/oscarotero/Gettext/issues/187
147[#188]: https://github.com/oscarotero/Gettext/issues/188
148[#191]: https://github.com/oscarotero/Gettext/issues/191
149[#197]: https://github.com/oscarotero/Gettext/issues/197
150[#198]: https://github.com/oscarotero/Gettext/issues/198
151[#200]: https://github.com/oscarotero/Gettext/issues/200
152[#205]: https://github.com/oscarotero/Gettext/issues/205
153[#213]: https://github.com/oscarotero/Gettext/issues/213
154[#214]: https://github.com/oscarotero/Gettext/issues/214
155[#215]: https://github.com/oscarotero/Gettext/issues/215
156[#218]: https://github.com/oscarotero/Gettext/issues/218
157[#221]: https://github.com/oscarotero/Gettext/issues/221
158[#223]: https://github.com/oscarotero/Gettext/issues/223
159[#224]: https://github.com/oscarotero/Gettext/issues/224
160[#225]: https://github.com/oscarotero/Gettext/issues/225
161[#226]: https://github.com/oscarotero/Gettext/issues/226
162[#230]: https://github.com/oscarotero/Gettext/issues/230
163[#231]: https://github.com/oscarotero/Gettext/issues/231
164[#238]: https://github.com/oscarotero/Gettext/issues/238
165[#242]: https://github.com/oscarotero/Gettext/issues/242
166[#261]: https://github.com/oscarotero/Gettext/issues/261
167[#266]: https://github.com/oscarotero/Gettext/issues/266
168
169[4.8.4]: https://github.com/oscarotero/Gettext/compare/v4.8.3...v4.8.4
170[4.8.3]: https://github.com/oscarotero/Gettext/compare/v4.8.2...v4.8.3
171[4.8.2]: https://github.com/oscarotero/Gettext/compare/v4.8.1...v4.8.2
172[4.8.1]: https://github.com/oscarotero/Gettext/compare/v4.8.0...v4.8.1
173[4.8.0]: https://github.com/oscarotero/Gettext/compare/v4.7.0...v4.8.0
174[4.7.0]: https://github.com/oscarotero/Gettext/compare/v4.6.3...v4.7.0
175[4.6.3]: https://github.com/oscarotero/Gettext/compare/v4.6.2...v4.6.3
176[4.6.2]: https://github.com/oscarotero/Gettext/compare/v4.6.1...v4.6.2
177[4.6.1]: https://github.com/oscarotero/Gettext/compare/v4.6.0...v4.6.1
178[4.6.0]: https://github.com/oscarotero/Gettext/compare/v4.5.0...v4.6.0
179[4.5.0]: https://github.com/oscarotero/Gettext/compare/v4.4.4...v4.5.0
180[4.4.4]: https://github.com/oscarotero/Gettext/compare/v4.4.3...v4.4.4
181[4.4.3]: https://github.com/oscarotero/Gettext/compare/v4.4.2...v4.4.3
182[4.4.2]: https://github.com/oscarotero/Gettext/compare/v4.4.1...v4.4.2
183[4.4.1]: https://github.com/oscarotero/Gettext/compare/v4.4.0...v4.4.1
184[4.4.0]: https://github.com/oscarotero/Gettext/compare/v4.3.0...v4.4.0
185