Breaking changes:
-
bluesky:- Drop
AT_URI_PATTERNin favor oflexrpc.base.AT_URI_RE. to_as1: forapp.bsky.actor.profilerecords, useuri(if provided) asidinstead ofrepo_did.
- Drop
-
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
neventvsnote. The previous behavior, bech32-encoded ids, may still be generated by passingid_format='bech32'tonostr.to_as1. from_as1: replacefrom_protocolkwarg with newproxy_tagkwarg.
- 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
-
Source.postprocess_object:- Drop
mentionskwarg in favor of newas1.expand_tagsandas1.add_tags_for_html_content_linksfunctions.
- Drop
-
pixelfed:- Switch AS1 actor and object ids from
tag:URIs to the real ActivityPub ids.
- Switch AS1 actor and object ids from
Non-breaking changes:
- Add
multiplekwarg to allto_asfunctions, defaulting toFalse. WhenTrue, returns a list of output objects instead of only a single object. Currently only has effect inbluesky.to_as1; details below. as1:targets: exclude hashtags intags.- Add new
is_content_html,convert_html_content_to_text,expand_tags, andadd_tags_for_html_content_linksfunctions.
as2:to_as1: extractsummaryfrompreviewwhen it's aNote.
bluesky:- Support Web Monetization. Convert the AS2
monetizationfield in actors to/fromcommunity.lexicon.payments.webMonetizationrecords.to_as1only returns a single-element dict with keymonetization, not a real AS1 object. - Support new
websiteproperty inapp.bsky.actor.profile,app.bsky.actor.defs#profileViewDetailed, etc. - Convert AS1
blockofapp.bsky.graph.listat://URI to/fromapp.bsky.graph.listblockrecord. from_as1:- When
multiple=True, returns a list of output records. - When converting an actor to
app.bsky.actor.profilewith amonetizationproperty, andmultiple=True, include acommunity.lexicon.payments.webMonetizationrecord in the list. - When converting an article and
multiple=Trueorout_type='site.standard.document', include asite.standard.documentrecord. - Add support for converting actors to
site.standard.publicationwithout_type='site.standard.publication'. - Add
dynamic_sensitive_labelskwarg for choosing label other thangraphic-mediabased on keywords insummary. - For
articles, convert HTMLcontent,summary, andpreview.contentmore consistently to plain text and facets. - For
notes andarticles, when a hashtag incontentis dropped due to truncation, populate it into the standalonetagsfield.
- When
to_as1:- Add new
clientkwarg, paralleling the existing one infrom_as1.
- Add new
- Support Web Monetization. Convert the AS2
mastodon:status_to_as1_object: bug fix for whenmention.urlis explicitly null.
nostr:- Add support for
d(id) tags with kind 30023 (article) events. - Add support for NIP-27 user mentions to both
to_as1andfrom_as1. from_as1:- Bug fix for when
inReplyTois an object with anauthorfield. - Bug fix for reposts (
shares) with compactedobject. - Support
objectType: comment. - Always set
created_atto the current time, which some relays require, instead of the input object'spublished. - Always include
altelement, even if it's blank, inimetatags for images and videos. (NIP-92 requiresimetatags to have at least one field besidesurl.) - Try harder to sniff whether
contentis HTML or plain text.
- Bug fix for when
to_as1:- Add new
id_formatkwarg for choosing between hex and bech32-encoded ids. - Add new
nostr_uri_idsboolean kwarg for whether to prefix ids withnostr:. - Add
authorwhen converting user relays events (kind 10002). - Populate
url/urlsfield for more object types, using njump.me URLs. - Add
content_is_htmlproperty. - Bug fix for NIP-92
imetatags withoutm(MIME type) tag.
- Add new
- Rename
user_urltoobject_url, expand to accept any NIP-19, NIP-05, or hex id.user_urlis kept as an alias. web_url_to_at_uri: addapp.bsky.graph.listsupport.bech32_decode,bech32_encode: add TLV support, error handling.- Bug fix for converting reposts, both directions.
- Add support for
rss:to_as1: bug fix for multiple categories.- Add
CONTENT_TYPE_RDF.