Skip to content

feat(api)!: add missing actions before the beta - #76

Merged
justpilot merged 1 commit into
4.xfrom
feat/missing-actions
Oct 26, 2026
Merged

justpilot merged 1 commit into
4.xfrom
feat/missing-actions

Conversation

@justpilot

Copy link
Copy Markdown
Owner

Second part of the API pass before 4.0.0-beta.1: the endpoint gaps that fit into existing classes.

Changes

  • mail() (Pixelletter) on offers, confirmations, credit notes, delivery notes, letters and reminders (spec: same fields as invoices). InvoiceMailOptions is renamed to MailOptions; the Rector upgrade set renames it, with a fixture.
  • recurrings->stop() (PUT /recurrings/{id}/stop). Verified against the sandbox: nextCreationDate becomes null. The earlier "Content-Type header missing" 400 does not happen, since putVoid() always sends a JSON body.
  • recurrings->emailReceivers->update() with the generated RecurringEmailReceiverUpdateOptions (get()/getOrFail() already came from the base class).
  • contacts->avatar(), users->avatar(), same as clients->avatar().
  • Docs for all seven document pages, recurrings, contacts, users; CHANGELOG; UPGRADE-4.0.

Deferred to 4.1 (additive): write access for units, roles, free texts, email templates, reminder texts and country taxes; incoming items and incomings->pdf(); clients/{id}/customfield, invoices/preset, countries/currencies->get().

Test plan

  • composer test (3,697), PHPStan, lint, Rector dry-run, generate:check, Infection on changed lines (100 %), docs build
  • Sandbox: canStopRecurringInSandbox (new), email receiver update, contact avatar, user avatar

- mail() (Pixelletter) on offers, confirmations, credit notes, delivery notes,
  letters and reminders; InvoiceMailOptions is MailOptions (Rector renames it)
- recurrings->stop()
- recurrings->emailReceivers->update() with RecurringEmailReceiverUpdateOptions
- contacts->avatar() and users->avatar()
@justpilot
justpilot merged commit 67a3603 into 4.x Oct 26, 2026
8 of 9 checks passed
@justpilot
justpilot deleted the feat/missing-actions branch October 26, 2026 15:46
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