- Replaced
HaveAPI::Action#ok
and#error
with#ok!
and#error!
- Pagination is now done by
from_id
parameter, or using a custom parameter. Parameteroffset
was removed. - Action input/output DSL now includes method
remove
that removes previously configured parameter - Escape HTML in parameter description in API documentation
- Removed JSON self-description samples from API documentation
\HaveAPI\Client\Response
andResourceInstanceList
have new methodgetAction()
that returns theAction
that created it
- Fix token auth renewal
- Add validator to offset/limit pagination parameters
- Updated to Sinatra 4.0 and Rack 3
- Fix boolean input parameter conversion on Ruby 3.2
- Fix token auth save and load from config used by the CLI
- Remove requirement on Ruby 3.2, ensure compabitility with Ruby >=3.0
- Add mount hooks to
HaveAPI::Server
, allowing the developer to register custom Sinatra endpoints - Fix Ruby client example generation
- Add option to send custom query parameters to the OAuth2 authorization request and token revocation endpoint
- Introduce RuboCop and fix offenses
- Require Ruby 3.2
- Introduce PHP CS Fixer and apply fixes
- Require ActiveSupport and ActiveRecord >= 7.1
- Fix boolean input parameter conversion on Ruby 3.2
- Path parameters can contain numbers
- Set Client-IP HTTP header on OAuth2 requests
- Fix ERB deprecation warnings
- Support for OAuth2 access tokens
- Fix OAuth2 token grant check
- Support for OAuth2 code challenge verification
- Support for OAuth2 token revocation
- Improve OAuth2 documentation by adding client examples
- Configurable OAuth2 URL in case it should differ from API URL
- Replace OAuth2
render_authorize_page
withhandle_get_authorize
to allow the GET endpoint to authorize the client - Global action pre-authorization hook
- Authorization blocks have access to path parameters
- Define scopes for all actions based on resource and action name
- Add scope to default input parameters for token authentication
- Support for custom OAuth2 HTTP header with access token
- Setup output formatter only on JSON endpoints
- Do not prompt for optional authentication parameters on standard input
- Improved exception output by hiding long instance variables from
#inspect
- Support for OAuth2
- Support for accessing API with OAuth2 access token
- Support for OAuth2 authorization provider
- Pass exceptions from Action.safe_output to exec_exception hook
- Sinatra 3.0
- Improve compatibility with Ruby 3.0
- Use correct credentials for token auth examples in online documentation
- Use option
user
instead ofusername
in HTTP basic authentication examples - Updated dependencies
- Updated dependencies
- Use CLI option
--user
instead of--username
for HTTP basic authentication
- Compatibility with PHP 8.1
- Switch to vpsfreecz/httpful
- Use option
user
instead ofusername
for HTTP basic authentication
- Use option
user
instead ofusername
for HTTP basic authentication
- Sinatra 2.2.0, ActiveRecord >= 6.0
- Fix action invocations in CLI
- Sort resources, actions and parameters by name
- Sort resources, actions and parameters by name
- Use go fmt on the generated code
- Support for sending resource parameters as nil
- Improved compabitility with Ruby >= 3.0
- Input parameter options are given as keyword arguments
- Input parameter restrictions (
restrict() and ``with_restricted()
) accept only keyword arguments HaveAPI::Hooks
supports keyword arguments
- Action input parameters can be given either as a hash using a positional argument, or keyword arguments, but not both
HaveAPI::Response#wait_for_completion
now accepts keyword argumentsHaveAPI::Client#authenticate
now accepts keyword arguments
- Requires PHP >= 7.4
- Updated dependencies
- Updated dependencies
- Do not coerce types of nil output parameters
- Updated dependencies
- Parse error message when the server returns bad request
- Do not fail prematurely if the token expired, try it
- Fix Action#unresolved_args? to check for path parameters using curly brackets
- Token authentication
- Add methods
isComplete()
andgetResource()
- Fix
checkValidity()
to check for custom action credentials - Authentication callbacks get description of action credential parameters in addition to their names
- Add methods
- Protocol version set to 2.0, making it incompatible with previous versions
- Redesigned token authentication now supports multi-step authentication processes and custom credentials
- Action
url
andurl_params
in API description were renamed topath
andpath_params
- Action path parameter variables use curly brackets instead of colons
- New client generator for Go
- Added support for fully dynamic resources and actions
- New exception
HaveAPI::AuthenticationError
- Proper coercion of typed output parameters
- Unified changelog file
- Authorization and parameter filtering for action examples
- Update sinatra to v2.0, tilt to v2.0 and require_all to v2.0
- Update require_all to v2.0