| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-07-02 | 5.3 kB | |
| v11.0 source code.tar.gz | 2026-07-02 | 1.5 MB | |
| v11.0 source code.zip | 2026-07-02 | 1.7 MB | |
| Totals: 3 Items | 3.2 MB | 2 | |
Breaking changes:
as2- Rename
link_tagstorender_content, and expand it to also HTML-escape plain textcontent, convert newlines to<br>, and convert leading spaces to . It now renders even when there are no indexed tags. The inlineRE: ...link for a quoted post is now rendered here too. (bridgy-fed#990 from_as1: Stop rendering inlineRE: ...link for quoted posts.nostr:verifynow raisesValueErroron failure instead of returningFalse.- Rename
signtohash_and_sign. reddit:- Remove deprecated
Reddit.praw_to_actor,user_to_actor,praw_to_object, andpraw_to_activitymethod aliases.
Non-breaking changes:
- Packaging: migrate from
setup.pytopyproject.toml. - Start on Farcaster support! ([snarfed/bridgy-fed#447](https://github.com/snarfed/bridgy-fed/issues/447)).
- Speed up
to_as1conversions: parse HTML content lazily inSource.postprocess_object(only whenfirst_link_to_attachmentis set), drop a redundanttrim_nullspass inas2andnostrto_as1, and copy the input via JSON round trip instead ofcopy.deepcopyinas2.to_as1([snarfed/bridgy-fed#2488](https://github.com/snarfed/bridgy-fed/issues/2488)). as1:- Bug fix for converting HTML content to plain text when it includes square brackets (
[and]) ([snarfed/bridgy-fed#1605](https://github.com/snarfed/bridgy-fed/issues/1605)). - Optimize
is_content_htmlto avoid full HTML parsing in most cases, eg whencontenthas no<or&characters. targets: don't add trailing slashes to output targets.as2address: fix handling of actor ids with a path prefix, eg Mastodon's newhttps://a.b/ap/users/123style.from_as1:- Preserve the input object's
@contextfield, and extend it, instead of overwriting it.
- Preserve the input object's
to_as1:- Handle multiply-valued
content. - Handle
nullelements inattachment. - For
UndoFollowactivities, populate the innerFollow's id (if any) in a newfollowIdfield on the resultingstop-followingactivity (snarfed/bridgy-fed#1631).
- Handle multiply-valued
atom:from_as1:- Include entry tags as
<category>elements. - If an object or activity doesn't have
url, fall back toidfor populatinglink rel="self".
- Include entry tags as
bluesky:- Convert
applicationandserviceactors to/from the Blueskybotself-label. from_as1:- Support Payment Pointers in actors'
monetizationproperty. If that value starts with$, eg$wallet.com/user, it's converted tohttps://, eghttps://wallet.com/user. - De-dupe
tagsin outputsite.standard.documentrecords. - Limit DM (
chat.bsky.convo.defs#messageInput) output to record embeds only, not other types. - Convert raw domains in
mentiontags to home page URLs inapp.bsky.richtext.facet#link.uri. - Posts with more than 4 images now use
app.bsky.embed.galleryinstead ofapp.bsky.embed.images.
- Support Payment Pointers in actors'
to_as1:- Add support for
site.standard.documentrecords, converting them to AS1articleobjects. - Add support for
site.standard.publicationrecords, converting them to AS1personobjects. - Populate
widthandheighton AS1 image objects fromaspectRatioinapp.bsky.embed.imagesandapp.bsky.embed.images#viewembeds. - Support
app.bsky.embed.galleryandapp.bsky.embed.gallery#viewembeds. - Join multiple content warnings with
;instead of<br>because Mastodon doesn't support HTML insummary.
- Add support for
- New
Bluesky.from_auth(auth_entity, client_metadata=None)classmethod: creates aBlueskyinstance from anoauth_dropins.bluesky.BlueskyAuthentity, handling both legacy app password sessions and OAuth DPoP tokens. microformats2:from_as1: convertstream.duration(int seconds) to ISO 8601 duration string for thedurationmf2 property; also accept ISO 8601 strings passed through from AS1.to_as1: fixquotation-ofh-cite attachments to haveobjectTypenote, enabling correct quote post conversion to ActivityPub ([snarfed/bridgy-fed#1146](https://github.com/snarfed/bridgy-fed/issues/1146)).nostr:from_as1: fix crash when converting anarticleobject with noid.to_as1:- Support NIP-71 video events (kinds 21, 22, 34235, 34236), converting them to notes with video attachments. Also extracts
imetaimage(thumbnail) andduration, the top-levelpublished_attag, and the top-levelalttag (as a fallbackdisplayNameon the first video/audio attachment). - Stop converting Nostr
summaryto AS1summary.
- Support NIP-71 video events (kinds 21, 22, 34235, 34236), converting them to notes with video attachments. Also extracts
Nostrconstructor: raiseValueErroron invalid relay URL.Nostr.query: skip NIP-42 AUTH challenge gracefully when noprivkeyis set.
Migrate tests from mox3 to unittest.mock.