ratatui_ruby 1.0.0.pre.beta.3 → 1.0.0

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: db0cf2519be48abadebb47b0ff1473739692a8b0556add21c774420db188c392
4
- data.tar.gz: 9454ead9e7cbe09a886b33f437833cd753ceaca565400554056c26eb6110e1ed
3
+ metadata.gz: c8ee9b7928a67c0f332a1fdfd2870972ba9f37c6219879d427a5225f71a24b54
4
+ data.tar.gz: 42ef63b4ca0dafb3220034af83a1d5d0acab49123378e0c5909b21c9baf60f52
5
5
  SHA512:
6
- metadata.gz: c96411ef407f2d9e54535239af7121b3acdfed15cf72ec1d146166b8b0fbaa0320aadc0c5aaba6b2d47dcb9ecb59bf508a5ebe658327e05a12190029b010d823
7
- data.tar.gz: d418563a2fa210c302c83ced44095af3a37453b1e129367ab532291eeb9574db077782228ba7f2cac3ea1cadba90dbdf1c7f2a8d0924615dd4f629ef0f849a6c
6
+ metadata.gz: 68ec1dcf33fa00b9bb53852d5cc4c92c680f10924b13594854c34bc3e597db6214603c1513427cad35e31895d08cc7dd59e2ac1166dcd44f525043588b23407d
7
+ data.tar.gz: c9cfbe2d111ca45cfe003fc28dea7d23f12dac8c14424701a8532d964d905e80d2fbdd2fdb2a749a291a23ef4e168e2ab0fac14c55ef874b5e1b357d75f4b66f
data/.builds/ruby-3.2.yml CHANGED
@@ -16,7 +16,7 @@ packages:
16
16
  - clang
17
17
  - git
18
18
  artifacts:
19
- - ratatui_ruby/pkg/ratatui_ruby-1.0.0.pre.beta.3.gem
19
+ - ratatui_ruby/pkg/ratatui_ruby-1.0.0.gem
20
20
  sources:
21
21
  - https://git.sr.ht/~kerrick/ratatui_ruby
22
22
  tasks:
data/.builds/ruby-3.3.yml CHANGED
@@ -16,7 +16,7 @@ packages:
16
16
  - clang
17
17
  - git
18
18
  artifacts:
19
- - ratatui_ruby/pkg/ratatui_ruby-1.0.0.pre.beta.3.gem
19
+ - ratatui_ruby/pkg/ratatui_ruby-1.0.0.gem
20
20
  sources:
21
21
  - https://git.sr.ht/~kerrick/ratatui_ruby
22
22
  tasks:
data/.builds/ruby-3.4.yml CHANGED
@@ -16,7 +16,7 @@ packages:
16
16
  - clang
17
17
  - git
18
18
  artifacts:
19
- - ratatui_ruby/pkg/ratatui_ruby-1.0.0.pre.beta.3.gem
19
+ - ratatui_ruby/pkg/ratatui_ruby-1.0.0.gem
20
20
  sources:
21
21
  - https://git.sr.ht/~kerrick/ratatui_ruby
22
22
  tasks:
@@ -16,7 +16,7 @@ packages:
16
16
  - clang
17
17
  - git
18
18
  artifacts:
19
- - ratatui_ruby/pkg/ratatui_ruby-1.0.0.pre.beta.3.gem
19
+ - ratatui_ruby/pkg/ratatui_ruby-1.0.0.gem
20
20
  sources:
21
21
  - https://git.sr.ht/~kerrick/ratatui_ruby
22
22
  tasks:
data/CHANGELOG.md CHANGED
@@ -18,40 +18,22 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
18
18
 
19
19
  ### Removed
20
20
 
21
- ## [1.0.0-beta.3] - 2026-01-24
21
+ ## [1.0.0] - 2026-01-25
22
+ This release is functionally equivalent to v0.10.3, with additional bug fixes.
23
+ The version bump signals the beginning of the 1.0 release series.
22
24
 
23
25
  ### Added
24
26
 
25
27
  ### Changed
26
28
 
27
29
  ### Fixed
28
-
29
- - **Terminal Queries During Draw (Deadlock)**: Calling `viewport_area`, `terminal_size`, `get_cell_at`, `poll_event`, `get_cursor_position`, or `get_viewport_type` from inside a `draw()` block previously caused the application to freeze forever. The thread blocked on a Mutex. Ruby's `Timeout` could not interrupt it. The only recovery was `kill -9`. These reads now work via a snapshot captured before rendering.
30
- - **Terminal Mutations During Draw (Deadlock)**: Calling `insert_before`, `set_cursor_position`, or `resize_terminal` from inside a `draw()` block previously caused the same silent freeze. These writes now raise `Error::Invariant` with a clear message.
31
- - **Nested Draw Calls (Deadlock)**: Calling `draw()` from inside another `draw()` block previously froze the application. Nested draws now raise `Error::Invariant`.
32
- - **Event Injection During Draw (Deadlock)**: Calling `inject_test_event` from inside a `draw()` block previously froze the application. Event injection now works correctly during draw.
33
-
34
- ### Removed
35
-
36
- ## [1.0.0-beta.2] - 2026-01-20
37
-
38
- ### Added
39
-
40
- ### Changed
41
-
42
- ### Fixed
43
-
30
+ - **back_tab? DWIM**: `back_tab?` and `backtab?` predicates now match events with code "back_tab" regardless of whether the shift modifier is explicitly present, since back_tab semantically implies shift.
44
31
  - **Terminal Queries During Draw (Deadlock)**: Calling `viewport_area`, `terminal_size`, `get_cell_at`, `poll_event`, `get_cursor_position`, or `get_viewport_type` from inside a `draw()` block previously caused the application to freeze forever. The thread blocked on a Mutex. Ruby's `Timeout` could not interrupt it. The only recovery was `kill -9`. These reads now work via a snapshot captured before rendering.
45
32
  - **Terminal Mutations During Draw (Deadlock)**: Calling `insert_before`, `set_cursor_position`, or `resize_terminal` from inside a `draw()` block previously caused the same silent freeze. These writes now raise `Error::Invariant` with a clear message.
46
33
  - **Nested Draw Calls (Deadlock)**: Calling `draw()` from inside another `draw()` block previously froze the application. Nested draws now raise `Error::Invariant`.
47
34
  - **Event Injection During Draw (Deadlock)**: Calling `inject_test_event` from inside a `draw()` block previously froze the application. Event injection now works correctly during draw.
48
35
  - **TableState Row Navigation Methods**: Added missing row navigation methods (`select_next`, `select_previous`, `select_first`, `select_last`) that should have been included alongside the column navigation methods added in v0.10.0. These methods match `ListState`'s navigation API and are used in the `app_stateful_interaction` example.
49
36
 
50
- ### Removed
51
-
52
- ## [1.0.0-beta.1] - 2026-01-20
53
- This release is functionally equivalent to v0.10.3. The version bump signals the beginning of the 1.0 release series.
54
-
55
37
  ## [0.10.3] - 2026-01-16
56
38
 
57
39
  ### Added
@@ -701,6 +683,7 @@ This release is functionally equivalent to v0.10.3. The version bump signals the
701
683
  - **Testing Support**: Included `RatatuiRuby::TestHelper` and RSpec integration to make testing your TUI applications possible.
702
684
 
703
685
  [Unreleased]: https://git.sr.ht/~kerrick/ratatui_ruby/refs/HEAD
686
+ [1.0.0]: https://git.sr.ht/~kerrick/ratatui_ruby/refs/v1.0.0
704
687
  [1.0.0-beta.3]: https://git.sr.ht/~kerrick/ratatui_ruby/refs/v1.0.0-beta.3
705
688
  [1.0.0-beta.2]: https://git.sr.ht/~kerrick/ratatui_ruby/refs/v1.0.0-beta.2
706
689
  [1.0.0-beta.1]: https://git.sr.ht/~kerrick/ratatui_ruby/refs/v1.0.0-beta.1
data/README.md CHANGED
@@ -20,9 +20,6 @@ Mailing List: Announcements](https://img.shields.io/badge/mailing_list-announcem
20
20
  **ratatui_ruby** is a Ruby wrapper for [Ratatui](https://ratatui.rs). It allows you to cook up Terminal User Interfaces in Ruby.
21
21
  **ratatui_ruby** is a community wrapper that is not affiliated with [the Ratatui team](https://github.com/orgs/ratatui/people).
22
22
 
23
- > [!WARNING]
24
- > **ratatui_ruby** is currently in **BETA**. Please report any bugs you find!
25
-
26
23
  **[Why RatatuiRuby?](./doc/getting_started/why.md)** — Native Rust performance, zero runtime overhead, and Ruby's expressiveness. [See how we compare](./doc/getting_started/why.md) to CharmRuby, raw Rust, and Go.
27
24
 
28
25
  Please join the **announce** mailing list at https://lists.sr.ht/~kerrick/ratatui_ruby-announce to stay up-to-date on new releases and announcements. See the [`trunk` branch](https://git.sr.ht/~kerrick/ratatui_ruby/tree/trunk) for pre-release updates.
@@ -91,7 +88,7 @@ Or install it yourself with:
91
88
  SPDX-License-Identifier: MIT-0
92
89
  -->
93
90
  ```bash
94
- gem install ratatui_ruby --pre
91
+ gem install ratatui_ruby
95
92
  ```
96
93
  <!-- SPDX-SnippetEnd -->
97
94
 
data/README.rdoc CHANGED
@@ -5,7 +5,7 @@ RatatuiRuby[https://rubygems.org/gems/ratatui_ruby] is a RubyGem built on
5
5
  Ratatui[https://ratatui.rs], a leading TUI library written in
6
6
  Rust[https://rust-lang.org]. You get native performance with the joy of Ruby.
7
7
 
8
- gem install ratatui_ruby --pre
8
+ gem install ratatui_ruby
9
9
 
10
10
  {rdoc-image:https://ratatui-ruby.dev/hero.gif}[https://www.ratatui-ruby.dev/docs/v0.10/examples/app_cli_rich_moments/README_md.html]
11
11
 
@@ -1059,7 +1059,7 @@ dependencies = [
1059
1059
 
1060
1060
  [[package]]
1061
1061
  name = "ratatui_ruby"
1062
- version = "1.0.0-beta.3"
1062
+ version = "1.0.0"
1063
1063
  dependencies = [
1064
1064
  "bumpalo",
1065
1065
  "lazy_static",
@@ -3,7 +3,7 @@
3
3
 
4
4
  [package]
5
5
  name = "ratatui_ruby"
6
- version = "1.0.0-beta.3"
6
+ version = "1.0.0"
7
7
  edition = "2021"
8
8
 
9
9
  [lib]
@@ -28,6 +28,12 @@ module RatatuiRuby
28
28
 
29
29
  # Handles navigation-specific DWIM logic for method_missing.
30
30
  private def match_navigation_dwim?(key_name, key_sym)
31
+ # DWIM: back_tab?/backtab? matches back_tab code even with shift modifier
32
+ # (since back_tab semantically implies shift)
33
+ if (key_name == "back_tab" || key_name == "backtab") && @code == "back_tab" && (@modifiers.empty? || @modifiers == ["shift"])
34
+ return true
35
+ end
36
+
31
37
  # DWIM: reverse_tab? matches both BackTab key and Shift+Tab combo
32
38
  if key_name == "reverse_tab"
33
39
  return true if @code == "back_tab"
@@ -8,5 +8,5 @@
8
8
  module RatatuiRuby
9
9
  # The version of the ratatui_ruby gem.
10
10
  # See https://semver.org/spec/v2.0.0.html
11
- VERSION = "1.0.0-beta.3"
11
+ VERSION = "1.0.0"
12
12
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ratatui_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre.beta.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kerrick Long
@@ -101,7 +101,7 @@ description: |2-
101
101
  Ratatui[https://ratatui.rs], a leading TUI library written in
102
102
  Rust[https://rust-lang.org]. You get native performance with the joy of Ruby.
103
103
 
104
- gem install ratatui_ruby --pre
104
+ gem install ratatui_ruby
105
105
 
106
106
  {rdoc-image:https://ratatui-ruby.dev/hero.gif}[https://www.ratatui-ruby.dev/docs/v0.10/examples/app_cli_rich_moments/README_md.html]
107
107