Skip to content

0.3

Compare
Choose a tag to compare
@electricduck electricduck released this 10 Sep 05:18
· 153 commits to main since this release

πŸ—‘ Old Release

This is an old release, kept here for archival purposes. Unless you absolutely need it, see latest.


✨ What's New?

  • New CLI UX
    • The main application is now ran from booski run. See --help (and run --help) for more details.
    • New arguments for run
      • --no-connect-<service> to temporarily disable connecting to a service
      • --exit-connect for testing connections to services (and then immediately exiting before caching posts)
  • File-based configuration
    • On first startup, this will be created for you (and it's location printed)
    • All arguments used for configuration (that were present in 0.2) have been removed in favour of a configuration file
    • Configuration files will be stored in the same directory as the database, and should be computed automatically
    • Use BOOSKI_CONFIG_PATH=<path> to set the configuration directory manually
  • Username mapper
    • This allows usernames to be automatically mapped depending on the service a post is cross-posted to
    • See booski usernames --help for details
    • Currently, none of these mapped usernames are validated β€” be careful!
  • Update notifications
    • On startup, a check will be done against this repository to see if a newer version is available
    • Currently, you still must manually download the new release and replace the old version. An automatic updater is a low-priority, as in practice this should be done by some sort of external package manager
    • Use BOOSKI_IGNORE_UPDATES=1 to disable this
  • Various new validations for user-given values

πŸ’₯ Breaking Changes

  • Verbs are now used. Invoking the main application is done from booski run
  • All arguments used for configuration have been removed. These are replaced by the configuration file (booski.json) as follows:
    • --username β†’ .Clients.Bluesky.Username
    • --password β†’ .Clients.Bluesky.Password
    • --host β†’ .Clients.Bluesky.Host
    • --mastodon-instance β†’ .Clients.Mastodon.Instance
    • --mastodon-token β†’ .Clients.Bluesky.Password
    • --telegram-channel β†’ .Clients.Telegram.Channel
    • --telegram-token β†’ .Clients.Telegram.Token
    • --x-api-key β†’ .Clients.X.ApiKey
    • --x-api-secret β†’ .Clients.X.ApiSecret
    • --x-access-token β†’ .Clients.X.AccessToken
    • --x-access-secret β†’ .Clients.X.AccessSecret

βš™οΈ Development

These changes are important to note if you plan on building and/or contributing to Booski

  • The beginnings of Threads support can now be found around the codebase
    • There is nothing concrete yet: the API itself hasn't even been implemented
    • Support for Threads is low-priority and this work may never be completed
  • Due to dotnet/runtime#72604, only .NET 9.0 (currently in preview) is supported. There are no plans to support .NET 8.0 (or below) as Microsoft seem entirely unwilling to fix this issue for those versions