Changelog
=========

Attention: Since version 1.0.0 the CHANGELOG file uses UTF-8 encoding!
Line length limit is now 72 (user-perceived) characters for better
E-Mail compatibility.


1.1.0  2022-05-21  Release
--------------------------

Bug fixes:
- CORE: Authentication without password is now rejected (reported by
  Marcel Logen).
- MAIN: Potential deadlocks in thread-safe replacement functions fixed.
- GUI: State machine modified to avoid race condition when articles are
  marked read while group is not completely loaded yet.

New features and improvements:
- GUI: Option to automatically check for new articles added (an interval
  in minutes can be configured with the new "refresh_interval" entry in
  configfile).
- GUI: Checkbox "Tools->Debug mode" removed. Debug mode must be enabled
  with command line option "-debug".
- NNTP: Protocol logfile is only created if debug mode was enabled (and
  unlinked otherwise, if present). "Tools->Protocol console" window now
  requires debug mode.
- GUI: Support for estimated article count in subscription window added
- GUI: Support for group descriptions in subscription window added
- NNTP: Support for LIST NEWSGROUPS command (RFC 3977) added
- GUI: Support for subscription proposals from server added
  (offered to user after server was changed and group list is empty)
- CORE: Support for subscription proposals from server added
- NNTP: Support for LIST SUBSCRIPTIONS command (RFC 6048) added
- TLS: Support for LibreSSL 3.5 API added
- GUI: File save operations now suggest a pathname in the file selection
  window.
- GUI: File save operations now ask the user before an existing file is
  overwritten.
- CORE: Function added to suggest a pathname (created from home
  directory, program name and timestamp).
- CORE: Message-IDs are now generated with algorithm A3 (uses a modified
  Base64 alphabet with "/" replaced by "-"). This allows to generate
  RFC 5538 conformant "news"-URIs without percent-encoding.


1.0.1  2022-01-03  Release
--------------------------

Bug fixes:
- ENC: Off-by-one read from uninitialized data in MIME encoded-word
  decoder fixed.
- GUI: Clickable references are now restored after ROT13 was applied
  twice.
- GUI: Click on "Cancel" button in server configuration window no
  longer creates an error message in the status bar.
- GUI: "Group->Mark subthread read" now redraws the widget and closes
  the processed subthread (reported by Christian Schumacher)
- GUI: Server configuration: Automatically modify service name when TLS
  is enabled/disabled (suggested by Julien Élie)
- References to legacy configuration path "~/.flnews" fixed in man page

New features and improvements:
- Unicode database updated to version 14.0.0


1.0.0  2021-05-09  Release
--------------------------

Important notes:
- The new configuration data format is not compatible with versions 0.x
  (indicated by the major number bump)!
  A script is provided to automatically convert existing configuration
  data to the new format. Read "migration/README" for details.
- Because the location of the configuration has changed (see new XDG
  module below), the configuration for versions 0.x is preserved.
- It is still possible to downgrade flnews to 0.x, the preserved old
  configuration data is used again in this case.
- Now the release version contains 3 numbers "x.y.z"
  Major (x) indicates compatibility with configuration data
  Minor (y) is incremented for new features
  Patch (z) is incremented for bug fixes

Bug fixes:
- CORE: Request for group information is no longer rejected with error
  if the group list is empty.
- GUI: After unsubscribing the last group, the article tree/list was not
  cleared and the user can click on articles for which the associated
  data no longer exists. Such operations will crash the program
  (reported by Martin Schnitkemper).
- CORE: Line length limit (998 octets) is now checked before injection.
- GUI: On macOS with system menu bar the status updates to menu entry
  "Group->Sort by article number" work now (patch from Dennis Preiser).
  The required method update() is not available with old FLTK 1.3
  libraries, the option CFG_COCOA_SYS_MENUBAR now requires FLTK 1.4.
- ENC: URI percent encoder for scheme  fixed: The characters
  defined as  (RFC 3986 Section 2.2) are now encoded
  (reported by Marcel Logen).
- GUI: The URI parser now accepts empty  for scheme .
- GUI: The current group selection is now restored after a click into
  the empty space below the group list (reported by Christian
  Schumacher).
- GUI: The article list/tree is now cleared after selecting an empty
  group (formerly articles of an unrelated group may still be visible).
- GUI: Some FLTK versions accept selection of deactivated items. There
  is now a workaround implemented to make such selections nonfatal.
- GUI: Horizontal scrolling to highlighted result of search fixed.
- GUI: Use FLTK default forground color for group subscription window
  too. This should make the content readable with dark background
  (reported by Christian Schumacher).
- NLS: German translation "Artikel herunterladen fehlgeschlagen" fixed
  (reported by Marcel Logen).
- GUI: If there are multiple signature separators ("-- ") present, now
  the last one is used according to "Usenet Best Practice" draft 01
  (reported by Marcel Logen).

New features and improvements:
- XDG: Moved default configuration directory to location defined by XDG
  Base Directory Specification 0.7 ("$XDG_CONFIG_HOME/$CFG_NAME").
  Other modules now ask the XDG module for the configuration path.
- MAIN: The new command line option "-confprefix" can be used to
  override the configuration directory (proposed by Helmut Waitzmann).
- GUI: It is now possible to mark all articles in all groups as read
  (menu entry "Group->Mark all groups as read").
- MAIN: New command line option "-debug" to enable debug mode early.
- CONF: configfile entry "domain" replaced with "fqdn". Some users
  saw the hostname field in Message-ID algorithm A1 as privacy problem.
  A  can be configured for the new entry "fqdn" (should be a
  fully qualified domain name, but without root domain). It is used as
   element when a Message-ID is created with algorithm A2.
- Support for SOURCE_DATE_EPOCH Specification 1.1 added to build system.
  Reproducible build option CFG_REPRODUCIBLE removed from CONFIG.
  The SOURCE_DATE_EPOCH variable from the environment now overrides the
  dates in the GUI, the output of the "-v" command line option and the
  man pages (original patch from Bernhard M. Wiedemann).
- Support for target "install-strip" added to build system. The target
  "install" no longer strips unnecessary symbols from binaries
  (proposed by Martin Schnitkemper).
- EXT: Support for external inews added.
  Pathname can be specified with the new "inews" entry in configfile.
- TLS: Protocol versions 1.0 and 1.1 are now disabled as required by
  RFC 8996. Both versions are still available in "weak" encryption mode.
- GUI: New menu entry "Group->Mark subthread as read".
- GUI: If there is only one entity to display for a MIME multipart
  message (e.g. the selected one with multipart/alternative), the
  entity header is now displayed too.
- GUI: An initial greeting phrase can now be specified with the new
  "initial_greeting" entry in configfile. It is inserted into articles
  that start a new thread (proposed by Wolfgang Bauer).
- FUTIL: Function added to create (multiple) missing directories of a
  path.
- FILTER: New scorefile syntax to eliminate the workaround with type
  "extended". All score rules now have a wildmat in the first field.
- FILTER: Simplified default regex for test group detection to
  "\.test$|^test$", removing the ".*" part at the beginning (proposed by
  Urs Janßen).
- POSIX: Support for POSIX.1-2008 and SUSv4 added.
  No local replacement functions are used anymore on modern operating
  systems. snprintf() replacement function now uses SUSv4 semantics.
- ENC: MIME encoded-words are now generated with "US-ASCII" charset
  declaration if there is no 8-bit data to encode in the header field
  (e.g. to represent words like " =?-?= " in a RFC 2049 conformant way).
  This follows the "lowest common denominator" principle decribed in
  RFC 2046 Section 4.1.2.
- TLS: Deprecated functions from OpenSSL 3 API are no longer used.
- GUI: Modified question popup windows to handle pressing ESC key as
  "No" or "Reject" respectively.
- GUI: Some entries moved from menu "Article" to "Group".


EOF