[0.5.20221013](https://github.com/roedoejet/g2p/compare/v0.5.20220318...v0.5.20221013) (2022-10-13)
Features
* add dummy mappings for english and mohawk ([eaf2c70](https://github.com/roedoejet/g2p/commit/eaf2c704e20628b9aad9856c4a6c18d6dcd82f79))
* add dummy mappings for english and mohawk ([85d06f0](https://github.com/roedoejet/g2p/commit/85d06f0929e9eef703182581d2a720890124a616))
* add iku-ipa to hamming-eng-ipa mapping ([9ae5484](https://github.com/roedoejet/g2p/commit/9ae5484c127106c3dbd7edd9ba9ba97e467b3074))
* add und and str dummy mappings as well as distance specification for mapping alignment ([7f93447](https://github.com/roedoejet/g2p/commit/7f93447ac1d2fc953354e32c627b753cd245be6f))
* **mappings:** added more dummy mappings ([d89f5b7](https://github.com/roedoejet/g2p/commit/d89f5b7b20bd105cc292231ee9e5afd62ab65c0a))
* add und-ipa to hamming-eng-ipa ([7cf4118](https://github.com/roedoejet/g2p/commit/7cf4118ddf3e47a46068a225c3b194003ca05e1c))
* basic Finnish mapping ([36d17e0](https://github.com/roedoejet/g2p/commit/36d17e0f670361532b9eec5f6e0268196937bd86))
* check Python version ([9e086e1](https://github.com/roedoejet/g2p/commit/9e086e1e0f0e86851bfeb899776a6ad5de11948c))
* do arpabet checking for hamming-eng-arpabet too ([11728ec](https://github.com/roedoejet/g2p/commit/11728ec315abdfe68643ddd58935c5ac031e6932))
* include NFC/D normalization in g2p graph ([f3b918c](https://github.com/roedoejet/g2p/commit/f3b918cb5258798eb340c5a48e6d51d6e28188d6)), closes [#158](https://github.com/roedoejet/g2p/issues/158) [#158](https://github.com/roedoejet/g2p/issues/158)
* und now maps colon to an empty string ([0b8c8d9](https://github.com/roedoejet/g2p/commit/0b8c8d949da6fd3b2ab1e3475dd85d7662114be6))
* **mappings:** allow abbreviations to be declared recursively ([e1a270f](https://github.com/roedoejet/g2p/commit/e1a270fccac700c55c9f3fc6cb19f8613bec1ca1))
* **show-mappings:** add --csv option ([43573ac](https://github.com/roedoejet/g2p/commit/43573ac643783d22a6a8240a1824631431b9fe00))
* **show-mappings:** added cli cmd g2p show-mappings ([9b2e489](https://github.com/roedoejet/g2p/commit/9b2e48964167c071db42127443990b84819a4cd8))
Bug Fixes
* **studio:** sort nodes in language echart ([11b92f2](https://github.com/roedoejet/g2p/commit/11b92f222a336754144f25a3e67d0fedaeedc54c))
* accept single or multiple mappings in config.yaml ([0c4961f](https://github.com/roedoejet/g2p/commit/0c4961faaa3604cbe2269dfbf6ada014d310438b))
* always declare your file encoding, or Windows barfs ([67de22f](https://github.com/roedoejet/g2p/commit/67de22fb347f12fe4e495bbe62af8ba1a751cd6a))
* always declare your file encoding, or Windows barfs ([56e327b](https://github.com/roedoejet/g2p/commit/56e327b3d5eb28c03dd168794635f66fd271303b))
* avoid failure on corrupted pickles ([6f30f0e](https://github.com/roedoejet/g2p/commit/6f30f0e52b333c1738a33eb259861b7255136f12))
* catch same input and output g2p mapping bug ([0a9d141](https://github.com/roedoejet/g2p/commit/0a9d14190011f307d298ded3a8b1fbc50bda2a1f))
* correct fin diphthong mappings slightly ([b8ae37d](https://github.com/roedoejet/g2p/commit/b8ae37da7525643cd306e11ab36a766f0aff1576))
* doh! always run the test suites before pushing your changes... ([6af7d5e](https://github.com/roedoejet/g2p/commit/6af7d5e0676fdf5ed0ba9212736768b436b8c370))
* edit fin-ipa to eng-ipa mappings to fix some vowels ([19a9189](https://github.com/roedoejet/g2p/commit/19a91891141f4d46796f4b9845737f0326470649))
* ensure python g2p/mappings/langs/__init__.py can always run ([ea45afa](https://github.com/roedoejet/g2p/commit/ea45afa8148ed9f805ad6ea808d67bc410fc5a19))
* find language_name robustly ([4e0ccb9](https://github.com/roedoejet/g2p/commit/4e0ccb99fa0fc1b0af452497ffd31a9214a05b46))
* g2p show-mappings -v show in, out, rest, in that order ([da06abd](https://github.com/roedoejet/g2p/commit/da06abdba55f5ae012513fb0e3bc9fcf3ead05a2))
* generated mappings should prevent feedback and apply-longest-first ([d10944a](https://github.com/roedoejet/g2p/commit/d10944a47898a8218c76275525c41d0c77550de8))
* grammar ([e14cbcd](https://github.com/roedoejet/g2p/commit/e14cbcdc853dab4e61a859f77f4ee3c942bda4b8))
* lock click==8.0.4 since we support Python 3.6 ([f941c64](https://github.com/roedoejet/g2p/commit/f941c64bed810c7bb6fb2a60dedb176a991404f2))
* make make_tokenizer disambiguate in_lang and tok_path ([9e7f986](https://github.com/roedoejet/g2p/commit/9e7f98619bf7bb6f12342ce7ebc42a1a07e8a1e1))
* make Mohawk tokenizer recognize colon as a letter ([767fed4](https://github.com/roedoejet/g2p/commit/767fed460388c79100ec35f9f84864e957ed0d04))
* make Mohawk tokenizer recognize colon as a letter ([a32a3a7](https://github.com/roedoejet/g2p/commit/a32a3a7468a4af0acd05e9cfd2a9bdaaa91dba9d))
* make und work in g2p studio ([0dd3e25](https://github.com/roedoejet/g2p/commit/0dd3e2537cacef94fb2ddcb95a445436470074c1)), closes [#165](https://github.com/roedoejet/g2p/issues/165)
* mic "o" didn't get mapped to proper eng-arpabet ([1373b41](https://github.com/roedoejet/g2p/commit/1373b414bad5789f3e00187de5ccc63a9cb64d7d))
* name g2p in package.json, not readalongs ([b18eea8](https://github.com/roedoejet/g2p/commit/b18eea81acda306445c378ebab06b9b22d0843d3))
* recreate langs.pkl to allow merging ([387c6fc](https://github.com/roedoejet/g2p/commit/387c6fc5021cc63ef2ed27e59c373815b551584a))
* remove stray BOMs everywhere ([3c0f13b](https://github.com/roedoejet/g2p/commit/3c0f13b28e23becd3fca782f2adce4e8a6ad32a5))
* supported renamed dolgo/dogol distance in panphon ([0c73399](https://github.com/roedoejet/g2p/commit/0c73399253b027a494db881c491d037cedaecf29))
* **indices:** handle orphan characters with heuristic of attaching to index of previous character if it exists, otherwise attaching to the index of the following character, if no characters exist before or after, then none type is returned. Fixes [172](https://github.com/roedoejet/g2p/issues/172) ([b1ca2cb](https://github.com/roedoejet/g2p/commit/b1ca2cb066124bace5e7d737ce8af62f29789abf))
* **moe:** add self-mappings for k, m, n, p, s, t ([a82d098](https://github.com/roedoejet/g2p/commit/a82d098363f6d8c7165135904d9be6e9142a9b54))
* regenerate mappings and configs ([0d71872](https://github.com/roedoejet/g2p/commit/0d7187258c17a8f875c9fe02b3779a1d08324e8f))
* remove UTF-8 BOM and CRLF (will fix code separately) ([5806ab9](https://github.com/roedoejet/g2p/commit/5806ab9a94bfbb8e03dbdb78bb7349f3cdfdf26a))
* rules with alternations should tokenize correctly ([9fd6407](https://github.com/roedoejet/g2p/commit/9fd64078da9ce14cf04c8047725fb9f932a85f34))
* show default directory in help ([679ffe1](https://github.com/roedoejet/g2p/commit/679ffe19e4988348ee9eeb4dcc25bf33b79fdd3b))
* tell user to rerun g2p update (they can) ([eeac7dd](https://github.com/roedoejet/g2p/commit/eeac7dd44812306d6221cc20ae6764d303483c61))
* tli_equiv and tce_equiv had BOMs, update to remove them ([5b5d0b5](https://github.com/roedoejet/g2p/commit/5b5d0b50436cb7b8e893d68364d28837c87b53cc))
* use an automatically generated mapping for moe-ipa -> eng-ipa ([1bc9b05](https://github.com/roedoejet/g2p/commit/1bc9b05a3ad5a1454c3fd7d15e863d609935b25b))
* **ci:** trailing space for json ([a58c205](https://github.com/roedoejet/g2p/commit/a58c205352c0955d124608c73ce863b2ddaa7daf))
* **git:** make fixes to ejective mappings ([27003e2](https://github.com/roedoejet/g2p/commit/27003e2ed74ef9144ad2b4866129033f980a51df))
* **indices:** fix numerous errors within the indices functionality ([7a6c631](https://github.com/roedoejet/g2p/commit/7a6c6318b4cab9c532e4304697ddc792aac1911a))
* **mappings:** fix normalization issues in win and eng mappings ([fd2bb0f](https://github.com/roedoejet/g2p/commit/fd2bb0fbc19ba44868e2764a307baff607ec65b1))
* **moe:** remove two more duplicate rules ([bd36902](https://github.com/roedoejet/g2p/commit/bd3690221d87ccc6f7c9eb494de80fe7c45f8979))
* **studio:** updated reverse initialization and rule ordering values ([2c9c61f](https://github.com/roedoejet/g2p/commit/2c9c61f26a651edeb540fb1345d57fa3d944dfbf))
* **win:** use the \u02D0, not :; use prevent-feeding ([80f80da](https://github.com/roedoejet/g2p/commit/80f80da073ed529f4215042d050187493448ac0b)), closes [#100](https://github.com/roedoejet/g2p/issues/100)
* update mappings ([1cba84f](https://github.com/roedoejet/g2p/commit/1cba84f2ed0d28f77a5b744a95029d7c8ce00fe4))
* use longest mapping for fin ([12dc3da](https://github.com/roedoejet/g2p/commit/12dc3da280e96676f25aef64a4c58bbe64f348e3))
* warn of missing language_name before caching ([3eb0ed7](https://github.com/roedoejet/g2p/commit/3eb0ed7387d5395d8ccb4400f5630eba5a72a010))
* write compact json rules with in+out first, then rest ([e9cb0e6](https://github.com/roedoejet/g2p/commit/e9cb0e6492572af2606c87e7feaa0b4bca7021e1))
Performance Improvements
* **dockerfile:** bump the OS to bullseye and optimize the build ([20f1926](https://github.com/roedoejet/g2p/commit/20f192624a7707fe2c763bdf32995d6cdd143f09))
* **test:** speed up test_studio by minizing keyup events ([4dad4d5](https://github.com/roedoejet/g2p/commit/4dad4d5cd119844542d22220a4c98c4277f4b954))
Reverts
* revert accidental removal of moe generated mapping ([e11db2f](https://github.com/roedoejet/g2p/commit/e11db2fa0d7b82fc87dd89dfe561b16b5e9cd5cb))
Build Systems
* Dockerfile should update pip before using it ([3ca1ea2](https://github.com/roedoejet/g2p/commit/3ca1ea26be49d76841551212256fa026c57eee46))
* move flake8 config to setup.cfg ([b637ac8](https://github.com/roedoejet/g2p/commit/b637ac80537e6846b501f5454f04ebba4f6ab612))
Continuous Integration
* add CI job to run tests on Windows ([f4e5dc3](https://github.com/roedoejet/g2p/commit/f4e5dc324358be89d00702381f63ed972dbc9ea8))
* adjust coverage configuration for CI and manual testing ([907e4f1](https://github.com/roedoejet/g2p/commit/907e4f179a184cbc1175374586683f57fc94adca))
* before a release, do full os/pyversion matrix testing ([e01319f](https://github.com/roedoejet/g2p/commit/e01319fee269b2c80579ba880ad9ec2c92d4414f))
* publish with build instead of calling setup.py directly ([a1a024f](https://github.com/roedoejet/g2p/commit/a1a024f0ad9b883fe40280b9cb3c260e2b3680d3))
* quote python versions so 3.10 works ([528ea8c](https://github.com/roedoejet/g2p/commit/528ea8c0fbf9ad2f6dde10f47ce3237052e0d597))
* run full matrix CI only on PRs to release ([888404c](https://github.com/roedoejet/g2p/commit/888404c280cd1609ebe2fbae324d4974821dbc28))
* run the CI tests on pull requests too ([bb88b9b](https://github.com/roedoejet/g2p/commit/bb88b9b6f080c55b281e32ce23f8189d21073b29))
* skip CI tests for commits with no-ci in the message ([5393045](https://github.com/roedoejet/g2p/commit/5393045cbba3c67cb5b883671c8815401042f0bc))
* tests workflow should update pip ([49abd45](https://github.com/roedoejet/g2p/commit/49abd452201aacb59ce697bd15781cde449f0ac4))
* **test-studio:** adjust to test-studio CI workflow ([bb03712](https://github.com/roedoejet/g2p/commit/bb0371256ba60516e9b93aa548bb038aaa605512))
Tests
* **tokenizer:** more unit testing for refactored tok ([119d2b7](https://github.com/roedoejet/g2p/commit/119d2b7ef6896dbe1dd61030edd04025323832b4))
* fix typo testing create_multi_mapping ([3d7d23d](https://github.com/roedoejet/g2p/commit/3d7d23d923c46a05deecd0025dbbfc1cb8b632a4))
* **show-mappings:** unit testing for show-mappings ([36f4996](https://github.com/roedoejet/g2p/commit/36f499666ba6b565cfe4307b4099301ea6d96258))
* add eng-ipa and eng-arpabet tests ([e5ed8b8](https://github.com/roedoejet/g2p/commit/e5ed8b8fca1de93e4de0240957919a02353fd1b4))
* add fin tests ([6c608af](https://github.com/roedoejet/g2p/commit/6c608af28897e1a81a7f7ae6d22530a22d0beca0))
* allow testing update on input/output directories ([eacd5de](https://github.com/roedoejet/g2p/commit/eacd5de15ec1d2d7922fc347f9211901431203c1))
* exercise win ejectives being removed from eng ([6a69f60](https://github.com/roedoejet/g2p/commit/6a69f606d4838bac4e5f8a4bd747794a57ba0591))
* fix fin test ([3639f69](https://github.com/roedoejet/g2p/commit/3639f69bca278ff053a03a4b20d2c5447914d2b3))
* hopefully fully test everything ([699ba10](https://github.com/roedoejet/g2p/commit/699ba10096f4de701f4a26f2f9401ff91866f5c2))
* proper e2e tests for studio ([5692a93](https://github.com/roedoejet/g2p/commit/5692a93dc0fe895b9fed597112d1d274050def44))
* silence expected warnings by asserting them ([5fd2be8](https://github.com/roedoejet/g2p/commit/5fd2be8ce588cdde409ac88dcea9882ead44c355))
* update fin tests ([9ac849f](https://github.com/roedoejet/g2p/commit/9ac849ffa50221db52014fc6bc892b252ad2deca))
* **studio:** make the test_studio.py test suite more robust ([303b794](https://github.com/roedoejet/g2p/commit/303b79442efc6044c24508d3f1567313b74f5304)), closes [#195](https://github.com/roedoejet/g2p/issues/195)
Documentation
* add citation ([7416775](https://github.com/roedoejet/g2p/commit/74167758507f1cd4a851bafaa0368a274fbfa5f5))
* add citation to table of contents ([1713e0c](https://github.com/roedoejet/g2p/commit/1713e0c4b1b5c24a4235a343f6b32a017378d587))
* add CITATION.cff file ([a9abc07](https://github.com/roedoejet/g2p/commit/a9abc07d86482c8f4854ecaa5cddc6dd656a7361))
* add minimal coding docs to __init__.py ([8593aa2](https://github.com/roedoejet/g2p/commit/8593aa2ea461b10fe0564d8b472408a1adf02165))
* add plain text citation and update name ([bf5889c](https://github.com/roedoejet/g2p/commit/bf5889cba1a669b2f02454411c31070969701332))
* add See also section in README.md TOC ([517b190](https://github.com/roedoejet/g2p/commit/517b1906ceefad8faa151f93ae12fed960ad6305))
* fix help text for g2p update -o ([c23fcf3](https://github.com/roedoejet/g2p/commit/c23fcf3141d5e42a10dc5153405f55c0643fce26))
* let run_studio.py log a bit on screen where it's launching ([2e38153](https://github.com/roedoejet/g2p/commit/2e381533121ad4970bdc3ff12ad9696e4c7de4a9))
* update docstring ([2ab8313](https://github.com/roedoejet/g2p/commit/2ab8313cdb6b50ccb87e5a2a17f4ee23081610ff))
* update to stable version and link to blog ([6478537](https://github.com/roedoejet/g2p/commit/647853724cf9c5540a752a095e037c0232d8ee0e))
Styles
* add pre-commit hooks for black, etc and commitlint ([6297bee](https://github.com/roedoejet/g2p/commit/6297bee8fe06aba468941478c45982b9b66b5ee6))
* blackify all Python files ([9c26df4](https://github.com/roedoejet/g2p/commit/9c26df474a70543588e4f8b3ce7d56a36f475da4))
* blackify and isort a few more files ([cd31657](https://github.com/roedoejet/g2p/commit/cd3165733bbb5cd21b28aa2a3115cc13887dfa90))
* blackify g2p/mappings/tokenizer.py, and globals should be lowercase, not uppercase ([94561df](https://github.com/roedoejet/g2p/commit/94561dffdf74dab96b3643670bd21cbff29ccd27))
* blackify test_create_mapping.py ([460deb0](https://github.com/roedoejet/g2p/commit/460deb0a01a3c39e649c6aac46950fb9cfec4fd2))
* bump dev dependencies ([93ea50f](https://github.com/roedoejet/g2p/commit/93ea50fca52df060322db10dfca1c3ca1027ee5e))
* convert moe_to_ipa.json to our new, compact format ([9545832](https://github.com/roedoejet/g2p/commit/9545832676f027bc4332ed77f6c0872a80fd0f1b))
* isort all Python files ([1fa3d9d](https://github.com/roedoejet/g2p/commit/1fa3d9d34b4087c44047df64fb0f936db73cb09f))
* rewrite und_to_ipa.json in new compact format ([95e25af](https://github.com/roedoejet/g2p/commit/95e25af6e41943c7b9837a7c60acd15c76797755))
* **show-mappings:** black my work, and an extra test ([4738921](https://github.com/roedoejet/g2p/commit/4738921dd9ac55f714998179b5a0ead7d2967b26))
* remove husky commitlint (replace by python gitlint) ([e40a06f](https://github.com/roedoejet/g2p/commit/e40a06fd75f89d30277a669fb2e965b35c567364))
* use gitlint to enforce conventional commits ([29c4b05](https://github.com/roedoejet/g2p/commit/29c4b05d92a02bb234d84a91afd8183664bbbaef))
* use gitlint to validate commit messages ([904fb4c](https://github.com/roedoejet/g2p/commit/904fb4c9bd4ea1d08a12ba28a0b6555023286364))
Code Refactoring
* **tokenizer:** get_tokenizer still works, with deprecated warning ([d6aa3ab](https://github.com/roedoejet/g2p/commit/d6aa3ab20b983b7ecfca5cf0ea0b763b9303a192))
* **tokenizer:** refactor to same import strategy as make_g2p ([24557b7](https://github.com/roedoejet/g2p/commit/24557b789fcaca4facd5260b5afc42353ef9f803))
* apply a lot of flake8 recommendations ([1bf8ae0](https://github.com/roedoejet/g2p/commit/1bf8ae0261e150c383bc8ed501d0278abb99960b))
* black and isort and mypy, oh my ([ac4ce57](https://github.com/roedoejet/g2p/commit/ac4ce5778bec223531f96563449b781dca7ba34f))
* clean up imports ([df56d8f](https://github.com/roedoejet/g2p/commit/df56d8f906a4b1e4e78a106187d80232774d8610))
* clean up normalize with indices code ([9a5bc3c](https://github.com/roedoejet/g2p/commit/9a5bc3cd2916d1b810bf938de976eb049d007fe6))
* factor out loading public test data ([6cc278e](https://github.com/roedoejet/g2p/commit/6cc278e3b442784b64fbf2dacf342caac0037781))
* further readability refactorizations ([2b7d777](https://github.com/roedoejet/g2p/commit/2b7d777a5615a79481625abd38fdd239417d6411))
* general refactoring ([bea2c09](https://github.com/roedoejet/g2p/commit/bea2c09ff40cae4fcbbffe7f683debcd5331e49c))
* make test_fallback unit test easier to read ([940af15](https://github.com/roedoejet/g2p/commit/940af15aa4fd11321ee98b1bd6cbab578a0afaf5))
* spruce up distance metric code ([876021e](https://github.com/roedoejet/g2p/commit/876021e74078a4a7bec349edb5ae304c7b6c44b8))
* **ci:** move tests out of suite because they require 3.8 ([cff8d1e](https://github.com/roedoejet/g2p/commit/cff8d1e866b0c4b2540e6c9dae933a597bbcab97))
* **show-mappings:** -v as synonym for --verbose ([f18220f](https://github.com/roedoejet/g2p/commit/f18220ffe2030de4a18cbe59335c436c7156de32))
* **show-mappings:** remove old mapping viz generator ([57b5aa1](https://github.com/roedoejet/g2p/commit/57b5aa17b7111bf4a42a3eab5f5409907d4a8cd1))
* **show-mappings:** suggested edits ([95653ed](https://github.com/roedoejet/g2p/commit/95653ed80d4a29c0c3ed66ff1e1df03db6b18e53))
* move cache_langs to utils ([1aef962](https://github.com/roedoejet/g2p/commit/1aef962f61899846d5765d64b7f56444dad1b71e))
* replace function attributes by module globals ([e5199f0](https://github.com/roedoejet/g2p/commit/e5199f0bbb1212ad60cafb1a7201b11812245f11))
* use else block ([85fad34](https://github.com/roedoejet/g2p/commit/85fad346e9aa07d13d7397f668683f87d0b9ba4d))