v2.12.0

docling-project/doclingv2.12.0Jun 16, 2026by Mythie

AI Summary

A comprehensive update introducing Azure Blob storage, Stripe sync, admin statistics, advanced email handling (rate limiting, blocking disposable emails), and UI improvements for document signing.

Key Highlights

  • Native Azure Blob storage transport
  • Stripe sync functionality
  • Admin organization stats and creation features
  • Advanced email handling including blocking disposable emails

New Features

  • Azure Blob storage transport
  • Stripe sync
  • Admin organization creation and stats
  • Disposable email blocking and admin-configurable email blocklist
  • Dynamic rate limits and monthly usage tracking
  • Multi-email transport system
  • Field type changing capabilities
  • Enhanced document signing page with field canvas style
  • Email reporting and header metadata

Full Release Notes

## What's Changed
* fix: convert DOCX template uploads to PDF by @ephraimduncan in https://github.com/documenso/documenso/pull/2807
* docs: remove leftover Next.js commands and update to Remix-compatible syntax by @mirtafon in https://github.com/documenso/documenso/pull/2695
* chore: update docs for self hosters by @dguyen in https://github.com/documenso/documenso/pull/2816
* docs: require English for PRs and issues by @ephraimduncan in https://github.com/documenso/documenso/pull/2819
* fix: improve api logging by @dguyen in https://github.com/documenso/documenso/pull/2820
* chore: deps upgrade by @Mythie in https://github.com/documenso/documenso/pull/2831
* refactor(ui): replace hardcoded colors with semantic tokens by @ephraimduncan in https://github.com/documenso/documenso/pull/2749
* fix: use captcha imperatively by @Mythie in https://github.com/documenso/documenso/pull/2832
* chore: add translations by @Mythie in https://github.com/documenso/documenso/pull/2833
* feat: add admin organisation creation with user by @ephraimduncan in https://github.com/documenso/documenso/pull/2082
* fix(docs): correct API example URLs from /documents to /document by @roshboi in https://github.com/documenso/documenso/pull/2836
* chore: updated certification status by @roshboi in https://github.com/documenso/documenso/pull/2850
* fix: correct reversed comparison in admin organisations table pagination by @Abzaek in https://github.com/documenso/documenso/pull/2842
* fix: remove duplicate loadingSpinnerGroup.destroy() in DROPDOWN sign by @Abzaek in https://github.com/documenso/documenso/pull/2841
* fix: move document complete email to a job by @dguyen in https://github.com/documenso/documenso/pull/2835
* fix: handleInitialsFieldClick now returns initialsToInsert instead of initials by @Abzaek in https://github.com/documenso/documenso/pull/2838
* fix: prevent crash when removing last dropdown option in removeValue by @Abzaek in https://github.com/documenso/documenso/pull/2843
* chore: extract translations by @github-actions[bot] in https://github.com/documenso/documenso/pull/2806
* fix: always show captcha by @Mythie in https://github.com/documenso/documenso/pull/2860
* fix: prevent React state mutation by spreading envelope.recipients before sort by @Abzaek in https://github.com/documenso/documenso/pull/2839
* fix: prevent prop array mutation by spreading allRecipients before sort by @Abzaek in https://github.com/documenso/documenso/pull/2840
* fix(prisma): stop large-team-seed running on import by @ephraimduncan in https://github.com/documenso/documenso/pull/2852
* fix: prevent division by zero in progress bar when requiredRecipientFields is empty by @durgeshhhhhhh in https://github.com/documenso/documenso/pull/2855
* docs: implement global error handling and troubleshooting matrix by @redouanegrib in https://github.com/documenso/documenso/pull/2784
* fix(web): handle duplicate organization URL update errors gracefully by @anish1204 in https://github.com/documenso/documenso/pull/2808
* fix: add missing doc page ref by @dguyen in https://github.com/documenso/documenso/pull/2865
* fix: add constraint on name schema by @dguyen in https://github.com/documenso/documenso/pull/2866
* chore: add translations by @Mythie in https://github.com/documenso/documenso/pull/2854
* fix: email dictated direct template signer by @zahedshareef in https://github.com/documenso/documenso/pull/2810
* fix(docs): correct broken internal docs links by @nikhil-shukl in https://github.com/documenso/documenso/pull/2869
* feat(storage): add native Azure Blob transport by @kengru-digito in https://github.com/documenso/documenso/pull/2871
* fix: add temp email rate limit by @dguyen in https://github.com/documenso/documenso/pull/2879
* feat: block disposable email signups by @Mythie in https://github.com/documenso/documenso/pull/2883
* chore: disabled account enforcement by @Mythie in https://github.com/documenso/documenso/pull/2882
* feat: admin-configurable email blocklist by @Mythie in https://github.com/documenso/documenso/pull/2884
* fix: add dynamic rate limits by @dguyen in https://github.com/documenso/documenso/pull/2892
* fix: track monthly usage for unlimited quotas by @dguyen in https://github.com/documenso/documenso/pull/2894
* feat: add admin org stats by @dguyen in https://github.com/documenso/documenso/pull/2904
* chore: add translations by @Mythie in https://github.com/documenso/documenso/pull/2885
* feat: add stripe sync by @dguyen in https://github.com/documenso/documenso/pull/2877
* fix: improve field signing by @dguyen in https://github.com/documenso/documenso/pull/2830
* fix: correctly log cc emails by @dguyen in https://github.com/documenso/documenso/pull/2913
* fix: filter ccers from delete email by @dguyen in https://github.com/documenso/documenso/pull/2914
* fix: prevent sending emails for free organisation claims by @roshboi in https://github.com/documenso/documenso/pull/2917
* chore: extract translations by @github-actions[bot] in https://github.com/documenso/documenso/pull/2867
* fix(ui): direct signing templates window layout by @mKoonrad in https://github.com/documenso/documenso/pull/2909
* fix(i18n): mark Bio string for translation by @mKoonrad in https://github.com/documenso/documenso/pull/2910
* fix: add email reporting by @dguyen in https://github.com/documenso/documenso/pull/2918
* chore: extract translations by @github-actions[bot] in https://github.com/documenso/documenso/pull/2919
* fix: add org insight document complete stat by @dguyen in https://github.com/documenso/documenso/pull/2920
* chore: add translations by @Mythie in https://github.com/documenso/documenso/pull/2922
* fix: update org stats table ui by @dguyen in https://github.com/documenso/documenso/pull/2924
* docs(embedding): document iframe URL fragment options by @catalinpit in https://github.com/documenso/documenso/pull/2915
* feat: add header metadata to emails by @dguyen in https://github.com/documenso/documenso/pull/2927
* fix: add email disable flag by @dguyen in https://github.com/documenso/documenso/pull/2931
* fix: add multi email transport system by @dguyen in https://github.com/documenso/documenso/pull/2942
* chore(i18n): fix typo in Polish translation by @mKoonrad in https://github.com/documenso/documenso/pull/2948
* docs: add registration form screenshot to create account page by @Arunkoo in https://github.com/documenso/documenso/pull/2908
* fix: update link-only notification settings by @ephraimduncan in https://github.com/documenso/documenso/pull/2821
* fix: update new quota and rates UX by @dguyen in https://github.com/documenso/documenso/pull/2954
* docs: clarify email verification instructions for free and paid plans by @roshboi in https://github.com/documenso/documenso/pull/2959
* fix(auth): guard missing password reset token and fix broken reset link URL by @Arunkoo in https://github.com/documenso/documenso/pull/2928
* fix: point Railway deploy button at the working template URL by @ephraimduncan in https://github.com/documenso/documenso/pull/2962
* fix: ensures new expire on setSessionCookie by @claytonchew in https://github.com/documenso/documenso/pull/2708
* fix: mark rejected documents as unread for inbox by @novoice-rana in https://github.com/documenso/documenso/pull/2893
* chore: update docs trusted emails by @dguyen in https://github.com/documenso/documenso/pull/2964
* chore: extract translations by @github-actions[bot] in https://github.com/documenso/documenso/pull/2923
* feat: allow changing field types by @dguyen in https://github.com/documenso/documenso/pull/2873
* fix: load typed signature font on profile page by @Romone6 in https://github.com/documenso/documenso/pull/2963
* feat: enhance document signing page with field canvas style integration by @catalinpit in https://github.com/documenso/documenso/pull/2876
* fix: correctly strip background job values by @dguyen in https://github.com/documenso/documenso/pull/2965
* chore: add translations by @Mythie in https://github.com/documenso/documenso/pull/2929
* fix: link signing brand logos by @ephraimduncan in https://github.com/documenso/documenso/pull/2881
* fix: correctly orphan envelopes and stripe cancel on delete by @dguyen in https://github.com/documenso/documenso/pull/2967
* chore: update verify email docs by @dguyen in https://github.com/documenso/documenso/pull/2970
* fix(i18n): add space between tag and text by @mKoonrad in https://github.com/documenso/documenso/pull/2972
* fix: rework stripe webhooks into idempotent subscription sync by @Mythie in https://github.com/documenso/documenso/pull/2977
* fix: use correct property for embed edit editor config by @Mythie in https://github.com/documenso/documenso/pull/2985
* chore: add translations by @Mythie in https://github.com/documenso/documenso/pull/2975
* fix: reconcile billing when stripe subscription is missing by @Mythie in https://github.com/documenso/documenso/pull/2988
* fix: add early quota warning by @dguyen in https://github.com/documenso/documenso/pull/2986

## New Contributors
* @mirtafon made their first contribution in https://github.com/documenso/documenso/pull/2695
* @roshboi made their first contribution in https://github.com/documenso/documenso/pull/2836
* @Abzaek made their first contribution in https://github.com/documenso/documenso/pull/2842
* @durgeshhhhhhh made their first contribution in https://github.com/documenso/documenso/pull/2855
* @redouanegrib made their first contribution in https://github.com/documenso/documenso/pull/2784
* @zahedshareef made their first contribution in https://github.com/documenso/documenso/pull/2810
* @nikhil-shukl made their first contribution in https://github.com/documenso/documenso/pull/2869
* @kengru-digito made their first contribution in https://github.com/documenso/documenso/pull/2871
* @Arunkoo made their first contribution in https://github.com/documenso/documenso/pull/2908
* @claytonchew made their first contribution in https://github.com/documenso/documenso/pull/2708
* @novoice-rana made their first contribution in https://github.com/documenso/documenso/pull/2893
* @Romone6 made their first contribution in https://github.com/documenso/documenso/pull/2963

**Full Changelog**: https://github.com/documenso/documenso/compare/v2.11.0...v2.12.0