.. _news_changelog:

=================================
Změny v jednotlivých sestaveních
=================================

Tento přehled uvádí změny řady 3.4.x, které mají vliv na práci uživatelů
a správců. Neuvádí jednotlivé commity ani interní (vývojové) úpravy. Změny,
které již byly součástí řady 3.3.x, zde nejsou opakovány.

U změn, které vyžadují zásah správce (změna konfigurace, krok při aktualizaci),
je uveden příslušný konfigurační klíč a odkaz do :ref:`Administrátorské příručky
<admin>`. Před aktualizací je vhodné projít záznamy všech sestavení mezi
nainstalovanou a novou verzí, viz :ref:`Admin_update`.


verze 3.4.11
==================

Před aktualizací
----------------

 * Změna: 10146 - Bezpečnostní auditní log (``elza.siemLogFile``): názvy polí odpovídají
   schématu OSSEC/Wazuh (``srcuser``, ``dstuser``, ``srcip``, ``result``, ``reason``,
   ``msg``, ...), pole bez významu pro SIEM (``LOG_FILE``, ``SIEM_LOG_FILE``, ``@version``,
   ``logger_name``, ``thread_name``, ``level_value``) jsou odstraněna a události jsou
   identifikovány poli ``event_type`` a ``action`` (např. přihlášení je ``user_login``
   s ``result`` ``success`` nebo ``failed``). **Formát není kompatibilní s předchozím;
   upravte dekodéry a pravidla systému SIEM.** Viz :ref:`admin_security`
 * Změna: 10146 - Za reverzní proxy zaznamenává bezpečnostní auditní log adresu klienta
   (``srcip``), pokud je zapnuto ``elza.security.acceptForwardedHeaders``. **Proxy musí
   nahradit hlavičku** ``X-Forwarded-For`` **adresou klienta** (NGINX ``$remote_addr``,
   Apache ``RequestHeader unset X-Forwarded-For early``); jinak si klient může zvolit
   zaznamenávanou adresu. Viz :ref:`Admin_InstallRevProxy_ClientAddress`
 * Změna: 10146 - Správce z konfigurace (``elza.security.admin.username`` / ``.password``)
   je nahrazen seznamem ``elza.security.override`` uživatelských jmen a hesel. Chybějící
   uživatel se v databázi založí jako správce bez hesla; uvedený uživatel se přihlásí
   vlastním nebo nastaveným heslem, které se už nezapisuje do databáze. **S nastaveným**
   ``elza.security.admin.*`` **se aplikace nespustí**; přesuňte záznam do
   ``elza.security.override``. Viz :ref:`admin_install_users_from_config`
 * Odstraněno: 10146 - Obnovení přístupu pomocí ``elza.security.recovery.username``
   a ``elza.security.recovery.password``; klíče jsou ignorovány. Přístup se obnovuje přes
   ``elza.security.override``, jehož použití se zapisuje do bezpečnostního auditního logu;
   viz :ref:`admin_security`. **Odstraňte klíče recovery z** :file:`elza.yaml`

Nově
----

 * Nově: 10146 - Bezpečnostní auditní log - nové události: odhlášení, změna hesla, založení,
   aktivace, deaktivace a přejmenování uživatelů (včetně prvního správce úvodního nastavení),
   změny oprávnění uživatelů a skupin, členství ve skupinách, založení a smazání skupin,
   založení (včetně importu) a smazání archivních souborů a smazání jejich historie.
   Neúspěšné přihlášení uvádí metodu (``authentication_type``) a stabilní důvod
   (``INVALID_USERNAME``, ``INVALID_PASSWORD``, ``INACTIVE_USER``, ...); zaznamenává se
   i odmítnutý JWT. Přihlášení heslem z ``elza.security.override`` je zaznamenáno jako
   ``OVERRIDE`` a každý start zaznamená uživatele s takovým heslem (``override_active``)
 * Nově: 10154 - Přesuny - adresovatelné URL stránky Přesunů, přechod mezi Pořádáním
   a Přesuny, rozšířené zobrazení stromu respektuje režim čtení; přesun se v uzavřené verzi
   nenabízí
 * Nově: ELZA DA - nastavení úložiště: File Transfer URL a typ požadavku stažení, API klíč;
   10160 - volba ověření TLS certifikátu nezávislá na API klíči
 * Nově: AI asistent - nálezy uvádějí prvek popisu a část entity místo kódů pravidel,
   kontrola větve archivního popisu, navržený další krok jako tlačítko pro pokračování
 * Nově: Publikace - zobrazení celé chybové zprávy s možností zkopírování

Změny
-----

 * Změna: 9800 - Textové vyhledávání archivních entit řadí na první místo entitu, jejíž
   jméno je napsáno tak, jak se běžně používá ("Jan Hraběta", "Československá akademie
   věd"). Jména entit CZ_BASE (verze 91) dostávají index ``REAL_NAME`` - jméno bez doplňků
   a titulů, osoba jako jméno a příjmení - a proti němu se porovnává celý hledaný text bez
   ohledu na pořadí slov a diakritiku. Po aktualizaci se entity CZ_BASE na pozadí přegenerují
   (fronta validace entit); řazení se zlepšuje s postupem běhu. Balíček pravidel takové pole
   uvádí v ``index-search`` s ``index-type``, viz implementační příručka
 * Změna: 10146 - Bezpečnostní auditní log - úspěšné přihlášení pomocí JWT nebo API klíče,
   které se ověřuje při každém požadavku, se zaznamená nejvýše jednou za hodinu pro stejný
   klíč (nebo uživatele) a adresu; neúspěchy se zaznamenávají vždy
 * Změna: 10133 - Digitální archiv: změnový balíček nese kontextový archivní popis AIP
   (``EAD-CONTEXT.xml``) z ELZA - kořen archivního souboru, cestu k jednotkám napojeným na
   AIP a jejich podstromy - místo pevné ukázky. AIP napojený na jednotky více než jednoho
   archivního souboru se neexportuje; export to ohlásí. Viz :ref:`admin_digital_repositories`
 * Změna: 10165 - Výstup EAD pravidel ZP2015 odpovídá českému profilu EAD3
   ``CZ_EAD3_PROFILE_20260501`` (nová a opravená mapování, role entit zadané textem se
   zapisují jako slabé entity). Jednotky jsou identifikovány ``id="uuid-..."``; **URI v**
   ``base`` **(https://archdesc.nacr.cz/dids/...) se již nezapisuje** - upravte systémy,
   které jej čtou. Jednotky napojené na digitální archiv odkazují na AIP
   (``dao href="aip:..."``)
 * Změna: 9272 - Datace: mezery za tečkou, české názvy měsíců a nezlomitelné mezery
 * Změna: 9970 - Filtr omezení přístupnosti - nabídka Exportu archivního souboru a Správy
   publikačních systémů sjednocena s Výstupy (volba *Bez filtru*)
 * Změna: Požadavek přihlášený API klíčem nesmí měnit přihlašovací údaje

Opravy
------

 * Oprava: 10162 - Výstup: odkaz na smazanou jednotku popisu neshodí generování, validace
   jej hlásí jako chybu
 * Oprava: 10152 - Import EDX s přílohami: chyba SyncFailedException při ukládání souboru
 * Oprava: 10151 - Tabulkové zobrazení a šablony synchronizace JP: chybný popisek tlačítka
   (Uložit → Upravit)
 * Oprava: 7324 - Chybné zobrazení průběhu zpracování

ZP2015 v352
---------------

 * Oprava: 7736 - Ukládací jednotka s rozsahem (např. "9-10 karton") - přepočet hodnot
   existujících ukládacích jednotek proběhne nově i při aktualizaci z verze 3.4.9 (ve verzi
   3.4.10 se při aktualizaci z 3.4.9 nepřepočítávaly)


verze 3.4.10
==================

Nově
----

 * Nově: Balíček pravidel ISADG - popis archivních souborů podle mezinárodního standardu
   ISAD(G), v angličtině, s uživatelskou příručkou. Pro původce a přístupová místa používá
   ``ISAAR_CPF``, dodává se s ELZA a naimportuje se, pokud jej uvádí
   ``elza.packages.enabled``. Jde o první verzi ke zkušebnímu použití: tiskové výstupy
   a export EAD3 zatím nejsou k dispozici. Instalace se ZP2015 nevidí žádnou změnu. Viz
   :ref:`admin_install_dpkg`
 * Nově: ELZA DA - vstupní URL ``<ELZA_URL>/da/<KOD_DA>/aip/<AIP_ID>`` otevře AIP podle jeho
   identifikátoru v digitálním archivu: přejde na napojenou jednotku popisu, nebo na balíček
   v jeho archivním souboru. Viz :ref:`impl_entryurl_aip`. Seznam AIP lze filtrovat podle
   kódu digitálního archivu

Změny
-----

 * Změna: Perzistentní řazení v kontextové nabídce stromu a obnovení stromu po něm se řídí
   pravidly archivního souboru: akce se rozpozná podle druhu, ne podle pevného názvu, takže
   ji každý balíček pravidel pojmenuje po svém. *Výpočet a vizualizace EJ* se nabízí jen
   u archivních souborů, jejichž pravidla akci mají (ZP2015). Perzistentní řazení se
   nenabízí pro běh nad více archivními soubory
 * Změna: Popis jednotky odesílaný do WSDL úložiště digitalizátů nebo na digitalizační
   linku s napojeným digitálním objektem (DID webových služeb DAO) nese jen identifikátor
   jednotky. Skript :file:`groovy/createDid.groovy` v pracovním adresáři, který doplňoval
   název, referenční označení a dataci, se už nečte a lze jej smazat; nefungoval od roku 2020
 * Změna: Textové vyhledávání archivních entit prohledává prvky jmen, které pro vyhledávání
   uvádějí balíčky pravidel (s ``ISAAR_CPF`` i jeho jména); vyhledávání s CZ_BASE se nemění
 * Změna: 9970 - Dialog nového výstupu nabízí jako prázdnou volbu výstupního filtru
   *Bez filtru*

Opravy
------

 * Oprava: 10127 - Hromadná akce kopírující prvky popisu do výsledku (ZP2015 *Agregace
   úvodu*) končila chybou "Error while writing JSON", pokud prvky obsahovaly přílohu nebo
   datum
 * Oprava: 10128 - Úložiště binárních souborů (DMS): přesun do nové struktury ve verzích
   3.4.8 a 3.4.9 souborů s identifikátorem 1000 až 9999; jejich přílohy a výstupy hlásí "Požadovaný soubor neexistuje".
 * Oprava: ELZA DA - při dvou digitálních archivech se stejným kódem AIP se změna hlášená
   jedním archivem (např. zneplatnění) mohla uplatnit na AIP druhého
 * Oprava: Neúspěšné perzistentní řazení nebo *Výpočet a vizualizace EJ* se ohlásí; dříve
   jen dokončený nebo přerušený běh. Po akci se obnoví strom jejího archivního souboru, ne
   souboru zobrazeného v tu chvíli
 * Oprava: Perzistentní řazení ze stránky hromadných akcí zachová směr a specifikaci běhu,
   ze kterého vychází

ZP2015 v351
---------------

 * Nově: ELZA DA - série "Importováno", kterou automatické zařazení AIP (``DA_MATCH``) zakládá
   pro balíčky volných souborů, dostává při založení omezení přístupnosti (důvod stav zpracování
   archiválie, rozsah skrytá jednotka popisu); série ani nic pod ní se nezveřejní, dokud
   uživatel omezení nezruší. Zrušené omezení se dalším balíčkem neobnovuje
 * Oprava: 7736 - Ukládací jednotka s rozsahem (např. "9-10 karton") byla označena jako
   duplicita jednotky s koncovým číslem ("10 karton"); rozsah se nově řadí mezi 9 a 10.
   Hodnoty existujících ukládacích jednotek se přepočítají při aktualizaci z verze 3.4.8
   a starší; **při aktualizaci z 3.4.9 se nepřepočítají** - jednotlivá ukládací jednotka se
   opraví svou úpravou


verze 3.4.9
==================

Před aktualizací
----------------

 * Změna: Jazyky (``sys_language``) dostávají značku BCP 47 (``cs``, ``en``, ...); aktualizace
   ji doplní jazykům dodávaným s ELZA. **Pokud byly jazyky do databáze přidány ručně,
   aktualizace se zastaví** s hlášením "sys_language contains rows without a tag"; najděte je
   dotazem ``SELECT * FROM sys_language WHERE tag IS NULL``, doplňte ``tag`` (např.
   ``UPDATE sys_language SET tag = 'hu' WHERE code = 'hun'``) a spusťte ELZA znovu. Jazyk
   s kódem ``cze`` nesmí být smazán
 * Změna: Balíčky pravidel se čtou striktně - neznámý nebo špatně umístěný element zastaví
   import balíčku (chyba uvádí soubor, řádek a element) a pravidla entit ve starém tvaru
   jsou odmítnuta. Balíčky dodávané s ELZA jsou upraveny (CZ_BASE verze 89). **Vlastní
   balíček nebo balíček třetí strany, který se dříve naimportoval, může být nyní
   odmítnut**; opravte jej a zvyšte jeho verzi. Místní úpravy skriptů CZ_BASE sestavujících
   jména entit (úpravy :file:`rul_structure_extension*.xml`) je třeba přesunout do
   :file:`rul_entity_rule.xml`
 * Změna: 10098 - Tiskové šablony s čárovými kódy používají knihovnu barcode4j; knihovna
   barbecue je odstraněna. **Vlastní šablony s elementem** ``kind="barbecue"`` **se už
   nepřeloží** a je třeba je upravit
 * Změna: Balíčky při startu - z adresáře ``dpkg/`` se načtou již naimportované balíčky
   a balíčky uvedené v novém klíči ``elza.packages.enabled`` (včetně závislostí); ostatní
   soubory adresáře se přeskočí. Stávající instalace si své balíčky ponechají bez změny
   konfigurace; nová instalace klíč nastaví před prvním startem. Log startu vypisuje
   naimportované a přeskočené balíčky. Viz :ref:`admin_install_dpkg` a :ref:`Admin_config`
 * Nově: Restart z administrace - aplikace se ukončí s návratovým kódem nového klíče
   ``elza.restart.exitCode`` (výchozí 3) a správce služeb ji spustí znovu; v jednotce
   systemd nastavte ``Restart=on-failure``. Bez správce služeb se aplikace jen ukončí.
   Viz :ref:`Admin_config`

Nově
----

 * Nově: Jazyk uživatelského rozhraní (čeština, angličtina) se volí v uživatelském
   nastavení a v přihlašovacím dialogu. Bez volby je rozhraní v jazyce ``elza.locale``
 * Nově: Validační hlášky archivních entit a jednotek popisu se zobrazují v jazyce
   uživatelského rozhraní. Hlášky CZ_BASE a ZP2015 zůstávají česky. Záznam validovaný před
   aktualizací zobrazuje uložené texty, dokud není znovu zvalidován
 * Nově: Datace se přijímají v českém i anglickém zápisu bez ohledu na jazyk rozhraní
   (``20th century``, ``21 Aug 1968``, ``500 BC``, ``1968-08-21``, ...)
 * Nově: Balíček pravidel ISAAR_CPF - popis archivních entit podle mezinárodního standardu
   ISAAR(CPF), v angličtině. Dodává se s ELZA a naimportuje se, pokud jej uvádí
   ``elza.packages.enabled``; oblast entit jej použije volbou pravidel ``ISAAR_CPF``.
   Instalace s CZ_BASE nevidí žádnou změnu
 * Nově: Správa balíčků - administrace zobrazuje balíčky z ``dpkg/``, které nejsou načteny,
   umožňuje označit balíček k načtení při příštím startu a nabízí *Restartovat aplikaci*.
   Viz :ref:`admin_install_dpkg`
 * Nově: ELZA DA - *Administrace → Fronta digitálního archivu* zobrazuje požadavky fronty
   digitálního archivu (čekající nebo celou historii) a nabízí akce *Zkusit znovu teď*,
   *Zrušit požadavek* a *Opakovat*. Požadavky se nikdy nemažou
 * Nově: ELZA DA - nové nastavení DA úložiště *Interval dotazu na stav dávky (s)*, výchozí
   2 sekundy (dříve 100 ms)
 * Nově: 10070 - Export strukturovaných objektů (ukládací jednotky, omezení přístupnosti,
   ...) do CSV z panelu strukturovaného typu (tři tečky → *Exportovat do CSV*) s použitím
   filtru panelu. Sloupec ID obsahuje hodnotu, kterou očekává import prvků popisu z CSV

Změny
-----

 * Změna: ELZA DA - dávka, kterou digitální archiv připravuje ke stažení nebo zpracovává po
   exportu, už neblokuje ostatní komunikaci s ním a přečká restart ELZA. Nedostupnost
   archivu se opakuje s rostoucím intervalem až do 5 minut
 * Změna: ELZA DA - nová verze napojeného AIP: část, kterou nová verze již neobsahuje, se
   odpojí, verze uvádějící jiný archivní soubor se k němu přesune. Akce *Vynucená
   aktualizace* již není nabízena
 * Změna: 10029 - Import prvků popisu z CSV - import do archivního souboru (Tabulkové
   zobrazení) i dávkový import čtou stejný formát, podporují další datové typy, importují
   po částech 1000 řádků a nabízejí zkušební běh
 * Změna: Uživatelé OAuth2 zakládaní z tokenů dostanou třídu entity
   ``elza.security.o-auth2.user-ap-type`` (výchozí ``PERSON_INDIVIDUAL``) v oblasti
   ``elza.security.o-auth2.user-scope`` (výchozí ``JWT_USERS``); viz :ref:`admin_security`

Opravy
------

 * Oprava: ELZA DA - balíček, jehož soubor PREMIS má jiný název nebo který soubor PREMIS
   neobsahuje, již není odmítnut
 * Oprava: ELZA DA - jednotku popisu s napojeným AIP, jehož metadata dosud nebyla stažena,
   nebylo možné otevřít
 * Oprava: 10098 - Rozsáhlé výstupy - generování karet a štítků s čárovým kódem končilo
   chybou "Error virtualizing object"; čárové kódy jsou širší a lépe čitelné
 * Oprava: Balíček pravidel bez závislostí byl při importu při startu přeskočen
 * Oprava: Smazání balíčku pravidel, který definuje typy úloh, selhalo
 * Oprava: V nově založené databázi nešlo založit 20. oblast archivních entit nebo typ
   instituce (kolize identifikátorů)

ZP2015 v350
---------------

 * Nově: 9970 - Tiskové výstupy - filtr omezení přístupnosti je výchozí volbou nového výstupu
 * Změna: 10047 - Obsah a tematický popis ve výstupu - kapitola úvodu "IV. Obsah
   a tematický popis archivního souboru", funkce Agregace úvodu přebírá i PP Obsah; PP
   Tematický popis není možný u kořene nebo série s PP Obsah
 * Oprava: 10083 - Omezení přístupnosti: rozsah použití prvků s omezením - u JP bez
   variantních prvků s omezením se hodnota PP Název a PP Obsah již neskrývá
 * Změna: PP Alternativní popis - již nezahrnuje PP Tematický popis
 * Změna: PP Jiné datace - názvy specifikací bez mezer u lomítek


verze 3.4.8
==================

Před aktualizací
----------------

 * Změna: 10028 - Úložiště binárních souborů (DMS) - soubory v ``work/dms`` se při prvním
   startu jednorázově přesunou do nové struktury ``dms/<rok>/<měsíc>/<blok>/``; mazaný
   obsah se nejprve přesouvá do koše ``dms/_trash`` (``elza.dms.trashRetentionDays``,
   výchozí 30 dní), nová pravidelná kontrola konzistence (``elza.dms.check.cron``).
   **Před aktualizací zazálohujte databázi i adresář dms ze stejného okamžiku**; návrat
   ke starší verzi vyžaduje obnovu obojího, viz :ref:`admin_backup`

Nově
----

 * Nově: 9963 - Pravidla hesel (minimální délka, skupiny znaků, platnost), vynucená změna
   hesla při příštím přihlášení, účty s neomezenou platností hesla a obnovení přístupu
   k účtu pomocí ``elza.security.recovery.username`` a ``elza.security.recovery.password``.
   Po aktualizaci jsou všechna pravidla vypnutá. **Zapnutím platnosti vyprší najednou
   všechna hesla nezměněná od aktualizace**; viz :ref:`admin_security`
 * Nově: 9963 - Úvodní nastavení: dokud databáze neobsahuje žádného uživatele, aplikace
   místo přihlášení založí prvního správce. **Správce založte hned po prvním startu, dříve
   než aplikaci zpřístupníte v síti**; viz :ref:`admin_install`
 * Nově: 9963 - Správce z konfigurace: ``elza.security.admin.username``
   a ``elza.security.admin.password`` se uplatní při každém startu - chybějící uživatel se
   založí jako správce, existující dostane nastavené heslo a je aktivován. Dokud jsou
   nastaveny, heslo změněné v aplikaci se při příštím restartu vrátí na nastavené; viz
   :ref:`admin_security`
 * Nově: ELZA DA - převzetí archivního popisu z balíčků (AIP) uživatelem (úrovně, prvky
   popisu, přílohy)
 * Nově: ELZA DA - automatické zařazení přijatých AIP, které se neshodují s žádnou jednotkou
   popisu podle UUID, řídí pravidla archivního souboru (typ pravidla ``DA_MATCH``). Platí
   pro úložiště s automatickým stahováním metadat
 * Nově: 7843 - Revalidace návazných entit při zneplatnění související entity
 * Nově: 7453 - Přejmenování přílohy

Opravy
------

 * Oprava: Strukturované typy - chyba při nepodporovaném typu prvku popisu

ZP2015 v349
---------------

 * Nově: Omezení přístupnosti - text "Popis nezveřejněn..." ve výstupu, úprava specifikace
   Uplatněné omezení přístupnosti
 * Nově: ELZA DA - skripty převzetí popisu z AIP (``DA_IMPORT``) a automatického zařazení
   AIP (``DA_MATCH``), převzetí datací a formálního názvu z EAD


verze 3.4.7
==================

 * Nově: AI asistent - odkazy na záznamy (entity) v odpovědích chatu
 * Nově: DA / AIP - zobrazení napojení AIPu i v režimu čtení; napojení a odpojení AIPu
   vyžaduje oprávnění k pořádání
 * Nově: Přepracování přihlašovacího dialogu a stránky Úlohy na pozadí do Fluent UI
 * Nově: Adresovatelné otevření stránky s digitalizáty
 * Oprava: 10041 - Generování výstupu: stav výstupu se změnil až po občerstvení prohlížeče
 * Oprava: 10053 - Výstupy: tlačítko Vygenerovat výstup nereaguje u konkrétního archivního souboru
 * Oprava: 10051 - Tabulkové zobrazení: bílá obrazovka při filtru prvku popisu (např. Role entit)
 * Oprava: DA / AIP - detail balíčku umožňuje napojení na části a odkazuje na JP, oprava určení
   úložiště digitalizátů typu FILESYSTEM
 * Oprava: Pád při práci s více záložkami prohlížeče
 * Oprava: Drobné opravy překladů (react-intl)

ZP2015 v345
---------------

 * Nově: 10035 - PP Jiná označení - osobní číslo, číslo tisku, číslo usnesení
 * Nově: 10036 - PP Jiné datace - datace jednání
 * Nově: 10047 - Tematický popis ve výstupu (PP Obsah doporučený na kořeni AP)


verze 3.4.6
==================

 * Nově: 9991 - Dávkový import - hromadný import archivních souborů (ze složky na serveru
   i nahráním z prohlížeče) s přehledem výsledku dávky; import ze složky na serveru
   vyžaduje nastavení ``elza.import.batchInputDir``, viz :ref:`Admin_config`
 * Nově: 10011 - Přístupové (API) klíče - podpora a správa, filtr pro zobrazení pouze aktivních klíčů;
   funkce je ve výchozím stavu zapnutá (``elza.security.api-keys``, hlavička ``X-API-Key``),
   viz :ref:`admin_security`
 * Nově: 10029 - Import prvků popisu z CSV - import pomocí ID entity
 * Nově: Výstupy - zpracování rozsáhlých výstupů (odkládání stran na disk, sdílená cache
   archivních entit s omezeným počtem; volby ``elza.export.jasperPageCacheSize`` a
   ``elza.export.outputRecordCacheSize``); výchozí počet vláken pro generování výstupů
   (``elza.asyncActions.output.threadCount``) snížen ze 4 na 2
 * Nově: Přepracování dialogu uživatelského nastavení (fluent-ui) a možnost smazat cache prohlížeče
 * Nově: Import archivních entit z XML - vazby mezi entitami zakládanými týmž souborem,
   ukládání externího identifikátoru
 * Nově: AI asistent - zapamatování posledního vybraného modelu
 * Nově: Převod uživatelského rozhraní na react-intl a odstranění starší překladové vrstvy
   (příprava na plnou lokalizaci)
 * Oprava: 10004 - Přidat prvek popisu: Zvláštní omezení přístupnosti - prvek se vloží dvakrát
 * Oprava: 9999 - Zvláštní omezení přístupnosti - PP se nezobrazuje v režimu čtení
 * Oprava: 10003 - Import prvků popisu (Tabulkové zobrazení, CSV) - mezery na konci řádků z MS Excel
 * Oprava: 9996 - Nelze kopírovat UUID jednotky
 * Oprava: Export - omezení přístupnosti: prvky s konstantní hodnotou se opět přidávají
 * Oprava: ELZA DA / AIP - lepší hlášení chyb při stahování a zpracování balíčků, odkazy
   v seznamu AIP (napojený fond a balíček), přehled balíčků
 * Oprava: Chybný focus při zavření potvrzovacího dialogu

ZP2015 v344
---------------

 * Nově: 9766 - Výpočet evidenčních jednotek - množstevní EJ (přílohy ke spisu)
 * Nově: 10007 - PP Technika, adjustace, nosič a látka záznamu - přejmenování zkratky na "Technika"
 * Nově: 10037 - PP Typ záznamu - přejmenování specifikací u matrik (zápisy narozených,
   oddaných, zemřelých)
 * Oprava: 10030 - Nežádoucí dědění PP Jednotka pro rozměry na části jednotlivosti


verze 3.4.5
==================

 * Nově: ELZA DA - přepracování práce s AIP:

   * Průzkumník AIPu jako samostatná stránka (strom staženého balíčku, otevření přímo
     z adresního řádku)
   * Seznam AIP - čitelné stavy balíčků, funkční řazení, akce podle stavu, dohledání
     instituce a fondu
   * Napojení AIPů na jednotky popisu na pozadí (po jednotlivých AIPech) se zobrazením
     průběhu a překážek před potvrzením, filtrování dle stavu napojení
   * Automatické stažení metadat po spárování a napojení podle UUID
   * DA úložiště - způsob stahování AIP, interval synchronizace uložený v DB, test
     nastavení, respektování vícenásobného napojení
   * Odstraněno: časovač synchronizace s DA v ``elza.yaml`` (``elza.da.sync``) - interval
     se nastavuje u úložiště digitalizátů v Externích systémech (výchozí 300 s); sekci
     je vhodné z ``elza.yaml`` odstranit

 * Nově: 9955 - Import z CSV - asynchronní zpracování s upozorněním po dokončení (WebSocket)
 * Nově: 9990 - Digitální entity - přepracované okno detailu (jeden panel) a kontextové
   menu s přechodem do stromu
 * Nově: 9981 - Konfliktní hodnota (neuloženo) - možnost smazat prvek popisu smazáním jeho hodnoty
 * Nově: Archivní soubory - označení aktivního archivního souboru při otevření a menu akcí v detailu
 * Oprava: 9982 - Citace nefungují
 * Oprava: 9978 - Funkce Generátor ukládacích jednotek neproběhne úspěšně u konkrétního
   archivního souboru
 * Oprava: 9995 - Výstupy - náhled zobrazí výsledek funkce Agregace úvodu až po občerstvení prohlížeče
 * Oprava: ELZA DA - opravy pádů seznamu a detailu AIP (nedohledaná instituce, chybějící
   velikost balíčku), srozumitelný popis chyby zpracování balíčku
 * Oprava: Výstupy - překrytý posuvník

ZP2015 v343
---------------

 * Nově: 9992 - Prvek Způsob pořádání - specifikace "základní popis" (pravidla, typy
   archiválií pro nezpracované archiválie, výpočet EJ)
 * Nově: 9993 - Prvek Způsob uložení - specifikace "balík" a "pořadač" (pravidla,
   založení a výpočet EJ)
 * Nově: 9994 - Jiná označení - Identifikátor ve zdrojovém systému

CZ_BASE v88
---------------

 * Přesun skriptu IMPORT_DA (napojení digitálního archivu) do pravidel ZP2015


verze 3.4.4
==================

 * Nově: 9955 - Import z CSV - průvodce s volbou kódování, oddělovače a s živým náhledem
 * Nově: 9945 - Pořádání - zobrazení hodnoty PP Obsah na úrovni soubor (pokud chybí PP Název
   jednotky popisu)
 * Nově: 9944 - Digitální entity - souborové úložiště: kontextové menu se stažením souboru,
   řazení dle času změny (9971) a sjednocení ikon prohlížeče
 * Oprava: 9973 - PP Jazyk - chybějící příznak výjimka
 * Oprava: 9476 - Archivní soubory - úvodní stránka: po otevření AS a návratu zpět nezůstává
   focus v levém panelu na označeném záznamu (doplněno odscrollování na vybraný záznam ve stromu)
 * Oprava: 9944 - Souborové úložiště - oprava stahování souboru
 * Oprava: Chování splitteru - rozměry panelu podle oblasti

ZP2015 v342
---------------

 * Nově: 9658 - PP Název jednotky popisu - pravidla (změna pořadí PP Formální název)


verze 3.4.3
==================

 * Nově: 9944 - Digitální entity - souborové úložiště: dokončení a rozšíření (procházení
   stromu složek s náhledem souborů, přetahovatelný oddělovač, vazby souborů na jednotky
   popisu s přechodem na uzel, vícenásobné napojení, přepnutí připojení souboru k jiné
   jednotce popisu, konfigurace a test úložiště v administraci)
 * Nově: Výstupy - přepracované zobrazení detailu výstupu (nový formulář prvků popisu,
   sloupcové zobrazení, režim čtení), zvýraznění nabídky výstupů
 * Nově: 9965 - Výstupy - kontrola a upozornění na neproběhlé doporučené akce před generováním
 * Nově: 9277 - Výstupy - doplnění nápovědy do tooltipu
 * Nově: AI asistent - návrhy na doplnění a vylepšení popisu jednotky popisu (karty návrhů,
   přijmout/odmítnout, evidence rozhodnutí) a příprava opravy z nálezů revize
 * Nově: Podpora prvku popisu typu JSON_TABLE
 * Nově: Schválení verze archivního souboru - záložka přechází na nově otevřenou verzi
 * Nově: 9962 - Aktualizace staršího formátu hesla při přihlášení
 * Oprava: 9960 - Pořádání - PP Souřadnice: nelze uložit hodnotu a zobrazit v mapě editoru,
   úprava zobrazení příliš dlouhých souřadnic
 * Oprava: 9959 - Editor souřadnic: zobrazení mapy je omezeno na horní část obrazovky
 * Oprava: 9967 - Vyhledávání v archivním souboru: uzel podle ID nenalezen
 * Oprava: 9952 - PP Role entit - specifikace autor se nezobrazuje v režimu čtení
 * Oprava: Pořádání - zobrazení některých typů prvků popisu při zúžení formuláře
 * Oprava: Výstupy - NullPointerException při importu tabulky

ZP2015 v341
---------------

 * Oprava: 9932 - Tiskové výstupy - chybějící PP Informace o zpracování u jednotek popisu


verze 3.4.2
==================

 * Nově: 9944 - Digitální entity - souborové úložiště (procházení a stahování souborů
   z adresářového repozitáře fondu, detekce MIME typů, podpora souborů nad 2 GB,
   filtry dle dalších vlastností)
 * Nově: 9679 - Historie změn - postupné (dávkové) načítání záznamů
 * Oprava: 9943 - Funkce: migrace na Název / Obsah, tematický popis - chyba při
   vícenásobných mezerách
 * Oprava: 9948 - Archivní entity: PP Administrativní zařazení - neplatný stav požadavku
   při vyhledávání
 * Oprava: 9950 - Archivní entity - Rozšířený filtr: vyhledávání dle prvků popisu
   nenabídne žádné výsledky


verze 3.4.1
==================

 * Nově: Tabulkové zobrazení - úprava zobrazení a chování oken pro editaci hodnot, skrytí
   tlačítek u prvku popisu do rozbalovacího menu a možnost přeskočení na prvek popisu
 * Nově: Správa institucí - možnost změnit navázanou entitu (AccessPoint) u již vytvořené instituce
 * Nově: Skrývání hodnot API klíčů a hesel v nastavení externích systémů
 * Oprava: 9927 - Tabulkové zobrazení - nelze plnohodnotně používat klávesnici
 * Oprava: 9547 - Tabulkové zobrazení - prvek Souřadnice (COORDINATES) - opravy operací
   "Je součástí" a "Je poblíž"
 * Oprava: 9934 - Jednotka popisu - obnova potlačené dědičnosti při vrácení změn
   (oprava synchronizace cache)
 * Oprava: Tabulkové zobrazení - přidávání skrytých sloupců při přesměrování z odkazu a úprava prolinku


verze 3.4.0
==================

 * Nově: AI asistent - rozšíření funkcí:

   * Vyhledávací nástroje nad archivním popisem, archivními entitami a fondy
   * Zobrazení průběhu zpracování a činnosti nástrojů v reálném čase
   * Přehled využití a kreditů (týdenní příděl, cena), volba AI profilu
   * Nálezy revize v odpovědích asistenta

 * Nově: 9935 - Správa institucí - nová správa institucí včetně možnosti měnit navázaný
   AccessPoint instituce (načítání typů institucí z balíčku cz-base)
 * Nově: Administrace - přesun navigace do postranního panelu, respektování zvoleného
   motivu (tmavý režim) na stránkách administrace
 * Nově: Tabulkové zobrazení - adresovatelné URL (odkaz na konkrétní jednotku popisu
   a prvek popisu) a prolink z kontextového menu jednotky popisu ve stromu
 * Nově: 9240 - Perzistence stavu obrazovky při přechodu mezi Pořádáním a Tabulkovým
   zobrazením (zachování focusu)
 * Nově: Plovoucí okna - možnost přesouvat a měnit velikost (na všech hranách i rozích),
   přeřazování při kliknutí a přizpůsobení při změně velikosti okna prohlížeče
 * Nově: 9925 - Přesun intervalu pro stahování entit z konfigurace do nastavení externího
   systému, aktualizace intervalu synchronizace bez nutnosti restartu aplikace; hodnoty
   z ``elza.accesspoints.sync`` v ``elza.yaml`` se při prvním startu přenesou do
   nastavení externího systému
 * Nově: Health a metriky dostupné na samostatném management portu (výchozí ``8081`` na
   adrese ``127.0.0.1``), oprava health kontroly LDAP, viz :ref:`admin_monitoring`
 * Nově: Sledování plánovače úloh - metriky a volby ``elza.monitoring.scheduler.*``
 * Oprava: 9594 - Digitální entity - zobrazení náhledu u souborů se speciálním znakem v názvu
 * Oprava: 9797 - Chyba při reindexaci - souřadnice

CZ_BASE v87
---------------

 * Doplnění číselníku typů institucí (ParInstitutionType)


verze 3.4.0-RC-3
==================

 * Nově: AI asistent - první verze uživatelského rozhraní (panel asistenta), nastavení
   API klíčů pro AI providera, volba profilu/modelu, zobrazení citací dokumentů
 * Nově: Hromadné akce nad více fondy - přejmenování tlačítka pro výběr akce a zachování
   výběru fondů
 * Nově: Export - nativní XML doplněn o informaci o zdrojové aplikaci a odkazy na DAO
   s vazbou na AIP
 * Nově: ZP - PP Název jednotky popisu - úprava pravidel pro Elzu 3.4 (Název doporučený
   na sérii, Obsah doporučený na složce a níže)
 * Nově: Synchronizace oprávnění přes webové služby - ve výchozím nastavení se oprávnění
   pouze přidávají, nikoli odebírají (volba ``elza.webservice.fonds.adminPermissionMode``;
   distribuční konfigurace však do verze 3.4.7 nastavovala ``FULL_SYNC``)
 * Oprava: 9913 - Při zápisu na druhý řádek textového prvku popisu se text klepe (poskakuje)
 * Oprava: 9914 - Tiskový výstup se generuje pomalu
 * Oprava: 9916 - PP Obsah nelze přidat na sérii, pokud je u jednotky popisu PP Název
 * Oprava: Úprava chování ikony pro otevření náhledu entity u prvku popisu


verze 3.4.0-RC-2
==================

 * Nově: AI Provider - nový typ externího systému a první verze rozhraní pro integraci
   umělé inteligence (napojení AI poskytovatele, test spojení)
 * Nově: Výběr jazyka aplikace - nová experimentální funkce
 * Nově: Hromadné akce nad více fondy - výběr fondů filtrem vyhodnoceným na serveru,
   úprava dialogu pro spouštění hromadných akcí
 * Nově: Sledování stavu (health) a metriky Prometheus pro frontu zpracování
   (viz :ref:`admin_monitoring`)
 * Oprava: Odstraňování záznamů cache probíhá po dávkách (stabilita a výkon)


verze 3.4.0-RC-1
==================

 * Nově: Publikace archivního popisu - nová funkce pro publikování (sdílení) archivního
   popisu fondu: správa typů publikací a publikačních systémů (s typem připojení
   PRODUCTION / TEST / DEVELOPMENT, automatické generování kódu systému), spuštění
   publikace, generování a stahování souborů publikace, kopírování publikace; nová
   oprávnění FUND_PUBLISH a FUND_PUBLISH_ALL
 * Nově: Editor strukturovaných typů - nový editor strukturovaných typů v pravém panelu
   včetně režimu čtení a hromadné úpravy
 * Nově: Hromadné akce nad více fondy - možnost spustit hromadnou akci nad více
   archivními soubory najednou (výběr v seznamu fondů)
 * Nově: 9635 - Přidat prvek popisu - hromadný výběr více prvků najednou, zvýraznění
   vstupů a ošetření prvků popisu typu IMPOSSIBLE
 * Nově: Kompaktní zobrazení a zobrazení ve více sloupcích - přesunuto z experimentálních
   funkcí do nabídky nastavení zobrazení jednotky popisu
 * Nově: 9488, 9503 - Vyhledávání v archivních souborech - logická operace OR v rámci
   jednoho filtru
 * Nově: 9582 - Zajištění exportu uzavřených verzí
 * Nově: Export - volba pro zahrnutí, případně vynechání digitálních entit (DAO) při exportu
 * Nově: Externí systém (CAM) - přejmenování "Revize v externím systému" na "Historie revizí",
   zobrazení upozornění/chyb a historie revizí z CAM, výběr ELZA ID i CAM ID entity jedním
   kliknutím
 * Nově: ZP2015 - Omezení přístupnosti - nová skupina prvků popisu
 * Oprava: 9911 - Selhání stažení entity v případě REPLACEMENT a lokálně nestažené nahrazující entity
 * Oprava: 9898 - Historie revizí v externím systému - chybějící informace o zpracovateli
   a schvalovateli u revize odeslané do CAM
 * Oprava: 9888 - Strukturované typy: editace v pravém panelu - odstraněný prvek z formuláře
   mizel z nabídky prvků
 * Oprava: 9887 - Strukturované typy: Omezení přístupnosti - nenačítala se pravidla
 * Oprava: 9886 - Strukturované typy: Metráž UJ nezobrazuje 0 jako první znak a obsahuje desetinnou tečku
 * Oprava: 9885 - Pořádání - překlad (Přidat prvek popisu)
 * Oprava: 9869 - Chyba při odeslání entity s prázdnou hodnotou prvku popisu
 * Oprava: 9578 - Generátor citací - řešení pro jednotku popisu s PP Pevné spojení
   (včetně citace z jiného fondu a verze archivního souboru)
 * Oprava: 9811 - Generátor citací - PP Obsah: při prázdné hodnotě se použije hodnota
   z nejbližší nadřazené úrovně (v hranatých závorkách)
 * Oprava: 9832 - Archivní entity - export záznamů do CSV - dokončení (oprávnění)
 * Oprava: Odeslání do CAM - správný čas dle časové zóny (nikoliv UTC)
 * Oprava: Externí systém (CAM) - vyhledávání, stažení entity dle ID, ukládání a řazení upozornění
 * Oprava: Zrychlení a stabilizace cache jednotek popisu (přeskočení opakovaného načtení uzlu)


verze 3.4.0-BETA-2
==================

 * Nově: 9488, 9503 - Vyhledávání v archivních souborech - vyhledávání podle institucí
   a archivních souborů
 * Oprava: Vyhledávání dle instituce


verze 3.4.0-BETA-1
==================

 * Nově: ELZA DA - napojení na digitální archiv (DA) a práce s archivními balíčky (AIP):

   * Přehled AIP z digitálního archivu, včetně seznamu AIP v rámci archivního souboru
   * Průzkumník AIP - procházení obsahu balíčku (logická struktura, komponenty/soubory)
     a jejich zobrazení a načtení z DA
   * Napojení AIP na archivní popis - průvodce pro jednotlivé i hromadné napojení sady
     AIPů, včetně zobrazení nálezů (kontrol) při napojení
   * Zobrazení přiřazení AIP k jednotce popisu přímo v pořádání, s odskokem do průzkumníku
     na konkrétní komponentu
   * Přenos archivního popisu zpět do DA - generování a přenos změnových balíčků
     v adresářové struktuře včetně struktury METS
   * Odpojení archivního popisu od AIP
   * Generování a mazání struktury AIP, naplnění prvků popisu logické struktury
   * Konfigurace: časovač synchronizace s DA (elza.yaml), nový typ externího systému
     "Úložiště digitalizátů" pro DA

 * Nově: 9488 - Vyhledávání v archivních souborech - filtry dle archivních souborů
 * Nově: 8746 - Tabulkové zobrazení - filtr PP Role entit - nová podmínka "Obsahuje entitu"
 * Nově: 9633 - Levý panel Pořádání (strom) - zobrazení PP Formální název, pokud je
   PP Obsah bez hodnoty
 * Nově: 9674 - Validace typů záznamů u podtypu matrika
 * Nově: Aktualizace běhového prostředí na Java 17 (JDK 17)
 * Oprava: 6044 - Označení ukládacích jednotek ("zaškrtávátka") nemizí po odstranění
   ukládacích jednotek
 * Oprava: 9002 - Zápis entity do CAM - odfiltrování PP Poznámka u související entity,
   která není zapsána v externím systému


Seznam změn oproti řadě 3.3.x
==================================

Seznam změn oproti řadě 3.3.x je dostupný v repozitáři na adrese: https://github.com/elzasw/elza/compare/release-3.3.x...release-3.x
