Changelog
=========

0.1.0
------

New functionality:
- Added datastar.discovery: public access to the task-type and connector-type
  schemas the Datastar service publishes, with a description of every field
  (task_type_schemas(), connection_type_schemas(), TypeSchema). Schemas are
  fetched live and fall back to a copy bundled with the package.
- Exposed the type registries publicly (TASK_TYPES, CONNECTION_TYPES) plus
  task_class_for() / connection_class_for() lookups by service type name.
- Every task class declares TASK_TYPE and every connection class declares
  CONNECTION_TYPE (the service's type name); both expose get_schema().
- StartTask is now exported from datastar and datastar.tasks.

Changed functionality:
- Documented the shared configuration shapes in datastar.tasks.join_helper and
  the snake_case-argument / camelCase-wire convention on Task.
- Task.get_task_type() is implemented once on the base class from TASK_TYPE
  instead of being overridden in every subclass. Behaviour is unchanged.

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.
