kettle-dev 2.3.2 → 2.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6ba4f6b3299cb459bcce65c44f6f92b5c6d236dd5727a49d82d6449b5fa9ff93
4
- data.tar.gz: 86eb850d690c27d1b35dec86a9a98405ca72280af38fae07067aa86ff3942755
3
+ metadata.gz: d0eac779166d21287700da4314c58b8ef4fb814b38584000e6caf5473e6fabef
4
+ data.tar.gz: 7fa37dd397bc4f43e37c6b08988d904ddb4703e2b86232a44e8feca28e32d667
5
5
  SHA512:
6
- metadata.gz: dd700832452037747c9253b1682734e0d27ef865c2d422ffd1031a89fd714344601ab2c251eeef5bdc577d1f328963dde505ac5d2c76bbbf492dc70526c30cd9
7
- data.tar.gz: 0d520f7cad4f5e81393e21bb6ecbf86f3dfe98270ab4a4d112ad9fb29aae8cfd0d3bcab6f1d89a317c64866f465613575e9f217a4af9813d1cf49ca929d44231
6
+ metadata.gz: 339b4c334661ecdfaebb50b24a0edb90048e25ea64346b4cc2b81c6930db856d667fcc08cbffd1c212989315e23afade77d1423bfebceac2ab8ed78f3cd5d57b
7
+ data.tar.gz: ed9867ce71241eafe10609a48df22ec09df5e610ada01cf52c2c069c6621dd8fde46033dd03cfd1e975d2eab53433e03f232d07d25696c638b7cbaf8e20cc488
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,18 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [2.3.3] - 2026-07-13
34
+
35
+ - TAG: [v2.3.3][2.3.3t]
36
+ - COVERAGE: 91.62% -- 4276/4667 lines in 36 files
37
+ - BRANCH COVERAGE: 72.80% -- 1678/2305 branches in 36 files
38
+ - 56.88% documented
39
+
40
+ ### Fixed
41
+
42
+ - AST-based version edits now apply Prism byte offsets as byte offsets, avoiding
43
+ corrupted Ruby when non-ASCII content appears before the edited string.
44
+
33
45
  ## [2.3.2] - 2026-07-13
34
46
 
35
47
  - TAG: [v2.3.2][2.3.2t]
@@ -2454,7 +2466,9 @@ Please file a bug if you notice a violation of semantic versioning.
2454
2466
  - Selecting will run the selected workflow via `act`
2455
2467
  - This may move to its own gem in the future.
2456
2468
 
2457
- [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v2.3.2...HEAD
2469
+ [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v2.3.3...HEAD
2470
+ [2.3.3]: https://github.com/kettle-dev/kettle-dev/compare/v2.3.2...v2.3.3
2471
+ [2.3.3t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v2.3.3
2458
2472
  [2.3.2]: https://github.com/kettle-dev/kettle-dev/compare/v2.3.1...v2.3.2
2459
2473
  [2.3.2t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v2.3.2
2460
2474
  [2.3.1]: https://github.com/kettle-dev/kettle-dev/compare/v2.3.0...v2.3.1
data/README.md CHANGED
@@ -882,7 +882,7 @@ Thanks for RTFM. ☺️
882
882
  [📌gitmoji]: https://gitmoji.dev
883
883
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
884
884
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
885
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-4.663-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
885
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-4.667-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
886
886
  [🔐security]: https://github.com/kettle-dev/kettle-dev/blob/main/SECURITY.md
887
887
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
888
888
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -3,7 +3,7 @@
3
3
  module Kettle
4
4
  module Dev
5
5
  module Version
6
- VERSION = "2.3.2"
6
+ VERSION = "2.3.3"
7
7
  end
8
8
  VERSION = Version::VERSION # Traditional Constant Location
9
9
  end
@@ -127,11 +127,22 @@ module Kettle
127
127
  edits.group_by { |edit| edit.fetch(:path) }.each_value do |file_edits|
128
128
  source = file_edits.first.fetch(:source)
129
129
  file_edits.sort_by { |edit| -edit.fetch(:start_offset) }.each do |edit|
130
- source[edit.fetch(:start_offset)...edit.fetch(:end_offset)] = edit.fetch(:replacement)
130
+ source = replace_byte_range(
131
+ source,
132
+ edit.fetch(:start_offset),
133
+ edit.fetch(:end_offset),
134
+ edit.fetch(:replacement)
135
+ )
131
136
  end
132
137
  File.write(file_edits.first.fetch(:path), source)
133
138
  end
134
139
  end
140
+
141
+ def replace_byte_range(source, start_offset, end_offset, replacement)
142
+ before = source.byteslice(0, start_offset) || +""
143
+ after = source.byteslice(end_offset, source.bytesize - end_offset) || +""
144
+ "#{before}#{replacement}#{after}"
145
+ end
135
146
  end
136
147
 
137
148
  def initialize(root:, target_version:, current_version: nil, from_version: nil)
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kettle-dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.2
4
+ version: 2.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -377,10 +377,10 @@ licenses:
377
377
  - AGPL-3.0-only
378
378
  metadata:
379
379
  homepage_uri: https://kettle-dev.galtzo.com
380
- source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v2.3.2
381
- changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v2.3.2/CHANGELOG.md
380
+ source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v2.3.3
381
+ changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v2.3.3/CHANGELOG.md
382
382
  bug_tracker_uri: https://github.com/kettle-dev/kettle-dev/issues
383
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/2.3.2
383
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/2.3.3
384
384
  funding_uri: https://github.com/sponsors/pboling
385
385
  wiki_uri: https://github.com/kettle-dev/kettle-dev/wiki
386
386
  news_uri: https://www.railsbling.com/tags/kettle-dev
metadata.gz.sig CHANGED
Binary file