diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d020d40..5767050 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,6 +29,13 @@ jobs: echo "version=$version" >> $GITHUB_OUTPUT echo "Found version $version from lib/vmpooler/version.rb" + - name: Generate Release Notes + run: | + version=$(grep VERSION lib/vmpooler/version.rb |rev |cut -d "'" -f2 |rev) + awk "/^## \[${version}\]/{found=1; next} found && /^## \[/{exit} found{print}" CHANGELOG.md > release-notes.md + echo "Generated release-notes.md for version ${version}:" + cat release-notes.md + - name: Tag Release uses: ncipollo/release-action@v1 with: diff --git a/CHANGELOG.md b/CHANGELOG.md index d9fcdf4..3b919e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [3.9.1](https://github.com/puppetlabs/vmpooler/tree/3.9.1) (2026-03-19) + +[Full Changelog](https://github.com/puppetlabs/vmpooler/compare/3.9.0...3.9.1) + +**Merged pull requests:** + +- \(P4DEVOPS-9434\) Wire RateLimiter middleware into API Rack stack [\#696](https://github.com/puppetlabs/vmpooler/pull/696) ([smahima27](https://github.com/smahima27)) + ## [3.9.0](https://github.com/puppetlabs/vmpooler/tree/3.9.0) (2026-03-17) [Full Changelog](https://github.com/puppetlabs/vmpooler/compare/3.8.1...3.9.0) diff --git a/Gemfile.lock b/Gemfile.lock index 78533a2..902e95f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - vmpooler (3.9.0) + vmpooler (3.9.1) concurrent-ruby (~> 1.1) connection_pool (~> 2.4) deep_merge (~> 1.2) diff --git a/lib/vmpooler/api.rb b/lib/vmpooler/api.rb index 3b0d9de..7f3236f 100644 --- a/lib/vmpooler/api.rb +++ b/lib/vmpooler/api.rb @@ -3,7 +3,7 @@ module Vmpooler class API < Sinatra::Base # Load API components - %w[helpers dashboard v3 request_logger healthcheck].each do |lib| + %w[helpers dashboard v3 request_logger healthcheck rate_limiter].each do |lib| require "vmpooler/api/#{lib}" end # Load dashboard components @@ -50,6 +50,9 @@ module Vmpooler # Enable API request logging only if required use Vmpooler::API::RequestLogger, logger: logger if config[:config]['request_logger'] + # Enable rate limiting if configured + use Vmpooler::API::RateLimiter, redis, config if config[:config]['rate_limiting_enabled'] + use Vmpooler::Dashboard use Vmpooler::API::Dashboard use Vmpooler::API::V3 diff --git a/lib/vmpooler/version.rb b/lib/vmpooler/version.rb index 32c6b36..837a47b 100644 --- a/lib/vmpooler/version.rb +++ b/lib/vmpooler/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Vmpooler - VERSION = '3.9.0' + VERSION = '3.9.1' end diff --git a/release-notes.md b/release-notes.md index 7e9892e..14b79ff 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,15 +1,7 @@ -## [3.8.1](https://github.com/puppetlabs/vmpooler/tree/3.8.1) (2026-01-14) +## [3.9.1](https://github.com/puppetlabs/vmpooler/tree/3.9.1) (2026-03-19) -[Full Changelog](https://github.com/puppetlabs/vmpooler/compare/3.7.0...3.8.1) +[Full Changelog](https://github.com/puppetlabs/vmpooler/compare/3.9.0...3.9.1) -**Implemented enhancements:** +**Merged pull requests:** -- \(P4DEVOPS-9434\) Add rate limiting and input validation security enhancements [\#690](https://github.com/puppetlabs/vmpooler/pull/690) ([mahima-singh](https://github.com/mahima-singh)) -- \(P4DEVOPS-8570\) Add Phase 2 optimizations: status API caching and improved Redis pipelining [\#689](https://github.com/puppetlabs/vmpooler/pull/689) ([mahima-singh](https://github.com/mahima-singh)) -- \(P4DEVOPS-8567\) Add DLQ, auto-purge, and health checks for Redis queues [\#688](https://github.com/puppetlabs/vmpooler/pull/688) ([mahima-singh](https://github.com/mahima-singh)) -- Add retry logic for immediate clone failures [\#687](https://github.com/puppetlabs/vmpooler/pull/687) ([mahima-singh](https://github.com/mahima-singh)) - -**Fixed bugs:** - -- \(P4DEVOPS-8567\) Prevent VM allocation for already-deleted request-ids [\#688](https://github.com/puppetlabs/vmpooler/pull/688) ([mahima-singh](https://github.com/mahima-singh)) -- Prevent re-queueing requests already marked as failed [\#687](https://github.com/puppetlabs/vmpooler/pull/687) ([mahima-singh](https://github.com/mahima-singh)) +- \(P4DEVOPS-9434\) Wire RateLimiter middleware into API Rack stack [\#696](https://github.com/puppetlabs/vmpooler/pull/696) ([smahima27](https://github.com/smahima27))