Revision history for Plack-Middleware-Statsd

v0.9.3    2026-05-18 20:09:53+01:00 Europe/London
  [Enhancements]
  - Use core Digest::SHA instead of CryptX.  This removes the secure_set_hash option.

v0.9.2    2026-05-18 15:17:52+01:00 Europe/London
  [Bug Fixes]
  - Fixed the memory leak with psgix.monitor.statsd_secure_set_add.

  [Enhancements]
  - If the client has the secure_set_add method (such as Net::Statsd::Lite), then it will be used instead of
    creating a wrapper.

v0.9.1    2026-05-16 00:58:16+01:00 Europe/London
  [Enhancements]
  - Crypt::Mac::HMAC is only loaded if secure_set_key is specified. It is now recommended instead of required.xs

  [Security]
  - The minimum version of Crypt::Mac::HMAC was bumped.

v0.9.0    2026-05-09 23:57:27+01:00 Europe/London
  [Security]
  - The psgi.request.remote_addr metric is no longer logged unless the secure_set_key is specified in the constructor.
    This is to avoid leaking personally identifiable information if the connection to the statsd client is not secure,
    CVE-2026-45179.

  [Enhancements]
  - Added psgix.monitor.statsd_secure_set_add to the environment with a method for securely logging set data.

  [Documentation]
  - Added a SECURITY CONSIDERATIONS section.

  - Updated copyright year.

  - Updated author email due to issues with cpan.org email forwarding.

  - Removed CONTRIBUTING.md due to re-evaluation about some AI-assisted issue reporting.

  - Fixed spelling errors.

  [Tests]
  - Added author tests for POD spelling.

  [Toolchain]
  - Stopped signing distributions, since Module::Signature is deprecated.

  - Added doap.xml to the distribution.

v0.8.2    2025-08-16 12:11:31+01:00 Europe/London
  [Documentation]
  - Removed redundant section.

  [Tests]
  - Added more author tests.

v0.8.1    2025-08-07 13:09:52+01:00 Europe/London
  [Documentation]
  - Added SUPPORT section and merged BUGS into it.

  - README is now generated by Dist::Zilla::Plugin::UsefulReadme.

  - Removed the INSTALL file.

  [Tests]
  - Added more author tests.

  - Moved author tests into the xt directory.

  [Toolchain]
  - Ensure local-lib is not included in distribution.

  - Update GutHub workflow.

  - Do not rebuild MANIFEST.SKIP.

v0.8.0    2025-05-13 13:07:16+01:00 Europe/London
  [Security]
  - Stats for request methods are only counted for ASCII words, anything else is counted as "other".

  - Stats for content types are only counted for well-formed types.

  [Documentation]
  - Added a security policy.

  - Added a How to Contribute document

  - Removed redundant heading.

  - Updated copyright year.

v0.7.1    2024-07-20 12:52:04+01:00 Europe/London
  [Documentation]
  - Updated copyright year,

  [Tests]
  - Updated author tests.

v0.7.0    2024-07-13 12:51:37+01:00 Europe/London
  [Enhancements]
  - Code was adapted to use newer syntax features.

  [Incompatible Changes]
  - Bumped minimum version of Perl to v5.20.

v0.6.3    2023-06-15 19:45:18+01:00 Europe/London
  [Enhancements]
  - Revert to using Try::Tiny instead of Feature::Compat::Try, since the former is already used by Plack.

  [Documentation]
  - Reformated KNOWN ISSUES section.

  - Clarified support policy for older Perl versions.

  - Bumped copyright year.

v0.6.2    2022-12-11 16:07:04+00:00 Europe/London
  [Enhancements]
  - Simplified code for tracking Content-Type headers.

  [Documentation]
  - Documented support for older Perl versions.

  - Fixed typo.

  - Added note about psgix.informational callback.

  [Other]
  - Removed redundant import.

  - Added GitHub Actions to run tests.

  [Tests]
  - Added missing author prereq for Test::Vars.

v0.6.1    2022-09-02 16:05:17+01:00 Europe/London
  [Other]
  - Signed distribution.

v0.6.0    2022-07-26 16:50:26+01:00 Europe/London
  [Incompatable Changes]
  - Minimum Perl version is v5.14.

  [Enhancements]
  - Use Feature::Compat::Try instead of Try::Tiny to catch errors.

  [Documentation]
  - Bump copyright year.

  - Fixed encoding of links in README.

  [Toolchain]
  - Updated MANIFEST.SKIP.

v0.5.1    2021-07-03 14:08:05+01:00 Europe/London
  [Documentation]
  - Documented the version required for the catch_errors attribute.

v0.5.0    2021-06-15 17:03:29+01:00 Europe/London
  [Enhancements]
  - Add catch_errors option to handle errors in the application.

v0.4.7    2021-04-27 16:47:35+01:00 Europe/London
  [Bug Fixes]
  - Use sample_rate for content length metrics.

v0.4.6    2021-04-21 16:51:41+01:00 Europe/London
  [Enhancements]
  - Check if internal methods are unused before fetching arguments.

  - Improve argument handling for internal methods.

  [Documentation]
  - Bump copyright year.

  [Tests]
  - Add more author tests.

v0.4.5    2020-05-11 18:29:17+01:00 Europe/London
  [Documentation]
  - Updated section on the psgi.worker.pid metric.

  [Other]
  - Stop removing strict and warnings from prerequisites.

v0.4.4    2020-04-30 14:04:10+01:00 Europe/London
  [Documentation]
  - Added example with Plack::Middleware::SizeLimit.

v0.4.3    2020-03-23 08:59:39+00:00 Europe/London
  - No changes since v0.4.2.

v0.4.2    2020-03-21 18:28:31+00:00 Europe/London (TRIAL RELEASE)
  [Enhancements]
  - Emit warnings if the client does not support expected methods.

  - Die if the histogram, increment or set_add attributes are not
    coderefs.

  [Tests]
  - Added tests for how errors are trapped and logged.

  - Add Test::Pod::LinkCheck author test.

  [Other]
  - Explicitly declare List::Util and Time::HiRes as prereqs.

v0.4.1    2020-03-21 17:15:30+00:00 Europe/London (TRIAL RELEASE)
  [Bug Fixes]
  - Apply sample_rate to psgi.response.x-sendfile.

v0.4.0    2020-03-21 00:24:40+00:00 Europe/London (TRIAL RELEASE)
  [Enhancements]
  - Some initialisation is done beforehand, which should result in a
    slight performance improvement.

  - Added histogram, increment and set_count attributes which are
    code references for methods that do the actual logging.

  [Incompatabilities]
  - The client is required, and not initialised from the
    psgix.monitor.statsd key in the environment.

  [Documentation]
  - Made better use of Pod::Weaver commands.

  - Bumped copyright year

  [Other]
  - Renamed internal variables for consistency.

  - Show more module versions in test diagnostics.

v0.3.10   2019-12-18 23:45:32+00:00 Europe/London
  [Enhancements]
  - Added psgi.worker.pid metric for tracking the number of active workers, #4.

  [Documentation]
  - Bumped copyright year.

v0.3.9    2018-11-30 15:59:17+00:00 Europe/London
  [Documentation]
  - Removed the section about support for older Perl versions.

  - Fixed typo in Changes for v0.3.5.

  - Added note about Catalyst::Plugin::Statsd.

v0.3.8    2018-11-30 01:30:27+00:00 Europe/London
  [Documentation]
  - Added INSTALL file to the distribution.

  - Fixed typo in POD.

  [Toolchain]
  - Tweaks to dist.ini for simplifying build.

  - Updated MANIFEST.SKIP.

v0.3.7    2018-10-19 16:06:50+01:00 Europe/London
  [Toolchain]
  - Added MANIFEST.SKIP to distribution.

v0.3.6    2018-10-16 22:38:04+01:00 Europe/London
  [Documentation]
  - Corrected minor typo.

v0.3.5    2018-05-31 21:19:21+01:00 Europe/London
  [Documentation]
  - Documented a known issue about non-standard status codes, #2.

  [Toolchain]
  - Removed redundant prerequisites from cpanfile and META files.

  - Added keywords to distribution metadata.

  [Other Changes]
  - Added HTTP::Status 6.16 as a recommended prerequisite, #2.

v0.3.4    2018-03-01 15:39:03+00:00 Europe/London
  [Bug Fixes]
  - Fix bug with counting content types that contain dots, e.g.
    "image/vnd.microsoft.icon".

v0.3.3    2018-02-13 15:24:11+00:00 Europe/London
  [Documentation]
  - Fixed module import in SYNOPSIS.

v0.3.2    2018-02-10 23:36:10+00:00 Europe/London
  [Documentation]
  - Added missing section about the sample_rate attribute.

  - Fixed typo in SYNOPSIS.

v0.3.1    2018-02-10 23:22:47+00:00 Europe/London
  [Enhancements]
  - Re-added the sampling rate attribute.

  [Incompatabilities]
  - Logs a float for the response time, instead of an integer. This is
    an enhancement, but may cause issues with some statsd daemons.

  [Documentation]
  - Added note about modifying sample rates.

  - Added note about support for older Perl versions.

  - Updated the SYNOPSIS to show the recommended Statsd client.

  - Updated the section for the client attribute on compatible Statsd
    modules.

  [Other Changes]
  - Bumped version of Net::Statsd::Tiny as a recommended prerequisite.

v0.3.0    2018-02-06 11:10:44+00:00 Europe/London
  [Enhancements]
  - Catch log errors when calling the statsd client, #1.

  [Tests]
  - Show diagnostics on failure.

  [Other Changes]
  - Added Net::Statsd::Tiny as a recommended prerequisite.

v0.2.1    2018-02-05 14:16:07+00:00 Europe/London
  [Enhancements]
  - Allow the statsd client to support the timing method as an
    alternative to the timing_ms method.

  - Call client's flush method (if there is one) when done, to support
    Net::Statsd::Tiny.

  [Incompatible Changes]
  - Removed the sample_rate attribute.

  [Documentation]
  - Added an example of accessing this statsd client from Catalyst.

  - Only list the client methods that are actually used.

  [Tests]
  - Explicitly specify a dependency of Test::Most for cpantesters.

v0.2.0    2018-02-01 17:21:29+00:00 Europe/London
  [Enhancements]
  - Allow the X-Sendfile header variation to be configured.

  [Documentation]
  - Updated information on logging content types.

  - Added missing psgi.request.content-type metric.

  - Fixed POD markup.

v0.1.1    2018-02-01 14:21:29+00:00 Europe/London
  [Bug Fixes]
  - Removed charset from content-type metrics.

  - Explicitly added Plack middleware prerequisites for tests.

  [Documentation]
  - Fixed POD markup.

  - Documented additional metrics.

  [Other Changes]
  - Removed unnecessary testing prerequisites.

v0.1.0    2018-01-31 18:13:40+00:00 Europe/London
  - Initial release.
