Breaking changes:
as2
:from_as1
: InLink
objects (includingTag
s andMention
s), converturl
tohref
. Before this, we left it asurl
, which was incorrect AS2.
Non-breaking changes:
Standardize function and method names in all modules to to_as1
, from_as
, etc. Old method names are now deprecated but won't be removed until at least v9.0, if not later.
as1
:- Add new
is_dm
,recipient_if_dm
,get_id
, andis_audience
functions.
- Add new
as2
:- Add
sensitive
,indexable
, anddiscoverable
support. - Add new
is_server_actor
function (FEP-d556, discussion). from_as1
:- Always convert images to objects with
type: Image
, never to bare string URLs (bridgy-fed#/1000). - Bug fixes for converting links to facets when the link text is the link URL.
- Always convert images to objects with
to_as1
:- Handle other types of tags better, eg non-standard
Hashtag
and innertag
field for name. - Bug fix for videos,
mimeType
goes in outer object, not instream
. - Bug fix for
to
/cc
with mixed dict and string elements.
- Handle other types of tags better, eg non-standard
link_tags
: addclass="mention"
forMention
tags (bridgy-fed/#887).
- Add
atom
:atom_to_activity/ies
: Get URL fromlink
for activities as well as objects. (Thanks @imax9000!)
bluesky
:- Translate Bluesky
app.bsky.feed.post#langs
to/from AS1contentMap
(which isn't officially part of AS1; we steal it from AS2). - Translate AS2
sensitive
on posts to Blueskygraphic-media
self label, and many Bluesky self labels back tosensitive
with content warning(s) insummary
. - Translate AS1/2 DMs to/from Bluesky chats.
- Translate video embeds in posts.
create
/previewCreate
:- If
inReplyTo
isn't a Bluesky URL or AT URI, returnCreationResult
instead of raisingValueError
.
- If
from_as1
:- Convert
article
s to external embeds with no post text. - Add new
as_embed
boolean kwarg to do the same thing for any object. - When truncating and adding a link to the original post, use
id
ifurl
is not available (snarfed/bridgy-fed#1155). - If the input object has
inReplyTo
orobject
ortarget
with no recognizable ATProto or Bluesky object, raiseValueError
. - Omit images that aren't in
blobs
. - Bug fix for quote posts with text content that's longer than Bluesky's limit (snarfed/bridgy-fed#1197).
- When a
flag
has multiple objects, use the first one that's an ATProto record. - Handle URLs more carefully, don't add link facets with invalid
uri
s. - Populate
blobs
into external embedthumb
s. - Parse image blobs and add
aspectRatio
to image record. - Bug fix: handle HTML links with
title
incontent
correctly. - Bug fix: handle attachments with no
id
orurl
.
- Convert
to_as1
:- Extract links from
app.bsky.actor.profile#description
and#summary
intourl
/urls
fields. - Bug fix: first URL (singular) goes in
url
, list of URLs goes inurls
. - Bug fix: handle hashtags with regexp special characters.
- Support string and bytes CIDs in blob
ref
s as well asCID
instances. - Link hashtags to bsky.app hashtag search pages (bridgy-fed#1634).
- Extract links from
Bluesky.get_activities
: skip unknown record types instead of raisingValueError
.
- Translate Bluesky
microformats2
:object_to_json
: Improve handling of items with multiple types by removinginReplyTo
from likes, shares, etc (snarfed/bridgy-fed#941).to_as1
: don't crash on integer UNIX timestamps inpublished
andupdated
.
rss
:- Support image enclosures, both directions.
from_as1
:- Bug fix: remove use of default
author
value'-'
since RSS spec requires author values to include valid email addresses.
- Bug fix: remove use of default
source
:Source.postprocess_object
: add newfirst_link_to_attachment
boolean kwarg to fetch and generate a previewattachment
for the first link in the HTMLcontent
, if any.