Skip to content

Release 3.0.0

Choose a tag to compare

@armanist armanist released this 28 May 17:13
· 317 commits to master since this release
3c99dd9

What's Changed

  • Pull Request: Upgrade to PHP 7.4+ with PHP 8.0/8.1 support by @Wiltzsu in #389
  • Feature/php 8.1 compatability related fixes by @armanist in #390
  • 371 integrate php stan for static analysis in quantum framework by @armanist in #391
  • 155 integrate php cs fixer by @armanist in #392
  • Fix: Resolve DBAL contract violation with truncate() method (#387) by @Wiltzsu in #393
  • Enhance CONTRIBUTING.md with new setup steps by @armanist in #394
  • 396 qt command crashes on symfony 5+ when $help or $description is not defined by @armanist in #397
  • Fix/php81 nullable deprecations by @Wiltzsu in #398
  • 400 make http client testable by allowing curl and multi curl injection and removing external api dependency from tests by @armanist in #401
  • Fix Translator to merge shared and module translations by @armanist in #403
  • Backend validation errors are not displayed in Toolkit forms by @Tigranuhi-A in #405
  • Fix issue where pagination state is lost after viewing a single post by @live-soft in #395
  • Improve serve Command Reliability by @armanist in #406
  • Refactor Router and ModuleLoader: Decouple module loading from route building by @armanist in #409
  • Feature/native cron runner 291 by @charoyan88 in #408
  • Refactor model architecture introduce base model and database model separation by @armanist in #410
  • Add Optional Timestamps Support to Models by @armanist in #411
  • Add Di::set() instance binding support to DI container by @armanist in #414
  • Refactor routing core, introduce route collection and route finder to reduce router responsibilities by @armanist in #415
  • Bug: "Array" rendered inside pagination HTML by @armanist in #417
  • 419 refactor flatten libraries directory into top level src folder by @armanist in #420
  • Adding types to class properties, updating method signatures, and organizing use statements across multiple classes and packages. by @armanist in #422
  • Adding declare(strict_types=1) to all classes via rector by @armanist in #424
  • Making sure to remove 'id' from user data by @armanist in #425
  • Converting request defaults to strings by @armanist in #426
  • Adding new resetContainer method to Di class and updating tests by @armanist in #427
  • Update ob_implicit_flush for PHP 8+ and ensure string type for search… by @armanist in #428
  • Cast search parameter to string before trimming in PostController templates by @armanist in #429
  • Changing the getPagination method first value to be boolean to follow… by @armanist in #430
  • Enforce PHPStan level 6 compliance across all packages by @armanist in #432
  • Remove shared StorageInterface in favor of package-level contracts by @armanist in #434
  • Reduce bcrypt cost in Auth and Hasher tests for faster test execution by @armanist in #436
  • 437 extract adapter type constants from main classes into dedicated enum classes by @armanist in #438
  • Add Resend mailer adapter by @grigoryanmartin20 in #440
  • 441 upgrade php stan analysis from level 6 to level 7 by @armanist in #442
  • Refactor Module Templates to use DTOs in Services and Controllers by @armanist in #444
  • Adding rector commands in composer.json and fixing issues found by rector by @armanist in #445
  • Added missing @method annotations to App and DbModel by @armanist in #446
  • Remember-me cookie in SessionAuthAdapter missing httpOnly and secure flags by @armanist in #450
  • Inject auth config into adapters via AuthFactory by @armanist in #451
  • Refactor App Bootstrapping & DI Ownership Model by @armanist in #457
  • [#458] Refactor debugbar() helper for structural and behavioral consi… by @armanist in #463
  • [#459] Refactor view() helper to service locator and rename QtView to View by @armanist in #464
  • [#460] Introduce db() helper to encapsulate Database DI lookup by @armanist in #465
  • [#462] Normalize router helper surface through Request proxies by @armanist in #466
  • Issue/467 di registry container split by @armanist in #468
  • [#470] Enforce response-returning route dispatch by @armanist in #475
  • Issue/471 middleware hook refactor by @armanist in #476
  • [#472] Refactor web flow to explicit response pipeline by @armanist in #477
  • [#473] Refactor console termination to explicit return flow by @armanist in #478
  • Issue/474 stop cleanup by @armanist in #480
  • Issue/481 enum exception coverage by @armanist in #484
  • Issue/479 command coverage by @armanist in #485
  • [#483] Increase Tracer ErrorHandler unit-test coverage by @armanist in #486
  • [#482] Expand migration package unit test coverage by @armanist in #487
  • [#488] Raise console command coverage and silence serve test logs by @armanist in #489
  • Feature/490 errorhandler refactor by @armanist in #491
  • [#492] Prevent Request bootstrap circular dependency via UploadedFile lazy init by @armanist in #493
  • [#494] Refactor UploadedFile into upload collaborators by @armanist in #495
  • 496 remove response param in templates by @armanist in #497
  • [#498] Fix missing Response import and redirect return in templates by @armanist in #499
  • Issue/500 qt prefix class rename by @armanist in #501
  • Issue/502 request context cleanup by @armanist in #503
  • Issue/504 load modules boot stage by @armanist in #505
  • CHANGELOG.md and CONTRIBUTING.md updates by @armanist in #506
  • [#290] Add first-class route rate limiting with global backend by @armanist in #507
  • [#508] Support related criteria paths in SleekDB joins by @armanist in #509
  • [#511] Fix RouteBuilder post-group modifier chaining context by @armanist in #512
  • Issue/510 rate limit demoapi by @armanist in #513
  • [#514] Preserve SleekDB criteria state across paginator count by @armanist in #515
  • [#516] Standardize middleware validation rule signatures by @armanist in #517
  • [#518] Fix middleware template signature mismatches by @armanist in #519
  • [#520] Fix OpenAPI generated routes response contract by @armanist in #521
  • Issue/522 demoapi openapi coverage by @armanist in #523
  • Finalize RC release notes link and rector-typed terminal closure by @armanist in #524
  • Chore/update contact email by @armanist in #525
  • Issue/526 request multi file fields by @armanist in #527
  • docs: Add Code of Conduct and README reference by @armanist in #528
  • [#529] Skip dependencies for disabled modules in ModuleLoader by @armanist in #530

New Contributors

Full Changelog: 2.9.9...3.0.0