Vydána nová verze 8.1.0

Kategorie: Novinky

Byla vydána verze 8.1.0. Obsahuje vylepšení plugin systému, zabezpečení uživ. účtů a XSS ochrany a další technické změny.

Seznam změn

  • podpora načítání pluginů z composer balíků (vendor/)
  • autor článku se nyní nezapočítává do počtu zobrazení
  • systém uživatelů
    • změnu e-mailu uživatele je nyní potřeba potvrdit na nové adrese
    • minimální délka hesla je nyní 8 znaků (lze změnit v nastavení)
    • navýšen počet PBKDF2 iterací při hashování hesla
  • ochrana proti XSS
    • přidáno filtrování obsahu stránek, článků a boxů jako prevence možných persistent XSS útoků
      (CVE-2023-48201, reporter: @mechaneus)
    • přidán nastavitelný seznam povolených přípon souborů jako prevence možných persistent XSS útoků
      (CVE-2023-48202, reporter: @mechaneus)
    • oprava chybějícího filtrování HCM modulů v obsahu boxů
  • BBCode
    • přidán nový tag [quote]
    • vylepšení zpracování prázdných řádků kolem tagu [code]
    • oprava vykreslování tagů uvnitř [code]
  • administrace
    • vylepšení seznamu stránek
    • vylepšení zobrazení dlouhých URL v logu
    • vylepšení indikátorů v seznamu boxů (@jdanek)
    • přidána možnost nahradit pluginy v modulu plugins-upload
    • deaktivace admin modulu other-patch pokud projekt používá SunLight konzoli
  • technické změny
    • přesun konfigurace pluginů do plugins/config/
    • přidána možnost definovat base_url v config.php
    • přidány nové extend události:
      • render.meta_generator
      • form.input, form.input.after
      • form.textarea, form.textarea.after
      • form.select, form.select.after
      • article.fallback_thumbnail, article.preview.fallback_thumbnail
    • přidány wrappery kolem výpisů položek (články, příspěvky, apod.)
    • pro renderování formulářových prvků se nyní používají nové Form metody (@jdanek)
    • cache-busting parametr pro URL assetů je nyní hash
    • oprava výstupu Plugin::getAssetPath() s query anebo fragmentem
    • oprava možné chyby v postprev.php pokud chybí obsah
    • nové metody:
      • Form::input(), Form::select(), Form::textarea(), Form::option()
      • Request::hasHeader(), Request::header()
      • GenericTemplates::renderAttrs()
      • Core::isCacheEnabled()
    • breaking-changes:
      • extend událost admin.editor nyní dostává parametr "content" místo "html_content"
      • metoda Filesystem::purgeDirectory() má novou implementaci
      • metoda Form::loadCheckbox() má novou implementaci
      • většina původních properties třídy Plugin je nyní obsažena v property $data
      • smazána nepoužívaná konstanta Core::DIST
      • smazána výjimka PrivilegeException a související logika
      • smazána metoda PluginManager::select()
      • smazány metody Form::restore…(), Form::activateCheckbox(), Form::selectOption(), Form::disableInputUnless()