Download Latest Version v8.1 source code.tar.gz (1.4 MB)
Email in envelope

Get an email when there's a new version of granary

Home / v6.2
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2024-03-16 5.9 kB
v6.2 source code.tar.gz 2024-03-16 1.2 MB
v6.2 source code.zip 2024-03-16 1.3 MB
Totals: 3 Items   2.5 MB 0

Notable changes

  • as1:
  • get_owner bug fix for post, update, delete activities.
  • activity_changed: add new inReplyTo kwarg.
  • is_public: add new unlisted kwarg.
  • as2:
  • to_as1: bug fix, preserve objectType: featured for banner/header images even when mediaType is also set.
  • is_public: add new unlisted kwarg.
  • from_as1:
    • For icon field, prefer image types that are allowed by Mastodon.
    • Bug fix, handle stop-following with string object id.
  • atom:
  • Add new extract_entries function.
  • activity_to_atom: default actor/author name to username.
  • atom_to_activities: support top-level entry element as well as feed.
  • atom_to_*:
    • add object.author
    • default objectType to article/note and verb to post
    • convert link rel=self/alternate to url
    • use displayName in objects instead of title
    • Interpret entry link without rel as self link.
  • If entry.author doesn't have id or url, default them to feed author's.
  • bluesky:
  • Implement create and preview.
  • Fully support both record and object types in from_as1 and to_as1. Use to_as1's type kwarg and from_as1's out_type kwarg to disambiguate.
  • Implement Bluesky.post_id.
  • Add new blob_to_url function.
  • Delete as1_to_profile, switch from_as1 to return $type: app.bsky.actor.profile.
  • Convert HTML summary and content to plain text.
  • Implement Bluesky.user_to_actor, Bluesky.get_actor.
  • Don't log in (fetch an access token) eagerly in the constructor; wait until the client makes a call.
  • Prefer DID to handle in API calls that accept either.
  • at_uri_to_web_url: support lists.
  • web_url_to_at_uri: convert profile URLs like https://bsky.app/profile/snarfed.org to profile record URIs (at://snarfed.org/app.bsky.actor.profile/self) instead of repo URIs (at://snarfed.org).
  • Add from_as1_to_strong_ref.
  • Allow :s in record keys (atproto#2224).
  • to_as1:
    • Convert blobs, both new and old style, to PDS getBlob URLs.
    • Add new uri kwarg.
    • Translate handle to username, add new repo_handle kwarg.
    • Add support for app.bsky.feed.repost, app.bsky.graph.defs#listView, app.bsky.feed.defs#blockedPost.
    • Add actor/author based on repo_did.
    • Improve url field: include custom handles, only use repo_did/handle for app.bsky.actor.profile.
    • Handle bad facet indices that point inside Unicode code points (example; discussion).
    • Convert !no-unauthenticated label on profiles to AS1 @unlisted audience target (bridgy-fed#828).
  • from_as1:
    • Add out_type kwarg to specify desired output type, eg app.bsky.actor.profile vs app.bsky.actor.defs#profileViewBasic vs app.bsky.actor.defs#profileView.
    • Add blobs kwarg to provide blob objects to use for image URLs.
    • Add client kwarg to fetch and populate CIDs.
    • Handle mention tags pointing to bare DIDs.
    • Use parent as root in replies. (Technically wrong in cases where the parent isn't the root, but we don't actually know the root. 🤷)
    • Bug fix: handle bare string URLs in image field.
    • Bug fix: handle tags without url field.
    • Strip trailing slash from home page URLs in order to remove visible / from rel-me verified links on Mastodon etc.
    • Convert attributedTo to singular if it has only one element.
    • If name isn't set, fall back to preferredUsername or infer Webfinger handle from id or url.
    • Prioritize bsky.app profile URL before handle URL in url field (bridgy#1640).
    • Convert bsky.app inReplyTo URLs to at:// URIs.
    • Tighten up datetime conversion to match the ATProto recommended format.
  • facebook:
  • Remove Facebook.fql_stream_to_post. Facebook turned down FQL in 2016.
  • github:
  • When converting data to AS1, use displayName in objects instead of title.
  • mastodon:
  • get_activities bug fix: use query params for /api/v1/notifications API call, not JSON body.
  • Convert HTTP 200 responses with error JSON field (eg from Sharkey) to 400/401 exceptions.
  • Prefer media_attachments.remote_url when available since it may be more long-lived than url for remote statuses (bridgy#1675).
  • microformats2:
  • object_to_json bug fix: handle singular inReplyTo.
  • json_to_object bug fix: handle list-valued location.
  • nostr:
  • get_*: return partial results when the websocket connection is closed prematurely.
  • to_as1: handle invalid NIP05 values (eg {})
  • rss:
  • to_activities:
    • Use objectType: note if title isn't set or is a prefix (possibly ellipsized) of content/description.
    • Add support for images in media:content tags (#674).
  • Source:
  • postprocess_activity/object: add mentions kwarg to convert @-mentions in HTML links to mention tags.
Source: README.md, updated 2024-03-16