NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #1039 most downloaded on Packagist
inflect - a memoizing inflector for php
Last release 5 months ago
13 Apr 2026
Release timing varies
gaps range from 5 months to 10.9 years
Some releases are documented
notes for 2 of 5 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
5 releases · first in 2013
First major release of mmucklo/inflect in over a decade. Modernizes the PHP baseline, ports tests to PHPUnit 10, moves to PSR-4, adds GitHub Actions C
First major release of mmucklo/inflect in over a decade. Modernizes the PHP baseline, ports tests to PHPUnit 10, moves to PSR-4, adds GitHub Actions CI with Codecov and Scrutinizer, tightens types, and expands correctness.
php5.3 branch for back-ported fixes to the legacy baseline.src/Inflect/Inflect.php moved to src/Inflect.php. Composer autoload changed from psr-0 to psr-4. autoload.php.dist was removed.Inflect is now final. Subclassing is no longer supported. Locale support (v2.2) will extend via composition.\$plural, \$singular, \$irregular, \$uncountable) and caches are now private. External code that was reading or mutating these will break. Supported extension APIs are roadmap §5 (v2.1).pluralize(null) / singularize(null) now throw TypeError. Previously returned null silently. Empty strings still return '' without error.pluralizeIf uses strict comparison (===) for the count check. Callers passing '1' as a string now hit the plural branch.phpunit.xml-dist renamed to phpunit.xml.dist (PHPUnit 10 convention). CI automation reading the old name must update.datum/data, criterion/criteria, phenomenon/phenomena, cactus/cacti, nucleus/nuclei, syllabus/syllabi, curriculum/curricula, medium/media, bacterium/bacteria (#9).news, aircraft, software, hardware, luggage, advice, traffic, furniture, metadata, multimedia (#9).Man → Men, Children → Child (previously lowercased) (#9).pluralize('people') now returns 'people' (was 'peoples'); singularize('datum') stays 'datum' (was 'data') (#9).pluralize() to match singularize() behavior (#9).declare(strict_types=1), string/int parameter and return types on all public methods (#14).PHPUnit\Framework\TestCase with #[DataProvider] attributes (#12, #14).mmucklo/inflections package) (#8, #11, #15).3.7.* to ^10.5 (#12).Inflect\Tests namespace (#12).[]) throughout the class (#14).-ss words like business, wellness) is included.autoload.php.dist — obsoleted by Composer PSR-4 autoload..travis.yml — replaced by GitHub Actions.master — active development, PHP 8.1+.php5.3 — back-port branch for critical fixes on the legacy baseline. All v2.0 correctness fixes were back-ported (#10).#8, #9, #10, #11, #12, #13, #14, #15, #16, #17
🤖 Release notes generated with assistance from Claude Code.
One column per quarter.
Major release. Modernizes the PHP baseline, ports tests to PHPUnit 10, moves to PSR-4, adds GitHub Actions CI with Codecov and Scrutinizer, tightens types, and expands correctness.
php5.3 branch for back-ported fixes to the legacy baseline. ([#12])src/Inflect/Inflect.php moved to src/Inflect.php. Autoload changed from PSR-0 to PSR-4. autoload.php.dist removed. ([#12])Inflect class is now final. ([#14])$plural, $singular, $irregular, $uncountable) and memoization caches are now private. External code reading or mutating them will break. ([#14])pluralize(null) and singularize(null) now throw TypeError. Empty strings still return ''. ([#14])pluralizeIf uses strict comparison (===) for the count check. ([#14])phpunit.xml-dist renamed to phpunit.xml.dist. ([#12])datum/data, criterion/criteria, phenomenon/phenomena, cactus/cacti, nucleus/nuclei, syllabus/syllabi, curriculum/curricula, medium/media, bacterium/bacteria. ([#9])news, aircraft, software, hardware, luggage, advice, traffic, furniture, metadata, multimedia. ([#9])pluralize('Man') === 'Men', singularize('Children') === 'Child'. ([#9])pluralize('people') === 'people', singularize('datum') === 'datum'. ([#9])pluralize() (matches singularize() behavior). ([#9])declare(strict_types=1), typed parameters and return types on all public methods. ([#14])ROADMAP.md documenting planned improvements and the locale-support path. ([#8], [#11], [#15])3.7.* to ^10.5. Tests ported to namespaced PHPUnit\Framework\TestCase, #[DataProvider] attributes, strict types. ([#12])Inflect\Tests namespace. ([#12])[]) throughout the class. ([#14])-ss words like business, wellness) carried forward.autoload.php.dist (obsoleted by Composer PSR-4 autoload)..travis.yml (replaced by GitHub Actions).Nothing published for this version
Nothing published for this version
Removing urlify into its own package per a suggestion
Removing urlify into its own package per a suggestion
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →