Releases: snarfed/granary
Releases · snarfed/granary
v1.7: ### Notable changes
Notable changes
- microformats2:
- Interpret
h-cite
andu-quotation-of
(experimental) as attachments, e.g. for quote tweets. - Convert audio and video properties to AS attachments.
- Interpret
- Twitter:
- Linkify @-mentions and hashtags in
preview_create()
. - Support creating quote tweets from attachments with Twitter URLs.
- When converting quote tweets to AS, strip quoted tweet URL from end of text.
- Raise ValueError when
get_activities()
is passedgroup_id='@search'
but notsearch_query
.
- Linkify @-mentions and hashtags in
- Instagram:
- Improve HTML scraping error handling.
- Support multi-photo/video posts.
- Facebook:
- Disable creating "interested" RSVPs, since Facebook's API doesn't allow it.
- Atom:
- Support media enclosures for audio and video attachments.
- Source.get_activities(): start raising ValueError on bad argument values, notably invalid Facebook and Twitter ids and Instagram search queries.
- Fix rendering and linkifying content with Unicode high code points (ie above the 16-bit Basic Multilingual Plane), including some emoji, on "narrow" builds of Python 2 with
--enable-unicode=ucs2
, which is the default on Mac OS X, Windows, and older *nix.
v1.6: ### Notable changes
Notable changes
- Twitter:
- Handle new "extended" tweets with hidden reply-to @-mentions and trailing
URLs for media, quote tweets, etc. Background:
https://dev.twitter.com/overview/api/upcoming-changes-to-tweets - Bug fix: ensure like.author.displayName is a plain unicode string so that it
can be pickled normally, e.g. by App Engine's memcache. - Bug fix: handle names with emoji correctly in favorites_html_to_likes().
- Bug fix: handle search queries with unicode characters.
- Handle new "extended" tweets with hidden reply-to @-mentions and trailing
- Atom:
- Render full original quoted tweet in retweets of quote tweets.
- microformats2 HTML:
- Optionally follow and fetch rel="author" links.
- Improve mapping between microformats2 and ActivityStreams 'photo' types. (mf2 'photo' type is a note or article with a photo, but AS 'photo' type is a photo. So, map mf2 photos to underlying type without photo.)
- Support location properties beyond h-card, e.g. h-adr, h-geo, u-geo, and even
when properties like latitude and longitude appear at the top level.
- Error handling: return HTTP 502 for non-JSON API responses, 504 for connection failures.
v1.5: ### Notable changes
Notable changes
- REST API:
- Support tag URI for user id, app id, and activity id.
- Twitter:
- Better error message when uploading a photo with an unsupported type.
- Only include original quote tweets, not retweets of them.
- Skip fetching retweets for protected accounts since the API call always 403s.
- Flickr:
- Better username detection. Flickr's API is very inconsistent about username
vs real name vs path alias. This specifically detects when a user name is
probably actually a real name because it has a space. - Uploading: detect and handle App Engine's 10MB HTTP request limit.
- Bug fix in create: handle unicode characters in photo/video description,
hashtags, and comment text.
- Better username detection. Flickr's API is very inconsistent about username
- Atom:
- Bug fix: escape &s in attachments' text (e.g. quote tweets).
v1.4.1: ### Notable changes
Notable changes
- Bump oauth-dropins requirement to 1.4.
v1.4.0: ### Notable changes
Notable changes
- REST API:
- Cache silo requests for 5m by default, 60m for Instagram because they aggressively blocking scraping. You can skip the cache with the new cache=false query param.
- Facebook:
- Upgrade from API v2.2 to v2.6. https://developers.facebook.com/docs/apps/changelog
- Add reaction support.
- De-dupe event RSVPs by user.
- Twitter:
- Switch create() to use brevity for counting characters. https://github.com/kylewm/brevity
- Fix bug in create() that occasionally incorrectly escaped ., +, and - characters.
- Fix text rendering bug when there are multipl photos/videos.
- When replying to yourself, don't add a self @-mention.
- Instagram:
- Fix bugs in scraping.
- Upgrade to requests 2.10.0 and requests-toolbelt 0.60, which support App Engine.
v1.3.1: ### Notable changes
Notable changes
- Update oauth-dropins dependency to >=1.3.
v1.3.0: ### Notable changes
Notable changes
- Support posting videos! Currently in Facebook, Flickr, and Twitter.
- Instagram:
- Add support for scraping, since they're locking down their API and requiring manual approval.
http://developers.instagram.com/post/133424514006/instagram-platform-update - Linkify @-mentions in photo captions.
- Add support for scraping, since they're locking down their API and requiring manual approval.
- Facebook:
- Fetch Open Graph stories aka
news.publish
actions.
https://developers.facebook.com/docs/reference/opengraph/action-type/news.publishes/ - Many bug fixes for photo posts: better privacy detection, fix bug that attached comments to wrong posts.
- Fetch Open Graph stories aka
- Twitter:
- Handle all photos/videos attached to a tweet, not just the first.
- Stop fetching replies to @-mentions.
- Atom:
- Render attachments.
- Add
xml:base
.
- microformats2:
- Load and convert h-card.
- Implement full post type discovery algorithm, using mf2util.
https://indiewebcamp.com/post-type-discovery - Drop support for h-as-* classes, both incoming and outgoing. They're deprecated in favor of post type discovery.
- Drop old deprecated
u-like
andu-repost
properties.
- Misc bug fixes.
- Set up Coveralls.
v1.2.0: ### Notable changes
Notable changes
- Improve original post discovery algorithm.
snarfed/bridgy#51 - Flickr tweaks.
snarfed/bridgy#466 - Add mf2, activitystreams, atom, and search to interactive UI.
#31
#29 - Improved post type discovery (using mf2util).
- Extract user web site links from all fields in profile (e.g. description/bio).
- Add fabricated fragments to comment/like permalinks (e.g. #liked-by-user123) so that object urls are always unique (multiple silos).
- Improve formatting/whitespace support in create/preview (multiple silos).
- Google+:
- Add search.
- Facebook:
- Fetch more things in get_activities: photos, events, RSVPs.
- Support person tags in create/preview.
- Prevent facebook from automatically consolidating photo posts by uploading photos to "Timeline Photos" album.
- Include title in create/preview.
- Improve object id parsing/resolving.
- Improve tag handling.
- Bug fix for fetching nested comments.
- Misc improvements, API error/flakiness handling.
- Flickr:
- Create/preview support for photos, comments, favorites, tags, person tags, location.
- Twitter:
- Create/preview support for location, multiple photos.
- Fetch quote tweets.
- Fetching user mentions improvements, bug fixes.
- Fix embeds.
- Misc AS conversion improvements.
- microformats2:
- Improve like and repost rendering.
- Misc bug fixes.
- Set up CircleCI.
v1.1.0: ### Notable changes
Notable changes
- Add Flickr.
- Facebook:
- Fetch multiple id formats, e.g. with and without USERID_ prefix.
- Support threaded comments.
- Switch from /posts API endpoint to /feed.
- Google+:
- Support converting plus.google.com HTML to ActivityStreams.
- Instagram:
- Support location.
- Improve original post discovery algorithm.
- New logo.
v1.0.1: ### Notable changes
Notable changes
- Bug fix for atom template rendering.
- Facebook, Instagram: support access_token parameter.