v0.1.292
ByteDance-Seed/SeedVRv0.1.292Jan 6, 2026by github-actions[bot]
AI Summary
Tally v0.1.292 rebrands the primary command to `tally up`, introduces a report diff feature to track changes, and adds experimental supplemental data sources with Python list comprehensions.
Key Highlights
- Primary command replaced by `tally up` (with `tally run` deprecation)
- Report diff feature to track changes in totals and merchants
- Experimental supplemental data sources with Python list comprehensions
New Features
- Report diff feature (`--diff` flag)
- New `tally up` command
- Supplemental data sources with `let:` and `field:` directives
- Rule mode setting (`first_match`, `most_specific`)
- Custom report title support
Full Release Notes
## What's Changed
### `tally up` Replaces `tally run`
The primary command is now `tally up` - shorter and clearer. `tally run` still works but shows a deprecation warning.
```bash
# New
tally up --config config/
# Old (deprecated)
tally run config/
```
### Report Diff Feature
See what changed each time you run `tally up`. Helps catch rule changes, understand version upgrade impacts, and debug "why did my totals change?"
```bash
tally up
# Output includes:
# Changes since last run:
# Totals: spending $45,231 → $46,892 (+$1,661)
# Merchants: +3 new, 1 removed, 2 tag changes
# Use --diff for details.
tally up --diff # Show detailed changes
```
### Consistent Config Resolution
All commands now use the same config detection logic: auto-detect `./config` or `./tally/config`, with `--config` flag to override. No more inconsistent positional arguments across commands.
```bash
tally up # Auto-detect config
tally up --config ~/budget/ # Override location
tally explain Netflix -c config/
```
### Supplemental Data Sources (Experimental)
Enrich transactions with data from other CSV files using Python list comprehensions. Match Amazon transactions to order details, PayPal payments to merchant names, or any cross-reference scenario.
> **Note:** This feature is experimental and will evolve based on feedback.
```yaml
# settings.yaml
data_sources:
- name: amazon_orders
file: data/orders.csv
format: "{date},{item},{amount}"
supplemental: true # Query-only, won't generate transactions
```
```ini
# merchants.rules
[Amazon - Verified]
let: orders = [r for r in amazon_orders if r.amount == txn.amount]
match: contains("AMAZON") and len(orders) > 0
category: Shopping
subcategory: Online
field: items = [r.item for r in orders] # Add to transaction details
```
New rule directives:
- `let:` - Cache expensive queries in named variables
- `field:` - Add computed fields to transactions (visible in HTML report)
### Rule Mode Setting
Control how rules are matched when multiple patterns match:
```yaml
# settings.yaml
rule_mode: first_match # Default - first matching rule wins
rule_mode: most_specific # Most specific pattern wins
```
### Subcategory Grouping in HTML Report
Toggle between merchant view and subcategory view in the HTML report. Click the grouping toggle to see spending aggregated by subcategory instead of merchant.
### Custom Report Title
Replace `year:` with `title:` for custom report headers:
```yaml
# settings.yaml
title: "2025 Household Budget" # New
# year: 2025 # Deprecated
```
### Bug Fixes
- Fix category percentage calculation when filtering by subcategory
- Fix popup click propagation in HTML report
- Fix `tally update` not offering stable release when on prerelease
- Fix JSON export crash accessing missing data
- Fix single-character delimiter handling
- Fix currency formatting throughout HTML report and CLI
### Improvements
- Cash Flow Summary in CLI output
- Investment category in monthly trend charts
- Transactions sorted by date descending within merchant view
- Quiet mode implied for `--format json` and `--format markdown`
---
### Install
**Linux / macOS:**
```bash
curl -fsSL https://tallyai.money/install.sh | bash
```
**Windows PowerShell:**
```powershell
irm https://tallyai.money/install.ps1 | iex
```
Or download the zip for your platform below.
See https://tallyai.money for more info.