New Feature: Community language packs for es-ES, fr-FR, it-IT, de-DE, and pt-BR across the component, module, and plugins (contribution by Marcos Cappa).
Improvement: Editors-XTD insert modal uses Joomla language keys via Text::script / Joomla.Text._() so the button UI follows the site language.
Version 1.0.16: 7 September 2026
Bug Fix: Public Full Definition renders stored safe HTML with the form safehtml filter instead of stripping tags via default InputFilter.
Improvement: Component option Accent-sensitive search (default Off). When On, Contains/Begins/Exact distinguish accents such as N vs Ñ; when Off, search uses normal database accent folding. A-Z letter navigation always follows the glossary alphabet. Sounds Like stays phonetic.
New Feature: Component option Hide empty A-Z letters (default Off). When On, alphabet chips with no published terms are omitted instead of shown disabled.
Version 1.0.13: 7 September 2026
Bug Fix: Frontend Suggest a term keeps allowed short_def/fulltext HTML via the same safehtml InputFilter mode as the term form (default InputFilter was stripping lists/emphasis).
Bug Fix: Glossary list ordering and term prev/next order letters with utf8mb4_bin so Spanish N and Ñ do not collapse in sort order.
Bug Fix:Administrator sys.ini includes COM_EASYGLOSSARY_SELECT_TERM for the Term page menu picker.
Bug Fix: A-Z letter counts and filters compare letter with utf8mb4_bin so Spanish N and Ñ stay separate under utf8mb4_unicode_ci tables; embed/module letter lists follow glossary alphabet order.
Bug Fix: CSV import no longer pre-strips fulltext/short_def with InputFilter html; the term form safehtml filter keeps allowed markup for round-trips.
Bug Fix: Administrator com_easyglossary.sys.ini includes COM_EASYGLOSSARY_MENU_TERM_DESC for the Term page menu type.
Version 1.0.11: 6 September 2026
Bug Fix: Term pages no longer duplicate short_def when fulltext is empty (lead only; body renders fulltext when present).
Bug Fix: Clearing the last Related Term empties the edited term's related_ids (fancy-select omitted key treated as empty on full form save) and still removes reciprocal backlinks.
Bug Fix: A term cannot be related to itself: excluded from the Related Terms selector and stripped server-side on save; frontend See also also ignores self IDs.
Bug Fix: Card hover border/shadow and other accent-tinted UI washes use var(--egloss-accent) via color-mix instead of hardcoded default blue.
Version 1.0.10: 5 September 2026
Bug Fix: Frontend Glossary menu no longer hits infinite recursion: populateState() no longer calls getState() while initializing list limit/start.
Bug Fix: Legacy numeric CSV related_ids are validated against existing terms before storage.
Bug Fix: Explicit unresolved returns an empty A-Z nav instead of the global index.
Improvement:System plugin clears Easy Glossary cache only for com_easyglossary.* and com_content.* contexts.
Version 1.0.9: 5 September 2026
Bug Fix: CSV Related Terms second import pass runs for terms newly created by a core.create-only user; updating related links on pre-existing terms still requires core.edit.
Version 1.0.8: 4 September 2026
Security:Finder no longer indexes a term when term and glossary use different non-Public view levels (single access cannot represent logical AND).
Bug Fix: Finder removes terms whose explicit language differs from the parent glossary language (no public visibility context).
Bug Fix: Reset and uninstall purge #__contentitem_tag_map and UCM rows for com_easyglossary.term before dropping tables / content type.
Bug Fix: CSV related links export as portable glossaryAlias|glossaryLang|termAlias|termLang keys and resolve in a second import pass; legacy numeric related_ids still accepted for same-database imports.
Bug Fix: Usage Map scans eligible articles in batches (up to 5000) instead of only the 120 most recently modified.
Bug Fix:ASSET_VERSION aligned to 1.0.8; duplicate COM_EASYGLOSSARY_USAGE_COUNT INI key removed; component package ships a single installer script.php.
Version 1.0.7: 4 September 2026
Bug Fix: Finder adapter uses table aliasa so term save/reindex no longer fails with Unknown column a.id.
Bug Fix: Finder state/access queries use parent glossaries (glossary_id), not #__categories; glossary save/state/delete reindexes or removes child terms; access sync reindexes instead of assuming nested view levels via max().
Security: Finder effective language prefers parent glossary language when the term is *; unpublished parent/term rows are removed from the index; non-Public glossary access gates the Finder link.
Bug Fix: Finder stores raw index.php term routes (not admin-routed URLs) and adds Type/Language/Category taxonomy.
Bug Fix: Glossary delete cascades child terms in a transaction (no UNIQUE orphan collisions on glossary_id = 0).
Bug Fix: Related-term backlinks add and remove symmetrically; deleted terms are purged from other related_ids.
Bug Fix:Router glossary/term resolution uses VisibilityHelper (access, language, published parent); ambiguous same-alias glossaries are not guessed; RouteHelper no longer reads non-existent MenuItem::$published.
Bug Fix: CSV includes glossary_language; ambiguous glossary/term language matches are skipped; import enforces upload error, 5 MB and row caps; export/sample links use Session::getFormToken().
Bug Fix: Package updates no longer force-enable plugins; full secondary indexes ensured on update; collision-safe alias migration; required schema failures abort the update; 1.0.1.sql is idempotent (CAN FAIL).
Bug Fix: Reset/sample data purges Finder and UCM maps; uninstall removes content type and Finder links.
Bug Fix: Search module input IDs are unique per module; nested skip-class highlighter tracks full ancestry; Usage Map applies category visibility and UTF-8-safe snippets.
Bug Fix: Sitemap emits raw XML (format=xml supported); TermTable is taggable; configuration save clears matcher cache; missing glossary id returns 404; published values keep trash/archive.
Bug Fix: Frontend Suggest a term form labels live in the site language file; public SEO strings are product-neutral and honor menu page title, meta description, and robots; frontend submit fires content save events for Finder; JSON-LD term URLs are absolute.
Improvement:minimumJoomla raised to 5.0 (Joomla 5 and 6). Release metadata (ReadMe, assets, Wikipedia UA) aligned to 1.0.7.
Version 1.0.5: 3 September 2026
Bug Fix: Duplicate administrator Import and Export menu item removed. Submenu creation now matches by link (not only alias) and cleans existing duplicates on update.
Version 1.0.4: 2 September 2026
Bug Fix: All-glossaries and unpublished glossary views no longer fatal on null glossary objects (alphabet, SEO, templates).
Bug Fix: CSV import matches existing terms by title when alias is empty, counts blank-title rows as skipped, and only assigns access levels the importer is allowed to use.
Security: Frontend submit glossary picker and save path use VisibilityHelper (published, access, language).
Bug Fix: Term router no longer guesses among duplicate aliases without a glossary id; numeric-prefix fallback verifies the alias suffix.
Improvement: Sample CSV download requires a CSRF token; highlighter tag parsing handles quoted attributes.
Version 1.0.3: 1 September 2026
Security: Forced shortcode DB fallback now uses the same VisibilityHelper term + parent glossary access and language rules as the public matcher.
Bug Fix: Void HTML elements with skip classes no longer leave the highlighter classStack permanently active.
Security: Reset database and Install sample data now require core.admin or core.delete; UI warnings strengthened.
Bug Fix: CSV import skips rows when an explicit glossary_alias cannot be resolved instead of silently falling back to another glossary.
Improvement: Editors-xtd button assets use the plugin manifest version for cache busting.
Version 1.0.2: 31 August 2026
New Feature: Dedicated Import and Export admin screen for CSV import, CSV export, and sample CSV download (moved off the Terms list and toolbar).
New Feature: One-click Install sample data and Reset database.
XML manifests describe how Joomla installs and configures extensions.
Component and plugin XML files declare files, languages, and config fields.
Options screens are driven by config.xml.
In practice
Validate manifests before packaging.
Why teams pick it
A glossary that stays out of your markup
Publish A-Z pages, term detail pages with images, and accessible in-article tips. Highlighting skips headings, links, and code. Search supports contains, begins with, exact, and sounds like. Featured terms can surface first.
Safe highlight
Skips headings, links, buttons, and code. First occurrence and a page cap keep pages readable.
A-Z and pagination
Letter nav, featured filter, AJAX search, and pages or Load more (or both when you want them).
Multiple glossaries
The same spelling can belong to different dictionaries. Scope by article category or per article.
Term intro images
Cards and term pages can show an intro image. Demo terms ship with branded covers.
DefinedTerm JSON-LD
Term pages emit schema. Unique document titles and meta descriptions per listing and term.
Accessible tips
Keyboard focus, aria-describedby, Helix-safe tips. No jQuery and no CDN.
Frontend submit
Visitors can suggest a term. Optional notify email and publish-later workflow for editors.
Related terms
Pick See also terms from a multi-select so definitions stay connected across the dictionary.
Synonyms and abbreviations
Match CMS, abbreviations, and Content Management System from one term. Tips can list synonyms.
Usage map
While you edit a term, see where it is mentioned. CSV import/export and Finder indexing included.