v0.2.0
cdf-tk
Added
- Support for resource type
TransformationNotificationin thetransformationsfolder. - Support for resource type
Labelin thelabelsfolder. - Support for loading
nodeswithAPICallarguments. The typical use case is whennode typesare part of a
data model, and the defaultAPICallarguments works well. - Support for
securityCategoriesin theauthfolder. - Added support for resource type
DatapointSubscriptionin thetimeseriesfolder. - Support for the Workflow and WorkflowVersion resource type
- Support for interactive login. The user can now set
LOGIN_FLOW=interactivein the.envfile
to use interactive login. - Support for specifying
selectedas paths and parent paths. For example, you can
now writecognite_modules/core/cdf_apm_baseinstead of justcdf_apm_base. This is to support
modules that have the same name but are in different parent directories. In addition, this also better reflects
the structure of thecognite_modulesandcustom_modulesfolder better. - If a resource is referring to another resource, the
cdf-tk buildwill now give a warning if the referred resource
is not found in the same build. For example, if you have a data model and is missing the space, the build command
will give a warning that the space required by the data model is missing. - The
cdf-tk buildcommand will now give warnings on duplicated resource. For example, if you have two files with
the same externalId in the same module, the build command will give a warning that the externalId is duplicated,
and that only the first file is used. - Variables can now have extra spaces between curly braces and the variable name. For example,
{{ my_variable }}is now
a valid variable. Before this change, you would have to write{{my_variable}}. - If an environment variable is not found in a resource file, for example,
${CDF_CLUSTER}, when
runningcdf-tk deploythe user will now get a warning message that the variable is missing. Before this change,
this would pass silently and potentially cause an error when trying to deploy to CDF that was hard to debug.
Changed
- [BREAKING]
cognite-tookitno longer supportscommon_function_code. The code used by functions must be in each
function directory. The reason for this is thatcognite-toolkitis a tool for governance and deployment of
modules, it is not for development of functions. Thecommon_function_codewas a feature to support easier
development of functions. It is expected that functions are developed in a separate environment and then
moved to thecognite_modulesfolder for deployment and promotion between environments. - [BREAKING] In function YAML config
externalDataSetIdis renamed todataSetExternalIdto be consistent with
the naming convention used in the rest of the toolkit. - [BREAKING] The
cdf-tk buildwill now clean the build directory by default before building the modules to avoid
unwanted side effects from previous builds. To stop this behavior, use the--no-cleanflag. - [BREAKING] The
_system.yamlis now required to be on the root level when running anycdf-tkcommand. This
means that the_system.yamlfile must be in the same directory as theconfig.[env].yamlfiles. This is to
support runningcdf-tkwithout thecognite_modulesfolder. - [BREAKING] In the
config.[env].yamlfiles, themodulessection is now renamed tovariables. This is to
better reflect the content of this section, which is variables that can be used in the resource files. - In addition to
cognite_modulesandcustom_modules, thecognite-toolkitnow also supportmodulesas the
top-level folder for modules. This together with the two changes above, is to have a better support for running
thecognite-toolkitas a standalone CLI without thecognite_modules. - The
.gitignorefile you get by runningcdf-tk initnow ignores the/buildby default. - The dependency
cognite-sdkmust now be>=7.37.0to use thecdf-tk. - [BREAKING] In
functions, the function config file must be in the root function directory. This means
that, for example,my_module/function/some_folder/function.yamlwill no longer be included by
thecdf-tk buildcommand. Instead, it must be inmy_module/function/function.yaml. The motivation
is to allow arbitrary YAML files as part of the function code. - In
config.[env].yaml, in theenvironmentsection,selected_modules_and_packagesis renamed toselected.
The old names will still work, but will trigger a deprecation warning. - The toolkit now only gives a
TemplateVariableWarning(Variable my_variable has value <change_me> ...) if
the variable is used byselectedin theconfig.[env].yaml. This is to avoid unnecessary warnings. - The
FeaturePrevieWarningsare no longer printed when runningcdf-tk deployorcdf-tk clean. These warnings
are from thecognite-sdkand can be confusing to the user. - In
config.[env].yaml, in theenvironmentsection,nameis no longer required. Instead, the[env]part
of theconfig.[env].yamlfile is used as thenameof the environment. This is to avoid redundancy. - If two modules have the same name, the
cdf-tk buildcommand will now stop and raise an error. Before this change,
thecdf-tk buildcommand would continue and overwrite the first module with the second module. - The verification of access by the tool is now scoped to the resources that are being deployed instead of
the entire project. This means that if the user only has access to a subset of the resources in the project,
the tool will still be able to deploy those resources.
Improved
- Gives a more informative error message when the authentication segment of a transformation resource file is
missing a required field. - Transformation queries can be inline, i.e. set in either the Transformation
queryproperty in the yaml or
as a separate file. If set in both, an error is raised because it is ambiguous which query to use. - In the
cdf-tk pullcommand, if an error occurs, the temporary directory was not removed. This is now fixed. - Improved error message when running
cdf-tk deploy/cleanbefore runningcdf-tk build. - When running
cdf-tk clean --dry-runthe output would show local resources regardless of whether they existed
in CDF or not. This is now fixed and only resources that exist in CDF are shown in the output. - Better error message (no exception raised) if the config file has
selected_modules_and_packages, but with no list items. - If yaml files are invalid, a link to the API docs for the resource is shown in the error message.
Fixed
- When running
cdf-tk cleanorcdf-tk deploy --drop --drop-datathere was an edge case that triggered the bug
ValueError: No capabilities given. This is now fixed. - When deploying
containersresources with an index, thecdf-tk deploywould consider the resource as changed
even though it was not. This is now fixed. - When running
cdf-tk init --upgradefrom version0.1.4the user would get aToolkitMigrationError.
This is now fixed. - The toolkit now ensures
TransformationsandFunctionsare deployed beforeWorkflows - The toolkit now ensures
TimeSeriesandGroupsare deployed beforeDatapointSubscriptions. - Running the build command,
cdf-tk build, withGroupresources scoped will read to incorrect
warning such asWARNING [HIGH]: Space 'spaceIds' is missing and is required by:and
WARNING [HIGH]: DataSet 'ids' is missing and is required by:. This is now fixed. - Running the build command,
cdf-tk build, with aViewresource with ahasDatafilter would print a
UnusedParameterWarning: Parameter 'externalId' is not used in section ('filter', 'hasData', 0, 'externalId')..
This is incorrect and is now fixed to not print this warning. - If you had a
containerwith a direct relation property with a required constraint, thecdf-tk buildcommand
would incorrectly yield a warning that theParameter 'type' is not used .... This is now fixed. - Error message displayed to console on failed
cdf-tk deploycommand could be modified. This is now fixed. - Using display name instead of folder name on a failed
cdf-tk deployorcdf-tk cleancommand. For example,
ifdatapoints subscriptionwas failing the error message would beFailure to load/deploy timeseries as expected,
now it isFailure to load/deploy timeseries.subscription as expected. - Unique display names for all resource types.
- Fixed bug when deploying extraction pipeline config, when none existed from before:
There is no config stored for the extraction pipeline. - In a
functionconfig, if you did not setfileIdyou would get an error when runningcdf-tk deploy,
Missing required field: 'fileId'.. ThefileIdis generated automatically when the function is created,
so it is not necessary to set it in the config file. This is now fixed. - If you do
cdf-tk init --upgrade, on a pre0.2.0a3version, you are met with
ERROR (ToolkitModuleVersionError): Failed to load previous version, .... This is now fixed. - The parameter
container.properties.<property>.type.listwas required to be set, even thought it is optional
in the CDF API. This is now fixed. - The
ExtractionPipelineConfigcreate, update and delete report numbers were incorrect. This is now fixed. - When deploying a
FunctionSchedulethat requires an update, thecdf-tkwould fail with error
Failed to update functions.schedules. Error 'FunctionSchedulesAPI' object has no attribute 'update'..
This is now fixed. - When calling
cdf-tk init --upgrade, the user is met with aFailed to load previous version, ....
This is now fixed. - When running
cdf-tk auth verify --interactiveand the user want to create a new group with the necessary
capabilities, thecdf-tkwould successfully create a group, but then raise
an Error:cognite.client.exceptions.CogniteAPIError: Insufficient access rights.when trying to validate.
This is now fixed. - Functions that are deployed with schedules no longer uses a short-lived session (before: failed after ~an hour).
- When running
cdf-tkwith a Token for initialization, thecdf-tkwould raise anIndexError. This is now fixed. - Container resources that did not have set the optional property
usedForwould always be classified as changed,
when, for example, runningcdf-tk deploy --dry-run. This is now fixed.
Templates
- Extended
cognite_modules/examples/my_example_modulewith aTransformationNotificationcase. - Extended
cognite_modules/examples/my_example_modulewith aLabelcase. - Removed illegal caracters from
DatapointSubscriptoindescription in
cognite_modules/examples/my_example_module. - Function used to schedule & trigger workflow
- Extended
cognite_modules/examples/my_example_modulewith aSecurityCategorycase. - Extended
cognite_modules/examples/my_example_modulewith aDatapointSubscriptioncase. - The parameter
fileIdis removed from allfunctionconfigurations
(cdf_functions_dummy,cdf_data_pipeline_files_valhall,cdf_data_pipeline_timeseries_valhall,
andmy_example_module) as it is no longer required. - In all modules with an
extraction_pipelinesresource, removeddataSetExternalIdandnamefrom all
ExtractionPipelineConfigs as this is not used and thus only causes confusion. - In all modules with a
function, renamedexternalIdDataSettodataSetExternalIdto be consistent with the
naming convention used in the Cognite API. - In module
my_example_module, removedintervalandisPausedfrom the Transformation as these are not used.
These parameters should only be present in a TransformationSchedule. - Removed schedule from annotation function
context:files:oid:fileshare:annotation - Add use of
map_concatin transformationfiles_oid_fileshare_file_metadatato keep existing files metadata. - Switched to using
file.uploaded_timeinstead offile.last_updated_timesince update time
potentially is updated every time the transformation runs, and don't require a reannotation. - Workflow with a Function and a Transformation to the cdf_data_pipeline_files_valhall example
- The
cdf_functions_dummymodule now includes codes from the formercommon_function_codedirectory. - In
example_pump_data_model, in thePump.view.yamlthe propertysourceusedexternal_idinstead of
externalId. - Align tag name in asset hierarchy between the 2 example transformations
- Added default root asset ID to documents for initial annotation
- Aligned use of asset external ID across contextualization functions
- Annotation logic with local time stamp for when to reprocess P&ID files
- Input to P&ID annotation based on list of synonyms for tag
- Updated module
apm_simple_data_modelforcognite-sdk>=7.37, i.e., container properties
of typedirecthave nowlist: falseexplicitly set. - Added Transformation for WorkOrder and WorkItems to OID testdata template
- Added Workflow with a Function and a Transformation to the custom module example
- Added functionality for wildcard detection of tags in P&ID
- Added functionality for multiple overlapping annotation to same tag - related to wildcards
Details
- ci: fix trigger test on release branch as well by @doctrino in #405
- [Prep for CDF-21163] Refactor CDFToolConfig by @doctrino in #407
- [CDF-21163] feat: Support interactive login by @doctrino in #408
- Fixing P&ID annotation based on learnings from AkerBP project by @BergsethCognite in #410
- Refactor: get_auth_variables by @doctrino in #409
- Support interactive login interactively by @doctrino in #411
- Remove one initialization method in ToolCDFConfig. by @doctrino in #412
- fix: failing deploy by @doctrino in #413
- Scoped capabilites based on resource to load. by @doctrino in #414
- Fix: Avoid checking capabilities if there is no loaded resources. by @doctrino in #415
- Scoped access verify by @doctrino in #416
- Prepare for 0 2 0a1 by @doctrino in #417
- chore(deps): update pre-commit hook psf/black to v24.3.0 by @renovate in #406
- chore(deps): update pre-commit hook charliermarsh/ruff-pre-commit to v0.3.3 by @renovate in #387
- chore(deps): lock file maintenance by @renovate in #402
- Index error initializing from token by @doctrino in #419
- [CDF-21192] Fix login issues by @doctrino in #420
- [CDF-21177] Support spaces in variables by @doctrino in #421
- ci: threshold on action by @doctrino in #422
- chore(deps): update pre-commit hook charliermarsh/ruff-pre-commit to v0.3.4 by @renovate in #423
- chore(deps): update dependency pre-commit to v3.7.0 by @renovate in #428
- fix(deps): update dependency typer to ^0.11.0 by @renovate in #426
- fix(deps): update dependency sentry-sdk to v1.44.0 by @renovate in #430
- chore(deps): lock file maintenance by @renovate in #424
- chore(deps): update dependency pytest-cov to v5 by @renovate in #429
- fix(deps): update dependency typer to ^0.12.0 by @renovate in #434
- [CDF-21186] Remove system yaml Requirement by @doctrino in #431
- [CDF-21221] fix: container comparison by @doctrino in #433
- [CDF-21185] Error on duplicated module name by @doctrino in #435
- [CDF-21187] Allow modules name by @doctrino in #432
- [CDF-21191] Warning on missing environment variables by @doctrino in #436
- revert: CLI standalone by @doctrino in #437
- [CDF-21261] Help Breaking typer installation by @doctrino in #439
- Prepare 0.2.0a2 by @doctrino in #440
- Panid annotation fix by @BergsethCognite in #442
- function schedules should not use
oneshotTokenExchangeby @haakonvt in #444 - chore(deps): lock file maintenance by @renovate in #446
- fix(deps): update dependency typer to v0.12.3 by @renovate in #445
- chore(deps): update pre-commit hook pre-commit/pre-commit-hooks to v4.6.0 by @renovate in #447
- chore(deps): update pre-commit hook charliermarsh/ruff-pre-commit to v0.3.5 by @renovate in #443
- fix(deps): update dependency cognite-sdk to v7.34.0 by @renovate in #427
- chore(deps): lock file maintenance by @renovate in #451
- chore(deps): update pre-commit hook charliermarsh/ruff-pre-commit to v0.3.7 by @renovate in #450
- Fixed tests that failed when local env vars interfered by @ronpal in #455
- Replace black with ruff by @doctrino in #456
- added transformations for workorder & workitems to oid test data module by @BergsethCognite in #454
- Ignore build folder and default to clean by @doctrino in #457
- fix(deps): update dependency cognite-sdk to v7.37.1 by @renovate in #461
- fix(deps): update dependency cognite-extractor-utils to v7.1.2 by @renovate in #462
- chore(deps): lock file maintenance by @renovate in #464
- chore(deps): update pre-commit hook charliermarsh/ruff-pre-commit to v0.4.0 by @renovate in #463
- Workflow loader by @ronpal in #453
- Tests: Migration by @doctrino in #458
- [CDF-21255] Standalone CLI by @doctrino in #460
- New ruff location by @doctrino in #466
- Example with workflow by @ronpal in #465
- Migration tests updated by @doctrino in #470
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.4.1 by @renovate in #468
- chore(deps): update actions/checkout digest to 1d96c77 by @renovate in #467
- set release in
sentry_sdk.initby @haakonvt in #471 - [CDF-21405] Modules selected by path by @doctrino in #469
- Migration: Handle moved system.yaml by @doctrino in #472
- Prepare 0.2.0a3 Release by @doctrino in #473
- metadata is dict, not list by @ronpal in #475
- Fix demo ts by @ronpal in #476
- Fix demo ts by @ronpal in #477
- [CDF-21166] Remove hashing of dataframe by @doctrino in #478
- [CDF-21415] Attempt at fixing flaky test by @doctrino in #479
- [CDF-21408] convert system exits to raising exceptions by @haakonvt in #459
- add error type to output msg by @haakonvt in #484
- [CDF-21340] Consistent writing cdf-tk pull by @doctrino in #482
- [CDF-21406] Remove common folder function code by @doctrino in #480
- [CDF-21423] Added warning if action and shared are in a transformation yaml by @doctrino in #481
- [CDF-21363] Remove name requirement by @doctrino in #483
- fix(deps): update dependency cognite-sdk to v7.38.0 by @renovate in #486
- added workflow to files pipeline + fixed spelling in workflow example by @BergsethCognite in #485
- improved error handling, click/typer should not reach sentry by @haakonvt in #488
- chore(deps): update actions/checkout digest to 0ad4b8f by @renovate in #489
- [CDF-21235] Clean dry-run validate against CDF by @doctrino in #487
- [CDF-21453] Update Function Schedule Bug. by @doctrino in #493
- chore(deps): update dependency mypy to v1.10.0 by @renovate in #494
- [CDF-21445] Fix init --upgrade by @doctrino in #499
- [prep for CDF-21281]To python sdk 7.39 by @doctrino in #498
- [CDF-21281] Reorg test to match package structure by @doctrino in #497
- chore(deps): lock file maintenance by @renovate in #503
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.4.2 by @renovate in #502
- [CDF-21248] Fix auth verify by @doctrino in #500
- [CDF-20997] Upgrade Test Guide by @doctrino in #490
- Nicer error handling for selected modules by @ronpal in #491
- CDF-21409 link to docs when resource validation fails by @ronpal in #492
- Prep 0.2.0a4 by @doctrino in #505
- Setting canonical base url by @ronpal in #508
- [CDF-21456] No more magic by @doctrino in #509
- [CDF-21457] Speedup Tests ⚡ by @doctrino in #510
- Need4more speed by @doctrino in #512
- Raising exception if auth segment of transformation yaml lacks values by @ronpal in #511
- chore(deps): update pre-commit hook igorshubovych/markdownlint-cli to v0.40.0 by @renovate in #513
- Query file/inline hardening by @ronpal in #514
- [CDF-20990] Cleanup temporarily build directory 🧹 by @doctrino in #515
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.4.3 by @renovate in #519
- [CDF-21220] File id not required 🔓 by @doctrino in #516
- ci: auto-fix-linting 🚑 by @doctrino in #521
- [CDF-21484] Search system yaml 🐛 by @doctrino in #518
- Build update repo name 🛡 by @doctrino in #522
- Update README.md by @ronpal in #520
- [prep CDF-20808] Move all warnings into own module 🧱 by @doctrino in #524
- Function used to schedule Files workflow by @BergsethCognite in #523
- chore(deps): update actions/checkout digest to 44c2b7a by @renovate in #526
- fix(deps): update dependency cognite-extractor-utils to v7.1.3 by @renovate in #529
- chore(deps): update actions/checkout digest to 0ad4b8f by @renovate in #531
- Added use of map_concat for metadata in transformations and use uploa… by @BergsethCognite in #534
- [prep CDF-20808, CDF-20999] Analyze parameters 🧱 by @doctrino in #525
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.4.4 by @renovate in #535
- [prep CDF-20808, CDF-20999] Compare parameter specs 🟰 by @doctrino in #527
- [prep CDF-20808, CDF-20999] Loader support parameter spec 🛟 by @doctrino in #528
- [prep CDF-20808, CDF-20999] Robustifying spec against all examples 🪨🐛 by @doctrino in #532
- [CDF-20808, CDF-20999] Warning on bad config ⚠ by @doctrino in #533
- [CDF-21284] 🏋Base cls commands by @doctrino in #538
- fix(deps): update dependency cognite-sdk to v7.43.1 by @renovate in #530
- chore(deps): lock file maintenance by @renovate in #536
- Refactor
check_yaml_semanticsfunction by @haakonvt in #540 - [CDF-21525] 🔨Load containers fix by @doctrino in #541
- Update dependency sentry-sdk to v2 by @renovate in #542
- Address repo warnings by @haakonvt in #543
- Warn baseclass by @ronpal in #539
- 🏠 Build Command to Class with Standardized Warnings Part 1 by @doctrino in #544
- 🏡 Build Warnings Standardization Part 2 by @doctrino in #545
- ⚠ Warning Subpackage by @doctrino in #546
- 👷 Created command package by @doctrino in #547
- 🔨 Fixing flaky tests by @doctrino in #548
- 🕶 Cleanup validation by @doctrino in #549
- Deploy command by @ronpal in #550
- Using Warning class instead of inline warning by @ronpal in #551
- Update dependency cognite-extractor-utils to v7.1.6 by @renovate in #537
- [CDF-21529] 🦗Warning on non required by @doctrino in #552
- Update dependency sentry-sdk to v2.2.0 by @renovate in #555
- chore(deps): update actions/checkout digest to a5ac7e5 by @renovate in #558
- chore(deps): update dependency twine to v5.1.0 by @renovate in #556
- Remove unused pep8-naming by @renovate in #557
- Update config.yaml added missing required parameter "source_event" by @BergsethCognite in #554
- [CDF-21540] 🧗♂️Gather warnings per file in Build by @doctrino in #559
- build; update cognite-sdk to 7.43.5 by @doctrino in #560
- [CDF-21088] 🐫 Warning on duplicated resources by @doctrino in #561
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.4.5 by @renovate in #563
- fix(deps): update dependency sentry-sdk to v2.3.0 by @renovate in #566
- chore(deps): lock file maintenance by @renovate in #568
- [CDF-21568, CDF-21569] 🪓Move deploy and clean by @doctrino in #562
- 😬Cleanup loaders by @doctrino in #564
- [CDF-21572, prep CDF-21544] 🫧 Simplify auth loader by @doctrino in #565
- [CDF-21515] ⚠Warning on dependencies by @doctrino in #567
- [CDF-21446] 👶Not case sensitive file pattern by @doctrino in #571
- 🕵Review Feedback by @doctrino in #569
- [CDF-21544] 💂♂️Support security categories by @doctrino in #570
- [CDF-21522] 💨Support datapoint subscription by @doctrino in #572
- CDF-20927 by @ronpal in #553
- [CDF-20982] 💡 Better error message by @doctrino in #574
- [CDF-21338] 👺 Warning on modify source by @doctrino in #573
- Prep release 0.2.0a5 by @doctrino in #575
- 🪸 Loosen upper bound on typer by @doctrino in #577
- chore(deps): update pre-commit hook igorshubovych/markdownlint-cli to v0.41.0 by @renovate in #578
- Feature flag to enable interactive init prototype by @ronpal in #579
- [CDF-21507] 🗨 Support node types by @doctrino in #580
- [CDF-21621] 😕 Fixes in printout and demo deployment by @doctrino in #582
- [CDF-21627] 🤨 Rename select by @doctrino in #583
- 🐒Prepare for 0.2.0b1 by @doctrino in #584
- 🌞 Rename subpackage load to loaders by @doctrino in #586
- Update pre-commit hook astral-sh/ruff-pre-commit to v0.4.6 by @renovate in #588
- Update dependency cognite-sdk to v7.44.1 by @renovate in #589
- [CDF-21640]🐛 Bug in checking dependent Groups by @doctrino in #587
- [CDF-21639, CDF-21644]🧑🚒Warning on valid HasData filter by @doctrino in #590
- [CDF-21645] 👮Warning on a valid container with direct relation constraint. by @doctrino in #592
- Prepare 0.2.0b2 by @doctrino in #593
- chore(deps): lock file maintenance by @renovate in #591
- [CDF-21496] ➡Fix dependencies for Workflows. by @doctrino in #595
- 🐵 Remove . requirement by @doctrino in #596
- 😅 No more . requirement and fix Datapoint Subscription Dependencies. by @doctrino in #597
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.4.7 by @renovate in #604
- Interactive init by @ronpal in #581
- 🫥Remove dot by @doctrino in #598
- [CDF-21662] 🧑💼Describe command class based. by @doctrino in #600
- [CDF-21663] 🧑🔬Dump command to class based by @doctrino in #601
- [CDF-21664] 🧑💻Pull command class based by @doctrino in #602
- [CDF-21665] 🧑🎨 Run command class based by @doctrino in #603
- [CDF-21668] 🏯 Support labels by @doctrino in #605
- [CDF-21661] 🧑🔧Moved auth command to class based by @doctrino in #599
- Prepare 0.2.0b3 by @doctrino in #606
- 🥷 remove requirement for release by @doctrino in #608
- [CDF-21671] Allow arbitrary YAML in coding directory by @doctrino in #609
- [CDF-21656] 🤾Only warnings on selected by @doctrino in #610
- [CDF-21679]🥷silence feature preview warnings by @doctrino in #611
- Init ux by @ronpal in #612
- [CDF-21666] 👷♂️ Remove templates subpackage by @doctrino in #613
- [CDF-21683] 🔔Support transformation notification by @doctrino in #614
- [CDF-21648] 🌳 Bug when upgrading for 1.4 by @doctrino in #615
- 🎉Prepare 0.2.0b4 by @doctrino in #616
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.4.8 by @renovate in #620
- [CDF-21690] 🕸Handle empty items when checking capabilities by @doctrino in #619
- [CDF-21681, CDF-21688]😨 Fix flakey tests by @doctrino in #624
- [CDF-21573] ♨ Raise on Location by @doctrino in #621
- [CDF-21678]🚸 Search system yaml by @doctrino in #622
- [CDF-21721] 😰Iterate modules bug by @doctrino in #625
- [CDF-21717]😕 Container server vs local comparisson by @doctrino in #623
- [CDF-21667] 😮fix: error message on wrong version by @doctrino in #629
- chore(deps): lock file maintenance by @renovate in #630
- [CDF-21480] 🏂Better build message by @doctrino in #627
- [CDF-21718] 🐫Fix ambiguous by @doctrino in #631
- Prepare 0.2.0 by @doctrino in #632
Full Changelog: v0.1.2...v0.2.0