Releases: Azure/apiops
APIOps Toolkit for Azure APIM v6.0.0-rc1
💥 Please note that this is a breaking release. Its important you read all the release notes below before you adopt it in your environment.💥
💥 Please note that this release requires updating your Gtihub extractor and publisher workflows💥
💥 Please note that this release requires updating your Azure DevOps or Github Pipelines💥
💥 Please note that this release alters the way we release the assets hosted within each release. 💥
Release notes
New features
- Added support for product-level subscriptions (#186).
- Added integration tests (#65).
- Added OpenTelemetry tracing. This was done primarily to instrument integration tests.
- Every top-level resource now supports filtering names when extracting (apis, backends, gateways, products, etc).
- Resource name filters in extractor also apply to related resources. For instance, if the extractor configuration says to only extract API
apiA
, subscriptions tied toapiB
will not be extracted.
Bug fixes
- Making API revisions current never worked properly (#184). Should be fixed now.
- When running the publisher with a specific commit, only the last commit was picked up. Publisher should now use the specified commit (#499).
- Fixed an issue where assigning a policy to a brand-new API fails (#513).
- Fixed an issue where an API backend URL is reset if only the specification file changes in a commit (#275).
Breaking changes
Release format
In v5, releases are naked executables. You can just download them and run them.
In v6, the releases are zip files. You now have to download the zip file, extract that file to a folder, and run the executable inside the folder. We have updated our ADO and GitHub pipelines to do this, but if you're migrating from v5 to v6, you will need to do this as well.
Why the change?
In v5, the publisher assumes Git has been installed on the computer. When doing Git-related tasks, it calls the command line with git mycommand
. If Git is not installed, the publisher will fail. Also, Git commands are hard-coded in a manner that's consistent across different OSes.
In v6, we use the Lib2GitSharp .NET library. It's responsible for figuring out the right commands and maintaining consistency across OSes. When the code is compiled, it generates a .dll/.so file that includes the right Git binaries for the OS. No need to have Git-preinstalled, but the publisher executable now relies on having the .dll/.so file present in its folder.
Subfolder structure
We're changing the folder structure for associated top-level resources. Let's use product APIs as an example.
In v5, productA
associated with apiA
and apiB
will generate the following artifact:
- /artifacts/products/productA/apis.json
[
{
"name": "apiA"
},
{
"name": "apiB"
}
]
In v6, the structure looks like this:
- /artifacts/products/productA/apis/apiA/productApiInformation.json
- /artifacts/products/productA/apis/apiB/productApiInformation.json
Here are the affected resource types:
- Product APIs
- Product groups
- Product tags
- Gateway APIs
- API tags
Why the change?
See the discussion here.
Product subscriptions
This release includes support for product subscriptions. When you extract your subscription, the file artifacts/subscriptions/yoursubscription/subscriptionInformation.json
will include the subscription owner in properties.ownerId
.
If you then promote that subscription to a higher environment, the publisher will likely fail as properties.ownerId
references a user ID in the lower environment.
To get around this, override your configuration file with the desired owner in the higher environment. A sample configuration file would be:
subscriptions:
- name: mysubscription
properties:
ownerId: /users/userId
Full Changelog: v6.0.0-alpha.1.0.1...v6.0.0-rc1
APIOps Toolkit for Azure APIM v6.0.0-alpha.1.0.9
💥 Not Ready for production yet. Please use v5.x for production💥
What's Changed
- Update .NET version for the create release workflow by @waelkdouh in #541
Full Changelog: v6.0.0-alpha.1...v6.0.0-alpha.1.0.9
APIOps Toolkit for Azure APIM v6.0.0-alpha.1.0.8
What's Changed
- Update .NET version for the create release workflow by @waelkdouh in #541
Full Changelog: v6.0.0-alpha.1...v6.0.0-alpha.1.0.8
APIOps Toolkit for Azure APIM v6.0.0-alpha.1.0.7
What's Changed
- Update .NET version for the create release workflow by @waelkdouh in #541
Full Changelog: v6.0.0-alpha.1...v6.0.0-alpha.1.0.7
APIOps Toolkit for Azure APIM v6.0.0-alpha.1.0.6
What's Changed
- Update .NET version for the create release workflow by @waelkdouh in #541
Full Changelog: v6.0.0-alpha.1...v6.0.0-alpha.1.0.6
APIOps Toolkit for Azure APIM v6.0.0-alpha.1.0.5
What's Changed
- Update .NET version for the create release workflow by @waelkdouh in #541
Full Changelog: v6.0.0-alpha.1...v6.0.0-alpha.1.0.5
APIOps Toolkit for Azure APIM v6.0.0-alpha.1.0.4
Full Changelog: v6.0.0-alpha.1.0.3...v6.0.0-alpha.1.0.4
APIOps Toolkit for Azure APIM v6.0.0-alpha.1.0.3
Full Changelog: v6.0.0-alpha.1.0.2...v6.0.0-alpha.1.0.3
APIOps Toolkit for Azure APIM v6.0.0-alpha.1.0.2
Full Changelog: v6.0.0-alpha.1.0.1...v6.0.0-alpha.1.0.2
APIOps Toolkit for Azure APIM v6.0.0-alpha.1.0.10
What's Changed
- Update .NET version for the create release workflow by @waelkdouh in #541
Full Changelog: v6.0.0-alpha.1...v6.0.0-alpha.1.0.10