Version 5.25.0

July 1, 2026

Added

  • add site selection dropdown and update link status analytics (285410b)
  • cache: add LocalCacheService for managing local caches (6e1eb7e)
  • i18n: add Servd static cache messages in multiple languages (90b7ee8)
  • servdstaticcache: add runtime config validation for Servd cache (8b3d20e)
  • settings: add action to purge Servd static cache for SmartLinks (2813a7d)
  • shortlinks: purge servd static cache on shortlink save and delete (3f3dff5)

Fixed

  • fail closed for empty analytics site scopes (5d3f9bc)

Version 5.24.0

June 30, 2026

Added

  • services: add FrontendService for client-side rendering helpers (c860380)

Version 5.23.1

June 30, 2026

Fixed

  • redirects: refine direct redirect logic for shortlinks (eb75cdd)

Version 5.23.0

June 30, 2026

Added

  • redirects: build public action URL for shortlinks with site handling (857b984)

Version 5.22.0

June 29, 2026

Added

  • add commerce product element type support (aa9ec3c)
  • add smoke test and compatibility check scripts (e00411c)
  • debug: add debug banner and update console log messages in redirect template (36d0277)
  • qr: add additional QR code generation parameters (7417243)
  • seomatic: prepare SEOmatic metadata for ShortLink redirects (8810952)
  • seomatic: refactor tracking template to use event data object (3f032f5)

Fixed

  • analytics: ensure CSRF token is properly encoded in AJAX requests (b32da30)
  • analytics: ensure date range is correctly encoded in export redirects (146a19b)
  • clean up QR logo overlay resources (054cd42)
  • correct display name for new shortlink button (0fc23f5)
  • correct tab label from 'Content' to 'Details' in edit template (38d723b)
  • ensure QR code settings use JSON encoding for defaults (14d9bc8)
  • handle file_get_contents failure gracefully in cache retrieval (09e98c3)
  • i18n: correct Danish and Italian translations for CSV separator text (eb94c29)
  • import-export: ensure validRows count is properly JSON encoded in preview (7540f0d)
  • remove slug attribute from table attributes in ShortLink element (e28e731)
  • rename default plugin name to ShortLink Manager in settings table (902890d)
  • replace ModuleEye with PointyEye in QR code generation (63c98f1)
  • require explicit local geo defaults (a86cff0)
  • seomatic: streamline site tracking script loading process (6b473a9)
  • set custom field layout values from request (7bc3e48)
  • settings: replace 'leaf' with 'pointed' in QR code eye style options (0f7eb31)
  • shortlinks: add site enabled check in ShortLinkField and optimize limit handling in ShortLinkResolver (d4d61fb)
  • shortlinks: encode URLs for QR code generation and download (8062eec)

Version 5.21.1

June 20, 2026

Fixed

  • i18n: correct translations across multiple locales (73539aa)

Version 5.21.0

June 18, 2026

Added

  • add field layout support (e281503)
  • enrich shortlink analytics traffic exports (bd20c75)
  • gql: add GraphQL support (60f2a50)
  • gql: add GraphQL support for resolving and listing shortlinks (e514705)
  • i18n: add "View all analytics" translation key across locales (f175a79)
  • tests: add integration tests for ShortLinkField and NativeLinkField (dfc1e3e)
  • tests: add manual CSV fixtures for testing import flow (a5f3baf)

Fixed

  • i18n: correct OS translations in Arabic, Spanish, French, Japanese, and Dutch (14c4fbb)
  • i18n: correct Portuguese translation for 'saved' (b6ac06b)
  • i18n: correct Swedish translations for various strings (bdcf221)
  • i18n: correct translation for 'Tab' and 'Pipe' in multiple locales (099623b)
  • i18n: update Norwegian, Portuguese, and Swedish translations (271cbce)
  • import-export: highlight error messages in import preview table (51ffbb1)
  • normalize shortlink import preview codes (03ba6d7)
  • qrcode: clamp QR code size and margin to defined limits (9a9ad0e)
  • qrcode: correct QR code download filename format (d4b75a4)

Security

  • block dangerous URL schemes in validation (52d50a8)

Version 5.20.2

June 7, 2026

Fixed

  • plugin credit in edit template (5eeaf43)

Version 5.20.1

June 7, 2026

Fixed

  • move plugin credit section to edit template (eb3bc51)

Version 5.20.0

June 7, 2026

Added

  • add act-static-analysis script for CI integration (c33dc89)
  • add plugin credit component to edit forms (3db94a2)
  • add plugin handle to device detection configuration (cb8b9cd)
  • cli: add HelpController for cli command assistance (35f72c2)
  • expand default date range options for analytics (e8ad1a1)
  • i18n: add cache location and Redis configuration messages (9fdb397)
  • i18n: add new translation keys for user notifications (a05dca0)
  • i18n: add new translation keys for user notifications (d52638e)
  • i18n: update analytics strings to improve clarity in translations (c19a220)
  • import-export: add docblocks for ImportExportController and related actions (c89cf24)
  • import-export: add field labels and mapping messages to form validation (c711f0a)
  • jobs: schedule initial analytics cleanup job with dynamic next run time (e49600f)
  • settings: add method to resolve notFoundRedirectUrl with env vars (4ab835e)
  • settings: add new settings for QR code and analytics features (fa55b86)
  • tests: add integration tests for direct redirects and URL generation (3a1ae9e)
  • tests: add integration tests for short link types (16be560)
  • tests: add test for generating PNG QR code with logo overlay (c20ca54)
  • tests: add withSettings method to temporarily override plugin settings (4c6471c)

Fixed

  • i18n: correct cache storage and analytics translation strings (5690899)
  • i18n: correct Dutch translation for QR Codes (d6c99c9)
  • i18n: correct German translations for analytics terms (c25ca5a)
  • i18n: correct permission error messages for import and export actions (73bc5c2)
  • i18n: correct Portuguese confirmation messages for deletion actions (cc6351c)
  • i18n: correct Portuguese translations for logs and status messages (c8abaef)
  • i18n: correct Portuguese translations for OS and browser terms (4a1e358)
  • i18n: correct punctuation in Japanese translation strings (32bda70)
  • i18n: correct translation for CSV import and site settings (2d7aadd)
  • i18n: remove 'Live' string from multiple translation files (b6b9a10)
  • i18n: remove slug display from translation strings (b3c5c79)
  • i18n: update error messages for CSV import validation (0f4065a)

Version 5.19.0

May 21, 2026

Added

  • add pre-commit hook for ECS and PHPStan code quality checks (01424bd)
  • analytics: add logCategory to geo settings for tracking (4b78e16)
  • i18n: add translation issue template for reporting language problems (a49fa11)
  • taxonomy: implement folder and tag listing with filtering and sorting (3507651)
  • tests: add integration tests for click tracking, hit counter, and slug generation (ab3f9ea)
  • tests: add QrCodeServiceTest for QR code generation functionality (487ab35)

Fixed

  • correct phpstan include path in configuration (48b506d)
  • i18n: remove untranslated plugin name and log level strings from multiple locales (4361f3d)
  • integrations: prevent fatal in Link type on console runs (57f74f4)

Version 5.18.1

May 6, 2026

Bug Fixes

  • apply config overrides through shared settings helper (5454fca)
  • drop PAT requirement for release-please — use built-in GITHUB_TOKEN (dbcc230)
  • integrations: update version annotations to reflect correct release versions (a4d9765)
  • translations: correct various translation strings across locales (6b484f6)
  • translations: remove deprecated geo provider settings from multiple locales (08db00f)
  • update geo-settings inclusion to use pluginHandle instead of translationCategory (1861c9e)

Version 5.18.0

April 5, 2026

Features

  • Add 10 new language translations (FR, NL, ES, AR, IT, PT, JA, SV, DA, NO) (2b46b18)

Bug Fixes

  • icon: update icon path for ShortLinkField (ab2d277)
  • read-only settings page accessibility flag (156a14a)
  • update install experience text to use Craft translation (5402356)

Version 5.17.2

March 26, 2026

Miscellaneous Chores

  • release: remove issue permissions and skip labeling from workflow (7557104)

Version 5.17.1

March 26, 2026

Bug Fixes

  • shortlink: update QR code URL handling in ShortLink and templates (4050920)

Version 5.17.0

March 26, 2026

Features

  • taxonomy: add tag management functionality (05f0f7b)

Bug Fixes

  • routes: improve URL rule handling for shortlinks (f2630ec)

Version 5.16.3

March 18, 2026

Bug Fixes

  • redirect: change shortlink code to use slug instead of code (619b622)

Version 5.16.2

March 18, 2026

Bug Fixes

  • config: change default HTTP redirect code to 302 (303b2c2)
  • http: change default HTTP redirect code from 301 to 302 (ad47d89)

Version 5.16.1

March 17, 2026

Miscellaneous Chores

  • workflow: update permissions in release-please.yml (44ba030)

Version 5.16.0

March 17, 2026

Features

  • analytics: streamline IP handling in trackClick method (e0ba4b5)

Version 5.15.1

March 17, 2026

Bug Fixes

  • analytics: streamline click tracking and data storage (1c1313b)

Version 5.15.0

March 17, 2026

Features

  • add installation experience details for ShortLink Manager (de549bb)
  • analytics: add build process for analytics JavaScript assets (e07abfe)
  • import/export: add import/export functionality with history tracking (5efef73)
  • import/export: add new fields for QR code customization and query params (d240c96)
  • import/export: add permission check for import/export functionality (beb937a)
  • import/export: enhance import/export functionality with date fields (0223c1b)
  • import/export: update CSV export and import fields for postDate (60962a3)
  • records: add Folder, Tag, and ShortLinkTag records (82f0c62)
  • services: implement TaxonomyService for folder and tag management (82f0c62)
  • settings: add usePrefix option for shortlink URL generation (d64b19d)
  • templates: add folder management UI (82f0c62)
  • templates: enhance import/export functionality with folders and tags (82f0c62)

Bug Fixes

  • migrations: add slugPrefix and adjust usePrefix column position (124ec89)
  • settings: remove redundant submit button from settings forms (5aac23d)
  • settings: validate shortlink base URL to prevent spaces (3bcdc85)
  • shortlink: handle existing links switched from vanity to code (1f25853)

Version 5.14.0

March 4, 2026

Features

  • add complete EN/DE translation (d215d4d)

Bug Fixes

  • jobs: implement RetryableJobInterface in CleanupAnalyticsJob (11e4fa9)
  • settings, qr-code: improve translations and error messages (f011c59)
  • settings, ShortLinkManager, ShortLink: improve URL handling and validation (159f2d7)
  • settings, validation, templates: improve settings validation and error handling (92fac44)

Version 5.13.0

February 20, 2026

Features

  • analytics: add new analytics types and format recent clicks (b57d1b8)
  • shortlink: add directRedirect setting for server-side redirects (91eb418)
  • shortlink: add site-aware shortlink routes and base URL settings (34c3c0f)

Bug Fixes

  • validate analytics type parameter and replace getenv() (722d1ea)

Miscellaneous Chores

  • .gitignore: clean up ignored files and add internal directory (ec51c42)
  • add .gitattributes with export-ignore for Packagist distribution (fc993cd)
  • switch to Craft License for commercial release (0f8f8e5)

Version 5.12.0

February 7, 2026

Features

  • analytics: add export format validation and enhance QR code generation permissions (2289632)
  • analytics: enhance analytics data handling and sanitization (d605cd6)
  • analytics: Enhance analytics functionality with user permissions and site filtering (e1ca55b)

Version 5.11.0

February 5, 2026

Features

  • analytics: enhance analytics functionality and UI (f46f049)
  • settings: add passQueryParams option for query parameter handling (d13589d)

Bug Fixes

  • AnalyticsController, QrCodeController, SettingsController: enforce permissions for analytics and cache actions (2530b4b)
  • RedirectController: handle malformed URLs and protocol-relative links (12e0d58)
  • ShortLinkManager: update @since annotation for getCpSections method to 5.11.0 (3731baf)

Miscellaneous Chores

  • dependencies: Remove matomo/device-detector from composer.json (e22887f)
  • update package-lock.json and package.json for dependency management (c3bc52d)
  • update package.json to include author and company information (0c0d2da)

Version 5.10.0

January 26, 2026

Features

  • replace Craft plugin calls with PluginHelper methods for consistency (e219ba6)

Bug Fixes

  • jobs: prevent duplicate scheduling of CleanupAnalyticsJob (6d08934)

Version 5.9.0

January 21, 2026

Features

  • Add configurable geo IP provider settings with HTTPS support (4730d8c)

Bug Fixes

  • swap QR Code and Behavior settings links and update heading in General Settings (f74eccd)

Version 5.8.1

January 16, 2026

Bug Fixes

  • reorganize and standardize analytics templates (919a245)
  • update cache location message to use shortlinkHelper for dynamic path (0fd1669)
  • update filename generation to use lowerDisplayName for analytics export (0f96df2)
  • update hardcoded cache paths with PluginHelper for consistency (130bd28)
  • update PluginHelper bootstrap to include download permissions for logging (eec20fd)

Version 5.8.0

January 12, 2026

Features

  • Format cache file counts and total clicks in cache clearing buttons (c843262)
  • Update terminology from "Clicks" to "Interactions" and enhance link display in top links widget (530e9aa)

Version 5.7.0

January 10, 2026

Features

  • Replace custom country name retrieval with GeoHelper utility (0dcc15b)

Version 5.6.0

January 8, 2026

Features

  • enhance documentation for custom short domains and update settings handling (a22b7c5)
  • make element selection translatable per site for manual shortlinks (5a1104d)
  • Refactor permissions to use grouped nested structure (eaf3b05)
  • update README to include per-site translatable destinations and enhance export formats (855d782)
  • update Settings model methods to protected and add setDefaultQrLogoId method (7e2690e)

Miscellaneous Chores

  • remove local composer.lock file (705b8b8)

Version 5.5.0

January 6, 2026

Features

  • migrate to shared base plugin (e74da6f)

Version 5.4.2

January 5, 2026

Bug Fixes

  • add tab-content class to analytics sections for improved styling (4b4c0ec)

Version 5.4.1

December 19, 2025

Bug Fixes

  • Refactor site selection logic in AnalyticsController for improved clarity (60d38a3)

Version 5.4.0

December 19, 2025

Features

  • Add Traffic & Devices tab with device analytics charts (0c5fbd3)

Bug Fixes

  • improve cache duration settings and user feedback (f278cca)
  • Rename 'Hits' label to 'Interactions' in ShortLink elements and templates (ea90868)
  • update cache label to use display name and trim whitespace in settings methods (d134c38)
  • update country name mapping in analytics results (0ece6ac)

Version 5.3.3

December 16, 2025

Bug Fixes

  • update icon return value in ShortLinkManagerUtility (e4f0951)

Version 5.3.2

December 16, 2025

Bug Fixes

  • update time formatting in analytics dashboard to use locale settings (cf2ad60)

Version 5.3.1

December 16, 2025

Bug Fixes

  • simplify redirect manager events to only include slug-change (ad4cd18)

Version 5.3.0

December 16, 2025

Features

  • add cache storage method configuration for different environments (186fd37)
  • add cache storage method configuration to Install migration (4a1c9f4)
  • add Info Box component and enhance analytics display with number formatting (6b3ee45)
  • enhance analytics display and timezone handling in AnalyticsController and AnalyticsService (c636a3f)
  • implement Redis caching support and enhance cache management in ShortLinkManager (a6429d9)
  • update icon to 'link-simple.svg' and refine Redis cache display in index template (167dd39)

Version 5.2.0

December 3, 2025

Features

  • add @since 5.0.0 annotation to multiple controllers, services, and models (e7c3e39)
  • add expired message handling to ShortLink management (ac732c9)
  • analytics: add AJAX endpoint for fetching link analytics data (3f3b835)
  • analytics: add default location settings for local development based on environment variables (fb6f5f3)
  • analytics: enhance getTopLinks and getLinkAnalytics methods to include site name in results (1819f30)
  • development: add PHPStan and EasyCodingStandard configurations (1a40413)
  • enhance short link status display with additional states (f71a46b)
  • expiration: add site-specific expired message handling and remove expiration toggle (d1ef24f)
  • layouts: add new layout for control panel and update existing templates to use it (da78d85)
  • qr-code: update QR code logo handling and improve sidebar display (34a7776)
  • redirect: implement 404 handling through Redirect Manager integration (b5978df)
  • shortlink-field: add Link field integration and enhance settings UI (42672b0)
  • shortlink-status: add pending status and update query handling for pending links (e0817fd)
  • shortlink: simplify display of short link status and improve readability (ea4e786)
  • shortlink: update redirect handling to support shared shortlink slugs and fix QR code URL generation (18c83bb)

Bug Fixes

Version 5.1.6

November 11, 2025

Bug Fixes

  • ip-salt-error: enhance error message with copyable commands for generating IP hash salt (ab26918)

Version 5.1.5

November 11, 2025

Bug Fixes

  • enhance QR prefix defaulting logic to support nested patterns and avoid conflicts (48acf6f)

Version 5.1.4

November 11, 2025

Bug Fixes

  • update QR code URL prefix to support nested patterns (031a062)

Version 5.1.3

November 11, 2025

Code Refactoring

  • remove global enableQrCodes setting, keep per-link control (279a7e8)

Version 5.1.2

November 11, 2025

Bug Fixes

  • add form validation for QR logo selection and update required status on toggle change (3599c95)

Version 5.1.1

November 11, 2025

Bug Fixes

  • improve handling of default QR logo ID in settings (1e025bc)

Version 5.1.0

November 11, 2025

Features

  • add QR templates, multi-site support, and smart-links pattern consistency (c8e2550)

Version 5.0.0

November 9, 2025

Features

  • initial ShortLink Manager plugin implementation (c2dc0d7)