Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 69 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,72 @@ No unreleased changes yet.

---

## [0.2.0] - 2026-01-04

### ⚠️ Breaking Changes

#### CLI Changes

- **Command renamed:** `tui-delta run` → `tui-delta into`
- **Output handling:** Output file is now a required positional argument instead of using stdout redirection
- **Before (0.1.x):** `tui-delta run -- command > output.log`
- **After (0.2.0):** `tui-delta into output.log -- command`
- **Argument naming:** Command argument renamed from `command` to `command-line` for clarity

#### Python API Changes

- **`run_tui_with_pipeline()` signature changed:**
- Parameter renamed: `command` → `command_line`
- New required parameter: `output_file: Path`
- New optional parameter: `stage_outputs: bool = False`
- **Before (0.1.x):** `run_tui_with_pipeline(command=['claude', 'code'])`
- **After (0.2.0):** `run_tui_with_pipeline(command_line=['claude', 'code'], output_file=Path('session.log'))`

- **`build_script_command()` signature changed:**
- Parameter renamed: `command` → `command_line`
- New required parameter: `output_file: str`

### Features

- **Named pipe support:** Output file can now be a user-created named pipe (FIFO) for post-processing with other tools
- **Stage outputs:** New `--stage-outputs` option saves intermediate pipeline stage outputs for debugging
- **Escape decoder:** New `tui-delta decode-escapes` command to decode control sequences to readable text
- **Profile validation:** Validates profile names and provides helpful error messages with available profiles
- **Improved buffering:** Added `-u` flag to Python processes for better real-time output

### Migration Guide

**CLI Users:**

Update your scripts to use the new command syntax:
```bash
# Old (0.1.x)
tui-delta run --profile claude_code -- claude code > session.log

# New (0.2.0)
tui-delta into session.log --profile claude_code -- claude code
```

**Python API Users:**

Update function calls to include the output file:
```python
# Old (0.1.x)
from tui_delta import run_tui_with_pipeline
run_tui_with_pipeline(command=['claude', 'code'], profile='claude_code')

# New (0.2.0)
from pathlib import Path
from tui_delta import run_tui_with_pipeline
run_tui_with_pipeline(
command_line=['claude', 'code'],
output_file=Path('session.log'),
profile='claude_code'
)
```

---

## [0.1.1] - 2025-12-11

Updated description.
Expand Down Expand Up @@ -45,5 +111,7 @@ Releases are automated via GitHub Actions when a version tag is pushed:
- Publishes to PyPI (when configured)
4. Version number is automatically derived from Git tag

[Unreleased]: https://github.com/JeffreyUrban/tui-delta/compare/v0.1.0...HEAD
[Unreleased]: https://github.com/JeffreyUrban/tui-delta/compare/v0.2.0...HEAD
[0.2.0]: https://github.com/JeffreyUrban/tui-delta/compare/v0.1.1...v0.2.0
[0.1.1]: https://github.com/JeffreyUrban/tui-delta/compare/v0.1.0...v0.1.1
[0.1.0]: https://github.com/JeffreyUrban/tui-delta/releases/tag/v0.1.0
4 changes: 3 additions & 1 deletion docs/reference/library.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,13 @@ pip install tui-delta
## Quick Start

```python
from pathlib import Path
from tui_delta import run_tui_with_pipeline

# Run a TUI application with delta processing
exit_code = run_tui_with_pipeline(
command=["echo", "Hello, World!"],
command_line=["echo", "Hello, World!"],
output_file=Path("output.log"),
profile="minimal"
)

Expand Down
Loading