PackageTrack
Sign in Get early access

propel/propel

Propel2 is an open-source Object-Relational Mapping (ORM) for PHP.

2.0.1 5.7M downloads/mo #2550 most downloaded on Packagist propelorm/Propel2

What this package is like to depend on

Last release 2 days ago

21 Aug 2026

Release timing varies

gaps range from 2 weeks to 2.3 years

Nearly every release is documented

notes for 2 of 2 stable releases

Nothing withdrawn

no release was ever pulled

13 years old

18 releases · first in 2013

2 releases in the last 12 months

see the full history below

Release timeline

18 releases · Jun 2013 to Aug 2026
2014 2016 2018 2020 2022 2024 2026
Release Pre-release

Releases

latest 18
  1. 2.0.1 21 Aug 2026
    Release notes

    What's Changed

    Full Changelog: 2.0.0...2.0.1

    Open source →
  2. 2.0.0 23 Jun 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 2.0.0-beta4...2.0.0

    Open source →
  3. 2.0.0-beta4 23 Mar 2024 pre-release
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 2.0.0-beta3...2.0.0-beta4

    Open source →
  4. 2.0.0-beta3 25 Jan 2023 pre-release
    Release notes

    With this release, we continue Beta-version releasing toward API stabilization.

    The main changes include:

    BC breaking impact

    • Removed deprecated way to add primary key setter setPrimaryKey() for generated code.

    New Contributors

    Full Changelog: 2.0.0-beta2...2.0.0-beta3

    Open source →
  5. 2.0.0-beta2 29 Jun 2022 pre-release
    Release notes

    2.0.0-beta2

    With this release, we continue Beta-version releasing toward API stabilization.

    The main changes include:

    • PHP 8.1 and 8.2 compatibility
    • Added strict types to generated code
    • Added Symfony 6 support
    • Dropped Symfony 3 support. The minimum required Symfony version is 4.4.0 now.
    • Added Monolog 2 support
    • Added a type safe access to the StandardServiceContainer via Propel::getStandardServiceContainer() method
    • Added support for the DATETIME column type
    • Moved templates into own root level
    • Overall code quality improvements
    • Fixed DatabaseComparator in order to skip migration creation if table has skipSql flag
    • Fixed an issue with many-to-many mapping
    • Fixed usage of deprecated date format
    • Fixed column's time format issue
    • Fixed issue with identifier quoting being ignored
    • Fixed a debug mode behavior in order to use new connection with it

    Many thanks to all the contributors!
    @nederdirk @ikeyan @craigfrancis @jbarton123 @cristianoc72 @gharlan @javray @dereuromark @mringler @felixgeyer @oojacoboo @herasimenko1987 @fbourigault @manstie @asaulenko @dmytro-dymarchuk @yaroslav-spryker @DarkAxi0m @sacerro @geega @gechetspr

    BC breaking impact

    Please note that all methods have param and return types being added now where they were feasible and ensure better code quality.
    Make sure any extensions are updated here regarding their method signature.
    TIMESTAMP column type in schema files for the MySql databases now generates column with actual TIMESTAMP type instead of DATETIME as it was previously. Propel diff considers it as a table structure change and generates migration.
    As another side effect timestamps are only valid until 2037 (32bit). Make sure to adjust any databuilders or fixtures accordingly.

    Open source →
  6. 2.0.0-beta1 05 Sep 2021 pre-release
    Release notes

    2.0.0-beta1

    With this release, we start Beta-version releasing toward API stabilization.

    The main changes include:

    • PHP 8.1 compatibility
    • Fixes for PHP 7.4 preloading
    • Fixed usage of default on-update and on-delete behavior
    • Show names of uncommitted migrations
    • BehaviorLocator now looks in dev packages, as well
    • Aggregate multiple columns behavior & parameter list support
    • Fixes around aliases and cross joins and subqueries
    • Added support for keytype in the magic import/export methods
    • PSR naming fixes for variables and methods
    • Reset partial flag when populating a relation
    • Added exists operator
    • Escape quotes in behavior
    • Quote primary table name if identifier quoting is enabled
    • Formats insert DATE values as Y-m-d instead of Y-m-d H:i:s.u
    • Allow default-value for concrete-inheritance to be instantiable
    • Pluralize Box to Boxes
    • Allow NO ACTION for foreign key references (in the dtd/xsd)
    • Use object-equality instead of reference-equality to compare object properties
    • Generates data dictionary documentation
    • PHPStan related code cleanup

    Many thanks to all the contributors!

    BC breaking impact

    Please note that methods have param and return types being added now where they were feasible and ensure better code quality.
    Make sure any extensions are updated here regarding their method signature.
    Some internal methods were also renamed to fit PSR coding standards.

    Due to the support of PHP 7.4 preloading, an update will need the configuration to be rebuilt once by calling config:convert, see https://github.com/propelorm/Propel2/wiki/Exception-Target:-Loading-the-database#for-imported-configuration

    Open source →
  7. 2.0.0-alpha9 25 Jun 2020 pre-release
    Release notes

    With this small release, we start a series of upgrades and stabilization activities of Propel2,
    which aim to end with the following stable 2.0 release. New dependencies will allow us to get
    more feedback on compatibility issues and addressing them during the stabilization phase.

    General

    • Added compatibility PHP 7.4
    • Added support of PSQL expressions [CURRENT_TIMESTAMP, LOCALTIMESTAMP]
    • Allowed Symfony 5 dependency
    • Removed PHP 5.x compatibility (with EOL 01.2019)

    Tests

    • Updated PHPUnit from 4.0/5.0 to 7.0
    fce5f55 Keep tests for deprecated class.
    d44d035 Use term primary/replica instead, deprecate in BC way.
    4c45713 Small fixes for PHP 7.4
    c2dbbbc Only generate calls to parent hooks, if the class being generated has a base class
    3f4b70c Use stable php74
    f6d20df Add Symfony 5 dependency compatibility
    603d42c Rearrange implode() arguments where necessary to conform to php7.4
    decc437 Dropping dead PHP EOL 5.5
    d84c8e3 Update to PHP74 Travis and simplify matrix.
    
    Open source →
  8. 2.0.0-alpha8 19 Feb 2018 pre-release

    Nothing published for this version

  9. 2.0.0-alpha7 03 Jan 2017 pre-release

    Nothing published for this version

  10. 2.0.0-alpha6 15 Oct 2016 pre-release

    Nothing published for this version

  11. 2.0.0-alpha5 27 Jun 2015 pre-release

    Nothing published for this version

  12. 2.0.0-alpha4 20 Nov 2014 pre-release

    Nothing published for this version

  13. 2.0.0-alpha3 16 Apr 2014 pre-release

    Nothing published for this version

  14. 2.0.0-alpha2 30 Sep 2013 pre-release

    Nothing published for this version

  15. 2.0.0-alpha12 22 Jan 2021 pre-release
    Release notes

    2.0.0-alpha12

    The main changes include:

    • PHP 8 compatibility
    • Widening the range of Symfony v4 to 4.0+ (instead of 4.3+)
    • Fixed transaction handling when \Throwable is thrown
    • Fixed identifierQuoting for Versionable behavior
    • Fixed invalid hydration when using mergeWith of criteria with "with" models
    • Adds the ability for locking reads, either shared or exclusive
    • Updated TableMap generator to add column name map for normalization and performance speedup
    • Use temporal formatter in the toArray() generator, fixes the issue of entities wrongly being marked as dirty due to differences in the datetime formatting

    Many thanks to contributors! @mruoss, @prgTW, @FranciszekKrasowski, @bezpiatovs, @chuongnh3atgmaildotcom, @kasparsj, @nederdirk, @cristianoc72, @stereomon, @dereuromark .

    BC breaking impact

    Please note that due to PHP7 + PHP8 versions both able to be supported with this library, the PDO access had to be refactored in a not fully BC way. Instead of directly extending the PHP core classes, we now depend on interface contracts.

    If your software has directly extended those in the past, please make sure to adjust your extensions accordingly.

    • PDOStatement => Propel\Runtime\Connection\StatementInterface
    • PdoConnection extends PDO implements ConnectionInterface => only implements the latter and proxies to PDO instead.
    Open source →
  16. 2.0.0-alpha11 05 Aug 2020 pre-release
    Release notes

    With this release, we continue Alpha-version cleanups aiming API stabilization.
    Many thanks to our contributors, who made possible this release to come that fast. 👍

    The main changes include:

    • Fixed return value for "no migration needed" case in MigrationMigrateCommand
    • Always create unique indices by constraint for Postgres (@daniel-rose)
    • Do not try to fetch related objects of a new object (@gharlan)
    • Map JSON type to native Postgres type (@tienbuide)
    • Fixed nullable docblock for mutator methods (@dereuromark)
    • PHP 7.2+ cleanups (class visibility modifiers, native types etc)
    • Dropped EOL Symfony 2, Postgres 9.4 from test matrix
    • Fixed docblocks and typehinting
    • PHPStan level 5 static analyzing
    • Yoda notation cleanup
    Open source →
  17. 2.0.0-alpha10 13 Jul 2020 pre-release
    Release notes

    With this release, we continue Alpha-version cleanups aiming API stabilization. It's a good target for project updates, as it has the widest dependency list (including EOL components). In the following releases, we expect to reduce the support of EOL components.

    Many thanks to our contributors, who made possible this release to come that fast. 👍

    • Full support with Symfony components 2.7+, 3.3+, 4.0+, 5.0+ ( @Incognito )
    • Adds support for MYSQL_ATTR_SSL_VERIFY_SERVER_CERT configuration option ( @marcusirgens )
    • Fixed an issue where propel reverse breaks with system-versioned tables ( @zwhedbee )
    • Applies PHPStan Level 1 Fixes, which corrects many warnings, type checks, missing types, and incorrect annotations. ( @dereuromark )

    Some interesting commits in this release:

    2da7387 Fix issue where propel reverse breaks with system-versioned tables (#1549)
    4093a26 Allow option MYSQL_ATTR_SSL_VERIFY_SERVER_CERT to be set
    584c40b Add PHPStan level 1 check with baseline until we can remove symf2.
    c8a40ff Sf validator v5 (#1603)
    78862a2 Start enforcing PHPStan level 1.
    9ea8516 Make execute() compatible to Symf5 int only.
    f3d47fd fix(PDO): Can't prepare query with BINARY_ALL criteria when ATTR_EMULATE_PREPARES is false
    0027b1c sf validator in v3.0, v3.1 and v3.2 all have regex issues
    db208d7 The symfony 4.2 Unique validator is not a suitable replacement for Propel's
    5e4361f Special composer for php8 testing
    09f6f3a Mysql test were incorrectly setup
    7a71f8c Prevent infinite loops when database is not connecting
    3328fe1 Symfony 5 enforces return types on execute method
    8734275 Now with updated console to Sf v5
    5b3db85 Requires phpunit fix for reflection on php7.4. 7.5.15 Also runs on php7.1 https://github.com/sebastianbergmann/phpunit/compare/7.5.14...7.5.15
    9bc9162 sf 2.5 is about 5 years past EOL, dropping it reduces unpredictable codepaths and feature sniffing
    9cde76f Properly register the translation dependency needed by the validation behaviour for sf >= 2.5
    cec2867 FIX bug CLOB_EMU oracle
    33503a6 Make travis run postgresql 12 (#1580)
    171743a Fix SQLite sprintf() error (#1587)
    5221ebc Works on Trusty but not Xenial or Bionic. Because 10.1 is only a few months form EOL, using Trust is acceptable for this. 10.1 tests should be removed in the coming months anyway.
    40466af Enable MariaDB builds
    c1b4361 Use PSR-4 autoloader
    439b2b6 Raise code quality to PhpStan on lowest level 1
    
    Open source →
  18. 2.0.0-alpha1 05 Jun 2013 pre-release

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive