Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jdx/demand
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.8.2
Choose a base ref
...
head repository: jdx/demand
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v2.0.0
Choose a head ref
  • 13 commits
  • 13 files changed
  • 4 contributors

Commits on Jan 31, 2026

  1. feat: add Wizard component for multi-step wizard flows (#127)

    * feat: add Wizard component for multi-step wizard flows
    
    Add a new Wizard component that supports:
    - Multi-step wizard with breadcrumb navigation
    - Navigation enum (Next, Back, Jump, Stay, Done)
    - Section struct with label and run closure
    - Breadcrumb rendering with numbered sections [1:Name] > 2:Tools
    - Escape key handling for back navigation
    - Proper Ctrl+C cleanup
    
    Also adds breadcrumb styling fields to Theme:
    - breadcrumb_active, breadcrumb_clickable, breadcrumb_future
    - breadcrumb_separator
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
    
    * fix(wizard): address PR review feedback
    
    - Add cursor restoration on successful wizard completion (Navigation::Done)
    - Mark target section as visited when navigating Back or on Escape
    - Add documentation for handle_navigation_key explaining it's a utility
      for library consumers implementing custom widgets
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
    
    * fix: clear widget output before returning Interrupted error
    
    When Escape is pressed, widgets now clear their rendered output before
    returning the Interrupted error. This prevents stale widget output from
    accumulating when navigating between sections in wizard flows.
    
    Affected widgets: Select, MultiSelect, Input, Confirm
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
    
    * chore: address PR review feedback
    
    - Fix render_breadcrumb doc comment to accurately describe limitations
    - Remove Section and SectionFn from public exports (users interact via
      Wizard::section() builder method)
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
    
    ---------
    
    Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
    jdx and claude authored Jan 31, 2026
    Configuration menu
    Copy the full SHA
    963be9b View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2026

  1. chore(deps): pin dependencies (#130)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 13, 2026
    Configuration menu
    Copy the full SHA
    3d7ca12 View commit details
    Browse the repository at this point in the history
  2. chore(deps): update actions/checkout digest to de0fac2 (#131)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 13, 2026
    Configuration menu
    Copy the full SHA
    4298036 View commit details
    Browse the repository at this point in the history
  3. chore(deps): update dependency hk to v1.36.0 (#132)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 13, 2026
    Configuration menu
    Copy the full SHA
    7ca0f3c View commit details
    Browse the repository at this point in the history
  4. chore(deps): update actions/checkout action to v6 (#133)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 13, 2026
    Configuration menu
    Copy the full SHA
    33dacdd View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2026

  1. chore(deps): update release-plz/action digest to f708778 (#134)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 20, 2026
    Configuration menu
    Copy the full SHA
    88a814b View commit details
    Browse the repository at this point in the history
  2. chore(deps): update dependency cargo:cargo-release to v1 (#135)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 20, 2026
    Configuration menu
    Copy the full SHA
    6ea0106 View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2026

  1. chore(deps): update jdx/mise-action digest to e79ddf6 (#136)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 6, 2026
    Configuration menu
    Copy the full SHA
    23eac6b View commit details
    Browse the repository at this point in the history
  2. chore(deps): update dependency hk to v1.37.0 (#137)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 6, 2026
    Configuration menu
    Copy the full SHA
    971c8b0 View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2026

  1. make multiselect dialogue rendering more efficient (#129)

    * optimize rendering for multiselect dialogue
    
    * fix test
    
    * fix problems listed in pr review
    TheBearodactyl authored Mar 8, 2026
    Configuration menu
    Copy the full SHA
    8995a4a View commit details
    Browse the repository at this point in the history
  2. fix: add #[non_exhaustive] to Theme struct (#139)

    * fix: add #[non_exhaustive] to Theme struct
    
    Prevents future breaking changes when adding new theme fields,
    since users must use `..Default::default()` instead of struct literals.
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    
    * fix: update Theme doc example for #[non_exhaustive] compatibility
    
    Struct literal syntax doesn't work for #[non_exhaustive] structs from
    external crates. Use field assignment on a default instance instead.
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    
    * fix: add #[non_exhaustive] to CursorShape enum
    
    Prevents breaking changes when adding new cursor shape variants
    (e.g., Beam) since external code must include a wildcard match arm.
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
    jdx and claude authored Mar 8, 2026
    Configuration menu
    Copy the full SHA
    902cb5b View commit details
    Browse the repository at this point in the history
  3. feat(input): add mask_on_submit option (#138)

    * feat(input): add mask_on_submit option
    
    Add a new `mask_on_submit` flag that shows input in cleartext while
    typing but masks it with asterisks after submission. Useful for PINs
    where the user needs to see what they're typing but the value should
    not remain visible in terminal scrollback.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    
    * fix: restore fixed-length mask for password mode in render_success
    
    Password mode now shows 12 asterisks (original behavior) to avoid
    revealing password length. mask_on_submit uses actual input length
    without .max(1) so empty input correctly shows nothing.
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    
    * fix: use chars().count() instead of len() for mask_on_submit
    
    Byte length produces too many asterisks for multi-byte UTF-8 input.
    Use character count to match the rest of the codebase.
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    
    * test: add render_success tests for mask_on_submit and password modes
    
    Also document that password takes precedence over mask_on_submit.
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    jdx and claude authored Mar 8, 2026
    Configuration menu
    Copy the full SHA
    23c102a View commit details
    Browse the repository at this point in the history
  4. chore: release v2.0.0 (#128)

    jdx authored Mar 8, 2026
    Configuration menu
    Copy the full SHA
    964902c View commit details
    Browse the repository at this point in the history
Loading