Zoznam zmien
Tu sú uvedené zmeny, ktoré ovplyvňujú verejné API alebo SDK. Balíky SDK dodržiavajú sémantické verziovanie; ich podrobné zoznamy zmien sa zverejňujú s každým vydaním na npm.
Nevydané – verejná beta
Section titled “Nevydané – verejná beta”SendGrid už nepodporujeme (október 2026)
Section titled “SendGrid už nepodporujeme (október 2026)”Od 1. októbra 2026 už SendGrid nie je k dispozícii ako poskytovateľ e-mailov. Ak ste posielali cez službu SendGrid, prejdite na iného API poskytovateľa, napríklad Resend, Postmark, Mailgun, Brevo alebo Mailjet, a novú službu potom vyberte vo svojich šablónach (aj ako záložnú službu, ak ste ju tam používali).
Preklady šablón (september 2026)
Section titled “Preklady šablón (september 2026)”Jednu šablónu teraz môžete posielať vo viacerých jazykoch – pozrite Preklady šablón.
- Dashboard: lišta Jazyky v editore šablóny. Pridajte k šablóne až 29 jazykových verzií
(akýkoľvek jazyk BCP 47, napr.
hualebopt-BR) – ako kópiu predvoleného jazyka, prázdnu alebo strojovým prekladom. Jazykové verzie prekladajú predmet, HTML, text a meno odosielateľa; príjemcovia, parametre a nastavenia zostávajú spoločné. Každý preklad má vlastné verzie s možnosťou návratu a štítky Zastaraný / Strojový. Predvoleným jazykom šablóny môže byť akýkoľvek jazyk (Nastavenia → Všeobecné → Predvolený jazyk). Export a import zahŕňajú jazykové verzie. - Strojový preklad s vlastným kľúčom: OpenAI, Anthropic, Google Gemini alebo DeepL s vlastným
API kľúčom organizácie (Nastavenia → Strojový preklad, vlastníci a administrátori). Frontmail
overí, že parametre, odkazy a štruktúra HTML zostali zachované (
translation_invalid). 30 prekladov za hodinu na organizáciu, najviac 60 000 znakov. Nové chybové kódytranslation_not_configured,translation_invalid,translation_provider_auth,translation_provider_error. - API: nepovinné
localevPOST /v1/senda v položkách/v1/send-batch, pole formulárafm_localevPOST /v1/send-form(pole s názvomlocalezostáva parametrom šablóny). Výber: presný jazyk → rovnaký základný jazyk (de-AT→de) → predvolený jazyk; chybne zapísaná značka je400 invalid_body. Odpovede na odoslanie a výsledky dávky vracajú použitélocale;GET /v1/templatesvracialocales. Automatické odpovede sa riadia jazykom pôvodnej správy, Odoslať znova ho zachová. Cesty kompatibilné s EmailJS vždy používajú predvolený jazyk. - Formátovanie: dátumy, čísla, sumy a pätička v tarife Free sa teraz riadia jazykom, v ktorom e-mail odchádza (predtým jazykom organizácie).
- JavaScript SDK (ďalšie vydanie, 0.2.0 – spolu so sprísnením zabezpečenia SDK nižšie):
voľba
localevsend/sendForm(sendFormju posiela akofm_locale), proplocalekomponentu<FrontmailForm>(React, Vue, Svelte) ause:frontmailForm,result.locale;@frontmail/node:localevsend/ položkáchsendBatch,templates.list()vracialocalesafrontmail typesvypíše jazyky každej šablóny a typ<TemplateName>Locale.@frontmail/emailjs-compatsa nemení (len predvolený jazyk). - Android / Kotlin SDK 0.2.0:
SendOptions(locale = "de"),SendResult.locale. - iOS / Swift SDK 0.2.0:
SendOptions(locale: "de"),SendResult.locale.
Sprísnenie zabezpečenia: okraj verejného API a kľúče (september 2026)
Section titled “Sprísnenie zabezpečenia: okraj verejného API a kľúče (september 2026)”Zmeny správania – skontrolujte, prosím, svoju integráciu:
- Požiadavky bez
OriginaReferer(servery, curl, natívne aplikácie) s verejným kľúčom teraz vyžadujú Povoliť mobilné aplikácie – aj keď je váš zoznam povolených webov prázdny. Predtým ich prázdny zoznam prijímal. Organizáciám, ktoré takéto požiadavky posielali za posledných 30 dní, sa prepínač zapol automaticky. Inak:403 origin_not_allowed(details.reason: "no_origin"). Na serveroch použite súkromný kľúč. - Súkromné kľúče z prehliadačov sa odmietajú: požiadavka so súkromným kľúčom (
Authorization: Beareralebo poleaccessTokenv štýle EmailJS), ktorá nesie hlavičkuOrigin, dostane novú chybu403 private_key_in_browser. Pre interné nástroje sa to dá povoliť: Zabezpečenie → Povoliť súkromné kľúče v prehliadačoch. - CAPTCHA pre požiadavky bez
Originsa overuje zdieľaným mobilným widgetom Frontmailu, len keď je zapnuté Povoliť mobilné aplikácie. Testovacie kľúče Cloudflare sa v produkcii odmietajú. - Zisťovanie stavu: token stavu posielajte v hlavičke
X-Frontmail-Status-Token;?token=pre staršie SDK funguje aj naďalej. - Rate limity: klienti s IPv6 zdieľajú limit na IP adresu v rámci siete
/64. Limity na kľúč a organizáciu a detekcia anomálií teraz počítajú len požiadavky, ktoré prešli kontrolou šablóny a CAPTCHA, takže záplava neplatných požiadaviek už neblokuje vašich skutočných návštevníkov. - Prílohy: názvy súborov sa čistia (neviditeľné a bidi znaky, bodky na konci) a odmieta sa viac
nebezpečných typov (HTML, SVG, obrazy diskov, OneNote, Office s makrami,
.url,.lnk, …). Nahrávanie s verejným kľúčom (POST /v1/uploads) vyžaduje šablónu, ktorá prijíma prílohy, a má denný limit bajtov na organizáciu. - Multipart
template_id/service_iddlhšie ako 64 znakov →400 invalid_body(predtým500). - API, API dashboardu a prihlásenie prijímajú len prevádzku, ktorá prichádza cez CDN Frontmailu.
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 chýb s
docs_url; podporaIdempotency-Key(24 h). - Fronta pozdržaných e-mailov so stavmi
held/held_service_errora režimamihold/reject. - Zámok obsahu pri odosielaní s verejným kľúčom do šablón s dynamickým príjemcom: povinná
CAPTCHA (
dynamic_recipient_requires_captcha), pevné polia odosielateľa (dynamic_field_not_allowed), žiadne parametre typu HTML a texty ≤ 500 znakov, odkazy len na povolené domény (link_not_allowed) a najviac 5 e-mailov na príjemcu za deň. Adresa odosielateľa z parametrov sa odmieta pri každom odoslaní s verejným kľúčom. Uzamknuté sú aj automatické odpovede. Nové nastavenia:security.allowedLinkDomains,security.recipientDailyLimit, v šablóneenforceLinkAllowlist. Pozrite si Povolené odkazy a zámok obsahu.
@frontmail/browser0.x (ESM + UMD, pripnite verziu so SRI),@frontmail/react,@frontmail/react-native,@frontmail/vue,@frontmail/svelte,@frontmail/nodes CLIfrontmail types,@frontmail/emailjs-compat.- Automatické opakovanie pokusov s exponenciálnym odstupom a idempotency keys; typované chyby.
Zabezpečenie
Section titled “Zabezpečenie”- Dvojstupňové overenie sa teraz vyžaduje pri každom spôsobe prihlásenia – vrátane prihlasovacích odkazov z e-mailu a Google / GitHub – a zapnúť ho možno len s overenou e-mailovou adresou.
- Prihlasovacie a overovacie odkazy otvorené v inom prehliadači si vyžiadajú potvrdenie (alebo tento prehliadač neprihlásia), takže odkaz, ktorý vám poslal niekto iný, vás nemôže prihlásiť do jeho účtu.
- Zmena prihlasovacieho e-mailu vyžaduje vaše heslo a schválenie z aktuálnej adresy.
- Administrátori už nemôžu prideľovať rolu Fakturácia; administrátorov a členov s rolou Fakturácia spravuje len vlastník.
- URL webhookov poskytovateľov sú skryté pred čitateľmi a členmi s rolou Fakturácia a dajú sa vygenerovať nanovo (Vygenerovať novú URL webhooku).
- Vlastné SMTP servery musia používať verejnú adresu a port 25, 465, 587 alebo 2525.
- Prílohy šablón môžu používať len súbory nahrané tou istou organizáciou.
- Pozvánky do tímu sú obmedzené na príjemcu a organizáciu; názvy organizácií nesmú obsahovať odkazy.
- Údaje o kliknutiach exportované do analytiky už neobsahujú query stringy (tokeny, e-maily).
Sprísnenie zabezpečenia SDK (ďalšie vydanie SDK, 0.2.0)
Section titled “Sprísnenie zabezpečenia SDK (ďalšie vydanie SDK, 0.2.0)”- Nekompatibilná zmena: SDK pre prehliadač (
@frontmail/browser, React, Vue, Svelte,@frontmail/emailjs-compat) vyhodiaprivate_key_in_browser, keď sa vo webovom prehliadači použije súkromný kľúč (privateKey, v compataccessToken);@frontmail/nodesa tam odmietne spustiť. Vypnutie:dangerouslyAllowPrivateKeyInBrowser: true. sendFormpreskakuje polia s heslom, anti-CSRF polia a rezervované názvy; novéformFields: { include, exclude }.getStatusposiela token stavu v hlavičkeX-Frontmail-Status-Tokennamiesto?token=.<TurnstileWebView>v React Native je uzamknutý na stránku widgetu (originy, navigácia, správy).- CDN:
sri.jsons hashmiintegrityvedľa každého verziovaného balíka; dokumentácia používa URL s pripnutou verziou a Subresource Integrity.
Dashboard
Section titled “Dashboard”- Editor HTML šablón so živým náhľadom, typovanými parametrami, kontrolami, verziami a galériou (EN/CS).
- Služby pre SMTP, Mailgun, Amazon SES, Postmark, SendGrid, Mailjet, Brevo, Resend, Gmail a Outlook / Microsoft 365, so záložnou službou a kontrolami stavu.
- Kredity: tarify, kreditové balíky, prečerpanie, automatické dobíjanie; štatistiky využitia.
Fakturácia a kredity (bezpečnostné opravy)
Section titled “Fakturácia a kredity (bezpečnostné opravy)”- Ročné tarify teraz dostávajú mesačnú kvótu a rezervu na prečerpanie v každom mesiaci obdobia (predtým len v prvom mesiaci).
- Prečerpanie využité v ročných tarifoch sa fakturuje mesačne samostatnou faktúrou; prečerpanie využité pred koncom predplatného (zrušenie, vymazanie organizácie) sa fakturuje okamžite.
- Pri prechode z mesačného na ročné predplatné sa prenášajú kredity minuté v aktuálnom mesiaci.
- Zmeny tarifu sa odmietajú, kým má predplatné nezaplatenú faktúru (
409 conflict,details.reason: "subscription_not_active"). - Sporné (reklamované) platby odstránia kredity, ktoré sa za ne kúpili; ak spor vyhráme, kredity sa obnovia. Refundácie sa spracúvajú po jednotlivých refundáciách.
- Nové: fronta pozdržaných e-mailov je obmedzená na organizáciu; nad limit dostanú požiadavky
402 insufficient_creditssdetails.reason: "hold_queue_full". - Nové: e-maily odoslané s verejným kľúčom nečerpajú prečerpanie ani nespúšťajú automatické dobíjanie, pokiaľ to nie je povolené v Fakturácia → Kúpiť kredity → Výdavky z prevádzky s verejným kľúčom (predvolene vypnuté, aj pre existujúce organizácie).
- Vlastné SMTP servery: zlyhania po tom, čo server správu prijal, sa už nevracajú; ochrana podľa miery refundácií na organizáciu zastaví vracanie kreditov, keď sú zlyhania neobvykle časté.
- Webhooky poskytovateľov blokujú len skutočných príjemcov správy; webhooky Amazon SES si zapamätajú SNS tému prvej podpísanej správy. Odoslať znova odmieta šablóny zmrazené po prechode na nižší tarif.