You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,23 +8,29 @@
8
8
- Required options accept negative exponent notation such as `-1e3` without mistaking it for another option.
9
9
- Constant discovery now includes classes and modules assigned with `Class.new` / `Module.new` during the target file load.
10
10
- Repeated loads retain assigned constant aliases when the source file is unchanged.
11
+
- Repeated loads after source edits retain aliases created by direct, guarded, multiple, and `const_set` assignments while their active definitions remain, without reviving aliases behind newly disabled conditions.
11
12
- Constructor arity errors raised by `--new` are now wrapped in Rubycli's user-facing runner error.
13
+
- Framework argument errors raised by constructors are also wrapped in the same user-facing runner error.
12
14
- Positional type conversion now waits for JSON/eval coercion, matching keyword-option behavior and preserving `--new` JSON/eval inputs.
13
15
- Runner tests now execute without terminating the Minitest process and assert converted command arguments instead of stubbed targets.
14
16
-`--check --new` now inspects exposed instance/class commands without running constructors, while `--check` rejects pre-scripts instead of evaluating them.
17
+
-`--check` now inspects explicitly selected commands even when their methods or defining procs come from required files.
15
18
- Explicit nested constant names no longer fall back to inherited top-level constants, and malformed pre-scripts now produce contextual Rubycli errors.
16
19
- Rest, optional-before-required, and trailing-required positional arguments now follow Ruby's argument binding rules for conversion, validation, and help output.
17
20
- Documented scalar/list conversions now preserve numeric-looking strings, handle repeated booleans, return real `DateTime` values, accept JSON arrays, and reject scalar/array values where `JSON`/`Hash` shapes do not allow them.
18
21
- Positional `Symbol` annotations preserve colon-prefixed symbol literals instead of embedding the colon in the symbol name.
19
22
- Assignment-like positional values remain positional unless they match a keyword, while matching assignments use the same documented conversion as long options.
20
23
- YARD positional tags are aligned by parameter name instead of comment order.
21
24
- Eval-mode local variables and command-line strict/check/result-output flags no longer leak across separate programmatic runs.
25
+
- Constructor and command eval arguments share one binding per Runner execution without enabling eval mode while the target file loads.
26
+
- Required options accept a lone `-` value, bare rest placeholders render with an ellipsis, and quoted `String[]` elements remain strings.
22
27
- Invalid Ruby syntax passed through strict eval mode now produces a user-facing Rubycli argument error instead of leaking a `SyntaxError` backtrace.
23
28
- Circular arrays/hashes returned by commands now fall back to inspected output instead of raising a JSON nesting error.
24
29
25
30
### Testing
26
31
- Added dependency-free overall line, branch, and changed-line coverage gates plus GitHub Actions checks spanning the supported Ruby range.
27
32
- Changed-line coverage now treats new library files that were never loaded by the test suite as uncovered.
33
+
- Push coverage compares against the previous commit and falls back to the default branch when a new ref has no previous commit or a ref is deleted.
0 commit comments