Skip to content

Releases: Azure-Samples/Apim-Samples

v3.4.0

10 Apr 11:54
9347dad

Choose a tag to compare

Added

  • Dynamic CORS Sample - Multiple options to dynamically control CORS down to a per-API level. Use named values or cache based on your needs.

Changed

  • Various security updates - Added pip-audit for exact vulnerability check based on lock file, removed potential backend information leakage froim responses, further masked secrets, changed localhost behavior.
  • [Engineering]: Various dependency updates - Updated python dependencies and GitHub action versions

Full Changelog: 3.3.0...3.4.0

v3.3.0

24 Mar 18:41
e21bb95

Choose a tag to compare

Added

  • APIM Samples Website! - There's now a professional-looking website representing APIM Samples! The previous link has been updated to point to the website.
  • Egress Control Sample - This sample illustrates how API Management's egress can be governed. North/South traffic is sent to a hub Azure Firewall whereas East/West traffic is routed across the VNet(s).

Changed

  • Costing Sample with Entra App IDs and Tokens - The Costing sample has been extended to allow for more scenarios, providing a more holistic workbook across use cases.

Fixed

  • Mitigated several new CVEs in Python Packages

Full Changelog: 3.2.0...3.3.0

v3.2.0

07 Mar 12:37
8619103

Choose a tag to compare

Added

  • Custom Network Security Groups per Subnet: Increased network security through custom network security groups (NSG) for Application Gateway, API Management, and Container Apps.
  • Agent skills and AGENTS.md files: Improves agent abilities to generate more meaningful code and assets for APIM Samples
  • Bicep linting in Dev CLI: The CLI now highlights issues with linting as part of its testing and linting tools.

Changed

  • Improved Bicep Deployment Error Logging: We now provide more meaningful insight into what may have failed during a bicep deployment. This is highlighted in the Jupyter Notebook cell output.

Fixed

  • Remediated OpenSSF items: OpenSSF is now part of the CI workflows and automatically checks and updates the OpenSSF dashboard. Please see the badge link in README.md for details.
  • Jupyter Notebook cleanup: Execution count and cell output is now filtered as well to prevent it from being committed.

New Contributors

Full Changelog: 3.1.0...3.2.0

v3.1.0

27 Feb 00:40

Choose a tag to compare

Added

  • Premium SKU Support: Both classic and V2 SKUs have been added. A confirmation dialog to prevent accidental provisioning of high-cost items has been added alongside Premium and Standard SKUs.
  • APIM Samples Presentation: HTML and PDF slides have been added. A local development server setup has also been added to be used with the presentation assets. Additionally, relevant functionality has been added to the APIM Samples Developer CLI.

Changed

  • [Engineering]: Region enums: Replaces previous region strings

Fixed

  • Fixed load balancing and secure blob access samples: A recent regression caused these samples to not provision.
  • [Engineering] AZ CLI resource group existence check: Use az group exists instead of az group show for resource group existence checks. This prevents errors while also cutting out redundant checks.

Full Changelog: 3.0.0...3.1.0

v3.0.0

24 Feb 21:28
9837944

Choose a tag to compare

Added

  • Costing Sample: This is a great addition, which empowers user to view costs and use chargeback for shared APIM infrastructure. Thank you, @ncheruvu-MSFT!

Changed

  • Remedied pylint & ruff issues: Scrubbed the code and changed many issues that we previously ignored.
  • [Engineering]: Replaced PlantUML with Draw.io diagrams: This is easier to use, more conventional, and more loved by developers.
  • [Engineering]: Replace dpip with uv: Much faster dependency installation and management.
  • [Engineering]: Replaced pylint with ruff: Much faster, sub-second linting.
  • [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.

Fixed

  • Sanitized Kernel Manifest: A new pre-commit hook sanitizes the kernel manifest to no longer change Python version or name. Please run local setup again to enable the git hook.

New Contributors

Full Changelog: 2.3.0...3.0.0

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