Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for aura/sql 6.0 and PHP 8.4 and drop PHP <8.4 support #75

Merged
merged 17 commits into from
Feb 1, 2025

Conversation

koriym
Copy link
Member

@koriym koriym commented Jan 31, 2025

Drop PHP 7.2 - 8.3

PDOに破壊的な変更がありPHP8.4+に対応したaura/sql 6に対応。そのためそれまでのPHP8.2対応の互換性をdropしました。

  • Updated composer.json for aura/sql 6.0
  • Adjusted CI workflow for PHP 8.4
  • Checked compatibility with existing dependencies

Summary by CodeRabbit

Release Notes

  • Chores

    • Updated continuous integration workflow to support PHP version 8.4.
    • Updated package dependencies for aura/sql, aura/sqlquery, and other related packages.
    • Updated various development dependencies.
  • Refactor

    • Modified annotation import and usage for NamedArgumentConstructor across multiple annotation classes.
    • Simplified constructor property handling in several classes using property promotion.
    • Streamlined code by adopting PHP 8.1's readonly properties.

These updates enhance compatibility with newer PHP versions and improve code clarity and maintainability.

The `NamedArgumentConstructorAnnotation` interface has been removed from several annotation classes (`PagerViewOption`, `Read`, `AuraSqlQueryConfig`, and `Transactional`). This simplifies the class declarations while maintaining the `@NamedArgumentConstructor` functionality for Doctrine annotations.
Extended the "old_stable" list to include PHP 8.3 and updated "current_stable" to PHP 8.4. This ensures the CI pipeline tests against the latest supported PHP versions.
Expanded the version constraints for aura/sql to include 6.0, ensuring compatibility with the latest version. This change maintains support for existing versions while future-proofing the package dependencies. No other dependencies were modified.
Included aura/sqlquery version ^3.0 in project dependencies. This addition supports enhanced SQL query building for better maintainability and flexibility. No existing dependencies were modified or removed.
Copy link

coderabbitai bot commented Jan 31, 2025

Walkthrough

This pull request encompasses updates to the continuous integration workflow, composer dependencies, and annotation imports across multiple files. The changes primarily involve removing the old_stable parameter, updating the current_stable version to 8.4, modifying package dependencies in composer.json, and updating annotation import statements and usage for NamedArgumentConstructor across several annotation classes.

Changes

File Change Summary
.github/workflows/continuous-integration.yml - Removed old_stable parameter
- Updated current_stable from 8.3 to 8.4
composer.json - Updated PHP version constraint from `"^7.4
src/Annotation/PagerViewOption.php - Removed parentheses from @NamedArgumentConstructor() annotation
- Updated constructor to use public property declaration for value
src/Annotation/Read.php - Updated import from NamedArgumentConstructor to NamedArgumentConstructorAnnotation
- Expanded attribute declaration to include both Attribute::TARGET_METHOD and Attribute::TARGET_PARAMETER
- Updated constructor to use public property declaration with a default value
src/Annotation/Transactional.php - Updated import from NamedArgumentConstructor to NamedArgumentConstructorAnnotation
- Removed parentheses from @NamedArgumentConstructor() annotation
- Updated constructor to use property promotion for $value
.github/workflows/coding-standards.yml - Updated php_version from 8.3 to 8.4
.github/workflows/static-analysis.yml - Updated php_version from 8.3 to 8.4
psalm.xml - Added <issueHandlers> section with various suppressions for unused code elements
src-deprecated/AuraSqlDeleteInject.php - Added deprecation notice and updated annotation style for dependency injection
src-deprecated/AuraSqlInject.php - Added deprecation notice and updated annotation style for dependency injection
src-deprecated/AuraSqlInsertInject.php - Added deprecation notice and updated annotation style for dependency injection
src-deprecated/AuraSqlPagerInject.php - Added deprecation notice and updated annotation style for dependency injection
src-deprecated/AuraSqlQueryPagerInject.php - Added deprecation notice and updated annotation style for dependency injection
src-deprecated/AuraSqlSelectInject.php - Added deprecation notice and updated annotation style for dependency injection
src-deprecated/AuraSqlUpdateInject.php - Added deprecation notice and updated annotation style for dependency injection
src/Annotation/AuraSqlQueryConfig.php - Changed property visibility to public and simplified constructor
src/AuraSqlBaseModule.php - Changed constructor to use property promotion for dsn
src/AuraSqlConnectionInterceptor.php - Changed constructor to use property promotion for connectionLocator and readsMethods
src/AuraSqlEnvModule.php - Changed constructor to use property promotion for database connection parameters
src/AuraSqlLocatorModule.php - Changed constructor to use property promotion for connection parameters
src/AuraSqlMasterDbInterceptor.php - Changed constructor to use property promotion for connectionLocator
src/AuraSqlMasterModule.php - Changed constructor to use property promotion for connection parameters
src/AuraSqlModule.php - Changed constructor to use property promotion for database connection parameters
src/AuraSqlProfileModule.php - Updated documentation comment for consistency
src/AuraSqlQueryDeleteProvider.php - Changed constructor to use property promotion for $db
src/AuraSqlQueryInsertProvider.php - Changed constructor to use property promotion for $db
src/AuraSqlQueryModule.php - Changed constructor to use property promotion for $db
src/AuraSqlQuerySelectProvider.php - Changed constructor to use property promotion for $db
src/AuraSqlQueryUpdateProvider.php - Changed constructor to use property promotion for $db
src/AuraSqlReplicationDbProvider.php - Changed constructor to use property promotion for $injector
src/AuraSqlReplicationModule.php - Changed constructor to use property promotion for connectionLocator and qualifer
src/AuraSqlSlaveDbInterceptor.php - Changed constructor to use property promotion for connectionLocator
src/Connection.php - Changed constructor to use property promotion for connection parameters
src/ConnectionLocatorFactory.php - Modified docblock formatting for private constructor
src/EnvConnection.php - Changed properties to readonly and updated constructor
src/IsInMethodMatcher.php - Updated documentation comments for consistency
src/NamedExtendedPdoProvider.php - Changed constructor to use property promotion for $injector
src/NamedPdoEnvModule.php - Changed constructor to use property promotion for connection parameters
src/NamedPdoModule.php - Changed constructor to use property promotion for connection parameters
src/Pagerfanta/AuraSqlPager.php - Changed constructor to use property promotion for view and viewOptions
src/Pagerfanta/AuraSqlPagerFactory.php - Changed constructor to use property promotion for auraSqlPager
src/Pagerfanta/AuraSqlPagerFactoryInterface.php - No changes made
src/Pagerfanta/AuraSqlPagerInterface.php - Modified docblock comment formatting
src/Pagerfanta/AuraSqlPagerModule.php - Modified documentation comment for consistency
src/Pagerfanta/AuraSqlQueryAdapter.php - Changed constructor to use property promotion for pdo and select
src/Pagerfanta/AuraSqlQueryPager.php - Changed constructor to use property promotion for view and viewOptions
src/Pagerfanta/AuraSqlQueryPagerFactory.php - Changed constructor to use property promotion for auraSqlQueryPager
src/Pagerfanta/AuraSqlQueryPagerInterface.php - Modified docblock comment formatting
src/Pagerfanta/DefaultRouteGenerator.php - Changed constructor to use property promotion for uri
src/Pagerfanta/ExtendedPdoAdapter.php - Changed constructor to use property promotion for pdo, sql, and params
src/Pagerfanta/FetchAssoc.php - Changed constructor to use property promotion for pdo
src/Pagerfanta/FetchEntity.php - Changed constructor to use property promotion for pdo and entity
src/Pagerfanta/Page.php - Updated class to implement Stringable and changed constructor properties to readonly
src/ProfilerProvider.php - Changed constructor to use property promotion for logger
src/TransactionalInterceptor.php - Changed constructor to use property promotion for pdo
src/TransactionalModule.php - Updated documentation comment for consistency
tests/AuraSqlModuleTest.php - Updated class name retrieval syntax in getDsn method
tests/AuraSqlProfileModuleTest.php - Adjusted closing brace for anonymous class
tests/AuraSqlQueryModuleTest.php - Initialized $injector property in setUp method
tests/AuraSqlReplicationModuleTest.php - Changed connectionProvider method to static
tests/Fake/FakeEntity.php - Updated constructor to use property promotion for properties
tests/Fake/FakeQueryInject.php - Changed constructor to use property promotion for $db
tests/NamedPdoModuleTest.php - Updated class name retrieval syntax in getDsn method
tests/Pagerfanta/AuraSqlPagerFactoryTest.php - Added #[Override] attribute to setUp method
tests/Pagerfanta/AuraSqlPagerModuleTest.php - Modified comments for consistency
tests/Pagerfanta/AuraSqlPagerTest.php - Added initialization for $pager in setUp method
tests/Pagerfanta/AuraSqlQueryAdapterTest.php - Changed return type of anonymous function in createAdapterToTestSlice method
tests/Pagerfanta/AuraSqlQueryPagerModuleTest.php - Modified comments for consistency
tests/Pagerfanta/AuraSqlQueryPagerTest.php - Added #[Override] attribute to setUp method
tests/Pagerfanta/ExtendedPdoAdapterTest.php - Added #[Override] attribute to setUp method and changed splProvider method to static
tests/Pagerfanta/PdoMySqlAdapterTest.php - Added #[Override] attribute to setUp method

Possibly related PRs

Poem

🐰 Hop, hop, through version's gate,
CI workflow gets an update mate!
Eight-point-four leads the stable crew,
Composer deps get a version too
Annotations dance with new delight! 🚀


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3c581e7 and d50103d.

📒 Files selected for processing (1)
  • .scrutinizer.yml (0 hunks)
💤 Files with no reviewable changes (1)
  • .scrutinizer.yml

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 13044e7 and def34ab.

📒 Files selected for processing (5)
  • .github/workflows/continuous-integration.yml (1 hunks)
  • composer.json (1 hunks)
  • src/Annotation/PagerViewOption.php (1 hunks)
  • src/Annotation/Read.php (1 hunks)
  • src/Annotation/Transactional.php (1 hunks)
✅ Files skipped from review due to trivial changes (2)
  • src/Annotation/PagerViewOption.php
  • src/Annotation/Read.php
⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: sa / PHPMD
🔇 Additional comments (1)
src/Annotation/Transactional.php (1)

13-13: LGTM! Verify consistency across the codebase.

The annotation usage has been correctly updated to use the declarative style.

Let's verify that this change has been consistently applied across all annotation classes:

✅ Verification successful

Verified: @NamedArgumentConstructor annotation style is consistent

All instances of the annotation across the codebase use the new declarative style without parentheses.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any remaining uses of the old annotation style

# Search for old annotation style with parentheses
echo "Checking for old annotation style..."
rg "@NamedArgumentConstructor\(\)"

# Search for new annotation style to ensure consistency
echo "Checking for new annotation style..."
rg "@NamedArgumentConstructor$"

Length of output: 620

src/Annotation/Transactional.php Show resolved Hide resolved
.github/workflows/continuous-integration.yml Outdated Show resolved Hide resolved
composer.json Outdated Show resolved Hide resolved
koriym added 10 commits February 1, 2025 10:50
Updated PHP requirement to ^8.4, dropped older versions of `aura/sql`, and upgraded `phpunit/phpunit` to ^11.5.6. This ensures compatibility with the latest features and improvements in the dependencies.
Updated class properties to use `readonly` where applicable and replaced multi-line annotations with single-line equivalents. Simplified constructors by utilizing auto-property promotion, resulting in cleaner and more concise code.
Marked all Aura SQL injection traits as deprecated and relocated them to the `src-deprecated` folder. Added comments pointing to constructor injection as the preferred alternative. This refactoring sets the stage for adopting more modern and maintainable approaches.
Remove redundant assertions and improve type annotations. This commit removes unnecessary `assert` statements and unused imports to simplify the code. It also refines type annotations and docblocks for better clarity and accuracy, ensuring consistency across various files. These changes enhance code readability and maintainability without altering functionality.
The added suppression ensures that Psalm does not raise a false positive regarding a missing dependency annotation for the write methods binding. This change improves static analysis while maintaining the intended functionality.
Upgraded multiple packages, including `amphp/amp` to v3.1.0 and `amphp/byte-stream` to v2.1.1. Added new dependencies such as `amphp/cache`, `amphp/dns`, and `amphp/parallel`. These changes enhance compatibility and introduce improved functionality for the updated packages.
Composer-require-checker was removed from the require-dev section of composer.json. This change simplifies the development dependencies and reduces unnecessary overhead.
Added suppression rules for various unused code issues, including methods, properties, variables, and classes. This ensures cleaner Psalm outputs by addressing non-critical warnings without altering functionality.
Replaced PHP 8.3 with PHP 8.4 in static analysis and coding standards workflows. Removed the `old_stable` configuration from the CI workflow and set `current_stable` to 8.4. These changes align the workflows with the latest stable PHP version.
This change adds the missing return type annotation for the `init` method in `AuraSqlQueryPager`. It improves code readability and ensures better static analysis compatibility.
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (15)
src/Annotation/AuraSqlQueryConfig.php (1)

23-23: LGTM! Consider enhancing the docblock.

The constructor property promotion is a good modernization that aligns with PHP 8.4 support. The type safety is maintained with the nullable array type.

Consider updating the docblock to include nullability information:

/**
- * @param array<string, string> $value
+ * @param array<string, string>|null $value
 */
src-deprecated/AuraSqlInject.php (1)

16-17: Consider removing the redundant PHPDoc annotation.

Since this PR aims to support PHP 8.4 and you've added the attribute-style annotation, the PHPDoc annotation /** @Inject() */ is redundant and could be removed.

Apply this diff to remove the redundant annotation:

-    /** @Inject() */
    #[Inject]
src-deprecated/AuraSqlQueryPagerInject.php (2)

10-10: Enhance the deprecation notice with more details.

Consider adding more information to help users migrate:

  • Include the version since when it's deprecated
  • Add a code example showing the constructor injection approach
-/** @deprecated Use constructor injection instead */
+/**
+ * @deprecated Since 1.x.x. Use constructor injection instead.
+ * Example:
+ * ```php
+ * public function __construct(
+ *     private readonly AuraSqlQueryPagerFactoryInterface $queryPagerFactory
+ * ) {}
+ * ```
+ */

16-17: LGTM! Consider annotation style for deprecated code.

The dual annotation style (PHPDoc + Attributes) is good for backward compatibility. However, since this trait is deprecated, you might want to:

  1. Keep only the attribute style if PHP 8.0+ is the minimum requirement
  2. Add a comment explaining why both styles are maintained if backward compatibility is needed
src-deprecated/AuraSqlSelectInject.php (1)

16-17: Consider removing the legacy @Inject annotation.

Since this trait is already marked as deprecated and requires PHP 8.4 (which fully supports attributes), the legacy docblock annotation could be removed to reduce duplication.

-    /** @Inject */
     #[Inject]
src-deprecated/AuraSqlInsertInject.php (1)

10-10: LGTM! Consider a global improvement.

The changes maintain consistency across all traits. Since this pattern is repeated across multiple files, consider:

  1. Creating a migration guide in the documentation explaining the move from setter injection to constructor injection
  2. Adding a target version for complete removal of these deprecated traits

This will help users plan their migration strategy.

Also applies to: 16-17

src-deprecated/AuraSqlPagerInject.php (1)

10-10: Consider removing the redundant PHPDoc annotation.

Since you've added the PHP 8 attribute #[Inject], the PHPDoc annotation /** @Inject */ is redundant and can be safely removed.

-    /** @Inject */
     #[Inject]

Also applies to: 16-17

tests/Fake/FakeQueryInject.php (1)

20-20: Update PHPDoc to remove redundant parameter documentation.

Since the parameter type is now declared in the constructor signature, the @param tag in the PHPDoc is redundant.

     /**
      * @AuraSqlQueryConfig
-     *
-     * @param string $db
      */
src/TransactionalInterceptor.php (1)

29-29: Consider splitting the condition for better readability.

While the combined condition is functionally correct, it could be more readable if split into separate checks.

Consider this alternative:

-        if ($transactional instanceof Transactional && count((array) $transactional->value) > 1) {
+        if (!($transactional instanceof Transactional)) {
+            return $invocation->proceed();
+        }
+        
+        if (count((array) $transactional->value) > 1) {
psalm.xml (1)

15-24: Added issueHandlers to suppress unused code warnings.
A new <issueHandlers> section has been introduced to suppress warnings for possibly unused methods, properties, variables, return values, classes, constructors, and method calls. Make sure that suppressing these issues aligns with the team’s code quality policies so that potential refactors or cleanups aren’t inadvertently overlooked.

src/AuraSqlEnvModule.php (1)

20-25: Constructor refactored using property promotion.
The updated constructor now declares required properties as private readonly directly in the parameter list. This enhances readability and immutability. Double-check that all downstream usages (e.g., in installed submodules) correctly reference the new property names.

src/AuraSqlMasterModule.php (1)

29-30: Documentation comment precision update.
The adjustment from {@inheritdoc} to {@inheritDoc} standardizes the documentation style in this file. This is a welcome consistency improvement.

src/AuraSqlReplicationModule.php (3)

17-18: Constructor now utilizes property promotion.
The properties $connectionLocator and $qualifer are now directly declared as private readonly in the constructor. This reduces boilerplate and reinforces immutability. Verify that all uses of these properties in the class have been updated accordingly.


49-49: Trailing comma in interceptor binding for ReadOnlyConnection.
A trailing comma is used in the interceptor array ([AuraSqlSlaveDbInterceptor::class],). While PHP 8.4 supports trailing commas in arrays, confirm that this style is consistent with your coding standards.


25-25: Documentation comment consistency update.
The updated configure() method now uses {@inheritDoc}. Ensuring uniform documentation markup is beneficial for maintaining clarity across the modules.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between def34ab and 6d75d7d.

⛔ Files ignored due to path filters (1)
  • vendor-bin/tools/composer.lock is excluded by !**/*.lock
📒 Files selected for processing (72)
  • .github/workflows/coding-standards.yml (1 hunks)
  • .github/workflows/continuous-integration.yml (1 hunks)
  • .github/workflows/static-analysis.yml (1 hunks)
  • composer.json (1 hunks)
  • psalm.xml (1 hunks)
  • src-deprecated/AuraSqlDeleteInject.php (1 hunks)
  • src-deprecated/AuraSqlInject.php (1 hunks)
  • src-deprecated/AuraSqlInsertInject.php (1 hunks)
  • src-deprecated/AuraSqlPagerInject.php (1 hunks)
  • src-deprecated/AuraSqlQueryPagerInject.php (1 hunks)
  • src-deprecated/AuraSqlSelectInject.php (1 hunks)
  • src-deprecated/AuraSqlUpdateInject.php (1 hunks)
  • src/Annotation/AuraSqlQueryConfig.php (1 hunks)
  • src/Annotation/PagerViewOption.php (1 hunks)
  • src/Annotation/Read.php (2 hunks)
  • src/Annotation/Transactional.php (1 hunks)
  • src/AuraSqlBaseModule.php (1 hunks)
  • src/AuraSqlConnectionInterceptor.php (1 hunks)
  • src/AuraSqlEnvModule.php (1 hunks)
  • src/AuraSqlLocatorModule.php (3 hunks)
  • src/AuraSqlMasterDbInterceptor.php (1 hunks)
  • src/AuraSqlMasterModule.php (1 hunks)
  • src/AuraSqlModule.php (3 hunks)
  • src/AuraSqlProfileModule.php (1 hunks)
  • src/AuraSqlQueryDeleteProvider.php (1 hunks)
  • src/AuraSqlQueryInsertProvider.php (1 hunks)
  • src/AuraSqlQueryModule.php (1 hunks)
  • src/AuraSqlQuerySelectProvider.php (1 hunks)
  • src/AuraSqlQueryUpdateProvider.php (1 hunks)
  • src/AuraSqlReplicationDbProvider.php (2 hunks)
  • src/AuraSqlReplicationModule.php (2 hunks)
  • src/AuraSqlSlaveDbInterceptor.php (1 hunks)
  • src/Connection.php (1 hunks)
  • src/ConnectionLocatorFactory.php (1 hunks)
  • src/EnvConnection.php (2 hunks)
  • src/IsInMethodMatcher.php (2 hunks)
  • src/NamedExtendedPdoProvider.php (2 hunks)
  • src/NamedPdoEnvModule.php (3 hunks)
  • src/NamedPdoModule.php (3 hunks)
  • src/Pagerfanta/AuraSqlPager.php (5 hunks)
  • src/Pagerfanta/AuraSqlPagerFactory.php (1 hunks)
  • src/Pagerfanta/AuraSqlPagerFactoryInterface.php (1 hunks)
  • src/Pagerfanta/AuraSqlPagerInterface.php (1 hunks)
  • src/Pagerfanta/AuraSqlPagerModule.php (1 hunks)
  • src/Pagerfanta/AuraSqlQueryAdapter.php (3 hunks)
  • src/Pagerfanta/AuraSqlQueryPager.php (3 hunks)
  • src/Pagerfanta/AuraSqlQueryPagerFactory.php (1 hunks)
  • src/Pagerfanta/AuraSqlQueryPagerInterface.php (1 hunks)
  • src/Pagerfanta/DefaultRouteGenerator.php (1 hunks)
  • src/Pagerfanta/ExtendedPdoAdapter.php (5 hunks)
  • src/Pagerfanta/FetchAssoc.php (1 hunks)
  • src/Pagerfanta/FetchEntity.php (2 hunks)
  • src/Pagerfanta/Page.php (2 hunks)
  • src/ProfilerProvider.php (1 hunks)
  • src/TransactionalInterceptor.php (1 hunks)
  • src/TransactionalModule.php (1 hunks)
  • tests/AuraSqlModuleTest.php (1 hunks)
  • tests/AuraSqlProfileModuleTest.php (2 hunks)
  • tests/AuraSqlQueryModuleTest.php (1 hunks)
  • tests/AuraSqlReplicationModuleTest.php (4 hunks)
  • tests/Fake/FakeEntity.php (1 hunks)
  • tests/Fake/FakeQueryInject.php (1 hunks)
  • tests/NamedPdoModuleTest.php (1 hunks)
  • tests/Pagerfanta/AuraSqlPagerFactoryTest.php (1 hunks)
  • tests/Pagerfanta/AuraSqlPagerModuleTest.php (3 hunks)
  • tests/Pagerfanta/AuraSqlPagerTest.php (1 hunks)
  • tests/Pagerfanta/AuraSqlQueryAdapterTest.php (1 hunks)
  • tests/Pagerfanta/AuraSqlQueryPagerModuleTest.php (3 hunks)
  • tests/Pagerfanta/AuraSqlQueryPagerTest.php (2 hunks)
  • tests/Pagerfanta/ExtendedPdoAdapterTest.php (2 hunks)
  • tests/Pagerfanta/PdoMySqlAdapterTest.php (1 hunks)
  • vendor-bin/tools/composer.json (1 hunks)
✅ Files skipped from review due to trivial changes (9)
  • src/Pagerfanta/AuraSqlPagerFactoryInterface.php
  • src/TransactionalModule.php
  • src/AuraSqlProfileModule.php
  • src/Pagerfanta/AuraSqlQueryPagerInterface.php
  • tests/Pagerfanta/AuraSqlQueryPagerModuleTest.php
  • src/Pagerfanta/AuraSqlPagerInterface.php
  • src/IsInMethodMatcher.php
  • src/Pagerfanta/AuraSqlPagerModule.php
  • tests/Pagerfanta/AuraSqlPagerModuleTest.php
🚧 Files skipped from review as they are similar to previous changes (4)
  • .github/workflows/continuous-integration.yml
  • src/Annotation/PagerViewOption.php
  • src/Annotation/Transactional.php
  • src/Annotation/Read.php
🧰 Additional context used
🪛 GitHub Actions: Static Analysis
composer.json

[error] Dependency resolution error: The root composer.json requires maglnet/composer-require-checker, but none of its available versions support the current PHP version (8.4.3). Several constraints (e.g., ~7.0, ~7.1, ^7.1, ^7.2, ~8.2.0, ~8.3.0) and conflicts regarding nikic/php-parser have been detected.

vendor-bin/tools/composer.json

[error] Dependency resolution error: The root composer.json requires maglnet/composer-require-checker, but none of its available versions support the current PHP version (8.4.3). Several constraints (e.g., ~7.0, ~7.1, ^7.1, ^7.2, ~8.2.0, ~8.3.0) and conflicts regarding nikic/php-parser have been detected.

🔇 Additional comments (92)
tests/Fake/FakeEntity.php (1)

7-8: LGTM! Clean implementation using constructor property promotion.

The change effectively uses PHP 8.0+ constructor property promotion feature, which reduces boilerplate code while maintaining the same functionality. This modernization aligns well with the PR's objective of supporting newer PHP versions.

src/Pagerfanta/DefaultRouteGenerator.php (2)

9-11: LGTM! Modern PHP features well utilized.

The constructor uses PHP 8.1+ features effectively:

  • Constructor property promotion reduces boilerplate
  • readonly modifier ensures immutability

14-14: LGTM! Documentation standardization.

The PHPDoc comment has been standardized to use {@inheritDoc}.

src/ProfilerProvider.php (1)

13-15: Great use of constructor property promotion with readonly modifier!

The refactoring improves code conciseness while maintaining functionality. The use of readonly provides an immutability guarantee, which is a good practice for dependency injection.

src-deprecated/AuraSqlInject.php (1)

10-10: LGTM! Clear deprecation notice with migration guidance.

The deprecation notice follows PHP standards and provides clear guidance to use constructor injection instead.

src/NamedPdoModule.php (3)

26-32: LGTM! Great use of constructor property promotion and readonly properties.

The changes leverage PHP 8.0+ features to reduce boilerplate code while enhancing immutability. The functionality remains unchanged, but the code is now more maintainable.


38-38: LGTM! Documentation tag updated to modern standard.

The change from {@inheritdoc} to {@inheritDoc} aligns with modern PHP documentation standards.


52-52: LGTM! Clean formatting changes.

The string concatenation remains clear and readable, and the addition of trailing commas follows modern PHP coding standards.

Also applies to: 73-73

src-deprecated/AuraSqlSelectInject.php (1)

10-10: LGTM! Clear deprecation notice.

The deprecation notice follows PHP standards and clearly guides users toward the recommended constructor injection pattern.

src-deprecated/AuraSqlDeleteInject.php (1)

10-10: LGTM! Consistent with other traits.

The changes maintain consistency with other traits in the codebase, following the same pattern of deprecation notice and attribute-style injection.

Also applies to: 16-17

src-deprecated/AuraSqlUpdateInject.php (1)

10-10: LGTM! Maintains consistent pattern.

The changes follow the same pattern as other traits, maintaining codebase consistency.

Also applies to: 16-17

src/Pagerfanta/FetchAssoc.php (1)

10-10: LGTM! Great use of modern PHP features.

The changes improve code quality by:

  • Using the readonly modifier to ensure immutability
  • Using constructor property promotion to reduce boilerplate

Also applies to: 12-12

src/Pagerfanta/AuraSqlQueryPagerFactory.php (1)

12-12: LGTM! Great use of modern PHP features.

The changes improve code quality by:

  • Using the readonly modifier to ensure immutability
  • Using constructor property promotion to reduce boilerplate
  • Updating PHPDoc to use the correct case {@inheritDoc}

Also applies to: 17-17

src/Pagerfanta/AuraSqlPagerFactory.php (2)

11-11: LGTM! Modern PHP features utilized effectively.

The constructor uses PHP 8.0's property promotion and PHP 8.1's readonly property, which helps reduce boilerplate code while ensuring immutability.


16-16: LGTM! Documentation style updated.

The docblock has been updated to use the standardized {@inheritDoc} tag.

src/AuraSqlQueryDeleteProvider.php (3)

12-12: LGTM! Improved type safety with generic type.

The class-level docblock properly specifies the generic type for ProviderInterface.


21-21: LGTM! Modern PHP features utilized effectively.

The constructor uses PHP 8.0's property promotion and PHP 8.1's readonly property, which helps reduce boilerplate code while ensuring immutability.


26-26: LGTM! Documentation style updated.

The docblock has been updated to use the standardized {@inheritDoc} tag.

src/AuraSqlQueryUpdateProvider.php (3)

12-12: LGTM! Improved type safety with generic type.

The class-level docblock properly specifies the generic type for ProviderInterface.


21-21: LGTM! Modern PHP features utilized effectively.

The constructor uses PHP 8.0's property promotion and PHP 8.1's readonly property, which helps reduce boilerplate code while ensuring immutability.


26-26: LGTM! Documentation style updated.

The docblock has been updated to use the standardized {@inheritDoc} tag.

src/AuraSqlQueryInsertProvider.php (3)

12-12: LGTM! Improved type safety with generic type.

The class-level docblock properly specifies the generic type for ProviderInterface.


21-21: LGTM! Modern PHP features utilized effectively.

The constructor uses PHP 8.0's property promotion and PHP 8.1's readonly property, which helps reduce boilerplate code while ensuring immutability.


26-26: LGTM! Documentation style updated.

The docblock has been updated to use the standardized {@inheritDoc} tag.

src/AuraSqlQuerySelectProvider.php (2)

21-21: LGTM! Constructor property promotion enhances code clarity.

The use of constructor property promotion with readonly modifier is a good practice that ensures immutability and reduces boilerplate code.


26-26: LGTM! PHPDoc update follows PSR standards.

The update from {@inheritdoc} to {@inheritDoc} follows PSR documentation standards.

src/AuraSqlBaseModule.php (2)

14-14: LGTM! Constructor property promotion enhances code clarity.

The use of constructor property promotion with readonly modifier is a good practice that ensures immutability and reduces boilerplate code.


20-20: LGTM! PHPDoc update follows PSR standards.

The update from {@inheritdoc} to {@inheritDoc} follows PSR documentation standards.

src/NamedExtendedPdoProvider.php (2)

26-26: LGTM! Constructor property promotion enhances code clarity.

The use of constructor property promotion with readonly modifier is a good practice that ensures immutability and reduces boilerplate code.


31-31: LGTM! PHPDoc update follows PSR standards.

The update from {@inheritdoc} to {@inheritDoc} follows PSR documentation standards.

src/AuraSqlMasterDbInterceptor.php (2)

16-16: LGTM! Constructor property promotion enhances code clarity.

The use of constructor property promotion with readonly modifier is a good practice that ensures immutability and reduces boilerplate code.


21-21: LGTM! PHPDoc update follows PSR standards.

The update from {@inheritdoc} to {@inheritDoc} follows PSR documentation standards.

src/AuraSqlSlaveDbInterceptor.php (2)

19-19: LGTM! Good use of constructor property promotion with readonly.

The change improves code clarity by using constructor property promotion and ensures immutability with the readonly modifier.


24-24: LGTM! Doc comment follows PSR standards.

The update from {@inheritdoc} to {@inheritDoc} follows PSR documentation standards.

src/Pagerfanta/FetchEntity.php (2)

15-15: LGTM! Good use of readonly properties and constructor property promotion.

The changes improve code clarity and ensure immutability:

  • Making $entity readonly prevents accidental modifications
  • Using constructor property promotion for $pdo reduces boilerplate

Also applies to: 17-18


31-32: LGTM! Good use of short closure syntax.

The change to use fn arrow function syntax improves readability while maintaining the same functionality.

src/Connection.php (1)

18-24: LGTM! Good use of constructor property promotion with readonly.

The changes improve code clarity and ensure immutability:

  • Using constructor property promotion reduces boilerplate
  • Making all properties readonly prevents accidental modifications
  • PHPStan annotations are preserved for type safety
tests/Pagerfanta/PdoMySqlAdapterTest.php (2)

7-8: LGTM! Good use of Override attribute.

The addition of the #[Override] attribute improves type safety by ensuring the setUp method actually overrides the parent method.

Also applies to: 13-13


17-17: LGTM! Improved readability.

The added blank line improves code readability by separating the parent call from the test setup.

src/AuraSqlQueryModule.php (2)

16-16: LGTM! Constructor property promotion enhances code clarity.

The use of constructor property promotion is a good improvement that aligns with modern PHP practices.


22-22: LGTM! Documentation style update.

The update to {@inheritDoc} follows common documentation practices.

src/AuraSqlReplicationDbProvider.php (3)

13-13: LGTM! Enhanced type safety with generic type information.

The added @implements docblock improves static analysis and type safety.


18-18: LGTM! Constructor property promotion enhances code clarity.

The use of constructor property promotion is a good improvement that aligns with modern PHP practices.


23-23: LGTM! Documentation style updates.

The updates to {@inheritDoc} follow common documentation practices.

Also applies to: 33-33

tests/Pagerfanta/AuraSqlPagerTest.php (1)

19-19: LGTM! Proper test initialization.

The pager initialization in setUp method follows testing best practices.

src/TransactionalInterceptor.php (2)

18-18: LGTM! Constructor property promotion enhances code clarity.

The use of constructor property promotion is a good improvement that aligns with modern PHP practices.


23-23: LGTM! Documentation style update.

The update to {@inheritDoc} follows common documentation practices.

tests/Pagerfanta/AuraSqlPagerFactoryTest.php (1)

7-7: LGTM! Good use of the new Override attribute.

The #[Override] attribute is correctly applied to the setUp method, which helps catch inheritance errors at compile time. This is a good practice introduced in PHP 8.4.

Also applies to: 15-19

src/AuraSqlConnectionInterceptor.php (2)

20-26: LGTM! Good use of constructor property promotion and readonly properties.

The changes improve code quality by:

  • Using constructor property promotion to reduce boilerplate
  • Making properties readonly to enforce immutability
  • Correctly documenting types with PHPStan annotations

30-30: LGTM! Consistent use of inheritDoc tag.

The update to use {@inheritDoc} maintains consistency with modern PHP documentation standards.

src/Pagerfanta/Page.php (3)

11-11: LGTM! Good implementation of the Stringable interface.

The class now correctly implements Stringable, which provides better type safety when the object is used in string contexts.

Also applies to: 13-14


42-47: LGTM! Good use of constructor property promotion and readonly properties.

The changes improve code quality by:

  • Using constructor property promotion to reduce boilerplate
  • Making properties readonly to enforce immutability
  • Correctly documenting types with PHPDoc annotations

57-57: LGTM! Good coding style improvements.

The changes enhance code quality through:

  • Adding trailing comma for better version control
  • Consistent use of {@inheritDoc} tag

Also applies to: 62-62

tests/AuraSqlQueryModuleTest.php (1)

27-27: LGTM! Improved code readability.

The added line break after parent::setUp() improves code readability by separating the parent call from the test-specific setup.

src/EnvConnection.php (2)

25-32: LGTM! Good use of PHP 8.1+ features.

The conversion to readonly properties with constructor property promotion improves immutability and reduces boilerplate code. This is particularly appropriate for connection parameters that shouldn't change after initialization.


48-48: LGTM! Consistent trailing comma style.

The addition of a trailing comma in the array argument improves maintainability and git diff clarity.

src/Pagerfanta/AuraSqlQueryAdapter.php (2)

22-22: LGTM! Good use of readonly properties and constructor property promotion.

The conversion to readonly properties is appropriate for these dependencies that shouldn't change after initialization.

Also applies to: 27-28


67-67: Verify the removal of array type assertion.

The assertion for the fetchAll result type has been removed. While this might be safe due to PDO's type guarantees, please verify that this doesn't affect type safety in PHP 8.4.

✅ Verification successful

Removal of array type assertion appears safe in PHP 8.4.

  • The code no longer asserts that the result of fetchAll(PDO::FETCH_ASSOC) is an array.
  • As PDO guarantees that fetchAll(PDO::FETCH_ASSOC) returns an array (empty if no rows), the removal does not compromise type safety in PHP 8.4.
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if aura/sql 6.0 maintains the same return type guarantees for fetchAll
ast-grep --pattern 'class ExtendedPdo {
  $$$
  public function fetchAll($$$) {
    $$$
  }
  $$$
}'

Length of output: 102


Script:

#!/bin/bash
echo "=== Extracting context from src/Pagerfanta/AuraSqlQueryAdapter.php (lines 60-75) ==="
sed -n '60,75p' src/Pagerfanta/AuraSqlQueryAdapter.php

echo ""
echo "=== Searching for any remaining type assertions (using assert with is_array) in src/Pagerfanta/AuraSqlQueryAdapter.php ==="
rg "assert\s*\(.*is_array" -n src/Pagerfanta/AuraSqlQueryAdapter.php

Length of output: 1061

tests/Pagerfanta/AuraSqlQueryPagerTest.php (1)

7-7: LGTM! Good use of Override attribute.

The addition of the Override attribute improves code clarity and helps catch potential inheritance issues.

Also applies to: 16-20

src/NamedPdoEnvModule.php (2)

24-30: LGTM! Good use of PHP 8.1+ features.

The conversion to readonly properties with constructor property promotion improves immutability and reduces boilerplate code.


52-52: LGTM! Consistent trailing comma style.

The addition of trailing commas in method calls improves maintainability and git diff clarity.

Also applies to: 57-57, 69-69

tests/NamedPdoModuleTest.php (1)

62-62: LGTM! Modern PHP syntax improvement.

The change from get_class($pdo) to $pdo::class aligns with modern PHP practices and improves code readability.

src/AuraSqlModule.php (2)

25-30: LGTM! Improved property handling with PHP 8.4 features.

The conversion to readonly properties with constructor property promotion enhances code maintainability and immutability.


54-54: LGTM! Constructor binding is correctly updated.

The constructor parameter binding matches the new property names, ensuring proper dependency injection.

tests/AuraSqlReplicationModuleTest.php (1)

17-18: LGTM! Improved data provider implementation.

Making the data provider static aligns with PHPUnit best practices and improves test performance.

tests/Pagerfanta/ExtendedPdoAdapterTest.php (2)

16-16: LGTM! Added Override attribute for better type safety.

The #[Override] attribute improves code clarity and helps catch inheritance-related issues at compile time.


67-68: LGTM! Improved data provider implementation.

Making the data provider static aligns with PHPUnit best practices and improves test performance.

tests/AuraSqlModuleTest.php (1)

76-76: LGTM! Good improvement using ::class.

The change from get_class($pdo) to $pdo::class is a better approach as it's compile-time checked and provides better static analysis support.

src/AuraSqlLocatorModule.php (2)

24-28: LGTM! Excellent use of PHP 8.x features.

Good improvements:

  • Using constructor property promotion
  • Adding readonly properties for immutability
  • Maintaining PHPDoc for better type safety

61-61: LGTM! Added trailing commas in arrays.

Adding trailing commas in arrays is a good practice as it results in cleaner git diffs when adding new items.

Also applies to: 67-67, 86-86

src/Pagerfanta/AuraSqlQueryPager.php (2)

19-19: LGTM! Added proper ArrayAccess template type.

Good addition of the template type for ArrayAccess implementation, improving type safety.


31-36: LGTM! Improved type safety and constructor.

Good improvements:

  • More precise array type definition with array<string, mixed>
  • Using constructor property promotion with readonly properties
src/Pagerfanta/AuraSqlPager.php (2)

19-19: LGTM! Added template type for better generics support.

Good addition of the template type T, improving type safety and generic support.


110-119: LGTM! Improved type safety in getPdoAdapter.

Good improvements:

  • Explicit return type for ExtendedPdoAdapter
  • Added type assertion for adapter variable
  • Clear type documentation
tests/Pagerfanta/AuraSqlQueryAdapterTest.php (1)

104-104: LGTM! Enhanced type safety with void return type.

The explicit void return type clarifies that the function doesn't return any value, improving code readability and type safety.

src/Pagerfanta/ExtendedPdoAdapter.php (2)

29-34: LGTM! Improved property declarations with readonly and constructor promotion.

The use of readonly properties and constructor property promotion simplifies the code while maintaining immutability.


137-140: LGTM! Enhanced type safety with array assertions.

Added runtime type checks for preg_split() results, improving code reliability.

.github/workflows/coding-standards.yml (1)

12-12: Verify PHP 8.4 compatibility and stability.

Please ensure that PHP 8.4 is stable and compatible with all dependencies before merging.

Run this script to check PHP 8.4 compatibility:

.github/workflows/static-analysis.yml (1)

12-12: Ensure consistent PHP version across all workflows.

The PHP version update to 8.4 is consistent with other workflow files.

vendor-bin/tools/composer.json (3)

3-3: Updated doctrine/coding-standard version.
The dependency "doctrine/coding-standard": "^12.0" has been updated to the new major version. Please ensure that any custom rules or integrations work seamlessly with version 12.0.

🧰 Tools
🪛 GitHub Actions: Static Analysis

[error] Dependency resolution error: The root composer.json requires maglnet/composer-require-checker, but none of its available versions support the current PHP version (8.4.3). Several constraints (e.g., ~7.0, ~7.1, ^7.1, ^7.2, ~8.2.0, ~8.3.0) and conflicts regarding nikic/php-parser have been detected.


5-5: PHPStan dependency upgraded.
The PHPStan requirement is now set to "^2.1". Verify that the configuration and any custom extensions still work as expected with the new version.

🧰 Tools
🪛 GitHub Actions: Static Analysis

[error] Dependency resolution error: The root composer.json requires maglnet/composer-require-checker, but none of its available versions support the current PHP version (8.4.3). Several constraints (e.g., ~7.0, ~7.1, ^7.1, ^7.2, ~8.2.0, ~8.3.0) and conflicts regarding nikic/php-parser have been detected.


7-7: Vimeo Psalm dependency updated.
The dependency "vimeo/psalm": "^6.1" now reflects the updated version. It’s advisable to re-run your static analysis to catch any incompatibilities introduced by the new Psalm version.

🧰 Tools
🪛 GitHub Actions: Static Analysis

[error] Dependency resolution error: The root composer.json requires maglnet/composer-require-checker, but none of its available versions support the current PHP version (8.4.3). Several constraints (e.g., ~7.0, ~7.1, ^7.1, ^7.2, ~8.2.0, ~8.3.0) and conflicts regarding nikic/php-parser have been detected.

src/AuraSqlEnvModule.php (1)

31-33: Updated usage in configure() method.
The configure() method now utilizes the promoted properties ($this->dsn, $this->username, etc.) directly. Ensure that dependent modules such as NamedPdoEnvModule and AuraSqlBaseModule expect these new parameters.

src/AuraSqlMasterModule.php (2)

19-25: Streamlined constructor with property promotion.
Moving from separate property declarations to constructor property promotion (with private readonly modifiers) simplifies state initialization. This change promotes immutability and improves code clarity.


38-38: Verify binding string parameters.
The binding for ExtendedPdo::class uses a mapping string for parameters (e.g., dsn=pdo_dsn,username=pdo_user,...). Confirm that these mappings coincide with the constructor signature of ExtendedPdo and that there are no mismatches in parameter names.

src/AuraSqlReplicationModule.php (1)

55-55: Trailing comma in interceptor binding for WriteConnection.
Similarly, the trailing comma in [AuraSqlMasterDbInterceptor::class], is acceptable. Just ensure consistency across the codebase.

src/ConnectionLocatorFactory.php (1)

15-15: Docblock Formatting Update:
The single-line @codeCoverageIgnore annotation on the private constructor improves clarity and adheres to a modern formatting style. No functionality is affected.

tests/AuraSqlProfileModuleTest.php (2)

45-45: Anonymous Logger Formatting:
The repositioning of the closing brace for the anonymous logger class (extending AbstractLogger) is a stylistic improvement that enhances readability without impacting functionality.


Line range hint 55-60: Test Case Log Count Verification:
The testLog method asserts that exactly 4 log entries are recorded after executing a series of SQL commands. Please verify that this hard-coded expectation will remain valid if the underlying logging behavior changes in future revisions.

composer.json (3)

11-11: PHP Version Constraint Upgrade:
Updating the PHP requirement to "^8.4" is consistent with the dependency update for aura/sql version 6.0. Ensure that this change is intentional and that all target environments have PHP 8.4 available.

🧰 Tools
🪛 GitHub Actions: Static Analysis

[error] Dependency resolution error: The root composer.json requires maglnet/composer-require-checker, but none of its available versions support the current PHP version (8.4.3). Several constraints (e.g., ~7.0, ~7.1, ^7.1, ^7.2, ~8.2.0, ~8.3.0) and conflicts regarding nikic/php-parser have been detected.


15-21: Aura SQL Library Dependencies Update:
Requiring "aura/sql": "^6.0" and "aura/sqlquery": "^3.0" modernizes the module’s dependencies. Please double-check that your codebase is fully compatible with these major versions, as they might introduce API changes relative to older releases.

🧰 Tools
🪛 GitHub Actions: Static Analysis

[error] Dependency resolution error: The root composer.json requires maglnet/composer-require-checker, but none of its available versions support the current PHP version (8.4.3). Several constraints (e.g., ~7.0, ~7.1, ^7.1, ^7.2, ~8.2.0, ~8.3.0) and conflicts regarding nikic/php-parser have been detected.


24-25: ⚠️ Potential issue

Development Dependency Update & CI Cleanup:
Upgrading "phpunit/phpunit" to "^11.5.6" is appropriate for PHP 8.4. Additionally, the removal of maglnet/composer-require-checker should resolve previous compatibility issues; however, confirm that no CI configurations or lockfiles still reference it, as indicated by the pipeline error.

🧰 Tools
🪛 GitHub Actions: Static Analysis

[error] Dependency resolution error: The root composer.json requires maglnet/composer-require-checker, but none of its available versions support the current PHP version (8.4.3). Several constraints (e.g., ~7.0, ~7.1, ^7.1, ^7.2, ~8.2.0, ~8.3.0) and conflicts regarding nikic/php-parser have been detected.

Upgraded several dependencies to newer versions for better compatibility and performance. Removed the `symfony/polyfill-php81` dependency as it is no longer needed. Adjusted `rize/uri-template` to require only `^0.4`.
The `.scrutinizer.yml` file was deleted as it is no longer needed. This change removes unused configurations related to static analysis tools, simplifying the project setup.
@koriym koriym changed the title Add support for aura/sql 6.0 and PHP 8.4 Add support for aura/sql 6.0 and PHP 8.4 and drop PHP <8.4 support Feb 1, 2025
@koriym koriym merged commit 16d3ab7 into 1.x Feb 1, 2025
10 of 11 checks passed
@koriym koriym deleted the php8.4 branch February 1, 2025 04:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant