Changelog
=========

0.0.24b1
--------

New functionality:
- Added new task types for building macros:
  - Select: query/join/filter into a destination table
  - Group By: aggregations with joins and filters
  - Run Macro: run another macro as a nested step
  - Run AI Agent
  - Run Machine Learning
  - Solve Model: trigger a model solve with a chosen solve mode and engine
- Added a new dstar_tool CLI for discovering available Datastar utilities
  and AI agent/ML jobs and generating ready-to-run scripts for them:
  - list: show available utilities, optionally filtered by category
  - create: generate a Python script pre-filled with a utility's parameters
  - file / raw: dump the full utility catalog to a file or stdout
  - docs: copy the bundled PDF guides to a local docs folder
  - examples: copy the bundled example scripts to a local examples folder
- Re-enabled the Excel (XLS) connector, which was previously non-functional.

Changed functionality:
- DSV connector: added several new properties:
  - header row
  - quote character
  - decimal separator
  - thousand separator
  - record limit
  - date format
  - null value handling
  - per-column configuration
- XLS connector: replaced the old sheet_name/workbook_password fields with a
  single, more flexible sheet_configs list.
- Import, Update, and Delete tasks now support structured filter conditions
  and explicit table joins, instead of a plain string filter.
- Task positions now use decimal coordinates, and tasks expose their
  validation status when read back.
- Import tasks no longer force a default "replace" behavior when writing to
  a destination table.

Fixes:
- Fixed a bug that made the run-utility task helper uncallable as documented.
