ephraimduncan
5e1d85bc33
fix(ui): add accessible selected-count label to bulk action bar
2026-07-02 12:01:27 +00:00
ephraimduncan
1102e833cc
Merge remote-tracking branch 'origin/main' into pr-2711
...
# Conflicts:
# apps/remix/app/components/tables/envelopes-table-bulk-action-bar.tsx
# apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents._index.tsx
# packages/app-tests/e2e/documents/bulk-document-actions.spec.ts
2026-07-02 06:48:23 +00:00
Lucas Smith
337f85f021
chore: upgrade libpdf ( #3058 )
2026-07-02 15:09:07 +10:00
github-actions[bot]
2332b0316b
chore: extract translations ( #3013 )
2026-07-02 14:58:56 +10:00
David Nguyen
393b51d484
fix: add sticky form update button ( #3056 )
2026-07-02 14:52:28 +10:00
Arun Kumar
5a8335e0eb
fix: webhook payload contains stale deletedAt on document cancellation ( #2980 )
2026-07-01 17:19:21 +10:00
Kendry Grullon
562d78e2d7
feat: add granular signin disable flags and OIDC auto-redirect ( #2857 )
2026-06-30 16:08:09 +10:00
Grégory Chevalier
3b110cf70d
fix: french translation for confirmation message ( #3050 )
2026-06-30 15:52:59 +10:00
David Nguyen
7062fadf0b
fix: add additional team group permission checks ( #3052 )
2026-06-30 15:45:48 +10:00
Martin Glaser
9cdd2e7ff9
fix(email): render Preview inside Body across all email templates ( #3004 )
2026-06-29 16:07:43 +10:00
David Nguyen
a70b0702c3
fix: add missing teams branding guard ( #3049 )
2026-06-29 14:50:35 +10:00
David Nguyen
1f170ef5e5
fix: scope organisation group deletion ( #3047 )
2026-06-29 14:11:31 +10:00
Lucas Smith
8f68393241
fix: tighten permission and validation checks ( #3046 )
2026-06-29 13:15:13 +10:00
Lucas Smith
381293af0c
fix: invite email placeholder ( #3045 )
...
- **fix: interpolate inviterEmail in invite email mailto link**
- **fix: add alt attributes to email template images**
2026-06-28 22:01:20 +10:00
David Nguyen
97835b8dbb
feat: add field multiselect ( #3031 )
2026-06-28 15:08:11 +10:00
David Nguyen
977d07330b
fix: auto select field on drop ( #3028 )
2026-06-28 15:07:33 +10:00
Lucas Smith
037170f625
v2.14.0
v2.14.0
2026-06-28 12:38:38 +10:00
Lucas Smith
c219305eb1
chore: add tests for cert and audit log download via api ( #3043 )
2026-06-27 19:54:14 +10:00
David Nguyen
96ab78c33f
fix: resolve permission issues ( #3029 )
2026-06-26 14:46:30 +10:00
Lucas Smith
241929bb97
feat: add API endpoints for downloading certificate and audit log PDFs ( #3025 )
...
Add V2 API routes to download an envelope's certificate and audit log
separately, and align the internal cert/audit log downloads to use
envelopeId.
Enforces document visibility via getEnvelopeWhereInput and loads field
signatures so certificates render correctly.
2026-06-26 00:01:55 +10:00
Lucas Smith
94adea149d
chore: general repo maintenance and docs cleanup ( #3030 )
...
Refresh README/docs for the current stack, add a security policy,
note the external-PR pause, and remove dead config and workflows.
2026-06-25 23:59:25 +10:00
David Nguyen
9c5eb43a26
fix: migrate emails to jobs ( #3024 )
2026-06-25 13:57:17 +10:00
Konrad
e0ef11e8c3
chore(i18n): update Polish translation ( #3020 )
2026-06-25 13:24:40 +10:00
Lucas Smith
187b612568
chore: add translations ( #3012 )
2026-06-23 15:12:23 +10:00
Lucas Smith
b37529a1cf
fix: show warning on overlapping fields ( #3017 )
2026-06-23 15:11:57 +10:00
Lucas Smith
04f6e76178
feat: cap automated reminders before resend ( #3016 )
...
Stop sending automated reminders after a configurable threshold
(default 5) and reset the count on manual resend.
2026-06-23 15:11:52 +10:00
Lucas Smith
f2525ae95b
feat: add API endpoint to reject documents on behalf of recipients ( #3007 )
...
Programmatically record an external rejection on behalf of a recipient
who declined outside the platform. Flags the rejection as external in
the audit log, optionally attributes it to a specific team member via
actAsEmail, and enforces team membership and document visibility.
2026-06-22 21:59:07 +10:00
David Nguyen
2f24a8eab2
fix: set send status on resend ( #3011 )
2026-06-22 17:00:24 +10:00
David Nguyen
d9b7722325
fix: correctly use default distribute envelope tab ( #3010 )
2026-06-22 16:27:50 +10:00
github-actions[bot]
783123f72b
chore: extract translations ( #2987 )
2026-06-22 16:06:57 +10:00
Lucas Smith
e8ed1c3d99
fix: respect branding enabled for recipient routes ( #3009 )
2026-06-22 16:06:06 +10:00
David Nguyen
c23d739f76
feat: allow additional envelope duplicate settings ( #3008 )
2026-06-22 14:41:38 +10:00
Lucas Smith
0bf58ca66e
feat: add custom brand colours to emails ( #3005 )
2026-06-22 14:33:34 +10:00
David Nguyen
dee3259088
fix: remove old dialogs ( #3006 )
2026-06-22 14:17:22 +10:00
Nandini Dhanrale
6ad1a2dfaf
fix: signing request email renders blank when organisation/team branding is enabled ( #2968 )
2026-06-22 14:15:12 +10:00
Abdelrahman Abdelhamed
306e7fe5ed
fix: render unicode characters in typed signatures ( #2728 )
2026-06-22 13:40:56 +10:00
Yash Singh
219db32fdf
fix: only send S3 checksums when required to support S3-compatible storage ( #2984 )
2026-06-22 13:35:37 +10:00
David Nguyen
948d1bbf12
fix: improve team member removal ux ( #3001 )
2026-06-22 12:16:55 +10:00
Lucas Smith
40d20ad068
v2.13.0
v2.13.0
2026-06-18 16:03:26 +10:00
Lucas Smith
a99bdf5e20
fix: include envelopeId in webhook payload ( #2998 )
2026-06-18 14:32:15 +10:00
Lucas Smith
4f346d3c2d
feat: add cancellable document status ( #2992 )
...
Adds a CANCELLED envelope status that privileged members (owner or team
admin/manager) can move a pending document into. Sending recipient
notifications via a background job while retaining the document in the
dashboard as proof of distribution.
Includes a dedicated Cancelled tab, single and bulk cancel actions,
the ENVELOPE_CANCELLED mutability guard, and e2e coverage for
permissions
and visibility.
2026-06-18 13:52:35 +10:00
Lucas Smith
d5ce222482
feat: add CSC AES/QES signing (v1 instance-wide config) ( #2874 )
...
Adds Cloud Signature Consortium (CSC) integration for AES/QES signing
against a configured TSP. v1 ships as instance-wide configuration via
environment variables, with per-envelope signature level selection,
license gating, and an OAuth-driven signing flow (capture + FIFO
signers, SAD session, blocking/in-progress recipient pages).
Includes signature level compatibility checks (role, signing order,
dictate next signer), envelope mutability assertions, Prisma migration
for signature level and CSC tables, and docs for the new signing
certificate options.
2026-06-16 23:37:34 +10:00
Lucas Smith
9b59f1a273
v2.12.0
v2.12.0
2026-06-16 11:00:17 +10:00
David Nguyen
15549a6758
fix: add early quota warning ( #2986 )
...
## Description
- Add banners when plans near fair use limits
- Automated email alerts to our support when nearing fair use limits
2026-06-15 16:02:18 +10:00
Lucas Smith
eb45d1e5a9
fix: reconcile billing when stripe subscription is missing ( #2988 )
...
Catch resource_missing in the subscription route, return null so the
billing page still loads, and fire a sync to converge the stale row.
2026-06-15 15:58:40 +10:00
Lucas Smith
0aa84cecc8
chore: add translations ( #2975 )
2026-06-15 14:29:42 +10:00
Lucas Smith
702e747375
fix: use correct property for embed edit editor config ( #2985 )
2026-06-15 14:29:13 +10:00
Lucas Smith
3887aa67c8
fix: rework stripe webhooks into idempotent subscription sync ( #2977 )
...
Replace per-event webhook handlers with a single sync function that
fetches the current state from Stripe and converges the local
subscription, claim, and organisation type.
- Create organisations upfront before checkout, restricted as
"pending payment" until the first payment syncs
- Add rate-limited subscription sync route, triggered on checkout
success so the UI doesn't wait on webhooks
- Surface pending payment state in banner, billing table, and limits
2026-06-12 16:01:03 +10:00
Konrad
b84b87cea6
fix(i18n): add space between tag and text ( #2972 )
2026-06-11 10:31:19 +10:00
David Nguyen
ac0a0086d6
chore: update verify email docs ( #2970 )
2026-06-10 13:09:53 +10:00