All Versions
15
Latest Version
Avg Release Cycle
98 days
Latest Release
322 days ago

Changelog History
Page 1

  • v0.8.2

    December 12, 2019
    • Add support for Phoenix ~> 1.4.9
    • Ability to configure json library e.g. config :phoenix_swagger, json_library: Jason
    • Improvements in SwagerUI Plug
    • Update dependencies
    • Bug fixes
  • v0.8.1

    July 05, 2018
    • Fix for crash on non-GET requests
    • Fix compilation error running mix phx.swagger.generate before mix compile
    • Validate number type in query parameter
    • Add id and type properties to the included-items schema
    • Add Schema.nullable function to set the x-nullable property
    • Add nullable: option to JsonSchema.relationship function
    • Handle x-nullable schemas in SchemaTest
    • Add deprecated flag for operations
  • v0.8.0

    March 13, 2018
    • Passing module names and output path as mix task parameters is no longer supported.
    • Inferring default module names from mix project is no longer supported.
    • Swagger file outputs, router module and optional endpoint module must now be specified in application config:
      config :my_app, :phoenix_swagger,
        swagger_files: %{
          "priv/static/swagger.json" => [router: MyAppWeb.Router, endpoint: MyAppWeb.Endpoint],
          # additional swagger files here
        }
    
    • phoenix_swagger can now be run as a mix compiler task, ensuring that the generated swagger is kept in sync with code, and enabling live reloading.
      compilers: [:phoenix, :gettext, :phoenix_swagger] ++ Mix.compilers
    
    • The HTTP verb and path can now be inferred from the phoenix router:
      swagger_path :show do
        get "/api/users/{id}
        description "Gets a user by ID"
        response 200, "OK", Schema.ref(User)
      end
    

    Can now be written without the get:

      swagger_path :show do
        description "Gets a user by ID"
        response 200, "OK", Schema.ref(User)
      end
    

    Note that if your controller contains a delete/2 function (such as when using the resources convention), then calling delete/2 from PhoenixSwagger.Path will now cause a compilation error. To avoid this problem, include the full module (shown below), or simply remove the line and allow the verb and path to be inferred from the route:

      swagger_path(:delete) do
        PhoenixSwagger.Path.delete "/api/users/{id}"
        summary "Delete User"
      end
    
  • v0.7.1

    • Use the :load_from_system_env Endpoint config flag to detect dynamic host and port configuration
  • v0.7.0

    November 09, 2017
    • Minor fix that supports the Phoenix 1.3 namespacing, where it is {Project}Web instead of {Project}.Web.
    • Add support for has_many relationships for JSON-API resource schemas
    • Upgrade to swagger-ui 3.1.7
    • Tests for nested and non-nested required parameters for PhoenixSwagger.Plug.Validate.
    • Decode parameter names using Plug.Conn.Query.decode and walk conn.params to find the nested param as conn.params is already nested while parameter["name"] is not when received by PhoenixSwagger.Plug.Validate.validate_query_params/2.
  • v0.6.4

    July 15, 2017
    • Adds support to enable security by endpoint
    • PhoenixSwagger.Plug.Validate sets response content type on error to application/json
    • PhoenixSwagger.Plug.Validate accepts :validation_failed_status option, defaults to 400
    • Example application includes usage of validator
  • v0.6.3

    June 17, 2017
    • Adds support for custom Endpoint module names by passing --endpoint
    • Added patch request support
  • v0.6.2

    May 09, 2017
    • fix path assignation of a swagger specification file in UI plug
    • add disable_validator option to disable/enable validation of a swagger schema.
  • v0.6.1

    May 09, 2017
    • Provide default host and port when generating swagger host config
    • Suppress host config when dynamic hostname or port are used
  • v0.6.0

    May 03, 2017
    • Use phoenix 1.3 conventions for mix tasks and module names
    • Add PhoenixSwagger.SchemaTest module for response validation
    • Swagger UI plug redirects / to /index.html automatically avoiding errors when fetching assets.
    • Swagger UI configured to list all operations by default