v6.0.0
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::ResponseandWebmention::ErrorResponse). - Fewer runtime dependencies!
Breaking Changes
Webmention.send_mentionrenamed toWebmention.send_webmentionWebmention.clientmethod removedWebmention::Client#send_all_mentionsremoved in favor ofWebmention.mentioned_urlsandWebmention.send_webmentions- Response objects from
Webmention.send_webmentionandWebmention.send_webmentionshave changed from instances ofHTTP::Responseto instances ofWebmention::ResponseorWebmention::ErrorResponse - Remove Absolutely and Addressable dependencies
- Add support for Ruby 3 (a31aae6)
- Update minimum supported Ruby version to 2.6 (e4fed8e)