Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 34 additions & 2 deletions Changelog
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,46 @@ Version Changes for Hypermail
HYPERMAIL VERSION 3.0.0
============================

2026-07-15 Jose Kahan
* aclocale.m4 configure.ac
Upgraded to 1.17, 2.72, respectively
Added return type to main for C compiler test in configure.ac

* hypermail.c setup.c setup.h file.c print.c print.h lang.h
Added a new CLI option, -y, to do a dry-run of hypermail, without
generating any archive; it will output to STDOUT the filenames
and associated Message-IDs it would have created.

2024-11-08 Jose Kahan
* src/string.c
Truncate Content-Type and charset field values at first illegal
character

* src/parse.c
Improve integration of libchardet for converting mail header values to
utf-8 / remove compiler warnings

This change let's the parset detect the charset of a message when the
Content-Type: header is missing the charset field or if a header value
is in another charset and it's not encoded using RFC2047. To do so,
the parser calls a function that examines the To:, From: and Subject:
header values and, when they don't have valid ASCII or UTF-8 strings,
if it detects the charset, it will convert the header value to UTF-8
and use that charset for the rest of the message. If it fails to detect
it, it will replace the whole header value with a "(invalid string)"
string.

Fixed compiler warnings as reported by pedantic, unused variables
flags. src/parse.c

2024-11-07 Jose Kahan
* configure.ac, configure
Improve detection of libchardet (system, local dir) and enable
it by default

* pkgconf, libiconv
Make pkgconf and libiconv mandatory for compiling hypermail

2024-11-06 Jose Kahan
* src/hypermail.c
If hypermail was called with its default configuration values,
Expand Down Expand Up @@ -189,7 +221,7 @@ HYPERMAIL VERSION 3.0.0
be taken into account internally (e.g., for threads).

* src/{hypermail.h, struct.c}
When a message/rfc body part contained only a stored
When a message/rfc822 body part contained only a stored
attachment (e.g., text/html), even if the attachment
was being added to the attachments dir, both the message/rfc822
headers and the link to the stored attachment were not being
Expand Down
93 changes: 69 additions & 24 deletions RELEASE_NOTES
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
Hypermail 3.0.0

* IMPORTANT * IMPORTANT * IMPORTANT * IMPORTANT

If you are migrating to 3.0.0 from 2.4.0, please consult the UPGRADE
file.

*** NEW FEATURES
*** NEW FEATURES AND CHANGES

- HTML5

Expand Down Expand Up @@ -63,11 +65,12 @@ anymore.
- Switch to PCRE2

Up to now hypermail had been using PCRE behind the scenes of its
message filtering options (docs/hmrc.html#filters). PCRE being now
at end of life, and is no longer being actively maintained, we have now
updated hypermail to support its successor, PCRE2. If you were using any
of Hypermail's filtering options, we advise you to check out PCRE2's
doc to see if there have been any changes there that may impact you:
message filtering options (docs/hmrc.html#filters). PCRE being now at
end of life, and is no longer being actively maintained, we have now
updated hypermail to support its successor, PCRE2. If you were using
any of Hypermail's filtering options, we advise you to check out
PCRE2's doc to see if there have been any changes there that may
impact you:

https://www.pcre.org/current/doc/html/pcre2pattern.html

Expand All @@ -79,24 +82,30 @@ the future.

- Other configuration option changes

Two new configuration options, "archive_date" and "hypermail_colophon",
allow you choose whether you want to display a line that says when the
archive was generated (only in the indexes) as well as a a line that
states that the archive was generated with hypermail and the
generation date (both in messages and indexes). Both these options may
be considered mutually exclusive as they both display the archive
generation date. You can disable both of them.
Two new configuration options, "archive_date" and
"hypermail_colophon", allow you choose whether you want to display a
line that says when the archive was generated (only in the indexes) as
well as a a line that states that the archive was generated with
hypermail and the generation date (both in messages and indexes). Both
these options may be considered mutually exclusive as they both
display the archive generation date. You can disable both of them.

"empty_archive_notice" will let you customize the markup and text that
is displayed in indices when you're converting a mbox that consists
exclusively of messages that have been annotated as 'spam' or 'deleted'.
exclusively of messages that have been annotated as 'spam' or
'deleted'.

"show_headers_msg_rfc822" will let you customize the list of headers
that you want to be shown in message/rfc822 attachments. If not
defined, hypermail will use the value of "show_headers".

"archived_date" lets you control whether you want to add a line
in the indices giving the date the archive was generated.
"archived_date" lets you control whether you want to add a line in the
indices giving the date the archive was generated.

"ignore_content_disposition" allows you ignore the Content-Disposition
header for a given list of MIME types. This is particularly useful for
old Apple Mail UA that associated Content-Type: attachment with
multipart/appledouble.

Please refer to refer to hmrc.html hmrc.4 or use hypermail -v for a
more detailed description of the configuration options.
Expand All @@ -113,9 +122,25 @@ to.
This new parser has allowed us to better handle message/rfc822 and
multipart/alternative attachments, simplify hypermail's parsing code,
and use better heuristics for determining the charset that will be
associated with a processed message. The new parser also greatly
simplifies adding new markup changes as it allowed to separate the
parsing from the markup generation.
associated with a processed message (some of these heuristics use
libchardet). The new parser also greatly simplifies adding new markup
changes as it allowed to separate the parsing from the markup
generation.

- libchardet

Hypermail now uses libchardet (if installed) to help detect a
message's character set when the message's Content-Type has no
declared charset, header values are not ASCII, and there are not
either RFC2047 encoded.

https://github.com/Joungkyun/libchardet/

- libiconv

Due to the predominance of UTF-8 and the wide availabilty of libiconv,
we have made this library mandatory, rather than optional, for the
compilation of hypermail.

- Compiler warnings and memory leaks

Expand All @@ -126,16 +151,31 @@ Although all major runtime cumulative memory leaks that gcc's
code that were not tested as they depend on the use and combination of
different hypermail configuration options.

- Sample configuration file

An annotated configuration file and related files is now
available in docs/examples/hmrc.conf.

- Other code improvements

Read the Changelog for more details.
Please consult the Changelog

*** UNMAINTAINED FEATURES, USE AT YOUR RISK

It's been a while since Hypermail's support of gdbm (--with-gdbm) for
storing message's metadata and libfnv (--enable-libfnv) for creating
unique filenames have been reviewed and tested.

They're now downgraded to UNMAINTAINED status and may be deprecated in
a future version unless users report they are using them and that they
work as expected.

*** DEPRECATED FEATURES

The configuration variable "indextable", which let hypermail
generate message indexes using tables has been deprecated in favor of
using HTML and CSS. This option has been disabled. The pertaining
code will be removed from the code base in a future release.
The configuration variable "indextable", which let hypermail generate
message indexes using tables has been deprecated in favor of using
HTML and CSS. This option has been disabled. The pertaining code will
be removed from the code base in a future release.

The "quotes" and "finequotes" options are now in the to be deprecated
list. The code that handles these options hasn't been updated or
Expand Down Expand Up @@ -184,6 +224,9 @@ those issue trackers to send your feedback.
- translation of messages: some languagess are behind since years and
need update. Unmaintained languages risk being dropped out in a
future version of hypermail. Issue #78 on github.
All these messages should also probably be converted to UTF-8 and
have hypermail change them on-the-fly and hypermail should require
UTF-8 locales.

- compilation: windows LCC support (not updated, seems very
old). Issue #79 on github.
Expand All @@ -203,3 +246,5 @@ facilitating discussions and work on this version of hypermail.

Thanks to Baptiste Daroussin, Jim (@AverageGuy), @cacsar, @schlomif,
and Andy Valencia (@vandys) for their bug reports and code contributions.

Thanks to @Joungkyun for libchardet and insights into its use and status.
Loading