# Change Log
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [8.4.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.4.0...intl-messageformat@8.4.1) (2020-07-01)
**Note:** Version bump only for package intl-messageformat
# [8.4.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.26...intl-messageformat@8.4.0) (2020-06-26)
### Features
* **intl-messageformat:** pass `ignoreTag` to parser ([386459b](https://github.com/formatjs/formatjs/commit/386459ba472734ff21ba19374e2700e52382cd22)), closes [#1755](https://github.com/formatjs/formatjs/issues/1755)
## [8.3.26](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.25...intl-messageformat@8.3.26) (2020-06-23)
**Note:** Version bump only for package intl-messageformat
## [8.3.25](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.24...intl-messageformat@8.3.25) (2020-06-23)
**Note:** Version bump only for package intl-messageformat
## [8.3.24](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.23...intl-messageformat@8.3.24) (2020-06-20)
**Note:** Version bump only for package intl-messageformat
## [8.3.23](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.22...intl-messageformat@8.3.23) (2020-06-06)
**Note:** Version bump only for package intl-messageformat
## [8.3.22](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.21...intl-messageformat@8.3.22) (2020-06-06)
**Note:** Version bump only for package intl-messageformat
## [8.3.21](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.20...intl-messageformat@8.3.21) (2020-06-04)
**Note:** Version bump only for package intl-messageformat
## [8.3.20](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.19...intl-messageformat@8.3.20) (2020-06-04)
**Note:** Version bump only for package intl-messageformat
## [8.3.19](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.18...intl-messageformat@8.3.19) (2020-06-03)
**Note:** Version bump only for package intl-messageformat
## [8.3.18](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.17...intl-messageformat@8.3.18) (2020-05-28)
**Note:** Version bump only for package intl-messageformat
## [8.3.17](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.16...intl-messageformat@8.3.17) (2020-05-27)
**Note:** Version bump only for package intl-messageformat
## [8.3.16](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.15...intl-messageformat@8.3.16) (2020-05-25)
**Note:** Version bump only for package intl-messageformat
## [8.3.15](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.14...intl-messageformat@8.3.15) (2020-05-23)
**Note:** Version bump only for package intl-messageformat
## [8.3.14](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.13...intl-messageformat@8.3.14) (2020-05-23)
**Note:** Version bump only for package intl-messageformat
## [8.3.13](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.12...intl-messageformat@8.3.13) (2020-05-21)
### Bug Fixes
* **intl-messageformat:** fix rendering tag inside plural, fix [#1680](https://github.com/formatjs/formatjs/issues/1680) ([dd4f6c6](https://github.com/formatjs/formatjs/commit/dd4f6c626055688b8b596b164f0836e9ea65fb1e))
## [8.3.12](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.11...intl-messageformat@8.3.12) (2020-05-21)
**Note:** Version bump only for package intl-messageformat
## [8.3.11](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.10...intl-messageformat@8.3.11) (2020-05-16)
**Note:** Version bump only for package intl-messageformat
## [8.3.10](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.9...intl-messageformat@8.3.10) (2020-05-05)
**Note:** Version bump only for package intl-messageformat
## 8.3.9 (2020-04-28)
### Bug Fixes
* **intl-messageformat:** fix issue where skeleton not getting parsed in date format ([9cc6049](https://github.com/formatjs/formatjs/commit/9cc6049b7139f8c9c843542a10a48c7faa64a880))
## [8.3.8](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.7...intl-messageformat@8.3.8) (2020-04-24)
### Bug Fixes
* **eslint-plugin-formatjs:** add missing dep ([776390e](https://github.com/formatjs/formatjs/commit/776390e9d6cb3bc1eef07b2e92057136cfe95b76))
## [8.3.7](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.6...intl-messageformat@8.3.7) (2020-04-20)
### Bug Fixes
* **intl-messageformat:** IntlMessageFormat.defaultLocale is upda… ([#653](https://github.com/formatjs/formatjs/issues/653)) ([31d1422](https://github.com/formatjs/formatjs/commit/31d14226543765e4fb6dba535d6159a8bfa2719a)), closes [#587](https://github.com/formatjs/formatjs/issues/587)
## [8.3.6](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.5...intl-messageformat@8.3.6) (2020-04-14)
### Bug Fixes
* clean up tsbuildinfo before full build ([c301ca0](https://github.com/formatjs/formatjs/commit/c301ca02e0c319a0eb03921533053f0334ae5df1))
## [8.3.5](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.4...intl-messageformat@8.3.5) (2020-04-12)
**Note:** Version bump only for package intl-messageformat
## [8.3.4](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.3...intl-messageformat@8.3.4) (2020-04-11)
**Note:** Version bump only for package intl-messageformat
## [8.3.3](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.2...intl-messageformat@8.3.3) (2020-03-30)
**Note:** Version bump only for package intl-messageformat
## [8.3.2](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.1...intl-messageformat@8.3.2) (2020-03-28)
### Bug Fixes
* **intl-messageformat:** add FormatXMLElementFn generic return type ([9b4516c](https://github.com/formatjs/formatjs/commit/9b4516cd1be9fcc1d98fecef31949caa415530c2))
## [8.3.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.3.0...intl-messageformat@8.3.1) (2020-03-26)
### Bug Fixes
* **intl-messageformat:** add missing import to formatters ([be26f59](https://github.com/formatjs/formatjs/commit/be26f591fb373cfca5c0469572bf6a24692bacdc))
# [8.3.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.2.3...intl-messageformat@8.3.0) (2020-03-26)
### Features
* **intl-messageformat:** add more debug info to errors ([58dd475](https://github.com/formatjs/formatjs/commit/58dd475f90d1d11c8085fa554c9229b0f1f65a1d))
## [8.2.3](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.2.2...intl-messageformat@8.2.3) (2020-03-21)
### Bug Fixes
* **intl-messageformat:** change ErrorCode to string enum ([db8662a](https://github.com/formatjs/formatjs/commit/db8662aaf7571ce035f716611901882a89e193da))
## [8.2.2](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.2.1...intl-messageformat@8.2.2) (2020-03-18)
**Note:** Version bump only for package intl-messageformat
## [8.2.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.2.0...intl-messageformat@8.2.1) (2020-03-05)
### Bug Fixes
* **intl-messageformat:** export Error obj ([614debb](https://github.com/formatjs/formatjs/commit/614debb80f654966bc3ba832d6e5603be88da3d9))
# [8.2.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.1.0...intl-messageformat@8.2.0) (2020-03-05)
### Features
* **intl-messageformat:** Add error type for better debugging ([6200573](https://github.com/formatjs/formatjs/commit/6200573c9f88b23f157bede7305fcc5da64b842b))
# [8.1.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@8.0.0...intl-messageformat@8.1.0) (2020-03-05)
### Features
* **intl-messageformat-parser:** Allow - in embedded HTML tag ([43aa6a7](https://github.com/formatjs/formatjs/commit/43aa6a727ab6fd5eb3fb4d8c4035039a2c27b6c5)), closes [#545](https://github.com/formatjs/formatjs/issues/545)
# [8.0.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.8.3...intl-messageformat@8.0.0) (2020-03-04)
### Features
* **intl-messageformat:** combine formatHTMLMessage into format ([d59fbf1](https://github.com/formatjs/formatjs/commit/d59fbf1a4a017a3a023254cb9947575eef9cf803))
### BREAKING CHANGES
* **intl-messageformat:** We've modified the way we parse and format embedded
XML/HTML as follow:
1. `formatHTMLMessage` has been combined with `format`
2. All tags specified must have corresponding values and will throw
error if it's missing, e.g: `new IntlMessageFormat("a
strong").format({ b: (...chunks) => chunks })`
3. Self-closing tags are treated as string literal by default. We don't
allow formatting self-closing tags because we already use ICU
`{placeholder}` syntax for that.
4. XML/HTML tags are escaped using apostrophe just like other ICU
constructs.
5. Remove dependency on DOMParser and restrictions on void element like
``. This effectively means you don't need to polyfill DOMParser in
Node anymore
fix(intl-messageformat-parser): fix escaping for XML tag
## [7.8.4](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.8.3...intl-messageformat@7.8.4) (2020-01-27)
**Note:** Version bump only for package intl-messageformat
## [7.8.3](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.8.2...intl-messageformat@7.8.3) (2020-01-22)
**Note:** Version bump only for package intl-messageformat
## [7.8.2](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.8.1...intl-messageformat@7.8.2) (2020-01-09)
**Note:** Version bump only for package intl-messageformat
## [7.8.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.8.0...intl-messageformat@7.8.1) (2020-01-08)
**Note:** Version bump only for package intl-messageformat
# [7.8.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.7.5...intl-messageformat@7.8.0) (2020-01-06)
### Bug Fixes
* **eslint-plugin-format:** fix eslint-plugin-formatjs type error ([b647552](https://github.com/formatjs/formatjs/commit/b6475523bf816e2ac3be6c03d0b565fccb2b5c29))
### Features
* **intl-messageformat:** use the new pound element AST node in plural argument ([9519103](https://github.com/formatjs/formatjs/commit/95191035397901ccc72564be57de3fa77ef9af96))
## [7.7.5](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.7.4...intl-messageformat@7.7.5) (2019-12-27)
**Note:** Version bump only for package intl-messageformat
## [7.7.4](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.7.3...intl-messageformat@7.7.4) (2019-12-27)
**Note:** Version bump only for package intl-messageformat
## [7.7.3](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.7.2...intl-messageformat@7.7.3) (2019-12-26)
**Note:** Version bump only for package intl-messageformat
## [7.7.2](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.7.1...intl-messageformat@7.7.2) (2019-12-04)
**Note:** Version bump only for package intl-messageformat
## [7.7.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.7.0...intl-messageformat@7.7.1) (2019-12-02)
**Note:** Version bump only for package intl-messageformat
# [7.7.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.6.2...intl-messageformat@7.7.0) (2019-12-01)
### Features
* **intl-messageformat:** Integrate parser's number skeleton ([c4ec029](https://github.com/formatjs/formatjs/commit/c4ec029322de34477997531ae8e9bb937cb0d52d))
## [7.6.2](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.6.1...intl-messageformat@7.6.2) (2019-12-01)
**Note:** Version bump only for package intl-messageformat
## [7.6.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.6.0...intl-messageformat@7.6.1) (2019-11-26)
**Note:** Version bump only for package intl-messageformat
# [7.6.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.5.6...intl-messageformat@7.6.0) (2019-11-25)
### Bug Fixes
* **intl-messageformat:** remove re-export for parseDateTimeSkeleton ([8611aa4](https://github.com/formatjs/formatjs/commit/8611aa4f950ee1d42ea5e631a6fc8b50bae0383a))
### Features
* **eslint-plugin-formatjs:** add supported-datetime-skeleton rules ([c121a9a](https://github.com/formatjs/formatjs/commit/c121a9a9a52f21fbe1fdfc70e31c0275efbd0f8d))
* **intl-messageformat:** add limited support for date time skeleton ([07795b9](https://github.com/formatjs/formatjs/commit/07795b9e5e0116ffaf5f410c4e1c1a375f86ba8a))
## [7.5.6](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.5.5...intl-messageformat@7.5.6) (2019-11-25)
**Note:** Version bump only for package intl-messageformat
## [7.5.5](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.5.4...intl-messageformat@7.5.5) (2019-11-23)
**Note:** Version bump only for package intl-messageformat
## [7.5.4](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.5.3...intl-messageformat@7.5.4) (2019-11-21)
### Bug Fixes
* **intl-messageformat:** use api-extractor to combine type definitions ([6c6af9d](https://github.com/formatjs/formatjs/commit/6c6af9d837d13938fa647cbbbaf2f417935908fd))
## [7.5.3](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.5.2...intl-messageformat@7.5.3) (2019-11-20)
### Bug Fixes
* **lint:** fix lint config and rerun ([041eb99](https://github.com/formatjs/formatjs/commit/041eb99706164048b5b8ce7079955897ce27ed70))
## [7.5.2](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.5.1...intl-messageformat@7.5.2) (2019-11-11)
**Note:** Version bump only for package intl-messageformat
## [7.5.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.5.0...intl-messageformat@7.5.1) (2019-11-10)
### Bug Fixes
* **intl-messageformat:** pass raw locales down to individual formatters ([3a74c2e](https://github.com/formatjs/formatjs/commit/3a74c2e7c6592de3a4f5ca182c5846fe095abe55)), closes [#255](https://github.com/formatjs/formatjs/issues/255)
# [7.5.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.3.3...intl-messageformat@7.5.0) (2019-10-30)
### Features
* **@formatjs/cli:** A CLI for formatjs ([#234](https://github.com/formatjs/formatjs/issues/234)) ([1f57a0b](https://github.com/formatjs/formatjs/commit/1f57a0b0921e0228cf3fd4eff756b0cd17e28fb5))
# [7.4.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.3.3...intl-messageformat@7.4.0) (2019-10-30)
### Features
* **@formatjs/cli:** A CLI for formatjs ([#234](https://github.com/formatjs/formatjs/issues/234)) ([1f57a0b](https://github.com/formatjs/formatjs/commit/1f57a0b0921e0228cf3fd4eff756b0cd17e28fb5))
## [7.3.3](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.3.2...intl-messageformat@7.3.3) (2019-10-23)
### Bug Fixes
* **intl-messageformat:** fix formatHTMLMessage @ regex ([d1b7c8c](https://github.com/formatjs/formatjs/commit/d1b7c8c14a0b90f8d059a8dc3e12ce7976192975)), closes [#217](https://github.com/formatjs/formatjs/issues/217)
* **intl-messageformat:** handle nested # in plural correctly, fix [#202](https://github.com/formatjs/formatjs/issues/202) ([22121b2](https://github.com/formatjs/formatjs/commit/22121b210b566ad3dd509e4cbf47d3c245742928))
## [7.3.2](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.3.1...intl-messageformat@7.3.2) (2019-10-01)
**Note:** Version bump only for package intl-messageformat
## [7.3.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.3.0...intl-messageformat@7.3.1) (2019-09-27)
**Note:** Version bump only for package intl-messageformat
# [7.3.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.2.4...intl-messageformat@7.3.0) (2019-09-20)
### Bug Fixes
* **@formatjs/intl-pluralrules:** rm side effects array due to build complication ([f22e552](https://github.com/formatjs/formatjs/commit/f22e552))
### Features
* **intl-messageformat:** mark the package as side-effects free ([a1a08ae](https://github.com/formatjs/formatjs/commit/a1a08ae))
* **intl-messageformat:** throw FormatError when trying to format plural but Intl.PluralRules is not available ([6294570](https://github.com/formatjs/formatjs/commit/6294570))
## [7.2.4](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.2.3...intl-messageformat@7.2.4) (2019-09-17)
**Note:** Version bump only for package intl-messageformat
## [7.2.3](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.2.2...intl-messageformat@7.2.3) (2019-09-15)
**Note:** Version bump only for package intl-messageformat
## [7.2.2](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.2.1...intl-messageformat@7.2.2) (2019-09-13)
### Bug Fixes
* **intl-messageformat:** fix chrome v77 issue where NumberFormat.supportedLocalesOf(cy) broke ([4b1605c](https://github.com/formatjs/formatjs/commit/4b1605c))
## [7.2.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.2.0...intl-messageformat@7.2.1) (2019-09-09)
### Bug Fixes
* **intl-messageformat:** handle closing tag nested inside regular tag ([08c970a](https://github.com/formatjs/formatjs/commit/08c970a))
# [7.2.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.1.6...intl-messageformat@7.2.0) (2019-09-09)
### Features
* **intl-messageformat:** support nested tag, fix [#176](https://github.com/formatjs/formatjs/issues/176) ([a857239](https://github.com/formatjs/formatjs/commit/a857239))
## [7.1.6](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.1.5...intl-messageformat@7.1.6) (2019-09-03)
**Note:** Version bump only for package intl-messageformat
## [7.1.5](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.1.4...intl-messageformat@7.1.5) (2019-09-03)
**Note:** Version bump only for package intl-messageformat
## [7.1.4](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.1.3...intl-messageformat@7.1.4) (2019-09-03)
**Note:** Version bump only for package intl-messageformat
## [7.1.3](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.1.2...intl-messageformat@7.1.3) (2019-09-03)
**Note:** Version bump only for package intl-messageformat
## [7.1.2](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.1.1...intl-messageformat@7.1.2) (2019-08-29)
**Note:** Version bump only for package intl-messageformat
## [7.1.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.1.0...intl-messageformat@7.1.1) (2019-08-29)
### Bug Fixes
* **intl-messageformat-parser:** throw when there are duplicates in select/plural, fix [#168](https://github.com/formatjs/formatjs/issues/168) ([0c3a0e0](https://github.com/formatjs/formatjs/commit/0c3a0e0))
# [7.1.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@7.0.0...intl-messageformat@7.1.0) (2019-08-28)
### Features
* **intl-messageformat:** throw FormatError if self-closing tag is used ([#166](https://github.com/formatjs/formatjs/issues/166)) ([3e0934d](https://github.com/formatjs/formatjs/commit/3e0934d))
# [7.0.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@6.1.11...intl-messageformat@7.0.0) (2019-08-26)
### Bug Fixes
* **intl-messageformat:** Fix case-sensitive tag ([69b6eae](https://github.com/formatjs/formatjs/commit/69b6eae))
### Features
* **intl-messageformat:** switch to text/html to parse HTML message ([f1d952f](https://github.com/formatjs/formatjs/commit/f1d952f)), closes [#152](https://github.com/formatjs/formatjs/issues/152) [#148](https://github.com/formatjs/formatjs/issues/148)
### BREAKING CHANGES
* **intl-messageformat:** Rename `formatXMLMessage` to `formatHTMLMessage`
## [6.1.11](https://github.com/formatjs/formatjs/compare/intl-messageformat@6.1.10...intl-messageformat@6.1.11) (2019-08-19)
**Note:** Version bump only for package intl-messageformat
## [6.1.10](https://github.com/formatjs/formatjs/compare/intl-messageformat@6.1.9...intl-messageformat@6.1.10) (2019-08-21)
### Bug Fixes
* **intl-messageformat:** filter out XML a bit more aggressively ([36af40e](https://github.com/formatjs/formatjs/commit/36af40e)), closes [#148](https://github.com/formatjs/formatjs/issues/148)
## [6.1.9](https://github.com/formatjs/formatjs/compare/intl-messageformat@6.1.8...intl-messageformat@6.1.9) (2019-08-19)
**Note:** Version bump only for package intl-messageformat
## [6.1.8](https://github.com/formatjs/formatjs/compare/intl-messageformat@6.1.7...intl-messageformat@6.1.8) (2019-08-16)
**Note:** Version bump only for package intl-messageformat
## [6.1.7](https://github.com/formatjs/formatjs/compare/intl-messageformat@6.1.6...intl-messageformat@6.1.7) (2019-08-16)
**Note:** Version bump only for package intl-messageformat
## [6.1.6](https://github.com/formatjs/formatjs/compare/intl-messageformat@6.1.5...intl-messageformat@6.1.6) (2019-08-16)
### Bug Fixes
* **intl-messageformat:** fix empty value in formatting ([9f820ea](https://github.com/formatjs/formatjs/commit/9f820ea)), closes [#156](https://github.com/formatjs/formatjs/issues/156)
## [6.1.5](https://github.com/formatjs/formatjs/compare/intl-messageformat@6.1.4...intl-messageformat@6.1.5) (2019-08-13)
### Bug Fixes
* **intl-messageformat:** handle formatXMLMessage better ([c03ecf8](https://github.com/formatjs/formatjs/commit/c03ecf8))
## [6.1.4](https://github.com/formatjs/formatjs/compare/intl-messageformat@6.1.3...intl-messageformat@6.1.4) (2019-08-12)
**Note:** Version bump only for package intl-messageformat
## [6.1.3](https://github.com/formatjs/formatjs/compare/intl-messageformat@6.1.2...intl-messageformat@6.1.3) (2019-08-11)
### Bug Fixes
* generate lib instead of mjs ([05e63b3](https://github.com/formatjs/formatjs/commit/05e63b3))
## [6.1.2](https://github.com/formatjs/formatjs/compare/intl-messageformat@6.1.1...intl-messageformat@6.1.2) (2019-08-10)
### Bug Fixes
* **intl-messageformat-parser:** allow negative in plural rule, fixes [#146](https://github.com/formatjs/formatjs/issues/146) ([50c7710](https://github.com/formatjs/formatjs/commit/50c7710))
## [6.1.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@6.1.0...intl-messageformat@6.1.1) (2019-08-09)
**Note:** Version bump only for package intl-messageformat
# [6.1.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@6.0.4...intl-messageformat@6.1.0) (2019-08-08)
### Features
* **intl-messageformat:** rm core bundle for now ([5311ac2](https://github.com/formatjs/formatjs/commit/5311ac2))
## [6.0.4](https://github.com/formatjs/formatjs/compare/intl-messageformat@6.0.3...intl-messageformat@6.0.4) (2019-08-07)
**Note:** Version bump only for package intl-messageformat
## [6.0.3](https://github.com/formatjs/formatjs/compare/intl-messageformat@6.0.2...intl-messageformat@6.0.3) (2019-08-06)
### Bug Fixes
* generate .mjs instead of lib ([0c34ee4](https://github.com/formatjs/formatjs/commit/0c34ee4))
## [6.0.2](https://github.com/formatjs/formatjs/compare/intl-messageformat@6.0.1...intl-messageformat@6.0.2) (2019-08-02)
**Note:** Version bump only for package intl-messageformat
## [6.0.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@6.0.0...intl-messageformat@6.0.1) (2019-07-29)
### Bug Fixes
* **intl-messageformat-parser:** argStyleText can contain syntax characters and quoted string now ([#136](https://github.com/formatjs/formatjs/issues/136)) ([b39ea08](https://github.com/formatjs/formatjs/commit/b39ea08)), closes [#135](https://github.com/formatjs/formatjs/issues/135)
# [6.0.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@5.4.3...intl-messageformat@6.0.0) (2019-07-29)
### Features
* **intl-messageformat-parser:** add parser for number skeleton and date skeleton ([#131](https://github.com/formatjs/formatjs/issues/131)) ([dbe6799](https://github.com/formatjs/formatjs/commit/dbe6799))
* **intl-messageformat-parser:** revamped quote rule ([#134](https://github.com/formatjs/formatjs/issues/134)) ([5661177](https://github.com/formatjs/formatjs/commit/5661177))
### BREAKING CHANGES
* **intl-messageformat-parser:** This changes how we escape chars in messages, instead of `\` we now use apostrophe which is more aligned with ICU4J & ICU4C
## [5.4.3](https://github.com/formatjs/formatjs/compare/intl-messageformat@5.4.2...intl-messageformat@5.4.3) (2019-07-25)
### Bug Fixes
* **intl-messageformat:** fix regex, fix [#130](https://github.com/formatjs/formatjs/issues/130) ([f597630](https://github.com/formatjs/formatjs/commit/f597630))
## [5.4.2](https://github.com/formatjs/formatjs/compare/intl-messageformat@5.4.1...intl-messageformat@5.4.2) (2019-07-25)
### Bug Fixes
* **intl-messageformat:** Include Date in PrimitiveType ([1feca57](https://github.com/formatjs/formatjs/commit/1feca57)), closes [#127](https://github.com/formatjs/formatjs/issues/127)
## [5.4.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@5.4.0...intl-messageformat@5.4.1) (2019-07-25)
### Bug Fixes
* **intl-messageformat:** fix formatXMLMessage w/o tag ([8d3bfcd](https://github.com/formatjs/formatjs/commit/8d3bfcd))
# [5.4.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@5.3.0...intl-messageformat@5.4.0) (2019-07-25)
### Features
* **intl-messageformat:** allow mixed placeholder & XML together… ([#126](https://github.com/formatjs/formatjs/issues/126)) ([4a624c0](https://github.com/formatjs/formatjs/commit/4a624c0))
# [5.3.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@5.2.0...intl-messageformat@5.3.0) (2019-07-25)
### Features
* **intl-messageformat:** allow passing in object to formatXMLMessage ([ce05b8a](https://github.com/formatjs/formatjs/commit/ce05b8a))
# [5.2.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@5.1.2...intl-messageformat@5.2.0) (2019-07-25)
### Features
* **intl-messageformat:** Add xml formatting ([#124](https://github.com/formatjs/formatjs/issues/124)) ([72cdafc](https://github.com/formatjs/formatjs/commit/72cdafc))
## [5.1.2](https://github.com/formatjs/formatjs/compare/intl-messageformat@5.1.1...intl-messageformat@5.1.2) (2019-07-23)
**Note:** Version bump only for package intl-messageformat
## [5.1.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@5.1.0...intl-messageformat@5.1.1) (2019-07-12)
**Note:** Version bump only for package intl-messageformat
# [5.1.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@5.0.1...intl-messageformat@5.1.0) (2019-07-12)
### Features
- **intl-messageformat:** Add `formatToParts` ([0680f58](https://github.com/formatjs/formatjs/commit/0680f58))
- **intl-messageformat:** export Part types ([450c495](https://github.com/formatjs/formatjs/commit/450c495))
- **intl-messageformat-parser:** add printer to print AST to string ([ec0eaa2](https://github.com/formatjs/formatjs/commit/ec0eaa2))
## [5.0.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@5.0.0...intl-messageformat@5.0.1) (2019-07-09)
**Note:** Version bump only for package intl-messageformat
# [5.0.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@4.4.0...intl-messageformat@5.0.0) (2019-07-08)
### Features
- **intl-messageformat-parser:** Rewrite grammar ([#112](https://github.com/formatjs/formatjs/issues/112)) ([093de35](https://github.com/formatjs/formatjs/commit/093de35))
### BREAKING CHANGES
- **intl-messageformat-parser:** This completely changes the AST produced by the parser
Before:
```
complex_msg AST length 12567
normal_msg AST length 2638
simple_msg AST length 567
string_msg AST length 288
complex_msg x 3,405 ops/sec ±5.44% (81 runs sampled)
normal_msg x 27,513 ops/sec ±2.14% (87 runs sampled)
simple_msg x 113,043 ops/sec ±1.20% (89 runs sampled)
string_msg x 147,838 ops/sec ±0.78% (90 runs sampled)
```
After:
```
complex_msg AST length 2053
normal_msg AST length 410
simple_msg AST length 79
string_msg AST length 36
complex_msg x 3,926 ops/sec ±2.37% (90 runs sampled)
normal_msg x 27,641 ops/sec ±3.93% (86 runs sampled)
simple_msg x 100,764 ops/sec ±5.35% (79 runs sampled)
string_msg x 120,362 ops/sec ±7.11% (74 runs sampled)
```
- feat: normalize hashtag token in plural
- feat(intl-messageformat): adapt to new AST
- feat(babel-plugin-react-intl): adapt to new AST
# [4.4.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@4.3.0...intl-messageformat@4.4.0) (2019-06-28)
### Features
- **intl-messageformat:** export core entry point ([ca7eeae](https://github.com/formatjs/formatjs/commit/ca7eeae))
# [4.3.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@4.2.1...intl-messageformat@4.3.0) (2019-06-27)
### Features
- **intl-messageformat:** allow passing in formatters ([#107](https://github.com/formatjs/formatjs/issues/107)) ([3605693](https://github.com/formatjs/formatjs/commit/3605693))
## [4.2.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@4.2.0...intl-messageformat@4.2.1) (2019-06-26)
**Note:** Version bump only for package intl-messageformat
# [4.2.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@4.1.2...intl-messageformat@4.2.0) (2019-06-27)
### Features
- **intl-relativetimeformat:** make intl-relativetimeformat test262-compliant ([#95](https://github.com/formatjs/formatjs/issues/95)) ([91669a3](https://github.com/formatjs/formatjs/commit/91669a3))
- **intl-utils:** Add intl-utils ([#98](https://github.com/formatjs/formatjs/issues/98)) ([2329c57](https://github.com/formatjs/formatjs/commit/2329c57))
## [4.1.2](https://github.com/formatjs/formatjs/compare/intl-messageformat@4.1.1...intl-messageformat@4.1.2) (2019-06-18)
**Note:** Version bump only for package intl-messageformat
## [4.1.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@4.1.0...intl-messageformat@4.1.1) (2019-06-18)
**Note:** Version bump only for package intl-messageformat
# [4.1.0](https://github.com/formatjs/formatjs/compare/intl-messageformat@4.0.1...intl-messageformat@4.1.0) (2019-06-18)
### Features
- **intl-format-cache:** fix TS definition ([71ae9eb](https://github.com/formatjs/formatjs/commit/71ae9eb))
## [4.0.1](https://github.com/formatjs/formatjs/compare/intl-messageformat@4.0.0...intl-messageformat@4.0.1) (2019-06-12)
**Note:** Version bump only for package intl-messageformat
# [4.0.0](https://github.com/formatjs/intl-messageformat/compare/intl-messageformat@3.3.0...intl-messageformat@4.0.0) (2019-06-05)
### Features
- add package intl-relativetimeformat ([#51](https://github.com/formatjs/intl-messageformat/issues/51)) ([48c0f43](https://github.com/formatjs/intl-messageformat/commit/48c0f43))
- **intl-messageformat:** rm bundled intl-pluralrules ([a8526c3](https://github.com/formatjs/intl-messageformat/commit/a8526c3))
- **intl-messageformat:** rm rolluped dist ([a126939](https://github.com/formatjs/intl-messageformat/commit/a126939))
### BREAKING CHANGES
- **intl-messageformat:** Change dist files packaged. Entry point should stay the
same though.
- **intl-messageformat:** We no longer include intl-pluralrules in our main index
file. Consumer should polyfill accordingly.
# [3.3.0](https://github.com/formatjs/intl-messageformat/compare/intl-messageformat@3.1.4...intl-messageformat@3.3.0) (2019-06-03)
### Features
- **intl-messageformat:** Add `getAst` method ([3d6c289](https://github.com/formatjs/intl-messageformat/commit/3d6c289))
# [3.2.0](https://github.com/formatjs/intl-messageformat/compare/intl-messageformat@3.1.4...intl-messageformat@3.2.0) (2019-06-03)
### Features
- **intl-messageformat:** Add `getAst` method ([3d6c289](https://github.com/formatjs/intl-messageformat/commit/3d6c289))
## [3.1.4](https://github.com/formatjs/intl-messageformat/compare/intl-messageformat@3.1.3...intl-messageformat@3.1.4) (2019-05-31)
**Note:** Version bump only for package intl-messageformat
## [3.1.3](https://github.com/formatjs/intl-messageformat/compare/intl-messageformat@3.1.2...intl-messageformat@3.1.3) (2019-05-28)
### Bug Fixes
- **intl-messageformat:** fix [#36](https://github.com/formatjs/intl-messageformat/issues/36) and config merging ([#40](https://github.com/formatjs/intl-messageformat/issues/40)) ([4a9969f](https://github.com/formatjs/intl-messageformat/commit/4a9969f))
## [3.1.2](https://github.com/formatjs/intl-messageformat/compare/intl-messageformat@3.1.2...intl-messageformat@3.1.2) (2019-05-28)
### Bug Fixes
- **intl-messageformat:** fix [#36](https://github.com/formatjs/intl-messageformat/issues/36) and config merging ([#40](https://github.com/formatjs/intl-messageformat/issues/40)) ([4a9969f](https://github.com/formatjs/intl-messageformat/commit/4a9969f))