Skip to content
Mark Overmeer edited this page Dec 22, 2025 · 11 revisions

This wiki is used to follow various MailBox developments.

Version 3 --> version 4

Some parts of the "2025 mid-life upgrade" (see section below) are backwards compatibility breaking. For this, the major numbers of the involved modules will change from 3 to 4. There will still be some maintenance releases for the '3' version of the interface, but new developments will happen in 4.

Involved distributions: HTML-FromMail, Mail-Box, Mail-Box-IMAP4, Mail-Box-POP3, Mail-Box-Parser-C, Mail-Message, Mail-Transport, Object-Realize-Later, and User-Identity; all of these get a dual life on git branch maint3 (major 3 releases) and master (for 4+).

The following compatibility breaking changes were made to these modules:

  • Change error handling to use Log::Report: clean exception framework. Read this page
  • Cleanup of all errors, warnings, etc texts to be more consistent
  • Removal of SpamAssassin coupling: did not support SA 4 and newer anyway

2025 mid-life upgrade

2025 MailBox mid-life upgrade, supported by the NLnet Foundation and Simplelists.com

2025-12-22: project completed, except milestone 6

Locating the changes

The modification were released to the public step-by-step, over the duration of this year. What has changed is listed in the ChangeLog file of each of the involve distributions separately.

Changes to the MailBox suite itself:

  • Mail::Box, releases 3.012, 4.00, 4.01; 81 files changed, 3365(+), 4421(-)
  • Mail::Message, releases 3.018, 3.019, 3.020, 4.00, 4.01; 77 files changed, 3929(+), 5268(-)
  • Mail::Transport, releases 3.006, 3.007, 3.008, 4.00, 4.01; 12 files changed, 509(+), 486(-)
  • Mail::Box::IMAP4, releases 3.010, 4.000, 4.01; 15 files changed, 571(+), 578(-)
  • Mail::Box::POP3, releases 3.008, 4.000, 4.01; 9 files changed, 353(+), 328(-)
  • Mail::Box::Parser::C, releases 3.012, 3.013, 4.00; 4 files changed, 40(+), 171(-)
  • User::Identity, releases 1.03, 3.00, 4.00; 17 files changed, 612(+), 667(-)
  • Oobject::Realize::Later, releases 0.22, 3.00, 4.00; 5 files changed, 201(+), 118(-)
  • HTML::FromMail, releases 3.00, 3.01, 4.00; 73 files changed, 997(+), 2059(-)

Changes to the documentation system

  • OODoc, release 3.00, 3.01, 3.02, 3.03, 3.04, 3.05; 92 files changed, 5635(+), 3012(-)
  • OODoc client, new and not released as packages; 14 files, 3116(+), 0(-)

Improvements to the exception system

  • String::Print, releases 0.95, 0.96, 1.00, 1.01, 1.02; 17 files changed, 1119(+), 357(-)
  • Log::Report, releases 1.41, 1.42, 1.43, 1.44; 73 files changed, 1449(+), 2479(-)
  • Log::Report::Optional, releases 1.08; 9 files changed, 287(+), 160(-)

More modules got changed into the improved documentation system, but those were totally independent from MailBox needs.

Summary

  • All source files were effected, because the license text changed, but also many other files changed. For all above releases, a total of 498 files got changed or created.
  • Except a few bugfix releases, most releases were pretty large and reflected whole mile-stones in development. In total, for this project, 48 releases were made.
  • Lines changed: 20104 lines (-) were replace by 22183 lines (+). At least half of this are documentation lines, which are more efficient now.

TODO

Clone this wiki locally