> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cognite.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Toolkit versions

> This article lists the main changes between the Cognite Toolkit versions.

To see when support for the different resources was added, visit the [resource library](/cdf/deploy/cdf_toolkit/references/resource_library). To upgrade the Cognite Toolkit, follow the steps in the [upgrade guide](/cdf/deploy/cdf_toolkit/guides/upgrade).

<Update label="Version 0.8" description="Rewritten build and deploy commands with new features">
  This release completely rewrites the `cdf build` and `cdf deploy` commands with improved terminal output, new features, and forward compatibility. Several features that previously required **alpha flags** are now **stable** in the Toolkit (no alpha flag required).

  ## Breaking changes

  * **Rewritten `cdf build` and `cdf deploy` commands**<br />
    The `cdf build` and `cdf deploy` commands have been completely rewritten. Terminal output for both commands has been reworked to be more informative.

  * **Removed `--no-verify` and `--dry-run` flags from `cdf auth init`**<br />
    These flags were deprecated since v0.7 and have been removed.

  * **Removed `cdf dump asset/timeseries`**<br />
    These commands were deprecated since v0.7. Use `cdf data download assets/timeseries` instead.

  * **Removed CSV format support for assets in `cdf build/deploy`**<br />
    You can no longer build and deploy assets from `.csv` files. Use `cdf data upload` to upload CSV data.

  ## New features

  * **Build insights**<br />
    The `cdf build` command now produces insights to help you create good configurations. Insights include recommendations, syntax warnings, and consistency checks for your resource definitions.

  * **Neat plugin for data model validation**<br />
    The `cdf build` command supports [Neat](https://docs.cognite.com/cdf/deploy/neat/) as a plugin for enhanced validation of data models. When Neat is installed (`pip install cognite-neat`) and CDF credentials are configured, Neat automatically validates your data models during `cdf build` and reports consistency errors, syntax warnings, and recommendations.

  * **Module repeat is stable**<br />
    The module repeat feature, previously behind the `module-repeat` alpha flag, no longer requires an alpha flag. You can deploy the same module multiple times with different variable sets. See the [config.\[env\].yaml reference](/cdf/deploy/cdf_toolkit/api/config_yaml#module-repeat) for details.

  * **Forward-compatible deploy**<br />
    The `cdf deploy` command now sends all content from YAML files to CDF, including parameters the Toolkit doesn't know about. This ensures forward compatibility with new CDF API fields.

  * **Streams and Simulators are stable**<br />
    The `Streams` and `Simulators` resource types no longer require alpha flags. You can build and deploy these resources directly with `cdf build` and `cdf deploy`. See the [YAML reference library](/cdf/deploy/cdf_toolkit/references/resource_library#streams) for configuration details.

  * **Signals are stable**<br />
    Signal sinks and signal subscriptions no longer require alpha flags. See the [YAML reference library](/cdf/deploy/cdf_toolkit/references/resource_library#signals) for configuration details.
</Update>

<Update label="Version 0.7" description="Introduced new data plugin">
  This release introduced a new `data` plugin that included the previous `purge` plugin, as well as several data-related dump commands. In addition,
  through versions 0.5-0.7, the `build` command has reworked the validation of input files and improved user feedback on errors and warnings.

  ## Breaking changes

  * **Moved purge plugin**<br />
    The `purge` plugin has been moved to the new `data` plugin. This means you can now activate it by setting the `plugins.data` flag to `true` and
    the command is available under `cdf data purge` instead of `cdf purge`.

  * **Removed dumping of assets and timeseries**<br />
    The `dump` plugin commands `cdf dump asset/timeseries` have been removed and are replaced by the `cdf data download assets/timeseries` commands.

  * **Function code uploaded to CogniteFile for DataModelingOnly projects**<br />
    For DataModelingOnly projects, functions must now specify a `space` in their configuration. This is used to upload the function
    code to CogniteFile instead of FileMetadata.

  ## New features

  * **New data plugin**<br />
    The `cdf data` command now supports download, upload, and purge operations of data such as assets, timeseries, events, files, instances,
    raw tables, charts, and canvases.

  * **Enhanced dump command support**<br />
    The `cdf dump` command now supports location-filter, extraction-pipelines, functions, datasets, and streamlit apps.

  * **Support for building and deploying new resources**<br />
    The `cdf build/deploy` now supports Agents and SearchConfig.
</Update>

<Update label="Version 0.6" description="Bug fixes and maintenance release">
  This release was an accidental republishing of version `0.5`. No changes were made except for bug fixes. Therefore, it continues the `0.5.x` release series.
</Update>

<Update label="Version 0.5" description="Improved credential handling and data model management">
  This release enhances how the Cognite Toolkit handles credentials for function schedules, transformations, and workflow triggers, and improves data model dumping capabilities.

  ## Breaking changes

  * **Renamed environment configuration key**\
    The `environment.type` key in the `config.[env].yaml` file is renamed to `environment.validation-type`. Update your configuration files accordingly.

  * **Changed default credentials for function schedules and workflow triggers**\
    Function schedules and workflow triggers no longer default to Toolkit credentials, unless the `environment.validation-type` is set to `dev`. Review your credential configurations before upgrading.

  * **Automatic redeployment of resources with credentials**\
    All function schedules, transformations with credentials, and workflow triggers are redeployed the first time you run `cdf deploy` after upgrading to version `0.5`.

  * **System space data models excluded from dump by default**\
    The `cdf dump datamodel` command no longer lists data models in the system space. Use the `--include-global` flag to include them.

  ## New features

  * **Automatic credential change detection**\
    The `cdf deploy` command now detects changes in credentials for function schedules, transformations with credentials, and workflow triggers. Resources are automatically redeployed when credentials change.

  * **Enhanced dump command support**\
    The `cdf dump` command now supports workflows, transformations, groups, and nodes, making it easier to export resource configurations.
</Update>

<Update label="Version 0.4" description="Improved module management and workflow execution">
  This release introduces new commands for pulling resource configurations, running workflows, and enforces consistent file naming conventions across all resource types.

  ## Breaking changes

  * **Configuration file suffix requirement**\
    All configuration files now require suffixes to specify which resources they configure. For example, transformation configuration files must have a `.Transformation.yaml` suffix, for example, `my_transformation.Transformation.yaml`. This is already the case for all resources added since the `0.2` release.

  * **All functions will be redeployed**\
    In version `0.3`, the Cognite Toolkit used a hash of the function code directory to detect changes. In version `0.4`, the Toolkit hashes individual files instead, causing all functions to be redeployed the first time you run `cdf deploy` after upgrading.

  * **Replaced cdf pull plugin command**\
    The `cdf pull` plugin command is removed and replaced with `cdf modules pull`. While the `cdf pull` command only worked with transformations and nodes, the new `cdf modules pull` command works with almost all resources.

  ## New features

  * **Run workflows from command line**\
    New `cdf run workflow` command lets you run workflows directly from the command line. This feature requires the [`run` plugin](/cdf/deploy/cdf_toolkit/guides/plugins/run_plugin) to be enabled.

  * **Force update flag**\
    The `cdf deploy` command has a `--force-update` flag to force an update of all resources. This is useful when you've rotated credentials and need to update all resources.

  * **Azure DevOps pipeline support**\
    The `cdf repo init` command now has an option for Azure DevOps pipelines, making it easier to set up CI/CD workflows.

  * **Pull resource configurations from CDF**\
    New `cdf modules pull` command pulls resource configurations from CDF to your local file system. This command requires that the resources are already governed by the Cognite Toolkit.

  * **Device code login flow**\
    Added support for device code login flow, providing an alternative authentication method for local development.
</Update>

<Update label="Version 0.3" description="Simplified configuration and new Docker support">
  This release simplifies the Toolkit configuration, introduces Docker support for CI/CD pipelines, and enhances module management with new commands.

  ## Breaking changes

  * **Optional config files**\
    The `config.[env].yaml` file is now optional. If you don't need variable substitution in your `cdf build` step, you can skip this file.

  * **Split authentication commands**\
    The `cdf auth verify` command has been split into `cdf auth init` and `cdf auth verify` for setting up and verifying authentication separately.

  * **Removed naming convention requirements**\
    The Toolkit no longer enforces naming conventions for resources, giving you more flexibility in how you name your configuration files.

  * **Removed cdf describe command**\
    The `cdf describe` command has been removed from the Toolkit.

  * **Python 3.10+ required**\
    The Cognite Toolkit no longer supports Python 3.9. The minimum supported version is now Python 3.10.

  * **Replaced cdf init command**\
    The `cdf init` command has been replaced with `cdf repo init` and `cdf modules init` for more granular initialization options.

  ## New features

  * **Docker image support**\
    The Cognite Toolkit is now released as a Docker image. This is the recommended way to run the Toolkit in CI/CD pipelines.

  * **Initialize repository with CI/CD files**\
    New `cdf repo` command with `init` subcommand initializes a new repository with `.gitignore` and CI/CD pipeline files.

  * **Enhanced module management**\
    New `cdf modules` command manages modules with subcommands for `init`, `add`, `upgrade`, and `list`.

  * **Dump data to files**\
    New `cdf dump asset/timeseries` command dumps data sets and asset hierarchies to CSV or Parquet files.

  * **Interactive data model dump**\
    The `cdf dump datamodel` command now has an interactive mode for easier data model exports.

  * **Module selection flag**\
    The `cdf build` command now has a `-m/--modules` flag to specify which module names or paths to build. This overrides the `environment.selected` key in the `config.[env].yaml` file.
</Update>

<Update label="Version 0.2" description="Simplified function management and interactive login">
  This release simplifies function code management, improves build directory handling, and adds support for interactive login.

  ## Breaking changes

  * **Removed common\_function\_code support**\
    The `common_function_code` feature is no longer supported. Update your function configurations to use alternative approaches for shared code.

  * **Build directory cleaning by default**\
    The `cdf build` command now cleans the build directory by default. Use the `--no-clean` flag to disable this behavior if needed.

  * **Optional cognite\_modules folder**\
    The `cognite_modules` folder is no longer required in your project structure.

  ## New features

  * **Interactive login flow**\
    Added support for interactive login flow, making it easier to authenticate when working locally.
</Update>
