Releases: Dynatrace/dynatrace-configuration-as-code
Preview Release 2.0.0
ℹ️ A newer Preview Relase of Monaco 2.0.0 is available ℹ️
⚠️ Preview Release
This is a pre-release of monaco 2.0.0.
- this does not yet reflect the full content or quality of the final release
- no official support is provided for the pre-release version
- please let us know your feedback #813
Monaco 2.0.0 Changes
Version 2.x tries to achieve three main goals:
- Make the CLI and configuration clearer to understand
- With more explicit commands
- Structured configuration YAML
- Decouple from the file-path
- Monaco 1.x was impacted by the location it was executed in, in relation to the configuration
- Provide general support for Settings 2.0 configuration
- Monaco 2.0 does not need to be updated to support future settings schemas
- In part possible due to the new structure
⚠️ Limitiations/Known Issues ⚠️
⚠️ In this preview release, re-applying downloaded settings objects to the same environment may result in duplicated settings. Manual cleanup is needed for this case. Creating new settings objects works without limitations.⚠️ Downloading Settings produces invalid filenames on Windows #837
To download Settings on Windows, please use the Linux version in WSL
Getting Started
A preview of the documentation for 2.0.0 is available here
Also, check out the Observability Clinic introducing Monaco 2.0.
And the related sample configurations
Release v1.8.9
Release 1.8.9 fixes an issue introduced by the extended handling of SLOs in 1.8.8
While 1.8.8 adds a query parameter to SLO API calls to ensure that disabled SLOs are fetched as well, this did interfere with query parameters sent for pagination (the SLO API returns pages of 10 objects), resulting in only the first 10 SLOs being fetched.
1.8.9 correctly handles both getting all SLOs from the API and dealing with pagination to fetch all existing SLOs for updates.
🐛 Bug fixes
- 28d8950 Correctly handle pagination when other query parameters are set
- d6cb41d Introduce retry mechanism for GET requests
Known Issues
- Project folders can not end with
extension
(and likely other configuration type's names). If they do they are silently omitted from being loaded. This issue is solved in 2.x versions.
[Defective] Release v1.8.8
❗ This fix interferes with pagination on the SLO API and will cause failures if an environment has > 10 SLOs configured.
We are working on a full fix to be released as 1.8.9 ASAP - please skip this 1.8.8 release
🐛 Bug fixes
🔧 Chores and Improvements
- f8af139 (deps) bump loader-utils from 2.0.3 to 2.0.4 in /documentation
📦 Other
- c2a221b Add additional information about name configuration
Release v1.8.7
Release 1.8.7 fixes three issues in monaco:
- Download APIs where the id contains characters that need escaping no longer error
- Predefined anomaly-detection-metrics are now ignored during download
- HTTP errors and responses are logged when retrying
Additionally, the documentation has been updated to include
- what and why configs are skipped during download, and
- how to migrate app-detection-rules.
🐛 Bug fixes
- 2c6b39c (download) Don't double-escape ids
- a4f51f6 (download) Skip plugin-definitions of ad-metrics
- 8437d71 (rest) Log http error and response in case of retry failures
🔧 Chores and Improvements
- 92d4de1 (deps) bump github.com/spf13/afero from 1.9.2 to 1.9.3
- e6f9c5b (deps) bump golangci/golangci-lint-action from 3.3.0 to 3.3.1
- ee85da7 (deps) bump loader-utils from 2.0.2 to 2.0.3 in /documentation
- cf45d54 (deps) bump github.com/urfave/cli/v2 from 2.23.4 to 2.23.5
- 31eaf01 (deps) bump github.com/urfave/cli/v2 from 2.23.0 to 2.23.4
📦 Other
- 0142a54 Release 1.8.7
- b4d55cc (download) Add documentation of the configurations skipped during download
- 93222f9 Update 1.8.x documentation for latest 1.8.6 version
- dd15f33 Document App Detection Rule ordering workaround
- 865f423 Add migration guide for app-detection-rules renamed by settings migration
Release v1.8.6
Release 1.8.6 fixes an issue of monaco not ignoring hidden sub-folders - like its own .logs/ - in some cases.
Up to now, hidden directories were ignored only if they were in the 'top' level of a loaded project.
If a hidden directory was inside a sub-folder below that, it was not.
With this fix:
- hidden directories can no longer be projects
- having hidden directories inside project folders works now
🐛 Bug fixes
- 0923d5d Project loading should ignore hidden directories
🔧 Chores and Improvements
- 435cef9 (deps) bump golangci/golangci-lint-action from 3.2.0 to 3.3.0
- 17dd64f (deps) bump github.com/urfave/cli/v2 from 2.20.2 to 2.23.0
- e4c61d8 (deps) bump github.com/urfave/cli/v2 from 2.17.1 to 2.20.2
- 023fa16 (deps) bump github.com/urfave/cli/v2 from 2.16.3 to 2.17.1
- a0c8bdf (deps) bump actions/checkout from 3.0.2 to 3.1.0
Release v1.8.5
Release 1.8.4 introduced a 'fix' to always escape the content of variables (from a YAML) before placing it
into a JSON template.
This can cause issues for certain usecases in which the content filled into a template is needed to create
a valid JSON and must not be escaped - e.g. if the template introduces double-quotes needed in the JSON payload.
1.8.5 reverts the eager escaping for JSON and instead escapes only known characters at specific points -
double-quotes when downloading and newline characters when templating for deployment.
🐛 Bug fixes
[Defective] Release v1.8.4
❗ The fix for escaping all characters for JSON templating can cause issues if configuration contains lists in the format suggested here https://github.com/dynatrace-oss/dynatrace-monitoring-as-code/discussions/494.
This is fixed in 1.8.5 - please skip this 1.8.4 release
This release includes several small fixes making monaco more resilient.
List of changes
🐛 Bug fixes
- 9ef99e8 fix: Include already read response body in optional response log (#744)
- 5cf194c fix: Include last API error when failing retries (#744)
- f8d307c fix: Escape all characters for JSON templating (#741)
- ec92caa fix: More leniently handle Dynatrace errors that are ususally caused by newly created applications not being found yet
- e11c45b fix(deploy): URL Path escape identifiers when reading Dynatrace entities by ID
📖 Documentation
- dc9818d docs: Fix MAC installation links
- d1b66ba fix(docs): Configure all links as relative or absolute from content root (#738)
- 4b1c504 docs: Better describe special types of configuration (#718)
- 647bb7e fix(docs): Fix link to config types in add-new-api guide (#736)
🔧 Chores and Improvements
Misc changes:
- 084ad54 refactor: Replace deprecated ioutil.ReadAll
- 2946ec1 test: Extend special character config E2E test (#121, #741)
- 083c46a fix(test): Add missing build tag on logging_test
- bump github.com/urfave/cli/v2 dependency from 2.11.2 to 2.16.3
- 7a3a6e8 chore(deps): bump github.com/google/go-cmp from 0.5.8 to 0.5.9
Release v1.8.3
Release v1.8.2
The main focus of this release is improving the error handling and logging for downloading and uploading configurations.
List of changes
🚀 Features
- 086ebb5 Retry SLO creation on additional know error
🐛 Bug fixes
- 1d94584 Workaround synthetic API failing if Application ID can not (yet) be found
- e090000 filter the mime types correctly for logging (#709)
- 7b3ad72 (download) Deleting configs with slashes in the name does no longer error. (#706)
- c707483 (download) Downloading single config Apis now report encountered errors
📖 Documentation
Release v1.8.1
The main focus of this release is that Monaco is not statically built without CGO.
List of changes
Misc changes
- d920125 ci: Build static monaco binary
- 414cc2d ci: Run build-release for each build
- 7b13c4e ci: Remove no longer needed xgo github action step
🚀 Features
- 086ebb5 Retry SLO creation on additional know error
🐛 Bug fixes
- 1d94584 Workaround synthetic API failing if Application ID can not (yet) be found
- e090000 filter the mime types correctly for logging (#709)
- 7b3ad72 (download) Deleting configs with slashes in the name does no longer error. (#706)
- c707483 (download) Downloading single config Apis now report encountered errors
🔧 Chores and Improvements
- 71028ce (deps) bump github.com/urfave/cli/v2 from 2.11.1 to 2.11.2
📦 Other
- fix: Continue over individual delete failures
Also improve some log messages as part of aggregated error logging.
This change brings delete in line with the general idea to continue
as far as possible also applied to deployments. In this case, failure
to delete a single defined object, does not mean that the rest can not
be deleted.
ref: #720
- docs(release): Release Monaco in version 1.8.2
This bugfix release mostly improves resilience with extended retry logic,
and improves messages presented to the user in case of erros.
-
feat: Retry SLO creation on additional know error
-
fix: Continue over individual delete failures
-
fix: Workaround synthetic API failing if Application ID can not (yet) be found
-
fix: filter the mime types correctly for logging (#709)
-
fix(download): Deleting configs with slashes in the name does no longer error. (#706)
-
fix(download): Downloading single config Apis now report encountered errors
-
docs: Rename 1.8.0 sidebar to 1.8.1 as .0 docs where completely replaced
-
docs: Upgrade to docusaurus 2.0.1 release
-
chore(deps): bump github.com/urfave/cli/v2 from 2.11.1 to 2.11.2