Skip to content

Releases: mackuba/bluesky-feeds-rb

0.4 (Jul 2025)

17 Jul 17:58

Choose a tag to compare

  • updated Skyfall to the latest version (0.6), ActiveRecord to 8.x and SQLite gem to 2.7
  • use filtered Jetstream as the data source instead of bsky.network relay
  • enable "heartbeat" in Skyfall to reconnect if the websocket gets stuck
  • added comment about setting a user agent in the Skyfall instance
  • delete all posts of a user when an account is deleted
  • in "save all" mode, posts are saved in batches of 100 for efficiency
  • save cursor on firehose client shutdown
  • improved stream error handling
  • config enables YJIT automatically if possible
  • added some validations and helpers in the models
  • replaced BuildInPublic feed with Kit feed in the example feeds
  • support for video feeds
  • added option to bin/firehose to restart from a specific cursor by passing e.g. -r100000
  • added index on post_id to feed_posts and on (repo, time) to posts
  • fixed possible AR exception in development
  • longer default timeout in sqlite adapter in production
  • faster feed rebuilding and better output
  • bluesky:publish Rake task automatically looks up the PDS hostname
  • added an easy way to enable AR logs
  • added several new sections to the readme

0.3 (Oct 2023)

03 Nov 16:00

Choose a tag to compare

  • updated skyfall to 0.2.3 - fixes encoding of CIDs and binary strings into JSON
  • switched firehose to the BGS server at bsky.network
  • text and $type fields are stripped from the JSON in data column to save space
  • posts with date in the past (e.g. imported from Twitter) are ignored
  • FeedPosts are deleted when the post they reference is deleted
  • added some helpers (Post.find_by_at_uri and #at_uri, Utils.handle_from_did and .did_from_handle)
  • added info in comments about how to do feed authentication
  • added another sample feed, "Build in Public"
  • added app/server.rb file for extending the server component (with examples)
    • by default, the root URL returns a simple web page with a welcome message and a list of available feeds
  • feed rebuilding:
    • much faster rebuilding in larger datasets
    • asks for confirmation before rebuilding a feed
    • rebuild with ONLY_EXISTING prints deleted posts
    • added UNSAFE option to rebuild without using a transaction
    • added DRY_RUN option to rebuild a feed in memory without saving
  • other Rake tasks:
    • added delete_feed_item task to remove a post from a feed
    • added cleanup_posts task to delete old posts
    • added test_feed task to test loading a feed via HTTP
    • Rake tasks from Rakefile have been split into .rake files in lib/tasks
  • firehose.rb and server.rb scripts have been moved to bin/firehose and bin/server
  • switched development server from Webrick to Thin
  • various fixes and improvements in Rake tasks, deploy script, sample feeds and logging

0.2 (Aug 2023)

30 Oct 14:42

Choose a tag to compare

  • updated skyfall to 0.2.1 - much faster firehose processing with faye-websocket
  • updated blue_factory to 0.1.4
  • firehose cursor is saved and used on reconnect to replay missed events
  • highlighting of matched keywords in print_feed task output
  • options to only reprocess existing feed entries or to only append new items in rebuild_feed task
  • option to stop updating some published feeds
  • added index on time to posts
  • added more keywords to Linux feed
  • various fixes and improvements in logging, deploy script and rake tasks

0.1 - initial version (Jun 2023)

30 Oct 12:17

Choose a tag to compare

First published version of the template:

  • hosts the XRPC service for a Bluesky feed generator, using the blue_factory gem (0.1.2)
  • subscribes to the AtProto firehose to listen for new posts, using the skyfall gem (0.1.2)
  • saves posts to an SQLite database
  • Linux and Star Wars sample feeds
  • rake tasks to print feed contents for debugging and to rebuild feed contents from scratch
  • Capistrano config for deploying to a server
  • sample configuration for systemd and nginx