megrez 0.1.0 → 0.1.1

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: 85a6c24732dbeeb7c806452f4d963df6c0e1d4aa33faa2b45961aeb27c737f03
4
- data.tar.gz: b742be2cdcd1d743185f2fa3f3eabf0224f1bc94f00f08ea6eaaf35631ac5eb6
3
+ metadata.gz: 56d4368f9fcd489224d0e04b5f77627bc2354722d753bdcb1609463682e98c7f
4
+ data.tar.gz: 8b540a3dec6ac43a3c421857bdc3e6cb88d99e77ac3a89743c8f8badde77acc4
5
5
  SHA512:
6
- metadata.gz: 6e1fe32a3fea8f74156ec480ec0fe60c43098b7c5748a3896e6dc13436416d06a4822f87e82b8ecac82698f6b5166c16e2ae01bcb5a1ec331eed586d7e1feed0
7
- data.tar.gz: 456406256f220f0a3faecb88d8ea49acc07dd15284a3bc1c8e90e2e74888a688798a084609012e2794f833c54826b15239cca1bf22099b30390095be57409f5b
6
+ metadata.gz: e0d1ae17507d09ebbb776da908f843b2bc50bc0cb3b3c75214e06652406781cb2813237e3eef559eb2bdbcd4c3ea098b4495822572930d251b98d789183aea6e
7
+ data.tar.gz: 6874103e9912326a58d8582de0b72047d74d00b872968ea72e74563f493a552a5f4bc5f38da5a393eb020d87c22ad6e180ded3f0075ad5685f8d014d26483a7a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.1 - 2026-09-16
4
+
5
+ - Fixed debug adapter process shutdown on Windows
6
+
3
7
  ## 0.1.0 - 2026-09-16
4
8
 
5
9
  - Initial release
data/README.md CHANGED
@@ -1,16 +1,49 @@
1
- # Megrez
1
+ <h1 align="center">Megrez</h1>
2
+
3
+ <p align="center">
4
+ <strong>Pure Ruby Debug Adapter Protocol client</strong>
5
+ </p>
6
+
7
+ <p align="center">
8
+ <a href="https://rubygems.org/gems/megrez"><img src="https://img.shields.io/gem/v/megrez.svg?colorB=319e8c" alt="Gem Version"></a>
9
+ <a href="https://rubygems.org/gems/megrez"><img src="https://img.shields.io/gem/dt/megrez.svg" alt="Downloads"></a>
10
+ <img src="https://img.shields.io/badge/ruby-%3E%3D%203.1-ruby.svg" alt="Ruby Version">
11
+ <a href="LICENSE.txt"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT License"></a>
12
+ </p>
13
+
14
+ <p align="center">
15
+ <a href="#features">Features</a> ·
16
+ <a href="#installation">Installation</a> ·
17
+ <a href="#quick-start">Quick Start</a> ·
18
+ <a href="#sessions">Sessions</a> ·
19
+ <a href="#conformance">Conformance</a> ·
20
+ <a href="#security">Security</a>
21
+ </p>
22
+
23
+ ---
2
24
 
3
25
  Megrez is a pure Ruby Debug Adapter Protocol (DAP) client. It owns adapter
4
26
  transport, protocol validation, session state, breakpoints, execution control,
5
27
  and lazy variable expansion without depending on an editor or UI toolkit.
6
28
 
29
+ ## Features
30
+
31
+ - Debug Adapter Protocol sessions over stdio or TCP
32
+ - Breakpoints, execution control, stack frames, scopes, variables, and evaluation
33
+ - Ordered events and adapter reverse-request handlers
34
+ - Cancellable, timeout-aware futures for every request
35
+ - Generation-safe variable references that reject stale debugger state
36
+ - Built-in fake adapter and optional `rdbg` conformance testing
37
+
7
38
  ## Installation
8
39
 
9
40
  ```ruby
10
41
  gem "megrez"
11
42
  ```
12
43
 
13
- ## Usage
44
+ Megrez supports Ruby 3.1 and later.
45
+
46
+ ## Quick Start
14
47
 
15
48
  ```ruby
16
49
  require "megrez"
@@ -32,6 +65,8 @@ session.configuration_done.await(timeout: 5)
32
65
  launch.await(timeout: 5)
33
66
  ```
34
67
 
68
+ ## Sessions
69
+
35
70
  Requests return `Megrez::Future`; call `await(timeout:)` where a blocking
36
71
  result is needed. Cancelling a future sends the DAP `cancel` request and
37
72
  rejects the local wait. Event callbacks are delivered in adapter arrival order.
@@ -57,6 +92,8 @@ The bundled fake adapter is exercised by default. Set
57
92
  `MEGREZ_ADAPTERS=ruby` to additionally run the installed `rdbg` conformance
58
93
  scenario.
59
94
 
95
+ ## Development
96
+
60
97
  ```sh
61
98
  bundle install
62
99
  bundle exec rake test
@@ -65,11 +102,17 @@ BUDGET=1 bundle exec rake bench
65
102
  gem build --strict megrez.gemspec
66
103
  ```
67
104
 
105
+ ## Security
106
+
68
107
  Adapters are external programs and should be treated as untrusted input.
69
108
  Megrez does not invoke a shell, caps frame/header/pending-request sizes, and
70
109
  bounds retained stderr and callback errors. TCP is unencrypted; use it only on
71
110
  a trusted interface or inside a secure tunnel.
72
111
 
112
+ ## Contributing
113
+
114
+ Bug reports and pull requests are welcome at https://github.com/noxdea/megrez.
115
+
73
116
  ## License
74
117
 
75
- Megrez is available under the MIT License.
118
+ Megrez is available under the [MIT License](LICENSE.txt).
@@ -158,8 +158,10 @@ module Megrez
158
158
  return unless @process
159
159
  return if @process.join(1)
160
160
 
161
- Process.kill("TERM", @process.pid)
162
- return if @process.join(1)
161
+ unless Gem.win_platform?
162
+ Process.kill("TERM", @process.pid)
163
+ return if @process.join(1)
164
+ end
163
165
 
164
166
  Process.kill("KILL", @process.pid)
165
167
  @process.join(1)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Megrez
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: megrez
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yudai Takada
@@ -58,7 +58,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
58
58
  - !ruby/object:Gem::Version
59
59
  version: '0'
60
60
  requirements: []
61
- rubygems_version: 4.0.16
61
+ rubygems_version: 3.6.9
62
62
  specification_version: 4
63
63
  summary: Pure Ruby Debug Adapter Protocol client
64
64
  test_files: []