diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 874a999e..af5e156c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,7 +5,7 @@ on: workflow_dispatch: inputs: version: - description: "Release version (e.g., 1.12.0)" + description: "Release version (e.g., 1.11.0)" required: true type: string diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c5a1d38..b7ff8ff8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [v1.12.0] - 2026-04-12 +## [v1.11.0] - 2026-04-12 ### Added - **HTML reporter** — interactive dashboard with 4 comparison modes (both/base/new/heatmap), per-image zoom, keyboard navigation, and search ([#170](https://github.com/snap-diff/snap_diff-capybara/pull/170)) @@ -55,10 +55,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 --- -## [v1.11.0] - Previous Release +## [v1.10.3.1] - Previous Release -[Unreleased]: https://github.com/snap-diff/snap_diff-capybara/compare/v1.12.0...HEAD -[v1.12.0]: https://github.com/snap-diff/snap_diff-capybara/releases/tag/v1.12.0 +[Unreleased]: https://github.com/snap-diff/snap_diff-capybara/compare/v1.11.0...HEAD [v1.11.0]: https://github.com/snap-diff/snap_diff-capybara/releases/tag/v1.11.0 +[v1.10.3.1]: https://github.com/snap-diff/snap_diff-capybara/releases/tag/v1.10.3.1 **Upgrade Guide:** See [docs/UPGRADING.md](docs/UPGRADING.md) for detailed migration instructions. diff --git a/README.md b/README.md index f467bedf..3adf7e94 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ [![Gem Version](https://badge.fury.io/rb/capybara-screenshot-diff.svg)](https://rubygems.org/gems/capybara-screenshot-diff) +[![Gem Downloads](https://img.shields.io/gem/dt/capybara-screenshot-diff.svg)](https://rubygems.org/gems/capybara-screenshot-diff) [![Test](https://github.com/snap-diff/snap_diff-capybara/actions/workflows/test.yml/badge.svg)](https://github.com/snap-diff/snap_diff-capybara/actions/workflows/test.yml) [![DeepWiki](https://img.shields.io/badge/DeepWiki-snap--diff%2Fsnap__diff--capybara-blue.svg?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDJhMTAgMTAgMCAxIDAgMCAyMCAxMCAxMCAwIDAgMCAwLTIweiIvPjxwYXRoIGQ9Ik0xMiA2djEyIi8+PHBhdGggZD0iTTYgMTJoMTIiLz48L3N2Zz4=)](https://deepwiki.com/snap-diff/snap_diff-capybara) @@ -6,11 +7,11 @@ Stop shipping UI bugs. Take screenshots in your Capybara tests, commit baselines to git, and let CI catch visual regressions in pull requests — no cloud service, no subscription, runs entirely in your test suite. -**Why this gem?** Baselines live in git alongside your code — no external service, no account to sign up for, works offline. Unlike Percy/Chromatic (paid SaaS), this runs locally. Unlike BackstopJS, no Node required. +**Why this gem?** Baselines live in git — review UI changes in pull requests like you review code. Runs offline, works in CI, zero vendor lock-in. Unlike Percy/Chromatic (paid SaaS), nothing to sign up for. Unlike BackstopJS, no Node required. -## Quick Start +## Quick Start (5 minutes) -> **Prerequisites:** A working Capybara setup with a browser driver (e.g., selenium-webdriver + Chrome). See [Rails System Testing guide](https://guides.rubyonrails.org/testing.html#system-testing) if you don't have one yet. +> Already using Capybara for system tests? Add the gem and you're ready. New to system tests? See [Rails System Testing guide](https://guides.rubyonrails.org/testing.html#system-testing). ```ruby # Gemfile diff --git a/docs/RELEASE_PREP.md b/docs/RELEASE_PREP.md index 2f84ac18..e8e08d07 100644 --- a/docs/RELEASE_PREP.md +++ b/docs/RELEASE_PREP.md @@ -1,14 +1,14 @@ -# Release Preparation — v1.12.0 +# Release Preparation — v1.11.0 ## Summary -71 commits since v1.11.0 with new features, performance improvements, and default behavior changes. +71 commits since v1.10.3.1 with new features, performance improvements, and default behavior changes. ## Release Checklist ### Pre-Release -- [x] Update version to `1.12.0` +- [x] Update version to `1.11.0` - [x] Run tests: `bundle exec rake test` (218 runs, 0 failures) - [x] Add CHANGELOG.md - [x] Add docs/UPGRADING.md @@ -17,7 +17,7 @@ 1. Push to GitHub 2. Go to [Actions → Release](https://github.com/snap-diff/snap_diff-capybara/actions/workflows/release.yml) -3. Click **Run workflow**, enter `1.12.0` +3. Click **Run workflow**, enter `1.11.0` 4. Workflow will: test → tag → publish to RubyGems → create GitHub Release ### Post-Release diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 8c04b224..5df09e49 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -1,8 +1,8 @@ -# Upgrading to v1.12.0 +# Upgrading to v1.11.0 ## Overview -Version 1.12.0 is a **minor release** with new features, performance improvements, and default behavior changes. This guide will help you upgrade smoothly. +Version 1.11.0 is a **minor release** with new features, performance improvements, and default behavior changes. This guide will help you upgrade smoothly. **Estimated upgrade time:** 5-15 minutes depending on your setup @@ -14,7 +14,7 @@ For **most users**, upgrading is as simple as: ```ruby # In your Gemfile -gem 'capybara-screenshot-diff', '~> 1.12.0' +gem 'capybara-screenshot-diff', '~> 1.11.0' ``` ```bash @@ -22,7 +22,7 @@ bundle update capybara-screenshot-diff bundle exec rake test # Verify tests still pass ``` -**That's it!** The zero-config setup still works out of the box. Your existing screenshot comparisons will continue to work with v1.12.0. +**That's it!** The zero-config setup still works out of the box. Your existing screenshot comparisons will continue to work with v1.11.0. --- @@ -34,8 +34,8 @@ Three settings now have different defaults. This is the most likely source of un #### `blur_active_element` — Now defaults to `true` -**Before (v1.11.0):** Cursor blinking could delay screenshots -**After (v1.12.0):** Cursor is automatically hidden +**Before (v1.10.x):** Cursor blinking could delay screenshots +**After (v1.11.0):** Cursor is automatically hidden **Action required:** Only if you want the old behavior @@ -46,8 +46,8 @@ Capybara::Screenshot.blur_active_element = false #### `hide_caret` — Now defaults to `true` -**Before (v1.11.0):** Input caret visible in screenshots -**After (v1.12.0):** Caret is transparent for stable screenshots +**Before (v1.10.x):** Input caret visible in screenshots +**After (v1.11.0):** Caret is transparent for stable screenshots **Action required:** Only if you want the old behavior @@ -58,8 +58,8 @@ Capybara::Screenshot.hide_caret = false #### `fail_if_new` — Now defaults to `true` in CI -**Before (v1.11.0):** New screenshots allowed in CI -**After (v1.12.0):** New screenshots fail tests in CI (when `ENV['CI']` is set) +**Before (v1.10.x):** New screenshots allowed in CI +**After (v1.11.0):** New screenshots fail tests in CI (when `ENV['CI']` is set) **Action required:** Only if you want to allow new screenshots in CI @@ -74,8 +74,8 @@ Capybara::Screenshot::Diff.fail_if_new = false ### 2. SVN Support Removed -**Before (v1.11.0):** Could use SVN for version control -**After (v1.12.0):** Git only +**Before (v1.10.x):** Could use SVN for version control +**After (v1.11.0):** Git only **Action required:** If using SVN, migrate to Git @@ -95,8 +95,8 @@ If you find SVN usage: ### 3. ActiveSupport No Longer Required -**Before (v1.11.0):** ActiveSupport was a runtime dependency -**After (v1.12.0):** Pure Ruby, no ActiveSupport required +**Before (v1.10.x):** ActiveSupport was a runtime dependency +**After (v1.11.0):** Pure Ruby, no ActiveSupport required **Action required:** None (this is a positive change!) @@ -113,8 +113,8 @@ If your project only had ActiveSupport because of this gem, you can now remove i ### 4. Internal API Changes -**Before (v1.11.0):** Could use internal classes like `CaptureStrategy`, `ComparisonLoader` -**After (v1.12.0):** These have been inlined/refactored +**Before (v1.10.x):** Could use internal classes like `CaptureStrategy`, `ComparisonLoader` +**After (v1.11.0):** These have been inlined/refactored **Action required:** Only if using internal APIs @@ -252,7 +252,7 @@ Enjoy faster screenshot comparisons: ### Upgrade Notes -**Ruby 4.0:** Fully compatible! If you see DSLStub ordering issues, they're fixed in v1.12.0. +**Ruby 4.0:** Fully compatible! If you see DSLStub ordering issues, they're fixed in v1.11.0. **Rails 8.0:** Works out of the box with updated dependencies. @@ -263,7 +263,7 @@ Enjoy faster screenshot comparisons: ### Step 1: Update Gemfile ```ruby -gem 'capybara-screenshot-diff', '~> 1.12.0' +gem 'capybara-screenshot-diff', '~> 1.11.0' ``` ### Step 2: Bundle Update @@ -306,7 +306,7 @@ Run tests and open `doc/screenshots/snap_diff_report.html` to review differences ```bash # Commit the new baselines git add doc/screenshots/ -git commit -m "Add screenshot baselines for v1.12.0 upgrade" +git commit -m "Add screenshot baselines for v1.11.0 upgrade" ``` Or temporarily allow them: @@ -337,7 +337,7 @@ bundle exec rake test # Commit new baselines git add doc/screenshots/ -git commit -m "Re-record baselines with v1.12.0 defaults" +git commit -m "Re-record baselines with v1.11.0 defaults" ``` ### "NoMethodError on internal class" @@ -376,7 +376,7 @@ All screenshot baselines are compatible — no data loss. ## Summary Checklist -- [ ] Update gem version to `~> 1.12.0` +- [ ] Update gem version to `~> 1.11.0` - [ ] Run `bundle update capybara-screenshot-diff` - [ ] Run test suite - [ ] Check for new screenshot failures in CI @@ -387,4 +387,4 @@ All screenshot baselines are compatible — no data loss. - [ ] Commit changes - [ ] Review upgrade issues in [GitHub Issues](https://github.com/snap-diff/snap_diff-capybara/issues) -**Congratulations!** You're now running v1.12.0 🎉 +**Congratulations!** You're now running v1.11.0 🎉 diff --git a/lib/capybara/screenshot/diff/version.rb b/lib/capybara/screenshot/diff/version.rb index 32da466c..bef36d91 100644 --- a/lib/capybara/screenshot/diff/version.rb +++ b/lib/capybara/screenshot/diff/version.rb @@ -3,7 +3,7 @@ module Capybara module Screenshot module Diff - VERSION = "1.12.0" + VERSION = "1.11.0" end end end