Skip to content

Releases: AlphaJack/mercurio

v0.2.1

Choose a tag to compare

@AlphaJack AlphaJack released this 22 Oct 09:56
420d8ce

Fixed

Services

  • wipe every copy of the PKCS#1 key built for RSA signing (#102)

Other

Lib

  • drop redundant clones, for_each, match-to-unwrap and constant flags (#103)
  • mark Param #[non_exhaustive] (#106)
  • mark methods returning Self #[must_use] (#104)

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 11:38
2ebacd2

Added

Cli

  • adding -T / --theme for the {THEME} of image URLs (#40)

Lib

  • breaking: expand :shortcode: emoji (-j, ?emojis=, interpret_emojis) (#37)
  • breaking: storage modes auto, flush and memory (-SM) (#35)
  • breaking: configurable URL id length and salt (-SUL) (#34)
  • breaking: run delivery on an async core with a default tokio transport (#15)
  • breaking: per-request body limit; attachments stop at their limit (#42)
  • breaking: escalate tag priority groups and honor -g tag:N (#36)
  • bundle the time zone database by default (#82)
  • report each URL as it finishes with notify_with_progress (#31)
  • checksum persistent cache entries as in apprise (#54)
  • give AsyncMercurio the same API as Mercurio (#29)

Serve

  • receive alertmanager and grafana webhooks on /notify (#67)
  • per-view latency, body size, streaming and process metrics (#47)
  • prune old storage and unused logins on a schedule (#46)
  • add a json log format (--log-format json) (#33)
  • return and stream the library's own log lines (#32)

Server

  • add ctrl-c support (#8)

Services

  • breaking: one cargo feature per service (#12)
  • breaking: native d-bus client for dbus, glib and gnome (#57)
  • breaking: use consistent service names (#13)
  • generate pgp keys and send the autocrypt header (#86)
  • look pgp keys up in the recipient's web key directory (#85)
  • encrypt e-mail and delta chat with pgp (#84)
  • sign e-mail and delta chat with pgp (#81)
  • upload the notify-type image to telegram as apprise does (#75)
  • check matrix cross-signing before sharing room keys (#74)
  • seal matrix e2ee state at rest (#72)
  • scram-plus channel binding for xmpp (#71)
  • accept compressed p256dh keys in VAPID subscriptions (#52)
  • http(s) key and subscription files for VAPID (#51)
  • http(s) templates for Telegram, Slack and Workflows (#50)
  • feed Telegram and Matrix rate-limit hints into ?retry= (#27)
  • add file:// destination (#11)

Fixed

Cli

  • skip cached files modified within the last 2 s (#100)
  • log sends to stdout as Apprise does (#55)

Serve

  • install signal handlers before announcing the listener (#30)

Lib

  • share one send budget between both notifiers (#18)
  • cap concurrent sends at 128 per process (#10)

Services

  • keep Mastodon and Twitter account lookups across sends (#48)
  • keep %2F encoded in json, xml and form paths (#44)
  • keep rate-limit budgets across sends (#38)

Other

  • drop the per-entry intentional markers from the service docs (#77)
  • write the differences as prose instead of arrows (#61)
  • drop statements left over from the blocking core (#26)
  • rename Differences to Differences with Apprise (#25)

Cli

  • drop the Args copy of clap's options (#28)
  • use tracing-subscriber for every command (#20)
  • dispatch on a command enum instead of strings (#19)

Lib

  • breaking: move config and attachment detail types into modules (#98)
  • breaking: move transport and service-author types into modules (#95)
  • breaking: mark the report and plan structs non-exhaustive (#94)
  • breaking: replace the notify variants with NotifyOptions (#93)
  • breaking: replace reqwest with an in-house HTTP/1.1 client (#91)
  • breaking: share attachment data instead of copying it (#73)
  • breaking: share message and request bodies instead of copying them (#69)
  • breaking: mark public enums non-exhaustive (#17)
  • breaking: name the Target send methods after what they return (#96)
  • breaking: give each notifier its own service registry (#92)
  • fence internal modules behind __private (#23)
  • move date helpers from crypto to time (#22)
  • replace md-5, async-lock and thiserror with in-house code (#97)
  • expect every file to be executable on windows (#90)
  • write more services from the borrowed message (#83)
  • move the remaining JSON services to the borrowed message, review e-mail and mqtt (#79)
  • write service payloads from the borrowed message (#78)
  • write json, form and xml bodies from the borrowed message (#70)
  • derive error's display and source with thiserror (#63)
  • read the clock and randomness from the transport's Env (#39)
  • split notify.rs into target, report and notify (#21)

Release

  • add apprise tag to crates (#89)

Serve

  • copy request bodies less and cap the bytes read at once (#56)
  • stop test servers gracefully (#49)
  • cache stored configurations and logins behind a stat check (#24)
  • use idiomatic axum and tower, validate against apk (#16)

Services

  • drop p256 and aes-gcm for ring and in-house code (#99)
  • split pgp and matrix e2ee into modules (#88)
  • make the socket protocols sans-IO (#43)

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 18 Oct 11:11
735ad02

Fixed

  • include README in crates.io packages (#5)

Other

  • add license notice (#1)

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 18 Oct 09:21
1ba129a

Fixed

  • (ci) clippy 1.99 lints, desktop snapshots, Windows paths, cargo-deny wrapper (#2)

Other

  • Move to public repository