Skip to content

Releases: flusflas/apier

v0.6.0

18 Aug 18:11
9f278db

Choose a tag to compare

This release introduces new extension features.

Added

  • Ignore operation extension to skip specific API operations during code generation.

    Example:

    paths:
      /companies/{company_id}/employees:
        get:
          x-apier:
            ignore: true
  • Option to specify a custom client name for the generated API client in the python-tree template.

    Example:

    info:
      x-apier:
        templates:
          python-tree:
            client-name: MyAPIClient

v0.5.0

15 Aug 10:45
c0bd8e5

Choose a tag to compare

The pagination extension now supports setting the API operation to fetch the next page of results, using the operationId parameter as defined in the OpenAPI specification.

🧨 Breaking Changes

  • Removed url parameter from pagination configuration. Now, the previous request URL is automatically reused for the next page request. If the URL needs to be changed, it can be done adding a modifier on the $url field.

    Before:

    pagination:
      next:
        url: "https://api.example.com/next-page"

    After:

    pagination:
      next:
        modifiers:
          - param: "$url"
            value: "https://api.example.com/next-page"

Added

  • APIOperation class for python-tree template with one method for each OpenAPI operation. This serves for pagination operations and is not meant for direct use.
  • Support for literal curly braces in dynamic expressions (e.g., {"foo": 123} will be evaluated as a literal string).
  • Pagination strategy to retrieve the next page of results using an existing API operation.
  • Improved error details when extensions parsing fails.

v0.4.0

04 Aug 21:53
da30d4a

Choose a tag to compare

Added $eval support for dynamic expressions, allowing complex evaluations and manipulations of request and response data, and unlocking advanced pagination strategies.

🧨 Breaking Changes

  • Renamed reuse-previous-request to reuse_previous_request in pagination configuration for naming consistency.
  • Enforced # prefix for dot-separated paths in dynamic expressions (e.g., #users.0.name instead of users.0.name).

Added

  • Simple expression evaluation with ast module.
  • Support for nullish coalescing operator (??) in dynamic expressions.

Fixed

  • Evaluation of results parameter in pagination configuration.

v0.3.0

31 Jul 21:07
1b541c4

Choose a tag to compare

This release adds support for request payloads with application/x-www-form-urlencoded content type, and improves handling of
structured content types such as application/json-patch+json.

Added

  • Handle request content types with structured syntax suffixes.
  • Support for application/x-www-form-urlencoded request payloads.

v0.2.0

24 Jul 18:51
f0e2e6e

Choose a tag to compare

This release adds support for multipart requests, binary responses, improved request handling, and includes various fixes and minor enhancements.

Added

  • Enforce body compatibility with request content types.
  • Response stream extension.
  • Support for binary responses.
  • Support for streaming multipart requests.
  • FilePayload model for file uploads.
  • Format generated code with black.
  • Support for multipart/form-data in file uploads.
  • XML request and enhanced Content-Type handling.
  • Enhanced Content-Type validation and request preparation.

What's Changed

Full Changelog: v0.1.0...v0.2.0

v0.1.0

18 Jul 11:00

Choose a tag to compare

Added

  • 🚀 Initial release.