Skip to content

Releases: Azure-Samples/Apim-Samples

v2.3.0

15 Jan 14:52

Choose a tag to compare

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 .pylintrc file to root: This is conventional now as opposed to having the file in the tests/python folder. 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

14 Jan 05:07

Choose a tag to compare

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 uv for much speedier Python package management

Changed

  • [Engineering]: Using AZ CLI 2.82.0 now

Removed

  • [Engineering]: Removed pip and requirements.txt: Both have been fully replaced by uv.
  • [Engineering]: Scrubbed Dev Container build: pip and requirements.txt have been fully replaced by uv. This has resulted in significant time savings.

Full Changelog: 2.1.0...2.2.0

v2.1.0

09 Jan 20:06

Choose a tag to compare

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 503 to 429 when the API Management backend pool has been exhausted. Any headers from the backend API, including the Retry-After header 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 nbconvert which 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

06 Jan 17:18

Choose a tag to compare

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 Dockerfile and one post-start-setup.sh file (down from one in each dev container). This reduces redundancy greatly. Unfortunately, devcontainer.json does not presently support extends, 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

02 Jan 23:41

Choose a tag to compare

🎉 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

18 Dec 23:13
c4811c7

Choose a tag to compare

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-wait parameter 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

16 Dec 22:19

Choose a tag to compare

Added

  • Add conventional Python logging to support detailed DEBUG level in .env file (default set to INFO) #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

12 Dec 21:12
72c4e8e

Choose a tag to compare

This is largely a Python refactoring release.

Changed

  • Break up utils.py meaningfully as it has grown entirely too large. New files are azure_resources.py, json_utils.py, and console.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 LF for cross-OS compatibility
  • Include Python 3.14 test coverage in GitHub action

Full Changelog: 1.10.0...1.10.1

v1.10.0

05 Dec 23:52
7b52af3

Choose a tag to compare

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

08 Aug 04:33
271528d

Choose a tag to compare

Added

  • API ID general sample: Extracts an API ID based on an API naming convention. Unfortunately, the context object 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.ipynb files, 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