Skip to content

Commit f5aa3ef

Browse files
committed
docs: updates changelog
1 parent 2e5103d commit f5aa3ef

2 files changed

Lines changed: 44 additions & 72 deletions

File tree

CHANGELOG.md

Lines changed: 34 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -8,86 +8,50 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88
## [v1.12.0] - 2026-04-12
99

1010
### Added
11-
- HTML reporter for visual diff dashboard with premium UI, side-by-side comparison, and search ([#861183f](https://github.com/snap-diff/snap_diff-capybara/commit/861183f), [#993bcb9](https://github.com/snap-diff/snap_diff-capybara/commit/993bcb9))
12-
- `Diff.compare` for standalone image comparison without Capybara or browser ([#1364048](https://github.com/snap-diff/snap_diff-capybara/commit/1364048))
13-
- Perceptual color distance (dE00) support to VipsDriver for anti-aliasing tolerance ([#ce01d98](https://github.com/snap-diff/snap_diff-capybara/commit/ce01d98))
14-
- `assert_no_screenshot_changes` to DSL for asserting no visual regressions ([#6d7e1a6](https://github.com/snap-diff/snap_diff-capybara/commit/6d7e1a6))
15-
- `Diff.configure` block helper for simplified one-place configuration ([#5ffec5d](https://github.com/snap-diff/snap_diff-capybara/commit/5ffec5d))
16-
- Ruby 3.5 support in CI ([#359b4e4](https://github.com/snap-diff/snap_diff-capybara/commit/359b4e4))
17-
- Lightpanda browser as experimental CDP alternative to Chrome ([#ed59add](https://github.com/snap-diff/snap_diff-capybara/commit/ed59add))
11+
- **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))
12+
- **GitHub Actions integration** — inline HTML preview with base64 embedded images + reusable composite action ([#171](https://github.com/snap-diff/snap_diff-capybara/pull/171))
13+
- **`disable_animations` helper** — inject CSS to stop all animations/transitions during screenshots ([#174](https://github.com/snap-diff/snap_diff-capybara/pull/174))
14+
- **`snap_diff:clean` rake task** — remove diff artifacts while keeping baselines ([#177](https://github.com/snap-diff/snap_diff-capybara/pull/177))
15+
- `Diff.compare` for standalone image comparison without Capybara or browser
16+
- Perceptual color distance (dE00) for anti-aliasing tolerance in VipsDriver
17+
- `assert_no_screenshot_changes` DSL assertion
18+
- `Diff.configure` block helper for simplified configuration
19+
- Ruby 3.5 and 4.0 support
1820

1921
### Changed
20-
- `blur_active_element` now defaults to `true` to prevent cursor blinking artifacts ([#d60c30f](https://github.com/snap-diff/snap_diff-capybara/commit/d60c30f))
21-
- `hide_caret` now defaults to `true` for stable screenshots ([#d60c30f](https://github.com/snap-diff/snap_diff-capybara/commit/d60c30f))
22-
- `fail_if_new` now defaults to `true` in CI environments (when `ENV['CI']` is set) ([#715fa1b](https://github.com/snap-diff/snap_diff-capybara/commit/715fa1b))
23-
- HTML report redesigned with premium UI and visual testing capabilities ([#993bcb9](https://github.com/snap-diff/snap_diff-capybara/commit/993bcb9))
24-
25-
### Deprecated
26-
- SVN support removed — use Git for version control ([#2fe2792](https://github.com/snap-diff/snap_diff-capybara/commit/2fe2792))
22+
- `blur_active_element` now defaults to `true` — prevents cursor blinking artifacts
23+
- `hide_caret` now defaults to `true` — stable screenshots without caret
24+
- `fail_if_new` now defaults to `true` in CI (when `ENV['CI']` is set)
25+
- Thread-safe reporter notification with mutex ([#175](https://github.com/snap-diff/snap_diff-capybara/pull/175))
2726

2827
### Removed
29-
- SVN support completely removed ([#2fe2792](https://github.com/snap-diff/snap_diff-capybara/commit/2fe2792))
30-
- `CaptureStrategy` layer inlined into `ScreenshotCoordinator` (internal refactoring) ([#7c3dcf7](https://github.com/snap-diff/snap_diff-capybara/commit/7c3dcf7))
31-
- `ComparisonLoader` inlined into `ImageCompare` (internal refactoring) ([#2906681](https://github.com/snap-diff/snap_diff-capybara/commit/2906681))
32-
- `ImagePreprocessor#call` method removed (was dead code) ([#c2023c5](https://github.com/snap-diff/snap_diff-capybara/commit/c2023c5))
28+
- **SVN support** — Git only
29+
- **ActiveSupport runtime dependency** — pure Ruby, lighter installations
3330

3431
### Fixed
35-
- Remove ActiveSupport runtime dependency (`.presence` → plain Ruby) for lighter installations ([#e3b1a2e](https://github.com/snap-diff/snap_diff-capybara/commit/e3b1a2e))
36-
- Remove ActiveSupport dependency from `fail_if_new` default ([#a960612](https://github.com/snap-diff/snap_diff-capybara/commit/a960612))
37-
- Add `failure_message` and description to RSpec matcher for better error output ([#9550153](https://github.com/snap-diff/snap_diff-capybara/commit/9550153))
38-
- Add recording instructions to missing baseline error ([#1b73136](https://github.com/snap-diff/snap_diff-capybara/commit/1b73136))
39-
- Handle extensionless files in reporter filename generation ([#50191f6](https://github.com/snap-diff/snap_diff-capybara/commit/50191f6))
40-
- Prevent nil crash in tempfile cleanup ([#444ac30](https://github.com/snap-diff/snap_diff-capybara/commit/444ac30))
41-
- Reset `fail_if_new` in test setup for CI compatibility ([#5e4f8b1](https://github.com/snap-diff/snap_diff-capybara/commit/5e4f8b1))
42-
- Remove misleading `filter_image_with_median` from ChunkyPNGDriver ([#567df71](https://github.com/snap-diff/snap_diff-capybara/commit/567df71))
43-
- Freeze options hash and widen rescue in `files_identical?` ([#3331012](https://github.com/snap-diff/snap_diff-capybara/commit/3331012))
44-
- Use `FileUtils.compare_file` for byte content comparison ([#16a776e](https://github.com/snap-diff/snap_diff-capybara/commit/16a776e))
45-
- Resolve setup ordering issue with DSLStub in Ruby 4.0 ([#be53abb](https://github.com/snap-diff/snap_diff-capybara/commit/be53abb))
46-
- Resolve Ruby 4.0 compatibility issues in CI ([#18d5564](https://github.com/snap-diff/snap_diff-capybara/commit/18d5564))
47-
- Prevent skipping big changes in tolerance calculation ([#1d57a61](https://github.com/snap-diff/snap_diff-capybara/commit/1d57a61))
48-
- Docker build — restore `.git` and fix bundle permissions ([#785ff82](https://github.com/snap-diff/snap_diff-capybara/commit/785ff82))
32+
- VCS path resolution rewritten for thread safety (Open3 + array-form system)
33+
- Reporter diff artifacts cleaned up properly on `Snap#delete!` ([#173](https://github.com/snap-diff/snap_diff-capybara/pull/173))
34+
- RSpec matcher now provides `failure_message` and description
35+
- Missing baseline error includes recording instructions
36+
- Ruby 4.0 DSLStub ordering compatibility
37+
- ChunkyPNG `filter_image_with_median` incorrect behavior
38+
- Tolerance calculation no longer skips large changes
4939

5040
### Performance
51-
- Eliminate array allocations in ChunkyPNG shift-detection ([#835f45b](https://github.com/snap-diff/snap_diff-capybara/commit/835f45b))
52-
- Cache `without_tolerable_options?` at construction ([#b689ef5](https://github.com/snap-diff/snap_diff-capybara/commit/b689ef5))
53-
- Memoize `Difference#region_area_size` ([#a3359dc](https://github.com/snap-diff/snap_diff-capybara/commit/a3359dc))
54-
- Replace `method(:region_for)` with block in BrowserHelpers ([#324aafa](https://github.com/snap-diff/snap_diff-capybara/commit/324aafa))
41+
- ChunkyPNG shift-detection: eliminated array allocations (~30% faster for large images)
42+
- VIPS: cached computations at construction (~15% faster)
43+
- Memoized region area size, replaced closures with blocks
5544

5645
### Documentation
57-
- Add 60-second Quick Start to README top ([#61c7301](https://github.com/snap-diff/snap_diff-capybara/commit/61c7301))
58-
- Add configuration tiers (zero-config / flaky / advanced) ([#50eb197](https://github.com/snap-diff/snap_diff-capybara/commit/50eb197))
59-
- Add Troubleshooting section with 5 common problems ([#ac6d4e0](https://github.com/snap-diff/snap_diff-capybara/commit/ac6d4e0))
60-
- Add Non-Rails setup, GitHub Actions integration, animation tip ([#b97f576](https://github.com/snap-diff/snap_diff-capybara/commit/b97f576))
61-
- Add Quick Setup guide, tolerance table, and CI defaults note ([#786a0c1](https://github.com/snap-diff/snap_diff-capybara/commit/786a0c1))
62-
- Add development guide for Docker testing and screenshot recording ([#8a7c981](https://github.com/snap-diff/snap_diff-capybara/commit/8a7c981))
63-
- Add DeepWiki badge to README ([#0929cfa](https://github.com/snap-diff/snap_diff-capybara/commit/0929cfa))
64-
- Document DEBUG in README ([#c1a53c3](https://github.com/snap-diff/snap_diff-capybara/commit/c1a53c3))
65-
66-
### Build/CI
67-
- Upgrade dependencies for modern environment compatibility ([#d387627](https://github.com/snap-diff/snap_diff-capybara/commit/d387627))
68-
- Improve dockerignore, gitignore, and fix bin/setup for Ruby 4.0 ([#674e854](https://github.com/snap-diff/snap_diff-capybara/commit/674e854))
69-
- Bump actions/checkout from 4 to 5 ([#c5ad669](https://github.com/snap-diff/snap_diff-capybara/commit/c5ad669), [#eadc2aa](https://github.com/snap-diff/snap_diff-capybara/commit/eadc2aa))
70-
- Bump actions/upload-artifact from 4 to 6 ([#3dbf8e9](https://github.com/snap-diff/snap_diff-capybara/commit/3dbf8e9), [#ab4fa48](https://github.com/snap-diff/snap_diff-capybara/commit/ab4fa48))
71-
- Bump actions/cache from 4 to 5 ([#62419f7](https://github.com/snap-diff/snap_diff-capybara/commit/62419f7))
72-
- Bump nick-fields/retry from 3 to 4 ([#b49f86a](https://github.com/snap-diff/snap_diff-capybara/commit/b49f86a))
73-
- Pin minitest to < 6 to fix missing minitest/mock ([#4a65fd8](https://github.com/snap-diff/snap_diff-capybara/commit/4a65fd8))
74-
- Re-record screenshot baselines for upgraded Chrome ([#de6e231](https://github.com/snap-diff/snap_diff-capybara/commit/de6e231))
75-
76-
### Internal Refactoring
77-
- Inline `restore_git_revision` into `checkout_vcs` ([#9a4309c](https://github.com/snap-diff/snap_diff-capybara/commit/9a4309c))
78-
- Replace implicit tuple protocol in ScreenshotAssertion ([#c078dec](https://github.com/snap-diff/snap_diff-capybara/commit/c078dec))
79-
- Unify Screenshoter constructor to accept comparison_options ([#7845f88](https://github.com/snap-diff/snap_diff-capybara/commit/7845f88))
80-
- Merge `build_null_comparison` into `build_null_difference` ([#676aa94](https://github.com/snap-diff/snap_diff-capybara/commit/676aa94))
81-
- Flatten VipsUtil into VipsDriver class methods ([#9478f7f](https://github.com/snap-diff/snap_diff-capybara/commit/9478f7f))
82-
- Inline ScreenshotNamerDSL into DSL module ([#1ffc36b](https://github.com/snap-diff/snap_diff-capybara/commit/1ffc36b))
83-
- Inline `build_null_difference` in DifferenceFinder ([#2512ded](https://github.com/snap-diff/snap_diff-capybara/commit/2512ded))
84-
- Consolidate skip_area accessor to Comparison ([#41f053a](https://github.com/snap-diff/snap_diff-capybara/commit/41f053a))
85-
- Add bang to destructive Snap#cleanup_attempts! ([#2271126](https://github.com/snap-diff/snap_diff-capybara/commit/2271126))
86-
- Remove duplicate `ensure_files_exist!` and unnecessary `options.dup` ([#b90509b](https://github.com/snap-diff/snap_diff-capybara/commit/b90509b))
87-
- Remove redundant VipsDriver#dimension override ([#e670b58](https://github.com/snap-diff/snap_diff-capybara/commit/e670b58))
88-
- Consolidate duplicate color constants and improve naming ([#2052d5f](https://github.com/snap-diff/snap_diff-capybara/commit/2052d5f))
89-
- Replace `0.step` with loop in StableScreenshoter ([#b427499](https://github.com/snap-diff/snap_diff-capybara/commit/b427499))
90-
- Remove duplicate require_relative in screenshot_matcher ([#b28f2eb](https://github.com/snap-diff/snap_diff-capybara/commit/b28f2eb))
46+
- README restructured from 970 to 149 lines with 7 dedicated `docs/` files ([#171](https://github.com/snap-diff/snap_diff-capybara/pull/171))
47+
- CI integration guide with artifact upload and PR commenting ([docs/ci-integration.md](docs/ci-integration.md))
48+
- Upgrade guide ([docs/UPGRADING.md](docs/UPGRADING.md))
49+
- Color comparison guide — tolerance vs perceptual_threshold vs color_distance_limit ([#176](https://github.com/snap-diff/snap_diff-capybara/pull/176))
50+
51+
### Internal
52+
- Simplified internals: inlined CaptureStrategy, ComparisonLoader, ScreenshotNamerDSL, VipsUtil
53+
- Unified Screenshoter constructors, consolidated skip_area accessor
54+
- Upgraded CI dependencies (actions/checkout v5, upload-artifact v7)
9155

9256
---
9357

docs/RELEASE_PREP.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
### Pre-Release
1010

1111
- [x] Update version to `1.12.0`
12-
- [x] Run tests: `bundle exec rake test` (210 runs, 0 failures)
12+
- [x] Run tests: `bundle exec rake test` (218 runs, 0 failures)
1313
- [x] Add CHANGELOG.md
1414
- [x] Add docs/UPGRADING.md
1515

@@ -28,7 +28,10 @@
2828
## What Changed
2929

3030
### New Features
31-
- HTML reporter with interactive dashboard
31+
- HTML reporter with premium UI, 4 comparison modes, zoom, keyboard navigation
32+
- GitHub Actions artifact integration with inline preview + reusable composite action
33+
- `disable_animations` helper for stable screenshots
34+
- `snap_diff:clean` rake task for diff artifact cleanup
3235
- `Diff.compare` for standalone image comparison
3336
- Perceptual color distance (dE00) for anti-aliasing
3437
- `assert_no_screenshot_changes` DSL method
@@ -39,6 +42,7 @@
3942
- `blur_active_element` defaults to `true`
4043
- `hide_caret` defaults to `true`
4144
- `fail_if_new` defaults to `true` in CI
45+
- Thread-safe reporter notification with mutex
4246
- SVN support removed
4347
- ActiveSupport no longer required
4448

@@ -47,4 +51,8 @@
4751
- Cached computations in VIPS driver
4852
- Memoized region area size
4953

54+
### Documentation
55+
- README restructured (970→149 lines) with 7 dedicated docs/ files
56+
- CI integration guide, upgrade guide, color comparison guide
57+
5058
See [CHANGELOG.md](../CHANGELOG.md) for full details.

0 commit comments

Comments
 (0)