v0.1.311
davidfowl/tallyv0.1.311Jan 10, 2026by github-actions[bot]
AI Summary
Added support for folder and glob patterns in CSV data sources, European CSV handling with semicolon delimiters, and fixed tag collection behavior to only collect from winning rules.
Key Highlights
- Folder and glob CSV sources support
- European CSV support with semicolon delimiters
- Currency symbol detection in amount columns
- Field transforms for fees support
- Smart warnings for expensive glob patterns
- location is now a regular custom field
Breaking Changes
- Tags now only collected from tag-only rules and winning categorization rule (previously collected from ALL matching rules)
New Features
- Directory and glob patterns in data sources
- European CSV auto-detection
- Currency symbol detection
- field.amount transforms for fees
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.