Skip to content

API 3.1#340

Merged
hyperized merged 30 commits intomasterfrom
fix/review-improvements
Apr 11, 2026
Merged

API 3.1#340
hyperized merged 30 commits intomasterfrom
fix/review-improvements

Conversation

@hyperized
Copy link
Copy Markdown
Owner

No description provided.

API action name fixes (verified against hostfact.nl/developer/api):
- CanResendApproverEmail: resendapproveremail -> resendapprovermail
- CanPaymentProcessPause: payment_process_pause -> paymentprocesspause
- CanPaymentProcessReactivate: payment_process_reactivate -> paymentprocessreactivate
- CanAddAttachment/CanDeleteAttachment/CanDownloadAttachment: use controller=attachment with action=add/delete/download
- CanAddLine/CanDeleteLine: use controller={name}line with action=add/delete
- Hosting: new CanEmailAccountInfo trait sending sendaccountinfobyemail (was incorrectly sharing VPS trait sending sendaccountdatabyemail)
- Api.php: store exception message string instead of non-serializable exception object in error array
- LICENSE: fix copyright year typo (2105 -> 2015)
- Remove psalm (no modern PHP support): config, dependency, and script references
Drop EOL PHP 8.1, require ^8.2. Test matrix now covers 8.2, 8.3, 8.4, 8.5
per php.net/supported-versions.
Production:
- hyperized/value-objects: ^0.3.0 -> ^1.0.0 (update ByteArrayInterface namespace)
- thecodingmachine/safe: ^2.4 -> ^3.4

Dev:
- phpunit/phpunit: ^9.5 -> ^13.0 (update phpunit.xml.dist to v13 schema)
- orchestra/testbench: ^7.15||^8.0 -> ^11.0
- phpstan/phpstan: ^1.9 -> ^2.0
- infection/infection: ^0.26.16||^0.27.0 -> ^0.32
- actions/checkout: v1 -> v4
- Remove deprecated --no-suggest flag and unnecessary composer self-update step
- Add github-actions ecosystem to dependabot for automatic action updates
- Use local PHPUnit XSD schema reference for infection compatibility
The delete_head_branch action is deprecated by Mergify (deadline: 2026-07-31).
Use GitHub's native 'Automatically delete head branches' setting instead.
Supersedes #339.
18 enums: Sex, Periodic, ProductType, InvoiceMethod, VatCalcMethod,
DiscountPercentageType, GroupType, TicketType, TicketPriority,
InvoiceStatus, InvoiceSubStatus, OrderStatus, PriceQuoteStatus,
DomainStatus, HostingStatus, SslStatus, VpsStatus, TicketStatus.
DataBag gains nullableBool() (yes/no/1/0/true/false) and
nullableDateTime() methods. Entity base class gains nullableEnum()
using ReflectionEnum for int/string backing detection.
Identifiers become ?int, dates become ?DateTimeImmutable, booleans
become ?bool, finite value sets become enums. Prices stay ?string
for bcmath precision. Update test assertions to match.
@hyperized hyperized self-assigned this Apr 11, 2026
PHPCBF is a fixer, not a validator — it returns exit code 1 when it
fixes code, causing CI failures. PHPCS already validates style.
Bump phpcs minimum to 3.8 for readonly class support.
@hyperized hyperized merged commit 060df76 into master Apr 11, 2026
8 checks passed
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