- Fix PHP 8.2 deprecation warning in bin/punic-data (#419, @ragulka)
- Upgrade version of CLDR data from 40 to 42 (#417, punic/data#19, @mlocati)
- Upgrade version of CLDR data from 39 to 40 (#414, punic/data#18, @mlocati)
- Fix translations of British regions (#414, punic/data#17, @c960657, @mlocati)
- Fix deprecation warning on PHP 8.1 (#414, @mlocati)
- Fix grammatical case of
Calendar::describeInterval()
(#412, @mlocati) - Fix
Calendar::getTimezoneNameNoLocationSpecific()
returning empty arrays instead of empty strings (#413, @mlocati)
- Fix execution of the
bin/punic-data
script with PHP 8.0 (#405, @ontracker, @mlocati) - Upgrade version of CLDR data from 36 to 39 (#404, #406, @c960657, @mlocati)
- New class to work with Scripts (#409, @mlocati)
- Fix sorting strings that start with a digit (#169, @mlocati)
- CLDR data upgraded from 35.1 to 36 (#168, @mlocati)
- libphonenumber data upgraded from version 8.10.12 to version 8.10.22 (#168, @mlocati)
- New function:
Punic\Unit::getPerFormat()
(#162, #163, @mlocati)
Example:returnsPunic\Unit::getPerFormat('minute', 'long`, 'en_US`)
'%1$s per minute'
- libphonenumber data upgraded from version 8.10.1 to version 8.10.12 (#164, @mlocati)
- CLDR data updated from version 34 to version 35.1 (#164, @mlocati)
See http://cldr.unicode.org/index/downloads/cldr-35 for details
NOTE The plural rules for the Cornish (kw
) language may have some issues: see https://unicode-org.atlassian.net/browse
- Comparer no longer raises E_NOTICE warnings in case of problems (#161, @mlocati)
- CLDR updated from 34 (#160, @mlocati, @c960657)
See http://cldr.unicode.org/index/downloads/cldr-34 for details - Since CLDR 34 no longer contains telephone data, Punic now uses the data from libphonenumber.
- BREAKING CHANGE The two methds
Territory::getCode
/Territory::getByCode
added in Punic 3.2.0 don't support theinternet
type anymore because CLDR removed the relevant data
- CLDR updated from 32.0.1 to 33.1 (@mlocati) See #148, #156
- Draft status of CLDR data changed from unconfirmed to contributed (@mlocati) See #156
- Added possibility to overrides data (
Punic\Data::getOverrides
,Punic\Data::setOverrides
,Punic\Data::getOverridesGeneric
,Punic\Data::setOverridesGeneric
) (@c960657) See #136 - Added
Punic\Number::formatPercent()
(@c960657) See #144 - Added
Punic\Number::formatCurrency()
(@c960657) See #144 - Added
Punic\Number::spellOut()
(@c960657, @mlocati) See #147, #155 - Allow using custom data directory (@c960657) See #132
Punic\Territory
get methods now support territory subdivisions (Provinces, Counties, ...) (@c960657, @mlocati) See #133- Time zone aliases are now extracted from CLDR instead of hard coding them (@c960657) See #134
- Added
Punic\Currency::getNumericCode
andPunic\Currency::getByNumericCode
(@c960657) See #138 - Added
Punic\Territory::getCode
andPunic\Territory::getByCode
(@c960657) See #138 - Fix
[ALL]
languages placeholder inpunic-data
CLI command (@mlocati) See #131 - Fix handling of minutes/month in Calendar intervals (@c960657) See #143
- Support explicit timezone translations (@c960657) See #140
- Localise infinity and NaN (@c960657) See #146
- Minor performance improvements (@c960657) See #145
Punic\Plural::getRule
has been deprecated: usePunic\Plural::getRuleOfType
(@mlocati) See #151- BREAKING CHANGE
Punic\Territory::getChildTerritoryCodes()
changed its signature (a new argument with a default value has been added) (@c960657) See #138
- CLDR updated from 31 to 32.0.1 (@mlocati)
- Added
Punic\Misc::joinAnd()
to join items in arrays or Traversables with an and (@c960657, @mlocati) - Added
Punic\Misc::joinOr()
to join items in arrays or Traversables with an or (@c960657) Punic\Misc::join()
has been deprecated (@c960657, @mlocati)- BREAKING CHANGE The Punic\Misc::joinInternal() protected method changed its signature (@c960657)
- Add
bin/punic-data
CLI command to the package (@mlocati)
- Added support for skeleton formats (@c960657)
- Added support for date/time intervals (@c960657)
- Added punic-data CLI command to add/remove language data files (@mlocati)
- Added support for wide/narrow day period names (eg 'AM', 'PM') in
Calendar::formatDate()
(@c960657) - Added support for time zone location-specific names in calendar formats (@c960657)
- Punic now accepts
DateTimeInterface
instances too (@c960657, @mlocati) - Fix handling of single quotes in
Calendar::format
(@c960657) - Fix handling of seconds fraction with more that 5 digits in
Calendar::format
(@c960657) - Fix formatting hours in short GMT format (@c960657)
- Fix
Currency::getName()
when it receives the parameters 'zero', 'one', 'two', 'few', 'many', 'other' (@c960657) - BREAKING CHANGE Moved punic from the
code
to thesrc
directory (@mlocati) - BREAKING CHANGE Data files are now in PHP format instead of JSON format (@c960657, @mlocati)
- BREAKING CHANGE The
build
CLI command has been removed (use the newpunic-data
CLI command) (@mlocati) - BREAKING CHANGE The
bin/update-docs
CLI command has been removed (feature moved to thepunic-update-docs
CLI command in thepunic.github.io
repository) (@mlocati) - BREAKING CHANGE The protected
Calendar::decodeFranctionsOfSeconds()
method has been renamed toCalendar::decodeFractionsOfSeconds()
(@Remo) - BREAKING CHANGE The protected
Calendar::decode...
methods changed their signature (removed theDateTime
type hinting) (@c960657, @mlocati)
- Added
Punic\Calendar::tryConvertIsoToPhpFormat
(@mlocati)
- CLDR data updated from v27 to v31 (@mlocati)
- Added
Punic\Unit::getAvailableUnits
(@mlocati) - Added
Punic\Unit::getName
(@mlocati) - BREAKING CHANGE
Punic\Language::getName
return compound names only if requested (@mlocati)
- Fix edge case on old PHP versions without the intl PHP extension (see #89) (@mlocati)
- Fix edge case when
Collator
is an alias ofSymfony\Component\Intl\Collator\Collator
(@mlocati)
- Fix sorting of list with non-US-ASCII chars (@mlocati, @Remo)
- Speed improvements (@mlocati)
- Workaround for HHVM bug while handling timezone names (@mlocati)
- Fix formatting ordinal suffix for the day of the month for English (@mlocati)
- Fixed a bug in
Calendar::convertPhpToIsoFormat
(@mlocati)
- Updated CLDR data to v27 (@mlocati)
- Speed improvements (@LukasReschke)
- Added functions to work with currencies (see
Punic\Currency
) (@mlocati) - Added
Punic\Territory::getChildTerritoryCodes
(@mlocati) - Added
Punic\Unit::getCountriesWithMeasurementSystem
(@mlocati) - Added
functions to work with default paper sizes
(@mlocati) - Detected browser languages are now sorted by relevance (see
Punic\Misc::getBrowserLocales()
andPunic\Misc::parseHttpAcceptLanguage()
) (@mlocati) - We now have a separate
composer.json
file for the automatic checks done by GitHub/TravisCI (@mlocati)
- Added
Punic\Phone::getPrefixesForTerritory
(@mlocati) - Added
Punic\Phone::getTerritoriesForPrefix
(@mlocati) - Added
Punic\Phone::getMaxPrefixLength
(@mlocati) - Added
Punic\Unit::getMeasurementSystems
(@mlocati) - Added
Punic\Unit::getMeasurementSystemFor
(@mlocati) - Added
Punic\Territory::getParentTerritoryCode
(supersedes deprecated protectedPunic\Data::getParentTerritory
) (@mlocati)
- Added
Punic\Misc::getCharacterOrder
(@mlocati) - Added
Added Punic\Misc::getLineOrder
(@mlocati)
- Added
Added Punic\Language::getAll
(@mlocati)
- Added
Punic\Misc::getBrowserLocales
(@mlocati) - Added
Punic\Misc::parseHttpAcceptLanguage
(@mlocati)
- Added
Punic\Territory::getTerritoriesWithInfo
(@mlocati) - Added
Punic\Territory::getLanguages
(@mlocati) - Added
Punic\Territory::getPopulation
(@mlocati) - Added
Punic\Territory::getLiteracyLevel
(@mlocati) - Added
Punic\Territory::getGrossDomesticProduct
(@mlocati) - Added
Punic\Territory::getTerritoriesForLanguage
(@mlocati)
- Switch from CLDR 25 to CLDR 26 (@mlocati)
Punic\Calendar::toDateTime()
improved: now it can also convert FROM a timezone (@mlocati)
- Added
punic.php
for people not using composer: simply include it and use all the Punic functions (@mlocati, @Remo)
- First public version (@mlocati, @Remo)