Changelog for CPAN-Testers-API

0.029     2025-06-01 10:35:28-05:00 America/Chicago

  NOTE: Some of this is 6 years old, since apparently that's when I last
  did a CPAN release of this...

  [Fixed]

  - Fixed metabase taking pathological amounts of memory
  - Fixed POST bodies of more than 16M being truncated
  - Bunch of fixes to the Dockerfile deployment

  [Added]

  - Added a release dist/version API
  - Added a "maturity" option to summary data to restrict to either
    stable or development Perls


0.025     2018-04-19 15:25:00+02:00 Europe/Oslo

    [Added]

    - Added "perl", "osname", and "since" filters to test summary data
    - Added API to get all of the test summary data for a given set of
      Perl versions and OS names.
    - Added API to get all test summary data for a distribution (over
      all versions).

0.024     2018-02-08 21:04:03-06:00 America/Chicago

    [Added]

    - Add schema config key to allow for easily running a local version
      of the API.

0.023     2018-01-16 15:47:31-06:00 America/Chicago

    [Fixed]

    - Increased Minion::Backend::mysql version to fix issues working
      with Minion v8.00

0.022     2018-01-12 13:23:19-06:00 America/Chicago

    [Added]

    - Added the ability to filter report summaries by grade
    - Improved speed of JSON rendering using Cpanel::JSON::XS

    [Fixed]

    - Fixed `/docs` route to always redirect to the latest docs
    - Fixed `duration` field to accept fractional seconds

0.021     2017-11-28 14:08:07-06:00 America/Chicago

    [Added]

    - Implement `maturity` query parameter for Release queries,
      constraining results returned to only stable or development
      distributions. Thanks @1nickt!

    - Implement `limit` query parameter for Release queries,
      constraining total number of results returned. Thanks @1nickt!

    [Fixed]

    - "version" field is now required by all language reports

    - Updated JSON::Validator version to fix some issues with the
      generated OpenAPI specification

0.020     2017-10-03 13:15:04-05:00 America/Chicago

    [Fixed]

    - Fixed the url format on the schema contact URL, which was making
      our tests fail with JSON::Validator version 1.03. Thanks @eserte
      for the report! [GitHub #14]

0.019     2017-10-01 19:21:04-05:00 America/Chicago

    [Fixed]

    - Fixed a problem where Metabase user registration would throw an
      error even though the user was registered successfully. Also,
      I improved the logging around this to try to figure out why these
      errors were happening.

0.018     2017-09-17 18:13:46-05:00 America/Chicago

    [Fixed]

    - Processing jobs will now automatically be retried in case of
      temporary errors.

0.017     2017-08-22 20:50:30-05:00 America/Chicago

    [Fixed]

    - All logs for all services are now being written to STDERR and
      rotated correctly by runit's svlogd.

    - Minion jobs are now using MySQL instead of SQLite. This has been
      performing much better, since SQLite's locking doesn't make it
      good for multiple, distributed processes.

0.016     2017-08-18 13:31:09-05:00 America/Chicago

    [Notes]

    - The legacy Metabase compatibility API is now released! Lots of
      changes went in to fixing the last of the bugs in it, and lots of
      thanks to all those that helped!

    [Added]

    - Legacy Metabase reports are now being written as jobs to the
      Minion job queue. This has vastly sped up the processing time for
      the initial test reports.

    [Fixed]

    - Prevented legacy metabase from fetching the latest 1000 reports
      twice or from using a `COUNT(*)` query on InnoDB.

    - Moved Metabase tail log generation to a cron job to improve
      stability.

    - Fixed extra HTML escaping in the Metabase tail log

    - Fixed cache control headers for Metabase tail log. Now the Fastly
      cache is revalidated efficiently and updates get sent out rapidly.

    - Validate Perl 5 version strings in submitted test reports more
      strictly. Metabase clients currently send the Perl 5 version
      prefixed with a "v", which the backend removes. Clients moved to
      the new test report API will not be allowed to submit a version
      string starting with "v".

      There is a lot of work to be done to validate reports better...

    - Lowered the verbosity of the legacy Metabase log. We don't need
      the full text of the report to be logged anymore, now that it
      seems to be working.

0.015     2017-06-21 01:16:47-04:00 America/New_York

    [Added]

    - Added report summary API. This is the classic CPAN Testers data
      made available as an API.

0.014     2017-05-27 01:43:31-05:00 America/Chicago

    [Fixed]

    - Fixed test failing if missing optional prerequisite

0.013     2017-05-27 01:32:28-05:00 America/Chicago

    [Fixed]

    - Fixed Perl 6 reports showing up in the legacy metabase API log
    - Fixed an additional "v" showing up in the Perl version in the
      legacy metabase API log

0.012     2017-05-26 23:54:48-05:00 America/Chicago

    [Added]

    - Added deploy script for legacy metabase API
    - Added explanatory website for legacy metabae API
    - Added /tail/log.txt for legacy metabase API. This is used by some
      users to get pre-release information for incoming test reports.

    [Fixed]

    - Property set the executable bit on the legacy Metabase API
    - Refactored deploy script to have less duplication
    - Allow cross-origin requests from any domain so you can build your
      own API consumers using simple JavaScript in the browser
    - Reduced body margin on API website

0.011     2017-05-14 15:59:49+02:00 Europe/Paris

    [Added]

    - Added Metabase shim API for old-style CPAN Testers clients. These
      clients will now produce new-style reports that will be processed
      new ways.

0.010     2017-05-14 10:32:18+02:00 Europe/Paris

    [Fixed]

    - Changed the "reporter" field which defined the reporter agent name
      to "user_agent" to capitalize on the connotation with HTTP user
      agents.

    - Added some logging for report posts. There's a strange validation
      error being returned that we're trying to track down, but also
      it'd be nice just to have this for future diagnostics.

0.009     2017-05-13 14:44:49+02:00 Europe/Paris

    [Fixed]

    - Changed test report format to move the test result into its own
      top-level "result" object. This makes it easier to see what
      information is about the test results and what information is
      about the code distribution.

0.008     2017-05-12 18:21:59+02:00 Europe/Paris

    [Added]

    - Added single test report get API. This works for new-style reports
      only. We will be migrating old-style reports to the new-style
      format soon. Old-style reports will maintain their former ID, so
      everything should work fine.

    [Fixed]

    - Upgraded Mojolicious::Plugin::OpenAPI to 1.13 to fix deprecations
      due to Mojo::File
    - Fixed API website links to point to /v3 API endpointes
    - Fixed test report post to use new schema with auto-serialization.
      This makes our database more consistent.

0.007     2017-05-12 10:35:47+02:00 Europe/Paris

    [Added]

    - Added v3 API spec with posting of incoming test reports. Thanks
      @garu! [Github #5]

0.006     2016-12-27 20:05:59-06:00 America/Chicago

    [Fixed]

    - Fixed index page documentation links (broken in 0.005)

0.005     2016-12-23 22:46:11-06:00 America/Chicago

    [Fixed]

    - Reorganized OpenAPI spec to include tags for better documentation
      rendering.

    [Other]

    - Improve example upload feed reader.

0.004     2016-12-17 18:28:28-06:00 America/Chicago

    [Added]

    - /uploads API for querying the CPAN uploads information table. See
      http://api.cpantesters.org/docs/?url=/v1#!/default/uploads for
      details.

    - Upload feeds to get push notifications of new CPAN uploads via
      WebSockets. Subscribe to any /uploads endpoint to get a feed of
      new information from that endpoint.

0.003     2016-11-26 21:10:39-06:00 America/Chicago

    [Added]

    - Introductory information on the root
    - API documentation using Alien::SwaggerUI

0.002     2016-11-20 19:15:28-06:00 America/Chicago

    [Added]

    - Added `render_error` helper to reduce boilerplate for error
      reporting.

    - Added `Rexfile` deploy script to deploy the app with
      [Rex](http://rexify.org).

    [Fixed]

    - Reduced the amount of release data transmitted. There were fields
      in the release summary API that aren't important or needed, so
      they were removed. Also, results for development Perl releases are
      no longer included in the API.

    - Disabled the `?since` parameter when querying all release summary
      data. This feature causes the database query to be too slow:
      Fetching all the data takes about a minute, fetching only the last
      day's worth of data takes hours before it times out.

0.001     2016-11-19 16:51:52-06:00 America/Chicago

    - Initial release. This module is a JSON API for CPAN Testers data
      using Mojolicious and CPAN::Testers::Schema.
