# changelog

author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to snapshot 1.11.27.a6e29ae
    * Add user altname support
    * Add Univention LDAP template
    * cli: Add exmdb folder create and delete commands
    * cli: Add LDAP group import


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 1.15
    * Detect failed folder delete on device remove
    * CLI: add user altname management
    * Add password reset functionality


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to snapshot 1.17.4 (2d980ab)
    * Add smtpaddress mapping for ActiveDirectory
    * Add Web/EAS/DAV privilege bit twiddling support
  - Enable multipython build


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to tag v28
  - Use nginx load_module fragments rather than patching nginx.conf
    directly from a scriptlet


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to snapshot grommunio-dav-1.2.0.9976bca
    * set a default value for the errcontext parameter to support php 8.0+
    * build: update logrotate parameters


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to snapshot 3.2.43.7ebf7d9
    * Fix all-day events spanning over two days
    * Change default sort order for search results
    * rules: do not filter shared private stores


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 3.3
    * Freebusy is determined using mapi_getuserfreebusy PHP
      function introdued in Gromox-2.11
    * The Menu key is now usable to call up thecontext menu in the
      content table
    * Copy-to-trash had erroneously moved the mail
    * Rules dialog no longer hides shared stores


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 3.5
    * Modern authentication system using keycloak openID Connect
      workflow
    * Style updates
    * Remove incorrect filtering of PNG ressources
  - Update to snapshot 3.5.1.31715c1e
    * Duplicate folder autorenaming on deletion now uses
      parenthesized counters


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 3.11
    * Do not collapse the mail list view to invisibility, instead now
      mail preview
    * Correct all day event on wrong day for non-proper MAPI elements
      without TZ (Kopano migrations)
    * Introduce new plugin for integration with Kendox InfoShare


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 3.12
    * Allow using distribution lists stored in IPF.Contact folders
      in public stores


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 2.41
    * ldap_adaptor: plug two memory leaks
    * exmdb: plug a memory leak related to subscription destruction
    * oxcical: do process TRIGGER duration value type for reminders
    * midb: resolve flakey update of flagged/replied/forwarded status
    * midb: when a MAPI message has changed and requires a new
      IMAPUID, convey the expunge of the old IMAPUID much sooner to
      IMAP clients
    * pop3: resolve a NULL deref/crash during RETR command
    * imap: restore SEARCH command looking at right portion of a
      QP-encoded message
    * mkprivate: new message stores now have `frightsVisible` set
      on the calendar folder


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 2.42
    * exmdb_local: plug memory leak resulting from RPC execution
    * alias_resolve: plug memory leak resulting from GAB refreshes
    * alias_resolve: avoid unnecessary GAB refresh on shutdown
    * oxdisco: recognize /mail/config-v1.1.xml URI
    * New internal addressbook implementation backing the
      NSPI-provided and Zcore-provided AB functionality


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 2.43
    * oxm2mt: support embedded messages
    * mysql_adaptor: add TLS connection config directives
    * imap: reduce memory footprint when FETCHing messages
    * imap: resolve shutdown ordering crash
    * exmdb: upgrade 0-length PR_ENTRYIDs to fake 1 byte to soothe
      Outlook Cached Mode syncer


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 2.44
    * mysql_adaptor: do not fail organization-level GAL population
      when a domain belonging to the org has zero members
    * gab: resolve assertion when traversing GAL
    * mysql_adaptor: fix OOB when reading PT_DOUBLE entries from
      user_properties
    * emsmdb: fix OOB write when computing PR_MAILBOX_OWNER_NAME_A
    * mbop: make clear-profile nuke all profile parts again


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 2.45
    * emsmdb: avoid emissions of PR_MESSAGE_SIZE in fastdownctx
      streams (this makes PST export possible).
    * email_lib: fix a lost space in IMAP BODYSTRUCTURE response.
    * mysql_adaptor: add support for nesting mlists in permission
      checks.
    * Recognize the IANA Character Set names `utf-16le`, `utf-16be`
      (and 32) when converting from RFC5322 to MAPI.


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 2.46
    * cgkrepair: detect Change Keys with impossibly high values
    * cgkrepair: retain a PCL's foreign XIDs
    * ical2mapi: support FREQ=MONTHLY recurrences using BYDAY= but
      no BYSETPOS= * mt2exm: the -B option now supports numeric
      identifiers
    * ical2mapi: expand E-2718 error into new codes E-28xx with
      extended reason
    * imap: allow '%' '*' and '?' in folder names
    * daemons: the default log destination is now "automatic"
      (stderr/syslog autodetect) rather than "stderr"
    * mapi2ical: deal with strange allday events that do not
      start/end on midnight
    * htmltotext: w3m is now instructed on charsets and does not
      need to guess anymore
    * exch: value for the PR_MAX_SUBMIT_MESSAGE_SIZE property was
      off by a factor of 1024, which has been fixed
    * mkprivate/mkpublic: generate a PR_MAPPING_SIGNATURE value
      distinct from PR_STORE_RECORD_KEY for newly-initialized
      stores
    * ical2mt, vcf2mt: messages are no longer emitted with an
      anchor, which now allows free placement with mt2exm -B
    * ical2mapi: ignore unreasonable requests like BYMONTHDAY=32


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 2.47
    * oxdisco: support RFC 6764 well-known endpoints for
      CalDAV/CardDAV (if not running grommunio nginx config in front)
    * oxcical: try to handle ICS files with missing VTIMEZONE blocks
    * oxcical: support YEARLY recurrences with BYDAY without BYSETPOS
    * imap: offer $Forwarded keyword for APPEND/STORE commands
    * nsp: remove meaningless session_check directive; no longer
      erroneously reject requests after daemon received SIGHUP
    * oxcical: avoid setting out-of-spec MAPI recurnum for
      FREQ=MONTHLY,BYDAY= recurrences
    * oxcical: fix wrong BYMONTH calculation for MONTHNTH recurrences
      being exported to iCal
    * midb, imap: make EXPUNGE synchronous so that old UIDs don't
      reappear in a subsequent FETCH
    * midb: respect setting \Deleted, \Answered, \Flagged during APPEND
    * exmdb: resolve a case of "INSERT INTO t... UNIQUE constraint
      failed" log message
    * exmdb: stop losing RFC5322 representation when a message is
      copied
    * HTML-to-Text conversion using w3m suffered from an encoding
      mismatch, which was fixed.


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 2.48
    * gromox.cfg now has a ``ruleproc_debug`` directive (applies to
      the TWOSTEP Processor only)
    * ews: repair a nullptr dereference from the OOF XML change
    * exmdb: make EXRPC write_message_v2 fill in return MID/CN values
    * ab_tree: restore filtering of objects with AB_HIDE_FROM_GAL
      for NSP (this was lost in a Global Address Book provider
      rewrite in 2.40)


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 3.0
    * eml2mt now transmits the RFC5322 representation into the
      message store.
    * midb now transmits the RFC5322 representations of messages
      created via IMAP into the message store.
    * oxcical: implement support for VTODO and VJOURNAL.
    * mbop: add "freeze" and "thaw" commands.
    * mbop: support UTC/zone suffixes for getfreebusy -a/-b
      arguments.
    * exmdb: new config directive ``exmdb_eph_prefix`` to put
      ephmeral files like tables.sqlite3 on a local disk.
    * exmdb: add a time index over messages to speed up common cases
      of grommunio-web GetContentsTable requests.
    * oxdisco: the AutoConfig mechanism now emits an EWS server
      information block.
    * oxcical: iCal events with a date in DTSTART & DTEND but without
      X-MICROSOFT-CDO-ALLDAYEVENT are now transformed into Allday
      events even if the event is longer than one day.
    * delivery: emit MDN-RRT messages even with
      ``lda_twostep_ruleproc`` is set.
    * oxdisco: AutoConfig XML now features the incomingServer type
      parameter in the right place.
    * oxdisco: AutoConfig now emits outgoing server port 587 as type
      smtp.
    * ruleproc: auto-enter MRs into target calender even if the
      sender is not going to get a response.
    * ews: Avoid sending multiple ``<?xml ?>`` lines into the
      notification stream HTTP response body.
    * ews: trim "duplicate" recipients when a newly-created item has
      recipients in both <mimeContent> and <To>/<Cc>.
    * ews: prevent FAI messages from polluting the Normal Message Set
      during ICS.


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 4.23
    * io: use smaller chunks with sendfile(2) to work around
      unusual API behavior
    * io: make HX_copy_file() utilize copy_file_range when available


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 4.24
    * io: resolve use-after-free and out-of-bounds writes in
      conjunction with ``HX_realpath``
    * io: add ``HX_getcwd`` function


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 4.25
    * New headers endian.h and scope.hpp
    * New define HXSIZEOF_UNITSEC64 for the maximum output size of
      HX_unit_seconds


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 4.26
    * Resolve integer truncation in HX_unit_seconds's output when the
      result were to exceeded 2^32 years or months or weeks.


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 4.28
    * string: make HX_strtoull_sec support some ISO 8601 periods
    * string: add function HX_strtoull8601p_sec
    * opt: new getopt API that facilitates iterating over options and
      non-options and doing away with unnecessary memory allocations
    * opt: the implementation for the HXOPT_PTHRU flag was deleted
      (its use will now be rejected by the parser)


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 5.0
    * getopt6: new function set ``HX_getopt6`` which allows for
      parsing options with an iterative style.
    * getopt6: the result set no longer forces strdup-ed results on
      the user.
    * Deleted functions ``HX_getopt``, ``HX_getopt5`` (use
      ``HX_getopt6`` instead), ``HX_strnlen`` (use ``strnlen``
      instead), ``HX_strsep`` (use ``strtok_r`` instead),
      ``HX_stpltrim`` (no replacement).
    * The struct members ``HXclist::items``, ``HXdeque::items``,
      ``HXmap::items`` have changed from ``unsigned int`` to
      ``size_t``. The function ``HXdeque_to_vec`` has accordingly
      changed the result parameter type.


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 5.1
    * getopt6: ``HXTYPE_STRP`` can now be used for HXoption::type
      for argument assignment without incurring strdup.
    * map: resolve corruption of HXmap::items field.


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 20231120
    * Table lookup was reworked
    * Build system changes related to Python


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 20231130
    * RTF body decompression used wrong argument order, now fixed
    * Improved Python Unicode handling


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to snapshot 0.9.2+git188 (c3c6242ed)
    * Fix emission of bugs Envelope-From to sendmail:// transports.
    * Add parsing feedback via parsingContext
  - Drop 0001-Avoid-generating-illegal-Envelope-From-with-sendmail.patch
    (merged)


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to snapshot 0.9.2+git191 (d03ad5f0)
    * url: fix an off-by-one error in parsing hostnames
    * url: strip leading slash from url-path
    * Support FIPS under OpenSSL 3


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to snapshot 0.9.2+git196 (d296c2d)
    * vmime: prevent loss of a space when a multi-word mailbox name
      contains an umlaut


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to snapshot 0.9.2+git203 (43b262bd)
    * another potential multiplication overflows
    * build: upgrade to C++17 when ICU is used
    * Fix a test failure in testNewFromString and
      pathTest::testGenerate


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Switch upstream location from vmime to wmime
  - Update to release 1.0.0
    * No further changes from last snapshot (0.9.2+git203)
  - Drop libvmime-soname.diff (merged in 1.0.0)
  - Rename libvmime-nodatetime.diff to nodate.patch


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to tag 1.1 (70e984f)
    * Add a prefix to the CAL_DEFAULT and CAL_GREGORIAN constants to
      avoid runtime conflict with php-calendar
    * Remove mapi_strerror since it was moved to Gromox/PHP-MAPI


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 1.2 (0db2832)
    * Rename CAL_DEFAULT to MAPI_CAL_DEFAULT
    * Do not mark meeting requests as read
    * Add freebusy permission bits to mapidefs
    * Define MAPIException::setNotificationType()


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 1.4
    * Conditionally provide
      ``PR_EC_WEBAPP_PERSISTENT_SETTINGS_JSON``,
      ``PR_EC_RECIPIENT_HISTORY_JSON`` if they is not already made
      available from mapi.so
    * Occurrence exceptions are treated as localtime
    * Fix erroneous end time for never-ending recurrences
    * Fix duplicate participants appearing in meeting objects
    * Do not process meeting requests locate in the "Sent Items"
      folder


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 1.5
    * Added defines for USER_PRIVILEGE bits exposed through
      PR_EC_ENABLED_FEATURES_L.
    * Fix invited participants disappearing from meetings when
      their tracking status is cleared.


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 5
    * Do away with %sysusers_generate_pre, it is not needed because
      system-user-gromox.%post runs before gromox.%pre anyway.


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 6
    * Switch back to %sysusers_generate_pre because systemd-sysusers
      is not present in buildroots.


author: jengelh@inai.de
changelog:
  - Update to new upstream release 1.4.13
    * Prevent against various cases of null derefences,
      buffer overshooting, and fix some integer overflows.


author: asterios.dramis@gmail.com
changelog:
  - Update to version 1.4.15:
    * Fix underflow problem (boo#1038837 CVE-2017-8911)
      https://github.com/verdammelt/tnef/issues/23
    From version 1.4.14:
    * Use __builtin_mul_overflow when available.
    * Fixing Unicode related bugs introduced in previous release.
      https://github.com/verdammelt/tnef/issues/20


author: asterios.dramis@gmail.com
changelog:
  - Update to version 1.4.17:
    * Fix embarrassing version number problem.
    From version 1.4.16:
    * Several documentation fixes.
    * Small bug fix for UUID assertion.


author: Gagah Pangeran <gagahpangeran29@gmail.com>
changelog:
  - update to 1.22.21:
    https://github.com/yarnpkg/yarn/releases/tag/v1.22.20
    https://github.com/yarnpkg/yarn/releases/tag/v1.22.21


author: Avindra Goolcharan <avindra@opensuse.org>
changelog:
  - update to 1.22.22:
    * Fix a hoisting issue when transitive dependencies themselves
      listed aliases as dependencies
    * Fix a punycode warning


