Changelog
=========

0.3 - (2026-04-14)
---------------------------
* Change: Add unit tests for add_redirects validation logic [avoinea]

0.2 - (2025-12-20)
------------------------
* Feature: CSV import endpoint (@redirects-import) for server-side processing
  [avoinea - refs #293748]

0.1 - (2025-11-28)
-----------------------

* Feature: Redis-backed URL redirects with high-performance lookups
  [avoinea - refs #293748]
* Feature: REST API endpoints (@redirects, @redirects-statistics) for full CRUD operations
  [avoinea - refs #293748]
* Feature: Advanced search with regex support and search scope selector (old_url, new_url, both)
  [avoinea - refs #293748]
* Feature: HTTP 410 Gone support for permanently deleted content (empty redirect targets)
  [avoinea - refs #293748]
* Feature: High-performance statistics using Redis pipelining (~2s for 100k+ redirects)
  [avoinea - refs #293748]
* Feature: Pagination support with configurable batch sizes (10, 25, 50, 100, 500, 1000)
  [avoinea - refs #293748]
* Feature: Alphabetical sorting of redirects for consistent display
  [avoinea - refs #293748]
* Feature: Bulk import/export via REST API (CSV support in frontend)
  [avoinea - refs #293748]
* Feature: Fallback mechanism to check Redis when redirects not found in Plone storage
  [avoinea - refs #293748]
* Feature: Graceful error handling - Redis failures don't break redirection system
  [avoinea - refs #293748]
* Feature: API endpoint support with intelligent hierarchical URL matching
  [avoinea - refs #293748]
* Feature: Redirect loop prevention
  [avoinea - refs #293748]
* Feature: Easy configuration via environment variables (REDIS_SERVER, REDIS_PORT, REDIS_DB, REDIS_TIMEOUT)
  [avoinea - refs #293748]
