Changelog
Zde najdete změny, které ovlivňují veřejné API nebo SDK. Balíčky SDK dodržují sémantické verzování; jejich podrobné changelogy se zveřejňují s každým vydáním na npm.
Nevydáno – veřejná beta
Sekce “Nevydáno – veřejná beta”Bezpečnostní zpřísnění: okraj veřejného API a klíče (září 2026)
Sekce “Bezpečnostní zpřísnění: okraj veřejného API a klíče (září 2026)”Změny chování – zkontrolujte prosím svou integraci:
- Požadavky bez
OriginiReferer(servery, curl, nativní aplikace) s public key teď potřebují Povolit mobilní aplikace – i když máte seznam povolených webů prázdný. Dřív je prázdný seznam přijímal. Organizacím, které takové požadavky za posledních 30 dní posílaly, jsme přepínač zapnuli automaticky. Jinak:403 origin_not_allowed(details.reason: "no_origin"). Na serveru použijte private key. - Private key z prohlížeče odmítáme: požadavek s private key (
Authorization: Bearernebo poleaccessTokenve stylu EmailJS), který nese hlavičkuOrigin, dostane novou chybu403 private_key_in_browser. Pro interní nástroje jde povolit v Zabezpečení → Povolit privátní klíč v prohlížeči. - CAPTCHA u požadavků bez
Originověřujeme sdíleným mobilním widgetem Frontmailu jen tehdy, když je zapnuté Povolit mobilní aplikace. Testovací klíče Cloudflare v produkci odmítáme. - Zjišťování stavu: status token posílejte v hlavičce
X-Frontmail-Status-Token;?token=pro starší SDK dál funguje. - Rate limity: klienti s IPv6 sdílejí limit na IP adresu v rámci sítě
/64. Limity na klíč a organizaci i detekce anomálií teď počítají jen požadavky, které prošly kontrolou šablony a CAPTCHA, takže záplava neplatných požadavků už vaše skutečné návštěvníky nezablokuje. - Přílohy: názvy souborů čistíme (neviditelné a bidi znaky, tečky na konci) a odmítáme víc
nebezpečných typů (HTML, SVG, obrazy disků, OneNote, Office s makry,
.url,.lnk, …). Nahrávání s public key (POST /v1/uploads) vyžaduje šablonu, která přílohy přijímá, a má denní limit objemu na organizaci. template_id/service_iddelší než 64 znaků v multipart formuláři →400 invalid_body(dřív500).- API, API dashboardu i přihlašování přijímají jen provoz, který jde přes CDN Frontmailu.
API
Sekce “API”POST /v1/send,/v1/send-form,/v1/send-batch,/v1/uploads,GET /v1/messages/:id,GET /v1/history,GET /v1/templatesa aliasy kompatibilní s EmailJS.- Jednotný formát chyb s
docs_url; podporaIdempotency-Key(24 h). - Hold fronta se stavy
held/held_service_errora režimyhold/reject. - Zámek obsahu pro odesílání veřejným klíčem do šablon s dynamickým příjemcem: povinná CAPTCHA
(
dynamic_recipient_requires_captcha), pevná pole odesílatele (dynamic_field_not_allowed), žádné HTML parametry a texty do 500 znaků, odkazy jen na povolené domény (link_not_allowed) a nejvýš 5 e-mailů na příjemce za den. Adresa odesílatele z parametrů se odmítne u každého odeslání veřejným klíčem. Uzamčené jsou i automatické odpovědi. Nová nastavení:security.allowedLinkDomains,security.recipientDailyLimit, u šablonyenforceLinkAllowlist. Viz Povolené odkazy a zámek obsahu.
SDK
Sekce “SDK”@frontmail/browser0.x (ESM + UMD, připnutí verze se SRI),@frontmail/react,@frontmail/react-native,@frontmail/vue,@frontmail/svelte,@frontmail/nodes CLIfrontmail types,@frontmail/emailjs-compat.- Automatické opakování s exponenciálním backoffem a idempotenčními klíči; typované chyby.
Zabezpečení
Sekce “Zabezpečení”- Dvoufázové ověření se teď vyžaduje u každého způsobu přihlášení – včetně odkazu z e-mailu a Google / GitHub – a zapnout jde jen s ověřenou e-mailovou adresou.
- Přihlašovací a ověřovací odkazy otevřené v jiném prohlížeči chtějí potvrzení (nebo tento prohlížeč nepřihlásí), takže vás cizí odkaz nepřihlásí do cizího účtu.
- Změna přihlašovacího e-mailu vyžaduje heslo a schválení ze současné adresy.
- Admini už nemůžou přidělit roli Fakturace; adminy a členy s rolí Fakturace spravuje jen vlastník.
- URL webhooků poskytovatelů neuvidí čtenáři ani role Fakturace a jde vygenerovat nová (Vygenerovat novou webhook URL).
- Vlastní SMTP server musí mít veřejnou adresu a port 25, 465, 587 nebo 2525.
- Přílohy šablon můžou používat jen soubory nahrané stejnou organizací.
- Pozvánky do týmu mají limity na příjemce i organizaci; název organizace nesmí obsahovat odkazy.
- Data o kliknutích exportovaná do analytiky už neobsahují parametry URL (tokeny, e-maily).
Zabezpečení SDK (příští vydání SDK, 0.2.0)
Sekce “Zabezpečení SDK (příští vydání SDK, 0.2.0)”- Nekompatibilní změna: SDK pro prohlížeč (
@frontmail/browser, React, Vue, Svelte,@frontmail/emailjs-compat) vyhodíprivate_key_in_browser, když se ve webovém prohlížeči použije soukromý klíč (privateKey, v compataccessToken);@frontmail/nodev prohlížeči odmítne běžet. Vypnutí:dangerouslyAllowPrivateKeyInBrowser: true. sendFormpřeskočí pole s heslem, anti-CSRF pole a rezervované názvy; nová volbaformFields: { include, exclude }.getStatusposílá status token v hlavičceX-Frontmail-Status-Tokenmísto?token=.<TurnstileWebView>v React Native je uzamčený na stránku widgetu (originy, navigace, zprávy).- CDN: vedle každého verzovaného bundlu je
sri.jsons hashi prointegrity; dokumentace používá URL s připnutou verzí a Subresource Integrity.
Dashboard
Sekce “Dashboard”- Editor HTML šablon s živým náhledem, typovanými parametry, kontrolami, verzemi a galerií (EN/CS).
- Služby pro SMTP, Mailgun, Amazon SES, Postmark, SendGrid, Mailjet, Brevo, Resend, Gmail a Outlook / Microsoft 365, s failoverem a health-checky.
- Kredity: tarify, kreditové balíčky, overdraft, auto top-up; statistiky spotřeby.
Fakturace a kredity (bezpečnostní opravy)
Sekce “Fakturace a kredity (bezpečnostní opravy)”- Roční tarify teď dostávají měsíční kvótu i rezervu pro přečerpání v každém měsíci období (dřív jen v prvním).
- Overdraft využitý na ročním tarifu se vyúčtuje každý měsíc samostatnou fakturou; overdraft využitý před koncem předplatného (zrušení, smazání organizace) se vyúčtuje hned.
- Přechod z měsíční na roční fakturaci převádí kredity vyčerpané v aktuálním měsíci.
- Změna tarifu se odmítne, dokud má předplatné nezaplacenou fakturu (
409 conflict,details.reason: "subscription_not_active"). - Rozporované platby (chargeback) odeberou kredity, které koupily; pokud spor vyhrajete, vrátí se. Refundace se zpracovávají po jednotlivých refundech.
- Novinka: hold fronta má limit na organizaci; nad ním dostanou požadavky
402 insufficient_creditssdetails.reason: "hold_queue_full". - Novinka: e-maily odeslané s veřejným klíčem nečerpají overdraft a nespouštějí automatické dobíjení, pokud to nezapnete ve Fakturace → Koupit kredity → Útrata za e-maily s veřejným klíčem (ve výchozím stavu vypnuto, i u stávajících organizací).
- Vlastní SMTP servery: selhání až po přijetí zprávy serverem se už nevracejí; ochrana na úrovni organizace vracení kreditů zastaví, když selhání přibývá neobvykle často.
- Webhooky poskytovatelů blokují jen skutečné příjemce zprávy; webhooky Amazon SES si zapamatují SNS téma první podepsané zprávy. Odeslat znovu odmítne šablony zmrazené po přechodu na nižší tarif.