Skip to content

v10.0:

Latest

Choose a tag to compare

@snarfed snarfed released this 08 Feb 17:10
· 109 commits to main since this release
f983f9a

Breaking changes:

  • bluesky:

    • Drop AT_URI_PATTERN in favor of lexrpc.base.AT_URI_RE.
    • to_as1: for app.bsky.actor.profile records, use uri (if provided) as id instead of repo_did.
  • nostr:

    • Switch default AS1 actor and object ids from bech32-encoded to hex. This avoids confusion when the same id is bech32-encoded with a different prefix, eg nevent vs note. The previous behavior, bech32-encoded ids, may still be generated by passing id_format='bech32' to nostr.to_as1.
    • from_as1: replace from_protocol kwarg with new proxy_tag kwarg.
  • Source.postprocess_object:

    • Drop mentions kwarg in favor of new as1.expand_tags and as1.add_tags_for_html_content_links functions.
  • pixelfed:

    • Switch AS1 actor and object ids from tag: URIs to the real ActivityPub ids.

Non-breaking changes:

  • Add multiple kwarg to all to_as functions, defaulting to False. When True, returns a list of output objects instead of only a single object. Currently only has effect in bluesky.to_as1; details below.
  • as1:
    • targets: exclude hashtags in tags.
    • Add new is_content_html, convert_html_content_to_text, expand_tags, and add_tags_for_html_content_links functions.
  • as2:
    • to_as1: extract summary from preview when it's a Note.
  • bluesky:
    • Support Web Monetization. Convert the AS2 monetization field in actors to/from community.lexicon.payments.webMonetization records. to_as1 only returns a single-element dict with key monetization, not a real AS1 object.
    • Support new website property in app.bsky.actor.profile, app.bsky.actor.defs#profileViewDetailed, etc.
    • Convert AS1 block of app.bsky.graph.list at:// URI to/from app.bsky.graph.listblock record.
    • from_as1:
      • When multiple=True, returns a list of output records.
      • When converting an actor to app.bsky.actor.profile with a monetization property, and multiple=True, include a community.lexicon.payments.webMonetization record in the list.
      • When converting an article and multiple=True or out_type='site.standard.document', include a site.standard.document record.
      • Add support for converting actors to site.standard.publication with out_type='site.standard.publication'.
      • Add dynamic_sensitive_labels kwarg for choosing label other than graphic-media based on keywords in summary.
      • For articles, convert HTML content, summary, and preview.content more consistently to plain text and facets.
      • For notes and articles, when a hashtag in content is dropped due to truncation, populate it into the standalone tags field.
    • to_as1:
      • Add new client kwarg, paralleling the existing one in from_as1.
  • mastodon:
    • status_to_as1_object: bug fix for when mention.url is explicitly null.
  • nostr:
    • Add support for d (id) tags with kind 30023 (article) events.
    • Add support for NIP-27 user mentions to both to_as1 and from_as1.
    • from_as1:
      • Bug fix for when inReplyTo is an object with an author field.
      • Bug fix for reposts (shares) with compacted object.
      • Support objectType: comment.
      • Always set created_at to the current time, which some relays require, instead of the input object's published.
      • Always include alt element, even if it's blank, in imeta tags for images and videos. (NIP-92 requires imeta tags to have at least one field besides url.)
      • Try harder to sniff whether content is HTML or plain text.
    • to_as1:
      • Add new id_format kwarg for choosing between hex and bech32-encoded ids.
      • Add new nostr_uri_ids boolean kwarg for whether to prefix ids with nostr:.
      • Add author when converting user relays events (kind 10002).
      • Populate url/urls field for more object types, using njump.me URLs.
      • Add content_is_html property.
      • Bug fix for NIP-92 imeta tags without m (MIME type) tag.
    • Rename user_url to object_url, expand to accept any NIP-19, NIP-05, or hex id. user_url is kept as an alias.
    • web_url_to_at_uri: add app.bsky.graph.list support.
    • bech32_decode, bech32_encode: add TLV support, error handling.
    • Bug fix for converting reposts, both directions.
  • rss:
    • to_as1: bug fix for multiple categories.
    • Add CONTENT_TYPE_RDF.