Skip to content

v4.3.1

Choose a tag to compare

@github-actions github-actions released this 08 Oct 10:44
· 166 commits to main since this release
b1c7435

Internal

  • Releases are published to npm from CI with provenance (#112), via trusted publishing from a v<version> tag on main.

Fixed

  • npx -y dav-mcp starts on npm 12 (#100). npm 12 refuses git and
    remote-tarball dependencies by default, and dav-mcp installed tsdav
    from a GitHub Release tarball and tsdav-utils from git, so npx failed with
    EALLOWREMOTE before the server started. Both now come from the npm registry
    as @philflow/tsdav 2.4.0 and @philflow/tsdav-utils 0.4.1, installed under
    their old names. CI installs and starts the packed package with npm 12
    defaults.
  • Quoted-printable contacts are decoded (#103). vCard 2.1 cards from
    Outlook and Android exports encode non-ASCII text as
    ENCODING=QUOTED-PRINTABLE; they were shown as "Hans M=C3=BCller" and a
    search for "müller" missed them. Such values are now decoded in their
    CHARSET (UTF-8, ISO-8859-1, windows-1252, …; a missing or unknown one
    is read as UTF-8, and bytes that are not valid UTF-8 as windows-1252), soft
    line breaks included, for the contact list and the filters alike.
  • vCard 2.1 commas and backslashes are read as text (#103). Only \; is
    an escape in vCard 2.1, but cards were read with 3.0 escaping, so
    N:Mueller, Jr.;Hans showed two family names. Quoted-printable text in a
    3.0 or 4.0 card (where some exporters still write it) is read by the same
    2.1 rules once decoded, so C:=5Cnew stays C:\new there too.
  • update_contact writes a vCard 2.1 card back as vCard 3.0 (#103). It
    used to edit the stored 2.1 text: a new value kept the line's
    ENCODING=QUOTED-PRINTABLE (and read back altered, or swallowed the next
    line), the other lines stayed encoded, and a card with a bare parameter
    (TEL;CELL:) or a soft line break could not be edited at all. The card is
    now edited as it is read and written as the 3.0 card that says the same,
    decoded, which is the version every CardDAV server accepts (sabre/dav,
    i.e. Baïkal and Nextcloud, refuses 2.1). Whitespace inside a BASE64 or
    b value (2.1 lets exporters indent it) is removed when it is written.