v0.1.311

ByteDance-Seed/SeedVRv0.1.311Jan 10, 2026by github-actions[bot]

AI Summary

Tally v0.1.311 supports folder and glob patterns for CSV sources, improves European CSV handling with semicolon delimiters, and introduces currency symbol detection.

Key Highlights

  • Directory and glob patterns for data sources (e.g., `*.csv`, `**/*.csv`)
  • European CSV support with semicolon delimiters and quoted fields
  • Currency symbol detection in amount columns

Breaking Changes

  • Tags are now only collected from tag-only rules or the winning categorization rule

New Features

  • Glob pattern support for CSV sources
  • European CSV format support
  • Currency symbol detection
  • Field transforms for fee columns

Full Release Notes

### Folder and Glob CSV Sources (#76)

Drop CSV files in a folder without merging - tally now supports directory and glob patterns in data sources:

```yaml
data_sources:
  - name: bank
    file: data/bank/*.csv           # All CSVs in folder
    format: "{date},{description},{amount}"

  - name: credit
    file: data/statements/**/*.csv  # Recursive glob
    format: "{date},{description},{amount}"
```

Works with all commands: `run`, `explain`, `discover`, and `diag`.

*Thanks to @criemen for the suggestion!*

### European CSV Support (#70, #72, #77)

The `inspect` command now correctly handles European-style CSVs with semicolon delimiters and quoted fields:

```csv
"Date";"Description";"Amount"
"15/01/2025";"GROCERY STORE";"123.45"
```

Auto-detection now shows the detected delimiter in suggested config:
```
Suggested format string:
  format: "{date}, {description}, {amount}"
  delimiter: ";"
```

*Thanks to @FabienDehopre for reporting this issue!*

### Currency Symbol Detection

`tally inspect` now detects currency symbols in amount columns and shows them in the analysis.

### Tag Collection Fix (#67)

**Breaking Change**: Tags are now only collected from:
- Tag-only rules (rules without a category)
- The winning categorization rule

Previously tags from ALL matching categorization rules were included, which could cause unexpected behavior (e.g., `income` tag from a non-winning rule).

*Thanks to @criemen for identifying this surprising behavior!*

### Field Transforms for Fees

Support `field.amount` transforms to handle fee columns:
```
field.amount = field.amount + field.fee
```

### Other Improvements

- Smart warnings for expensive glob patterns
- `location` is now a regular custom field (not special-cased)
- Documentation updates for transforms and experimental features

### 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.