Releases: Azure-Samples/Apim-Samples
Releases · Azure-Samples/Apim-Samples
v2.3.0
Added
- Added Azure CLI Login to Developer CLI: This simplifies getting started with Codespaces. Users can optionally provide the tenant ID they want to use.
Changed
- [Engineering]: Move
.pylintrcfile to root: This is conventional now as opposed to having the file in thetests/pythonfolder. All processes have been updated to account for this move. - [Engineering]: Removed several pylint rule exceptions: On a path to minimal exceptions, we have removed several that no longer apply or that we were able to mitigate or apply purely to Python tests.
- Simpler post-setup instructions: This applies mostly to the Codespaces setup to get you up and running more quickly.
Full Changelog: 2.2.0...2.3.0
v2.2.0
Added
- [Engineering]: Added 67 unit tests to achieve 100% statement and branch coverage! There are now 1,435 unit tests to minimize regressions with the broadest coverage yet!
- [Engineering]: Added
uvfor much speedier Python package management
Changed
- [Engineering]: Using AZ CLI 2.82.0 now
Removed
- [Engineering]: Removed
pipandrequirements.txt: Both have been fully replaced byuv. - [Engineering]: Scrubbed Dev Container build:
pipandrequirements.txthave been fully replaced byuv. This has resulted in significant time savings.
Full Changelog: 2.1.0...2.2.0
v2.1.0
Added
- Added Show All Deployed Infrastructures to Developer CLI: Very useful to quickly see what's deployed. This helps with oversight and cost control as one does not need to use the Azure Portal, CLI, etc. to see what API Management Samples assets have been deployed.
- Added 429 Status Code Return to the Load Balancing Sample: Provide an example of how the status code can be changed from
503to429when the API Management backend pool has been exhausted. Any headers from the backend API, including theRetry-Afterheader are passed back to the caller. This ensures that even when the entire pool is unhealthy, the caller will know when to initiate a new request.
Changed
- Show response headers by default: API Management requests now surface the response headers for clearer visibility into what API Management returns.
- [Engineering]: Improved test coverage to 99%! There are now 1,368 Python tests! All pass, and everything is linted.
- [Engineering]: Refactoring: Minor refactoring around obtaining endpoint information for tests.
- [Engineering]: Remove unnecessary Devcontainer configuration: Removed ports that are not used.
Removed
- [Engineering]: Removed several Python packages: The superfluous packages that were not used are now removed. This conveniently also removes
nbconvertwhich continues to have an outstanding security vulnerability. Removing packages also means faster builds and smaller container images.
Fixed
- Executable shell scripts: Previously, the execution bit was not set for several shell scripts. This prevented shell script execution in Codespaces.
Full Changelog: 2.0.1...2.1.0
v2.0.1
This release is Dev Container / Codespaces focused to make it as conducive as possible for users to quickly become productive.
Added
- JSON instructions file for GitHub Copilot.
Changed
- Consolidated dev container files: There are now just one
Dockerfileand onepost-start-setup.shfile (down from one in each dev container). This reduces redundancy greatly. Unfortunately,devcontainer.jsondoes not presently supportextends, etc., so we need to keep separate files each. - Optimized
Dockerfile: Unnecessary components were removed from the image, further reducing its size. - Revised Codespaces quickstart and Readme instructions to clarify and simplify what users need to know to be productive quickly.
- Various minor changes to improve the Codespaces feel and ease-of-use (opening MD files in preview mode, suppressing VS Code notification noise, etc.)
Full Changelog: 2.0.0...2.0.1
v2.0.0
🎉 V2.0.0 is a big release!
Versioning this as a major simply due to the extensive changes it has experienced.
Added
- APIM Samples Developer CLI: Designed to greatly enhance the setup and test workflow! Easily assess see lint, test, and code coverage statistics in one place!
- Distinct dev containers for Python 3.12, 3.13, and 3.14: Provides targeted APIM Samples Codespaces for any of the supported Python versions, empowering users to assimilate APIM Samples to their respective Python versions in use!
- More than 830 new unit tests as compared to V1.12.0, providing 98% of code coverage!
Changed
- Refactor of much of the tooling and functionality to reduce difference between local and Codespaces setup
- Simplified documentation targeted to new and returning users
- Image creation and runtime optimizations to provide updated tooling with minimal setup
Full Changelog: 1.12.0...2.0.0
v1.12.0
Added
- New infrastructure architecture: Application Gateway to API Management via internal VNet: This is the classic App Gateway & API Management pairing through VNet injection.
Changed
- Bicep execution optimizations: Speed up deployments by batching and parallelizing resource deployments.
- No wait on Key Vault purge: Added a
--no-waitparameter on Key Vault purges to speed up clean-ups. - Enhanced the Python GitHub action workflow: Added pylint, test coverage, and compilation checks.
Fixed
- Fixed Azure Advisories: Addressed all reasonable advisories while ignoring ones such as multiple Availability Zone additions to save cost.
Full Changelog: 1.11.0...1.12.0
v1.11.0
Added
- Add conventional Python
loggingto support detailedDEBUGlevel in.envfile (default set toINFO) #105 - Add script to show soft-deleted API Management and Key Vault instance with optional purge option
Full Changelog: 1.10.1...1.11.0
v1.10.1
This is largely a Python refactoring release.
Changed
- Break up
utils.pymeaningfully as it has grown entirely too large. New files areazure_resources.py,json_utils.py, andconsole.py - Clean up Python code extensively with Pylint rules
- Add ~60 new unit tests
- Parallelize resource cleanup in the same resource group (previously only across resource groups)
- Create Python and Bicep specific Copilot instruction files
- Normalize line endings to
LFfor cross-OS compatibility - Include Python 3.14 test coverage in GitHub action
Full Changelog: 1.10.0...1.10.1
v1.10.0
Added
- New infrastructure architecture: Application Gateway to API Management via Private Endpoint: Application Gateway has been added with private endpoint connectivity to API Management Standard V2. This can result in significant cost savings and is the reason it was added before a VNet injection infrastructure.
Changed
- Housekeeping: Clean up Python code extensively with Pylint rules
Full Changelog: 1.9.0...1.10.0
v1.9.0
Added
- API ID general sample: Extracts an API ID based on an API naming convention. Unfortunately, the
contextobject in an API call does not reveal any tags, making it difficult for telemetry to explicitly identify an API. - Azure Front Door diagnostic logging: Logs all metrics to the common log analytics workspace for the infrastructure. Previously, we did not see requests to Front Door reflected in telemetry due to an omission of the diagnostic settings. #89
- Parallel clean-up: When more than one index is defined in the
clean-up.ipynbfiles, cleaning resources is multi-threaded. This speeds up the process substantially, especially with Azure Container Apps infrastructures. #87 - [Engineering]: Added infrastructure classes to consolidate infrastructure creation logic. #88
Changed
- Allow Infrastructure Updates: Re-running infrastructure builds is now possible. This is helpful when new APIs, named values, etc. are added to infrastructures notebooks after they were already built in Azure. Previously, manual changes needed to be made, or the infrastructure had to be cleaned up, then redeployed. #86
Fixed
- GitHub Copilot instructions file was named incorrectly (leading period in filename) and was consequently not automatically added to the chat context.
Full Changelog: 1.8.0...1.9.0