Repository navigation
v3.8.0 Top Level Domain, Script detection for strings and a lot of fixes and improvements!
What's Changed
Introduction of Top Level Domains
- Add top level domains by @szepeviktor and @PrinsFrank in #171, #188, #187 and #206
There are 6 categories of Top Level Domains, and all of them have been introduced as seperate enums:
CountryCodeTLD::from('nl'); // CountryCodeTLD::nl
CountryCodeTLD::nl; // CountryCodeTLD::nl
CountryCodeTLD::from('nl')->value; // 'nl'
CountryCodeTLD::from('nl')->name; // 'nl'
CountryCodeTLD::from('nl')->isAssigned(); // true
CountryCodeTLD::from('nl')->getCountryAlpha2(); // CountryAlpha2::Netherlands
CountryCodeTLD::from('nl')->getCountryAlpha3(); // CountryAlpha3::Netherlands
CountryCodeTLD::from('nl')->getCountryNumeric(); // CountryNumeric::Netherlands
GenericRestrictedTLD::from('name'); // GenericRestrictedTLD::name
GenericRestrictedTLD::name; // GenericRestrictedTLD::name
GenericRestrictedTLD::from('name')->value; // 'name'
GenericRestrictedTLD::from('name')->name; // 'name'
GenericRestrictedTLD::from('name')->isAssigned(); // true
GenericTLD::from('aaa'); // GenericTLD::aaa
GenericTLD::aaa; // GenericTLD::aaa
GenericTLD::from('aaa')->value; // 'aaa'
GenericTLD::from('aaa')->name; // 'aaa'
GenericTLD::from('aaa')->isAssigned(); // true
InfrastructureTLD::from('arpa'); // InfrastructureTLD::arpa
InfrastructureTLD::arpa; // InfrastructureTLD::arpa
InfrastructureTLD::from('arpa')->value; // 'arpa'
InfrastructureTLD::from('arpa')->name; // 'arpa'
InfrastructureTLD::from('arpa')->isAssigned(); // true
SponsoredTLD::from('aero'); // SponsoredTLD::aero
SponsoredTLD::arpa; // SponsoredTLD::aero
SponsoredTLD::from('aero')->value; // 'aero'
SponsoredTLD::from('aero')->name; // 'aero'
SponsoredTLD::from('aero')->isAssigned(); // true
TestTLD::from('テスト'); // TestTLD::tesuto_katakana
TestTLD::tesuto_katakana; // TestTLD::tesuto_katakana
TestTLD::from('テスト')->value; // 'テスト'
TestTLD::from('テスト')->name; // 'tesuto_katakana'
TestTLD::from('テスト')->isAssigned() // falseRetrieving scripts for strings
- Add script detection to script alias by @PrinsFrank in #195 and #199 based on a brilliant idea of @szepeviktor in #186 (comment)
It is now possible to retrieve the script(s) for a string:
ScriptAlias::allForString('еюeuеюευ'); // [ScriptAlias::Cyrillic, ScriptAlias::Greek, ScriptAlias::Latin]
ScriptAlias::hasMultipleForString('еюeuеюευ'); // true
ScriptAlias::mostCommonInString('еюeuеюευ'); // ScriptAlias::Cyrillic
ScriptCode::allForString('еюeuеюευ'); // [ScriptCode::Cyrillic, ScriptCode::Greek, ScriptCode::Latin]
ScriptCode::hasMultipleForString('еюeuеюευ'); // true
ScriptCode::mostCommonInString('еюeuеюευ'); // ScriptCode::Cyrillic
ScriptNumber::allForString('еюeuеюευ'); // [ScriptNumber::Cyrillic, ScriptAlias::Greek, ScriptAlias::Latin]
ScriptNumber::hasMultipleForString('еюeuеюευ'); // true
ScriptNumber::mostCommonInString('еюeuеюευ'); // ScriptNumber::CyrillicLanguageExtensive has received some updates
Fixes and Improvements
- Update PHPStan version by @PrinsFrank in #131
- Fix documentation of exceptions by @PrinsFrank in #132
- Check PSR-4 mapping by @szepeviktor in #134
- Fix PSR4 issues in tests by @PrinsFrank in #138
- Merge pipelines to improve speed by @PrinsFrank in #137
- Enable PHPStan strict rules by @PrinsFrank in #133
- Fix coverage workflow by @PrinsFrank in #140
- Fix missing cron for language extensive spec update by @PrinsFrank in #144
- Add completed job to use for branch protection by @PrinsFrank in #146
- Configure github token for automated PR by @PrinsFrank in #147
- Fix PHPStan cache dir by @PrinsFrank in #148
- Check spec generation on PR by @PrinsFrank in #143
- Fix main/master cache by @PrinsFrank in #149
- Improve CI by @szepeviktor in #154
- Fix non-alphanumeric keys by @szepeviktor in #153
- Transliterate special characters in keys by @szepeviktor in #151
- Add typos CI job by @szepeviktor in #150
- Remove ignored non-ASCII from .typos.toml by @szepeviktor in #157
- Mark shared workflow by @szepeviktor in #156
- Check key in NameNormalizer by @szepeviktor in #136
- Fix typo in CI by @szepeviktor in #152
- Use ramsey/composer-install action by @szepeviktor in #155
- Don't treat PHPDoc as certain by @PrinsFrank in #161
- Fix language extensive spec by @PrinsFrank in #166
- Fixed errors in README.md by @shubhamchugh in #165
- Remove duplicate existence check in enum classes by @PrinsFrank in #168
- Add stale issue/PR workflow by @PrinsFrank in #169
- Upgrade peter-evans/create-pull-request action by @szepeviktor in #170
- Add links to badges in README by @szepeviktor in #172
- Use typed transliterator by @PrinsFrank in #160
- Use updated transliterator by @PrinsFrank in #173
- Remove single space alignment by @PrinsFrank in #176
- Add digits to NameNormalizer::normalize by @szepeviktor in #177
- Throw exception for empty key in NameNormalizer by @szepeviktor in #179
- Use new bugfixed version of transliteration package by @PrinsFrank in #180
- Replace all ASCII signs in NameNormalizer::normalize by @szepeviktor in #178
- Remove CSFixer step and instead regenerate formatted spec immediately by @PrinsFrank in #174
- Enable Dependabot by @szepeviktor in #181
- Bump actions/checkout from 3 to 4 by @dependabot in #184
- Bump actions/cache from 3 to 4 by @dependabot in #185
- Bump peter-evans/create-pull-request from 5 to 6 by @dependabot in #190
- Implement attributes for specs by @PrinsFrank in #191
- Add supported scripts for PHP regexes by @PrinsFrank in #192
- Improve English in CI comment by @szepeviktor in #193
- Fix Lao script name in NameNormalizer by @szepeviktor in #194
- Configure concurrency for CI workflow by @PrinsFrank in #196
- Ignore test coverage for unreachable code by @PrinsFrank in #197
- Optimize spec update in CI by @PrinsFrank in #198
- Danger is my middle name! by @szepeviktor in #183
- Bump codecov/codecov-action from 3 to 4 by @dependabot in #189
- Deduplicate enum cases properly when generating specification from source by @PrinsFrank in #201
- Fix duplicate language extensive names by @PrinsFrank in #203
- Append script name to enum case when script is non latin by @PrinsFrank in #200
- Do not fail phpstan caching by @szepeviktor in #208
- Enforce concat_space in CS by @szepeviktor in #207
New Contributors
- @shubhamchugh made their first contribution in #165
- @dependabot made their first contribution in #184
Full Changelog: v3.7.0...v3.8.0