                     Changes in version 0.4.1.9000                      

                 Changes in version 0.4.1 (2026-08-24)                  

  - Updated snapshot tests for yaml12 0.2.0's revised output formatting.
    This does not change Rapp's behavior.

                 Changes in version 0.4.0 (2026-06-11)                  

Breaking changes

  - Rapp now checks parsed command line values against declared option
    types instead of coercing them. Integer options require integer
    values, so values like 10.2 or true produce an error; float options
    still accept integer values (#18).
  - Rapp now parses YAML with YAML 1.2 semantics. Bare yes and no
    non-Boolean option values are strings, not Boolean aliases. Boolean
    options still accept YAML 1.1 aliases such as yes, no, y, n, on, and
    off for backward compatibility.
  - Command switches are now required by default. If a command is
    omitted, Rapp prints scoped help. Add #| required: false above the
    switch() to allow running without a command (#21).
  - Boolean switch help now shows the command-line form that changes the
    default: foo <- FALSE shows --foo, foo <- TRUE shows --no-foo, and
    foo <- NA shows --foo / --no-foo. Passing values remains more
    permissive: switches accept explicit values such as --foo=false and
    --foo false. See the Boolean option behavior table for the full set
    of accepted forms (#28).

New features

  - #| examples: annotations now add usage examples to --help output
    (#23).
  - Boolean switches now do the expected thing for most users without
    additional configuration. For exceptional needs, #| negative_alias:
    false disables generated --no-* command-line aliases while keeping
    the positive alias and explicit value forms such as --foo=false
    (#24, #28).

Bug fixes

  - Launcher front matter now accepts documented kebab-case option
    names, such as default-packages (#19).
  - On Windows, tests now preserve the user PATH (#26).
  - Rapp can now be installed from source on R versions before 4.0.0
    (#30).
  - The installation docs now clarify that package apps are discovered
    as exec/*.R, installed without the .R extension by default, and
    installed to RAPP_BIN_DIR when set (#20).
  - install_pkg_cli_apps() now adds the default ~/.local/bin install
    directory to the user's zsh profile on macOS when it is not already
    on PATH. It respects ZDOTDIR and warns if the profile cannot be
    updated (#35).
  - On Windows, install_pkg_cli_apps() no longer replaces the current
    process PATH with only the user-level Path after adding launcher
    directories. It now avoids duplicate entries, uses a short path when
    available, and reports too-long user-level Path values with a
    remediation hint (#38).

                 Changes in version 0.3.0 (2025-12-14)                  

Breaking changes

  - Positional arguments are now required by default. Use #| required:
    false to make an argument optional (#13).

New features

  - #| short now adds a short option alias like -n (#4, #5).
  - c() and list() assignments now declare repeatable options.
  - install_pkg_cli_apps() installs launchers for Rapp and Rscript apps
    in a package's exec/ directory on the user's PATH (#3, #7).
  - switch() blocks can now declare commands in Rapp applications (#8,
    #11).

                 Changes in version 0.2.0 (2024-07-15)                  

  - The default --help output is updated.
  - Rapp gains a package logo.
  - Rapp is now part of the r-lib organization on GitHub.
  - Rapp now includes NEWS.md to track changes to the package.

                 Changes in version 0.1.0 (2023-03-20)                  

  - Initial release.
