Skip to content

refactor(Imap_Client): deprecate Cache_Backend_Hashtable in favor of Cache_Backend_Cache#46

Merged
ralflang merged 1 commit into
FRAMEWORK_6_0from
refactor/migrate-to-modern-hashtable-and-sessions
Jun 9, 2026
Merged

refactor(Imap_Client): deprecate Cache_Backend_Hashtable in favor of Cache_Backend_Cache#46
ralflang merged 1 commit into
FRAMEWORK_6_0from
refactor/migrate-to-modern-hashtable-and-sessions

Conversation

@ralflang

@ralflang ralflang commented Jun 9, 2026

Copy link
Copy Markdown
Member

Horde_Imap_Client_Cache_Backend_Hashtable marked @deprecated. The per-UID HashTable storage strategy was justified for Memcache 1.0 with poor multi-get; modern Redis with MGET/pipelining handles the sliced strategy of Backend_Cache equally well, so one code path covers both.

UPGRADING.rst documents the migration path. IMP's Imap/Cache/Wrapper.php falls 'hashtable' driver configurations through to 'cache' transparently, so existing deployments don't need to update their cache.driver config.

Refs horde/Core#131

@what-the-diff

what-the-diff Bot commented Jun 9, 2026

Copy link
Copy Markdown

PR Summary

  • Improvement to Upgrade Guidelines
    We've made the upgrading process more comprehensive by adding instructions on how to smoothly transition to version 3.0.0. This includes a notice about the outdated Horde_Imap_Client_Cache_Backend_Hashtable and steps to switch to using the Backend_Cache.

  • Deprecation Notice for Hashtable.php
    In our continual efforts to keep our codebase up-to-date and efficient, we've marked Horde_Imap_Client_Cache_Backend_Hashtable.php as deprecated. This means it will no longer be maintained and it is recommended to switch to Horde_Imap_Client_Cache_Backend_Cache. The reasons for this decision have also been provided in the comment section of the file for further understanding.

@ralflang ralflang merged commit a85793b into FRAMEWORK_6_0 Jun 9, 2026
0 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant