Skip to content
This repository was archived by the owner on Aug 15, 2025. It is now read-only.

v0.20.0

Latest
Compare
Choose a tag to compare
@kozabrada123 kozabrada123 released this 15 May 17:05
· 3 commits to main since this release
53235dc

(see #617)

Major changes in this version include:

  • An overhaul of how errors are handled and error cases, including JSON error support (#607)
  • A new API for ignoring users + updates to the Relationship struct (#606)
  • Several internal changes and fixes

Public API changes

  • changes to ChorusError:
    • ReceivedErrorCode is now ReceivedError, which contains a more specific error object
    • InvalidFormBody has been removed
    • InvalidResponse now contains the response's HTTP status
  • due to the ratelimiter changes, Instance methods that send API requests now need an &mut self reference
  • to avoid cloning Instances, auth routes (login, register and mfa) now take a cloned Shared<Instance>. The best practice way to handle Instances is now to call into_shared(), store Shared<Instance> instead of Instance and call .clone() on the Arc when creating new ChorusUsers
  • new fields in the Relationship struct:
    • is_spam_request,
    • stranger_request,
    • origin_application_id and
    • user_ignored

Additions

  • ChorusUser::bulk_remove_relationships
  • ChorusUser::ignore_user
  • ChorusUser::unignore_user
  • JSON Error and Api error types

Bugfixes

  • #616 - Instances are no longer cloned when logging into or registering accounts

Internal changes

  • #607 (refactoring the internal ratelimiter and request logic, making it support requests without a ChorusUser)
  • #608 by @zicklag (updating internal self-updating struct logic, removing an unsafe block for safer code)
  • #612 and #613 by @bitfl0wer (improving CI, more checks for security)
  • #614 (updating the url of discord userdoccers links in documentation)
  • several dependency bumps