Skip to content
Back to Milestones

2.0.0 Beta 6 - Modernization

Open
No due date
Last updated Jun 24, 2025

2.0.0 stable release should be considered as BC-breaking and will include changes that could require additional migration efforts (eg PHP and Symfony support removals).

In this milestone we should include

  1. Dependency updates (including BC-breaking changes)
  2. Cleanup & removal of outdated practices (including BC-breaking changes)
  3. New features & enhancements (including BC-breaking changes, that move DX forward)

What should we aim for?

  1. Tech Cleanup
  • Remove deprecated features (mark breaking ones clearly in changelog).
  • Finalize Interfaces: clean up ModelCriteria, TableMap, ConnectionManager, etc.
  • Leverage modern PHP: Scalar type hints, return types everywhere, Enums (PHP 8.1+), Attributes instead of annotations (optional but supported)
  • Composer Cleanup: remove obsolete dependencies, ensure minimal footprint
  1. Upgrade Requirements
  • PHP 8.1+ (with clear notes for why)
  • Symfony 6+ and Doctrine Cache compatibility
  • Unify Exceptions and Logging for clarity
  1. DX
  • Better Errors, eg user-friendly exception messages and stack traces
  • Improved IDE support via better PHPDocs, generics (Psalm/phpstan), and typed query builders
  • Query Builder Improvements (Eager loading enhancements, named scopes / reusable conditions)
  • New "Hello Propel" demo app using Symfony or XXX
34% complete

List view