Skip to content

Releases: indieweb/webmention-client-ruby

v9.0.0

28 Sep 03:06
v9.0.0
715e4ac

Choose a tag to compare

What's Changed

  • Use GitHub alerts Markdown syntax [skip ci] (a7586b6)
  • Add jasonnutter.vscode-codeowners to Dev Container (a9839b0)
  • Formatting (b31ac95)
  • Update ignored revs file (51aa643)
  • Correct name of ruby gem in README.md (#44) (22b5a86)
  • Remove YARD config (c8a8fd2)
  • Streamline IRB config (effaa82)
  • Enable branch coverage (8497d3d)
  • Add irb to Gemfile (39d3502)
  • Migrate to RuboCop from Standard (5819db4)
  • Remove ruby/debug gem (0918170)
  • Ignore shared RuboCop config files (765ca85)
  • Update and simplify CI workflow (35749c9)
  • Update development Ruby version to 3.4 (84d2a67)
  • Rebuild and modernize Dev Container setup (eaf2168)
  • Update documentation (778669d)
  • Remove version file (538e055)
  • RuboCop fixes (dbc64fb)
  • Use add_dependency in gemfile (b1f04fe)
  • Update documentation and metadata in gemspec (272291c)
  • RuboCop: Style/TrailingCommaInHashLiteral (be81aa0)
  • RuboCop: Style/TrailingCommaInArrayLiteral (56a2cd0)
  • RuboCop: Style/WordArray (a4c09cf)
  • RuboCop: Style/CollectionMethods (9fc7ef2)
  • Resolve change in private indieweb-endpoints gem API (bb7805a)
  • Expand Ruby support to include Ruby 2.6 and newer (d8014f6)
  • RuboCop: Style/MethodCalledOnDoEndBlock (4bfb30b)
  • Update ignored revs file (aa52ce6)
  • Expand and improve documentation (fab9ea8)
  • Remove unnecessary command from IRB config (30aac3f)
  • Use dot-example TLD in specs (aa44fb3)
  • Use relative links in Markdown files (73d6f43)
  • Ignore RubyLSP folder (411c19c)
  • Update binstub use (d6ab3ee)
  • Use actions/checkout v5 (76f2a92)
  • Update project Ruby version to v3.4.6 (cfbe573)
  • Drop Ruby 2.6 support (e10eea0)
  • Update dependency gem constraints (67a63af)
  • Bump version (e5adf93)
  • Remove v6 migration notes (715e4ac)

New Contributors

Full Changelog: v8.0.0...v9.0.0

v8.0.0

16 Mar 16:37
bbc06fa

Choose a tag to compare

Breaking Changes

  • Drop support for Ruby 2.7 (#41)
  • Update project Ruby version to v3.3 (#41)
  • Update runtime dependency version constraints (#43)

What's Changed

New Contributors

Full Changelog: v7.0.0...v8.0.0

v7.0.0

10 Nov 03:27
v7.0.0
d72fa4f

Choose a tag to compare

  • Refactor HTML and JSON parser classes (ec58206 and 6818c05)
  • Update indieweb-endpoints dependency constraint (4cd742f)
  • Relax nokogiri dependency constraint (e86f3bc)
  • Breaking change: Update development Ruby to 2.7.6 and minimum Ruby to 2.7 (5bee7dd)

v6.0.0

13 May 20:25
v6.0.0
cd6cb8a

Choose a tag to compare

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)

v5.0.0

14 Dec 01:04

Choose a tag to compare

  • Update absolutely and indieweb-endpoints gems to v5.0 (89f4ea8)

v4.0.0

24 Aug 01:45

Choose a tag to compare

  • Breaking change: Update minimum supported Ruby version to 2.5 (b2bc62f)
  • Update indieweb-endpoints to 4.0 (e61588f)
  • Update project Ruby version to 2.5.8 (2a626a6)

v3.0.0

19 May 19:04

Choose a tag to compare

  • Reject "internal" URLs when sending webmentions (#24) (ccc82c8)
  • Select only HTTP/HTTPS URLs when sending webmentions (#22) (39e5852)

v2.2.0

18 May 14:53

Choose a tag to compare

  • Update absolutely and indieweb-endpoints gems (350d2ed)
  • Add pry-byebug and bin/console script (d2c5e03)
  • Move development dependencies to Gemfile per current Bundler conventions (3a2fc21)
  • Update development Ruby version to 2.4.10 (4c7d1f7)

v2.1.0

06 Apr 21:13

Choose a tag to compare

  • Refactor BaseParser class and remove Registerable module (b706229)
  • Refactor HttpRequest and NodeParser classes into Service Objects (f29c073 and 7456bf1)

v2.0.0

25 Jan 05:17

Choose a tag to compare

  • Add Ruby 2.7 to list of supported Ruby versions (c67ed14)
  • Update absolutely, addressable, http, and indieweb-endpoints version constaints (986d326 and 6ba054f)
  • Update development dependencies (74ac982)
  • Update project Ruby version to 2.4.9 and update documentation (fd61ddf)