The Blog

Propel2 Beta 2 Release

The Propel Team – 04 July 2022

With this release, we continue version cleanups aiming API stabilization.

Many thanks to our contributors!

2.0.0-beta2

Here are the changes:

  • 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

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.

Download

You can download this release as usual via Composer. Please give it a try and report any bugs you spot:

{
  "require": {
    "propel/propel": "2.0.0-beta2"
  }
}

All changes/commits: github.com/propelorm/Propel2/compare/2.0.0-beta1…2.0.0-beta2

All releases: github.com/propelorm/Propel2/releases

Read more »

Propel2 Beta 1 Release

The Propel Team – 07 December 2021

With this release, we continue version cleanups aiming API stabilization.

Many thanks to our contributors!

2.0.0-beta1

Here are the changes:

  • 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

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

Download

You can download this release as usual via Composer. Please give it a try and report any bugs you spot:

{
  "require": {
    "propel/propel": "2.0.0-beta1"
  }
}

All changes/commits: github.com/propelorm/Propel2/compare/2.0.0-alpha12…2.0.0-beta1

All releases: github.com/propelorm/Propel2/releases

Read more »

Propel2 Alpha 12 Release

The Propel Team – 22 January 2021

With this release, we continue Alpha-version cleanups aiming API stabilization.

Many thanks to our contributors!

2.0.0-alpha12

Here are the changes:

  • 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

BC breaks

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.

Download

You can download this release as usual via Composer. Please give it a try and report any bugs you spot:

{
  "require": {
    "propel/propel": "2.0.0-alpha12"
  }
}

All changes/commits: github.com/propelorm/Propel2/compare/2.0.0-alpha11…2.0.0-alpha12

All releases: github.com/propelorm/Propel2/releases

Read more »

Propel2 Alpha 11 Release

The Propel Team – 07 August 2020

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. πŸ‘

2.0.0-alpha11

Here are the changes:

  • 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

BC breaks

  • PHP7.1 is not supported anymore (EOL)
  • Symfony 2 is not supported anymore (EOL)

Download

You can download this release as usual via Composer. Please give it a try and report any bugs you spot:

{
  "require": {
    "propel/propel": "2.0.0-alpha11"
  }
}

All changes/commits: github.com/propelorm/Propel2/compare/2.0.0-alpha10…2.0.0-alpha11

All releases: github.com/propelorm/Propel2/releases

Read more »

Propel2 Alpha 10 is released

The Propel Team – 13 July 2020

Less than a month passed after the latest Alpha release, and we already happy to introduce a new Alpha 10, which includes a full support of Symfony 5 components, a first wave of PhpStan code quality fixes and a bunch of bugfixes.

You can consider this release as a good/safe option for dependent project migrations, as it contains the longest dependency list, including EOL components (which will be reduced in the next releases).

See you soon!

Read more »