This file contains all the notable changes done to the Ballerina HTTP package through the releases.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Implement immediateStop in HTTP listener
- Add initial support for HATEOAS
- Add IP address to both local and remote addresses
- Add proxy support for HTTP2 client
- Make http2 the default transport in http
- Add support for client resource methods in HTTP client
- Add constraint validation to HTTP payload binding
- Introduce response and response error interceptors
- Allow records to be annotated with @http:Header
- Add basic type support for header params in addition to
string
,string[]
- Allow HTTP caller to respond
error
- Allow HTTP caller to respond
StatusCodeResponse
- Introduce
DefaultErrorInterceptor
- Support
anydata
in service data binding - Support
anydata
in client data binding - Add union type support service data binding
- Add union type support client data binding
- Add common constants for HTTP status-code responses
- Add code-actions to generate interceptor method template
- Add OpenAPI definition field in
@http:ServiceConfig
- Introduce new HTTP error types
- Append the scheme of the HTTP client URL based on the client configurations
- Refactor auth-desugar respond with DefaultErrorInterceptor
- Hide subtypes of http:Client
- Add code-actions to generate payload and header parameter templates
- Add code-actions to add content-type and cache configuration for response
- Allow readonly intersection type for resource signature params and return type
- Implement Typed
headers
for HTTP response - Add map data binding support for application/www-x-form-urlencoded
- Add compiler validation for payload annotation usage
- Add support to provide inline request/response body with
x-form-urlencoded
content
- Fix parseHeader() to support multiple header values
- Fix HTTP caching failure when using the last-modified header as the validator
- Fix HTTP caching failure after the initial Max Age expiry
- Mark HTTP Caller as Isolated
- Rename RequestContext add function to set
- Only allow default path in interceptors engaged at listener level
- Provide a better way to send with
application/x-www-form-urlencoded
- Rename Link header name to link
- Relax the data-binding restriction for no content status codes
- Fix unused variable warning in the package
- Fix initiating auth handlers per each request
- Remove the logs printed from the listeners
- Change the runtime execution based on the isolation status
- Mark HTTP Service type as distinct
- Change the Listener.getConfig() API to return InferredListenerConfiguration
- Enable HTTP trace and access log support
- Add HATEOS link support
- Introduce http:CacheConfig annotation to the resource signature
- Add service specific media-type prefix support in http:ServiceConfig annotation
- Add support for Map Json as query parameter
- Add OAuth2 JWT bearer grant type support
- Add authorization with JWTs with multiple scopes
- Add support to overwrite the scopes config by resource annotation
- Introduce introspection resource method to get generated OpenAPI document of the service
- Introduce service config treatNilableAsOptional for query and header params
- Add support to URL with empty scheme in http:Client
- Fix incorrect behaviour of client with mtls
- Fix multiple clients created for same route not using respective config
- Fix not applying of resource auth annotations for some resources
- Fix SSL test failure due to remote address being null
- Return error when trying to access the payload after responding
- Fix incorrect compiler error positions for resource
- Fix performance issue with observability metrics for unique URLs
- Fix support for parameter token with escape characters
- Fix the limitation of not supporting different API resources with same end URL Template
- Fix dispatching failure when same path param identifiers exist in a different order
- Respond with 500 response when nil is returned in the presence of the http:Caller as a resource argument
- Fix HTTP 'Content-Type' header value overriding while setting the payload for request and response
- Http compiler-plugin should validate header value type
- Allow only the error? as return type when http:Caller is present as resource function arg
- Fix missing error of invalid inbound request parameter for forward() method
- Fix HTTP Circuit Breaker failure when status codes are not provided in the configuration
- Fix HTTP FailOver client failure when status codes are overridden by an empty array
- Fix already built incompatible payload thrown error
- Optional Types Not Supported in HTTP Client Request Operation Target Type
- Rename
http:ListenerLdapUserStoreBasicAuthProvider
ashttp:ListenerLdapUserStoreBasicAuthHandler
- Change configuration parameters of listeners and clients to included record parameters
- Update Netty transport framework version to 4.1.63-Final
- Mark the HTTP client classes as isolated
- Remove usages of
checkpanic
for type narrowing - Update Stream return type with nil
- Update unused variables with inferred type including error
- Revert "Remove codecov.yml File"