Skip to content

Releases: TALXIS/tools-cli

v1.14.2

04 May 09:06

Choose a tag to compare

Fix

  • workspace validate: --file option no longer incorrectly required (#65)

v1.14.1

04 May 08:10

Choose a tag to compare

Fix

  • workspace validate: --file option no longer incorrectly required (#65)

v1.14.0

04 May 00:12
e2588f3

Choose a tag to compare

What's new since v1.13.0

workspace validate upgrade

  • Replaced manual SchemaValidator + GuidValidator wiring with unified WorkspaceValidator facade
  • Added --file option for single-file validation (validate what you just modified)
  • Errors now include file:line:col locations for precise diagnostics
  • Shows component summary after model loading (entities, forms, views, plugins, flows, etc.)
  • Validates XSD schemas, JSON schemas, duplicate GUIDs, and loads the full metadata model in one pass

platform-metadata v0.4.0

  • XSD schemas verified against live Dataverse v9.2 exports
  • Power Automate flow JSON parsing and diagnostics
  • Precise source locations (no more hardcoded 1,1)
  • Multi-solution workspace support
  • SchemaIntrospector for component type structure discovery
  • 21+ XSD schemas covering all major component types

Other changes since v1.13.0

  • Bumped platform-metadata from v0.1.3 through v0.2.0, v0.3.0 to v0.4.0
  • Package icon updates

v1.13.0

01 May 16:45

Choose a tag to compare

workspace validate command

  • New txc workspace validate <path> — validates solution XML against XSD schemas and checks for duplicate GUIDs
  • Powered by TALXIS.Platform.Metadata.Validation

OptionSet command restructure

  • Moved from entity optionset global/option to environment optionset
  • optionset show --name / --entity + --attribute for global and local
  • --label and --value lookups for piping
  • --language flag for multi-language environments
  • option add/remove follows noun/verb convention

Metadata-aware data operations

  • record create and bulk create auto-wrap OptionSetValue, Money, EntityReference
  • Multi-select picklists supported (JSON arrays)
  • Fresh metadata per operation (no cache)

Post-action transaction rollback

  • Failed scaffolding rolls back all changes (template files + post-action modifications)
  • Snapshots .sln/.slnx file above output directory
  • 120s script timeout with deadlock-free stdout/stderr capture
  • 5 unit tests for PostActionTransaction

Other

  • Prerequisites checker validates pwsh before scaffolding
  • Emojis removed from guide tool responses
  • ModelPreferences for guide sampling (speed=0.8, cost=0.6, intelligence=0.4)
  • MCP-first README with dnx setup for VS Code, Claude Code, Copilot CLI
  • Cross-solution workflow documented (Behavior=Existing)
  • dotnet-script removed from prerequisites (.NET 10 file-based apps)
  • OptionMetadataInput.ParseCsv shared helper (removed ChangesetApplier duplicate)
  • LabelHelper for language-aware label resolution

v1.12.0

29 Apr 22:13
dbc6299

Choose a tag to compare

Data operations — metadata-aware type wrapping

  • Record create/update and bulk create/update/upsert auto-detect column types from Dataverse metadata
  • OptionSet values: pass plain integers (e.g. 375970000) — auto-wrapped to OptionSetValue
  • Money fields: pass decimals — auto-wrapped to Money
  • Lookups: pass bare GUID strings for single-target lookups — auto-wrapped to EntityReference
  • Multi-select picklists: pass JSON arrays of integers — auto-wrapped to OptionSetValueCollection
  • Fresh metadata per operation (no cache — CLI mutates schema)

OptionSet command restructure

Moved from entity optionset global/option (4–5 levels) to environment optionset (2 levels):

  • optionset list — all global option sets
  • optionset show --name <name> or --entity E --attribute A — values + labels
  • optionset show --label "Box" — label → value lookup (for piping)
  • optionset show --value 375970000 — value → label lookup
  • optionset show --language 1029 — specific language (LCID)
  • optionset option add/remove — noun/verb convention
  • --name everywhere (removed --global-optionset)

Entity describe enriched

  • Shows OptionSet name column for picklist/status/state columns

Other

  • MCP roots warning when client doesn't support workspace roots
  • dotnet sln add: fixed potential deadlock, stdout logged on success
  • Removed auto-version-bump CI job (tag is version source of truth)
  • Cross-repo local dev instructions in README

v1.11.0

28 Apr 07:32
4ff33a0

Choose a tag to compare

What's New in v1.11.0

New Skills

  • Data Querying — decision guide for SQL vs OData vs FetchXML, covering $apply aggregation, $expand, formatted values, and pagination patterns
  • Security Roles — scaffolding chain for security roles, role privileges, and app security roles with privilege type/level reference

Skill Enrichments

  • Schema Management — metadata propagation delays, column naming anti-patterns, lock contention guidance
  • Data Migration — adaptive chunk sizing, FK-ordered import, lookup resolution strategies
  • Form XML Reference — control ClassId table for all 11 types, form type codes, view querytype values
  • Troubleshooting — common Dataverse hex error codes with recovery actions

Fixes

  • Deployment skill no longer recommends --wait on import
  • Plugin skill now includes build-first guidance before deployment
  • Added dotnet-script prerequisite note to relevant skills

v1.10.0

28 Apr 03:12
f9bb729

Choose a tag to compare

What's New in v1.10.0

Solution Unpack Command

  • txc env sln unpack — unpack a solution ZIP into a folder using SolutionPackager, without needing to export from an environment first

MCP Error Reporting

  • Error details from workspace scaffolding (post-action failures, script errors) are now surfaced to MCP clients as structured output instead of being swallowed silently
  • Post-action errors include stderr content and exit codes with ANSI escape code stripping

Scaffolding Concurrency Fix

  • Concurrent workspace_component_create calls from MCP agents are now serialized per workspace root, preventing race conditions on shared files (Solution.xml, .sln)

Skill Documentation Fixes

  • Fixed incorrect template names in 5 skills (plugin, bpf, custom-api, pcf, form-xml)
  • Clarified publisher prefix limit as a convention (5 chars recommended) vs CLI enforcement (2-8 chars)
  • Added parameter convention docs and schema validation workflow to component creation skill

v1.9.0

27 Apr 23:42

Choose a tag to compare

What's New in v1.9.0

MCP Progressive Disclosure

The MCP server has been completely redesigned. Instead of exposing 97 static tools (which consumed 76% of the VS Code/Copilot 128-tool hard cap and ~55K tokens of context), the server now uses 9 always-on tools with progressive disclosure:

  • Domain-specific guide tools (guide_workspace, guide_environment, guide_deployment, guide_data, guide_config) use MCP sampling to understand what the agent needs, then produce multi-step recipes with concrete operation calls, validation checkpoints, and error recovery
  • execute_operation — same-turn bridge that runs any CLI operation, with destructive safety enforcement
  • get_skill_details — public knowledge base with 14 skills covering common workflows (entity scaffolding, solution deployment, CMT tuning, build error recovery, and more)
  • txc docs list/show — CLI commands for browsing the skills knowledge base outside of MCP
  • Local-first steering — guide prompts encode preference for instant workspace operations over live environment round-trips
  • New Roslyn analyzers (TXC010-TXC013) enforce description quality, context requirements, destructive signaling, and workflow classification at build time

Breaking: MCP clients must support sampling. The static 97-tool surface is no longer exposed.

Fixes

  • Fixed component layer commands (list, show, remove-customization) silently exiting with code 2 due to a stray return statement — all three commands were non-functional in v1.8.0

v1.8.0

26 Apr 13:00
8e9e13b

Choose a tag to compare

What's New in v1.8.0

Adds comprehensive solution management, component inspection, dependency analysis, and publisher management. Also improves CLI naming consistency and error reporting.

Solution Management

  • txc env sln show — view solution details with component type breakdown
  • txc env sln create / delete — create and delete unmanaged solutions
  • txc env sln export — export and unpack solutions via SolutionPackager, or --zip for raw export
  • txc env sln pack — pack an unpacked solution folder into a ZIP
  • txc env sln publish — publish all or selective entity customizations
  • txc env sln import — now accepts folders (auto-packs) and .cdsproj/.csproj project directories
  • txc env sln uninstall — now validates solution type (rejects unmanaged with guidance) and runs dependency pre-check by default
  • txc env sln uninstall-check — pre-uninstall dependency safety check
  • txc env sln component list / count / add / remove — manage solution components with --type and --entity filters

Component Inspection

All commands support two identification modes: --id/--type for automation, or --entity/--attribute for human-friendly name-based lookup (resolves MetadataId automatically).

  • txc env component layer list — show solution layer stack for a component
  • txc env component layer show — view active layer definition as JSON
  • txc env component layer remove-customization — remove unmanaged active layer with safety checks
  • txc env component dep list — what depends on this component
  • txc env component dep required — what this component requires
  • txc env component dep delete-check — can I safely delete this?

Publisher Management

  • txc env publisher list / show / create / delete — full publisher CRUD with prefix and option value prefix validation

CLI Consistency Improvements

  • Standardized --yes description across all destructive commands
  • Added -o/-i short aliases for --output/--input options
  • Restructured optionset commands: optionset create-global is now optionset global create
  • env setting update now uses positional arguments: txc env setting update <name> <value>
  • Entity attribute commands use positional --entity argument instead of named option
  • Prevented auto-generated alias conflicts on all group commands

Error Reporting

  • OData queries now surface Dataverse error messages instead of generic SDK exceptions
  • SQL and OData query errors include the entity set name for context
  • Connection creation warns if hostname is unreachable (non-blocking DNS check)
  • Record command GUID arguments now validate with clear messages instead of raw parse errors
  • All commands write structured error envelopes to stdout on failure, so scripts and MCP consumers get { "status": "failed", "message": "..." } instead of empty output

v1.7.0

25 Apr 23:37

Choose a tag to compare

What's New in v1.7.0

A major release bringing Dataverse schema management, Configuration Migration Tool support, full data operations, and significant quality-of-life improvements.

Dataverse Schema Management

  • Entity management — create, update, and delete entities directly from the CLI with support for standard, activity, and elastic table types
  • Attribute management — create, get, update, and delete attributes across 16 types (string, number, choice, lookup, polymorphic lookup, file, image, and more)
  • Relationships — create, list, and delete entity relationships
  • Global option sets — create, delete, add/remove options, and list global option sets
  • Attribute introspectionattribute type list and type describe with JSON schema output for MCP consumers

Configuration Migration Tool (CMT)

  • txc data package export — export data packages with file column support and overwrite control
  • txc data package import — enhanced with batch mode, batch size, safety overrides, and prefetch limit

Changeset Staging

  • Stage schema changes — use --stage on any of the 17 mutating commands to queue changes instead of applying immediately
  • Apply strategiestxc env changeset apply with batch (ExecuteMultiple), transaction (ExecuteTransaction), or bulk (CreateMultiple/UpdateMultiple) strategies
  • Review and discardtxc env changeset status and txc env changeset discard
  • Batches entity creation via CreateEntities API and consolidates publishes into a single PublishXml call

Dataverse Data Operations

  • Query your data — SQL (txc env data query sql), FetchXML, and OData queries with automatic pagination
  • Record operations — get, create, update, delete individual records or work in bulk with bulk create/update/upsert
  • File columns — download and upload file/image column data with chunked transfers
  • Relationship records — associate and disassociate N:N relationship records
  • Entity introspection — list entities and describe their columns with txc env entity list/describe

Unified Environment Settings

  • One command for all settingstxc env setting list and txc env setting update work across all four Power Platform settings APIs transparently
  • No need to know which backend stores which setting — the CLI handles routing automatically

Authentication and Token Handling

  • Tokens no longer expire mid-session — automatic refresh with proactive renewal before expiration
  • Service principal tokens persist across CLI invocations — no more re-authenticating every time
  • Token diagnosticstxc config auth show <alias> --check-token to inspect token health
  • Smarter profile setuptxc config profile create reuses existing connections and auto-populates environment metadata

Production Safety

  • Destructive commands are blocked against production environments by default
  • Pass --allow-production explicitly when you intend to modify production — an extra safety net on top of --yes confirmation
  • Production environments detected automatically by type, URL, and name patterns

Consistent Output

  • All commands now follow a unified output format — predictable JSON when piped, human-readable tables in the terminal
  • Global --format flag replaces per-command --json flags
  • Clean stdout — diagnostic and log output goes to stderr, so piping and scripting just works

Fixes

  • Fixed ConnectedOrgVersion returning hardcoded 9.0.0.0 with token-provider auth
  • Fixed exit codes for validation errors (now correctly returns exit code 2)
  • Fixed MSAL token cache for headless CI environments
  • Numerous XrmShim compatibility fixes