6.0.0-beta13
4/14/26
  • Backward Compatibility Breaking Horde Issues (aka Horde 4.0 TODO)
  • Fix cloning behavior (See Bug 1410).

  • Remove deprecated code in IMAP_Tree::.

  • Move IMP_IMAPClient:: to Horde.

  • Merge IMP_Thread:: to IMAP_Thread::.

  • Encrypt deprecations in Horde_Crypt_pgp::.

  • Use one place for clear text sendmail error messages.

  • rename files in imp/templates/prefs to more sensible defaults (e.g. draftsfolderselect.inc, not folderselect.inc)

  • Remove deprecated code in MIME_Headers::

  • Remove {{$foo = &new Foo();}} calls and replace with {{$foo = new Foo();}} - The former is deprecated as of PHP 5 and causes errors when strict code checking is on.

  • Remove IMP_Template::.

  • Remove app-specific 'stripe.js' files.

  • Move share edit form into framework package to make it extendable.

  • Convert all configuration files to XML format.

  • Replace horde's popup.js with IMP's version.

  • Remove IMP_IMAP_Search:: and Ingo_IMAP_Search::.

  • Remove imap_reopen() call in IMAP_Search::.

  • Make getType() return values consistent in iCalendar::.

  • Move date/time parsing methods from iCalendar:: to Horde_Date::.

  • Remove BC mime_drivers code in MIME_Viewer::, IMP_Contents::, MIMP_Contents::, Troll_Contents::.

  • Checkboxes in Horde_Form that are marked as required should be required to be checked.

  • Remove IMP_SpellChecker::.

  • Add a single function for changing the language (handle the bindTextDomain() call also)

++ To discuss

  • Refactor to remove all global variables and other couplings with global state ($_SESSION, $_REQUEST, singleton pattern, etc). We can do this by:

  • Encapsulting request in a request object

  • //Instantiate// master Horde object (e.g. {{$horde = new Horde($config);}})

  • //Instantiate// application object (e.g. {{$app = new Turba($horde,$config);}})

  • Page handling become method object (e.g. {{$page = new Turba_BrowsePage($app, $request); $page->execute();}})

-- JasonFelice