This release completely rewrites the
cdf build and cdf deploy commands with improved terminal output, new features, and forward compatibility. Several previously alpha features are now generally available.Breaking changes
-
Rewritten
cdf buildandcdf deploycommands
Thecdf buildandcdf deploycommands have been completely rewritten. Terminal output for both commands has been reworked to be more informative. -
Removed
--no-verifyand--dry-runflags fromcdf auth init
These flags were deprecated since v0.7 and have been removed. -
Removed
cdf dump asset/timeseries
These commands were deprecated since v0.7. Usecdf data download assets/timeseriesinstead. -
Removed CSV format support for assets in
cdf build/deploy
You can no longer build and deploy assets from.csvfiles. Usecdf data uploadto upload CSV data.
New features
-
Build insights
Thecdf buildcommand 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
Thecdf buildcommand supports 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 duringcdf buildand reports consistency errors, syntax warnings, and recommendations. -
Module repeat is generally available
The module repeat feature, previously behind themodule-repeatalpha flag, is now generally available. You can deploy the same module multiple times with different variable sets. See the config.[env].yaml reference for details. -
Forward-compatible deploy
Thecdf deploycommand 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 generally available
TheStreamsandSimulatorsresource types no longer require alpha flags. You can build and deploy these resources directly withcdf buildandcdf deploy. See the YAML reference library for configuration details. -
Signals are generally available
Signal sinks and signal subscriptions no longer require alpha flags. See the YAML reference library for configuration details.
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
Thepurgeplugin has been moved to the newdataplugin. This means you can now activate it by setting theplugins.dataflag totrueand the command is available undercdf data purgeinstead ofcdf purge. -
Removed dumping of assets and timeseries
Thedumpplugin commandscdf dump asset/timeserieshave been removed and are replaced by thecdf data download assets/timeseriescommands. -
Function code uploaded to CogniteFile for DataModelingOnly projects
For DataModelingOnly projects, functions must now specify aspacein their configuration. This is used to upload the function code to CogniteFile instead of FileMetadata.
New features
-
New data plugin
Thecdf datacommand 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
Thecdf dumpcommand now supports location-filter, extraction-pipelines, functions, datasets, and streamlit apps. -
Support for building and deploying new resources
Thecdf build/deploynow supports Agents and SearchConfig.
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.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
Theenvironment.typekey in theconfig.[env].yamlfile is renamed toenvironment.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 theenvironment.validation-typeis set todev. 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 runcdf deployafter upgrading to version0.5. -
System space data models excluded from dump by default
Thecdf dump datamodelcommand no longer lists data models in the system space. Use the--include-globalflag to include them.
New features
-
Automatic credential change detection
Thecdf deploycommand 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
Thecdf dumpcommand now supports workflows, transformations, groups, and nodes, making it easier to export resource configurations.
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.yamlsuffix, for example,my_transformation.Transformation.yaml. This is already the case for all resources added since the0.2release. -
All functions will be redeployed
In version0.3, the Cognite Toolkit used a hash of the function code directory to detect changes. In version0.4, the Toolkit hashes individual files instead, causing all functions to be redeployed the first time you runcdf deployafter upgrading. -
Replaced cdf pull plugin command
Thecdf pullplugin command is removed and replaced withcdf modules pull. While thecdf pullcommand only worked with transformations and nodes, the newcdf modules pullcommand works with almost all resources.
New features
-
Run workflows from command line
Newcdf run workflowcommand lets you run workflows directly from the command line. This feature requires therunplugin to be enabled. -
Force update flag
Thecdf deploycommand has a--force-updateflag 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
Thecdf repo initcommand now has an option for Azure DevOps pipelines, making it easier to set up CI/CD workflows. -
Pull resource configurations from CDF
Newcdf modules pullcommand 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.
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
Theconfig.[env].yamlfile is now optional. If you don’t need variable substitution in yourcdf buildstep, you can skip this file. -
Split authentication commands
Thecdf auth verifycommand has been split intocdf auth initandcdf auth verifyfor 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
Thecdf describecommand 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
Thecdf initcommand has been replaced withcdf repo initandcdf modules initfor 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
Newcdf repocommand withinitsubcommand initializes a new repository with.gitignoreand CI/CD pipeline files. -
Enhanced module management
Newcdf modulescommand manages modules with subcommands forinit,add,upgrade, andlist. -
Dump data to files
Newcdf dump asset/timeseriescommand dumps data sets and asset hierarchies to CSV or Parquet files. -
Interactive data model dump
Thecdf dump datamodelcommand now has an interactive mode for easier data model exports. -
Module selection flag
Thecdf buildcommand now has a-m/--modulesflag to specify which module names or paths to build. This overrides theenvironment.selectedkey in theconfig.[env].yamlfile.
This release simplifies function code management, improves build directory handling, and adds support for interactive login.
Breaking changes
-
Removed common_function_code support
Thecommon_function_codefeature is no longer supported. Update your function configurations to use alternative approaches for shared code. -
Build directory cleaning by default
Thecdf buildcommand now cleans the build directory by default. Use the--no-cleanflag to disable this behavior if needed. -
Optional cognite_modules folder
Thecognite_modulesfolder 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.