Skip to content

v1.0.0rc1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Sep 00:28
· 44 commits to main since this release
dc6e1ef

Prerelease: 1.0.0rc1 is a release candidate for ctui 1.0.0. Test it before using it in production.

ctui 1.0 establishes the first stable public API for building typed command
tools that can run as either full-screen terminal applications or conventional
command-line programs.

Added

  • Typed command conversion, validation, completion, aliases, unique-prefix
    matching, confirmation prompts, and precise argument-error locations.
  • Explicit Linux-style named arguments through Argument(flags=...), while
    parameters without declared flags remain positional.
  • Automatic CLI routing with repeatable --command and --file options.
  • HexBytes for converting common hexadecimal representations to immutable
    bytes.
  • Lazy, bounded FuzzyHexPattern and FuzzyStringPattern expansion and
    sampling.
  • IntegerRanges and IntegerSpan for compact, non-expanding integer ranges.
  • Async commands, lifecycle hooks, application events, progress reporting, and
    application-wide keyboard shortcuts.
  • Project-scoped SQLite persistence for configs, command history, sessions,
    and records, using aiosqlite for non-blocking access.
  • Versioned project migrations, integrity checks, and recoverable backups.
  • JSON config and SQLite project import/export.
  • A documented top-level public API and installed-package version metadata.
  • Ordered tutorials covering the primary framework features.
  • Cross-platform CI for Python 3.11 through 3.14 on Linux x86-64, Linux ARM64,
    Windows, and macOS.
  • Isolated wheel and source-distribution smoke tests before publication.
  • Trusted PyPI publishing, PEP 740 attestations, and automatic GitHub releases.

Changed

  • Python 3.11 is now the minimum supported Python version.
  • SQLite operations use an asynchronous backend.
  • Command parameters are positional unless their Argument metadata
    explicitly declares one or more option flags.

Compatibility

Versions before 1.0 were development releases. Applications upgrading from a
0.x release should review the current README and tutorials rather than assume
compatibility with undocumented earlier behavior.

What's Changed

  • feat!: prepare ctui 1.0.0 by @meeas in #6

New Contributors

  • @meeas made their first contribution in #6

Full Changelog: v0.8.1...v1.0.0rc1