expect-pty 0.9.4 → 0.9.6

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: bd51e466710a92cea41212f9cb4477f73f586ff44f53fa57676be9562b59f037
4
- data.tar.gz: a848149d3069fafefffe5618c9293eed72b569dab3879a783edee292271a25c2
3
+ metadata.gz: 24f49a4a4e864cdcfb8bd248b9ca01d7de830098f0767a0a1b5829c2569fe386
4
+ data.tar.gz: 057d8e7efa345d73790a47e35390d92f643ec211746b064105cc1fb2c4da628f
5
5
  SHA512:
6
- metadata.gz: 19709a17b0f7a69db8d8eac19e6bec88259bd37475394a4a0d27e1406a33244bef839cc6627696c8b72a1df5b873b27c2ef55004003a07e66b3e82323d5322be
7
- data.tar.gz: f2806cb9db50e6b82bfe0c72a7affd28f1ab50b716688c1dc027aa75fff5c049fffe2f20348695b32a06cb41f1ec2fba426ccef8b4789a2304a388a1908d0e93
6
+ metadata.gz: e7c9b71e0c1f74b891f9773cf438ef09ef1e9496faa0414af7048b4090efe86f141f84aa72eca9f5a4e0f1b21f69889f3084a1922158b6addfc80346d91bb423
7
+ data.tar.gz: 220a9fda4d96aca8c632cceb408f4c1bcc705c79ab92cc177520c5ce72c534888c96282e5613110d84f07e6594eed5923b13bbfdc356def25c54a046ce3a1b96
data/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.9.6 - 2026-10-23
6
+
7
+ - 移除 io-console、json、logger 和 stringio 的额外版本下限,沿用 Ruby 3.4+ 的运行时要求。
8
+
9
+ ## 0.9.5 - 2026-10-21
10
+
11
+ - 无脱敏规则且旧尾部排空时直接交付独立字节副本,避免为普通日志分配等长掩码;保留规则切换、抑制输出与相邻隐藏区间的语义。
12
+
5
13
  ## 0.9.4 - 2026-10-19
6
14
 
7
15
  - 将字面未命中进度归一为内部 LiteralScan,供匹配与转接复用;大缓冲分块转接不再反复搜索已排除的范围,保留跨块转义与回调修改规则的行为。
@@ -74,6 +74,13 @@ module Expect
74
74
  def append_chunk(data, visible:)
75
75
  raise ArgumentError, "data must be a String" unless data.is_a?(String)
76
76
 
77
+ # 没有规则且旧尾部已排空时,原样交付独立字节副本,不构造等长掩码。
78
+ # 非空明文会分隔隐藏区间;空分片不能改变以后重新启用规则时的边界。
79
+ if @patterns.empty? && @pending.empty?
80
+ @masking = false unless data.empty?
81
+ return visible ? data.b : "".b
82
+ end
83
+
77
84
  unless visible || data.empty?
78
85
  @suppressed ||= "\0" * @pending.bytesize
79
86
  @suppressed_until = @pending.bytesize + data.bytesize
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Expect
4
4
  # Gem 与库共用的版本号;独立文件使 gemspec 无需加载完整会话实现。
5
- VERSION = "0.9.4"
5
+ VERSION = "0.9.6"
6
6
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: expect-pty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.4
4
+ version: 0.9.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - expect-pty contributors
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2026-10-19 00:00:00.000000000 Z
10
+ date: 2026-10-23 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: io-console
@@ -15,56 +15,56 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: '0.6'
18
+ version: '0'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - ">="
24
24
  - !ruby/object:Gem::Version
25
- version: '0.6'
25
+ version: '0'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: json
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: '2.0'
32
+ version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: '2.0'
39
+ version: '0'
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: logger
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: '1.6'
46
+ version: '0'
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: '1.6'
53
+ version: '0'
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: stringio
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: '3.0'
60
+ version: '0'
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - ">="
66
66
  - !ruby/object:Gem::Version
67
- version: '3.0'
67
+ version: '0'
68
68
  description: Automate interactive programs with PTY sessions, pattern matching, callbacks,
69
69
  timeouts, logging and multi-session IO.
70
70
  executables: []