Skip to content

Releases: tbl0605/Propel-pervasive

Add phar generation + minor code fixes

20 Jun 11:58

Choose a tag to compare

  • Add phar generation
  • Code cleanup

Biggest highlights of the 1.8.* release cycle can be found here.

Expand PHPUnit testing matrix to include versions 12 and 13

19 Jun 22:26

Choose a tag to compare

Added PHPUnit versions 12 and 13 to the testing matrix and updated exclusions for PHP versions 7.4, 8.0, and 8.1 accordingly.

Minor PHPUnit deprecation fix

19 Jun 17:31

Choose a tag to compare

PHPUnit warning: fix pg_escape_string() wrong use

PHP 7.4 to 8.5 support, PHPUnit 9 to 11, MySQL 8 CI, GitHub Actions replacing Travis, modernized test infrastructure, and fork-specific PEAR packaging

19 Jun 16:16

Choose a tag to compare

Overview

This release modernizes the fork for PHP 7.4 through 8.5, replaces legacy Travis CI with GitHub Actions, and brings the full PHPUnit suite (2,664 tests) back to green on current PHP and MySQL 8. Pervasive DB support from 1.7.14 is retained; the focus here is compatibility, testing, packaging, and project maintenance.


Requirements (breaking changes)

1.7.14 master
PHP 5.2.4 7.4
Phing ~2.4 ^2.17
PHPUnit (dev) ~4 / ~5 ^9.6 || ^10.5 || ^11

Composer package metadata, propel-gen binaries, and composer test / composer test:setup scripts are updated accordingly.


PHP 8.x compatibility

Broad fixes across generator and runtime for PHP 8.0 to 8.5:

  • Nullable / strict typing e.g. reverse schema parsers, adapters, builders
  • Deprecated PHP behaviors continue in switch (PgsqlPlatform), ArrayIterator backed by objects, null-safe handling in Criteria, Column, formatters, collections, strftime-style format, etc.
  • Generated code templates behavior builders (archivable, i18n, nested set, sortable, versionable, sluggable, ...) updated so generated models/peers/queries work on modern PHP
  • OM / query layer Criteria, Criterion, ModelCriteria, formatters, BasePeer, PropelDateTime, YAML/XML parsers

Testing & CI

  • Removed legacy .travis.yml (PHP 5.3 to 5.5 / HHVM)
  • Added GitHub Actions workflows under .github/workflows/:
    • phpunit.yml PHPUnit on PHP 7.4 to 8.5 + PHPUnit 9 / 10 / 11, MySQL 8 service, fixture reset, sql_mode tuning for legacy GROUP BY tests
    • pear-package.yml builds legacy PEAR .tgz packages on push and GitHub releases (see PEAR packaging below)
  • New test infrastructure:
    • test/setup_mysql_databases.php auto-creates fixture DBs, configures MySQL 8 sql_mode
    • test/reset_tests.sh / reset_tests.cmd MySQL setup, skip reverse/ in main loop, Windows parity
    • PropelTestCase PHPUnit 9 to 11 bridge (legacy @expectedException, mocking APIs, etc.)
    • Dual PHPUnit annotations for forward compatibility
  • 152 test files updated; full suite passes on PHP 8.5 + PHPUnit 11

PEAR packaging

  • New .github/workflows/pear-package.yml GitHub Actions workflow (runs on push and when a GitHub release is published)
  • Builds legacy propel_generator and propel_runtime .tgz artifacts via Phing 2.17.4 on PHP 7.4
  • Fork-specific packaging: __uri channel instead of dead pear.propelorm.org; removed pear.phing.info dependency (Phing via Composer); minimum PHP 7.4 in package.xml
  • test/tools/run_pear_package_build.sh wrapper for reproducible PEAR builds

Pervasive DB

No major new Pervasive features since 1.7.14. Status unchanged:

  • Known limitations (pagination offset, LOB hex inlining, FK SET NULL, type maps, column ordering) remain
  • Minor touch-ups to PervasivePlatform, PervasiveSchemaParser, and DBPervasive (mostly line-ending normalization and PHP compatibility).

Project & documentation

  • README fork identity, Composer install, test instructions, GitHub Actions badge
  • INSTALL Composer-first install; PEAR via GitHub release artifacts
  • CHANGELOG stub for 1.8.0
  • .gitignore fixture builds, CI PHARs, IDE files, PHPUnit cache
  • .gitattributes LF line endings for cross-platform consistency (Windows test stability)
  • Composer tbl0605/propel1-pervasive metadata, Thierry Blind as contributor

Upgrade notes

  1. Requires PHP 7.4+ (PHP 8.x recommended).
  2. Run composer update and rebuild generated classes if you upgrade an existing project.
  3. For tests: composer test:setup, then test/reset_tests.sh (or test\reset_tests.cmd on Windows), then composer test.
  4. PEAR users: install from GitHub release .tgz files, not pear.propelorm.org.

MySQL schema parser fixes

27 Feb 15:45

Choose a tag to compare

  • comment some unused variable
  • MySQL: create the index corresponding to the PRIMARY key
  • MySQL: keep all column size informations

Pervasive schema parser: add BINARY support

28 Aug 12:19

Choose a tag to compare

  • Pervasive schema parser: add BINARY support

Mssql schema parser and PHPDocs fixes

04 May 10:40

Choose a tag to compare

  • Fix some PHPDocs errors
  • Spelling fixes
  • Sql Server: add some tweaks originally created for Pervasive
  • Avoid "Call to undefined method GeneratorConfig::getLocation()"

PHP 8.2 compatibility fixes

17 Apr 14:14

Choose a tag to compare

  • Fix some errors found by PHPStan
  • PHP 8.2 compatibility fixes: replacement of deprecated strftime(), utf8_decode() and utf8_encode() functions

PHP 8.2 compatibility fix

29 Mar 10:23

Choose a tag to compare

  • PHP 8.2 compatibility fix

Mssql schema parser and PHP 8.1 compatibility fixes

01 Jul 13:33

Choose a tag to compare

  • Mssql schema parser: add basic unique indexes support
  • Mssql schema parser: better IDENTITY support (for the BIGINT, SMALLINT and TINYINT types)
  • PHP 8.1 compatibility fix