Skip to content

v6.0.0

Choose a tag to compare

@jgarber623 jgarber623 released this 13 May 20:25
· 117 commits to main since this release
v6.0.0
cd6cb8a

Migrating to version 6

webmention-client-ruby was completely rewritten for version 6 to better support new features and future development. Some notes on migrating to the new version:

♻️ Renamed: for clarity and consistency, the Webmention.send_mention method has been renamed Webmention.send_webmention. Both methods use the same interface.

❌ Removed: the Webmention.client method has been removed in favor of the additional module methods noted above. While the underlying Webmention::Client class still exists, its interface has changed and its direct usage is generally unnecessary.

❌ Removed: Webmention::Client#send_all_mentions has been removed in favor of Webmention.send_webmentions. Combine Webmention.mentioned_urls and Webmention.send_webmentions to achieve similar results.

🛠 Refactored: Exception handling has been greatly improved as noted above.

New Features

  • Top-level module methods:
    • Webmention.send_webmention(source, target)
    • Webmention.send_webmentions(source, *targets)
    • Webmention.mentioned_urls(url)
    • Webmention.verify_webmention(source, target)
  • New JSON and plaintext parsers
  • Vouch URL support (9829269)
  • Webmention verification support (5fe5f58 and 100644)
  • Fewer exceptions! HTTP response handling updated to return similar objects (Webmention::Response and Webmention::ErrorResponse).
  • Fewer runtime dependencies!

Breaking Changes

  • Webmention.send_mention renamed to Webmention.send_webmention
  • Webmention.client method removed
  • Webmention::Client#send_all_mentions removed in favor of Webmention.mentioned_urls and Webmention.send_webmentions
  • Response objects from Webmention.send_webmention and Webmention.send_webmentions have changed from instances of HTTP::Response to instances of Webmention::Response or Webmention::ErrorResponse
  • Remove Absolutely and Addressable dependencies
  • Add support for Ruby 3 (a31aae6)
  • Update minimum supported Ruby version to 2.6 (e4fed8e)

Development Changes

  • Remove Reek development dependency (806bbc7)
  • Update development Ruby version to 2.6.10 (7e52ec9)
  • Migrate test suite to RSpec (79ac684)
  • Migrate to GitHub Actions (f5a3d7a)