- Fixes implementation of onStart for buffered observers #391. @fghibellini
- Provides an avro module for binary publishing #390. @adyach
- Refactoring content type handling to enable alternate formats #381.
- Supply content type from headers to enable alternate formats #379. @adyach, @samizzy
- Fixes to Problem type Javadoc and adds a marshal_entity problem #377.
- Non-json payloads on error responses are handled #364. @f-sander
- Adds support for event publishing GZIP compression #369
This promotes 0.15.0 to use a new build and publishing setup.
- Supports publishing to sonatype and removes publishing to bintray #363
- Upgrades build to gradle 7.3 along with upgraded build plugins
- Removes legacy cert test #359
- Excludes unnecessary SLF4J metadata #359
- Add micrometer metrics collector #353. @buzzlighty
- Fix instructions for bintray jcenter. @jjst
- Adds
commit_timeout
parameter to stream configuration. @sauliusm - Adds 'audience' field to EventType model. @iav0207
- Fixes documentation example. @adyach
- Adds circleci 2 configuration.
- Adds support for sending authorizations with subscriptions. @lmontrieux
- Adds support for propagating tracing spans. #336
- Strips trailing '/' from arg supplied to UriBuilder.builder. #330
- Adds support for creating log compacted event types. #329
This promotes 0.9.17.b1 and 0.9.17.b2.
- Allows a consumer to see the checkpoint response result from the server.
- Allows the request write timeout to be set. #307
- Fixes stop conjunction logic in StreamProcessor #304, @PetrGlad
This is a beta release.
- Allows a consumer to see the checkpoint response result from the server.
This is a beta release.
- Allows the request write timeout to be set. #307
- Fixes stop conjunction logic in StreamProcessor #304, @PetrGlad
- Makes SubscriptionEventTypeStatsCollection constructor visible for testing.
- promotes 0.9.15.b2 to 0.9.15
This is a beta release.
- Adds a guard clause to avoid calling onStart when processor is stopping.
- Removes logging noise.
This is a beta release.
- Removes custom buffering from stream processor. #294
- Tidies stream processor logging and reduces allocations.
- Stops the processor after a successful response with a stream timeout.#291
- Calls StreamObserver.onStop only on termination. #289
- Lowers default batch buffer and allows setting by configuration. #256
- Stops stream processor after retries are exceeded. #284
- Avoids StreamProcessor.stop waiting on start completion.
- Tidies up OkHttpResource args and connection closing.
- Removes leap second check on event times.
- Reduce allocations when marshalling events from a stream. #256
- Adds a close method to the Response interface. #237
- Routes undeliverable exceptions to a handler. #225
- Removes duplicate Observer onStart call and adds an onBegin call.
- Reduces default buffer size on stream processor when consumers can't keep up from 16K to 8K.
- Excludes test jar from nakadi-java-zign. #223
- Makes publishing status and steps visible in BatchItemResponse. #264
- Deprecates scopes. #228
- Adds authorizations to event types. #227
- Adds IllegalStateException to non-retryable consumer errors.
- Allows detecting if a StreamProcessor is running.
- Allows tracking/identification of errors thrown from StreamProcessor that caused it to stop.
- Cleans up observer error/exception handling for errors and non-retryable exceptions.
- Fixes log message for cursor updates. #244
- Errors thrown inside processor schedulers are propagated. 243
- Sends flat JSON when posting events. #236
- Improved processor shutdown #225, #222
- Documents disabling compression on consumer streams.
- Allows headers to be sent with posted events. #238
- Allows setting event type statistics on event creation.
- Fixes setting maxRetry attempts for stream configuration. #231
- Mark 404 response codes as non-retryable. #226
Contains breaking changes relative to 0.8.x.
- Breaking change. Removes deprecated means to suppress invalid exceptions.
- Breaking change. Prevents stream processor start being called after stop.
- Allow X-Flow-ID header to be specified by application. #193
- Fixes stream processor shut down. #186
- Observer onError is only called when the consumer pipeline is going to stop processing.
- Updates Observer documentation to reflect consumer retry policy.
- Breaking change. Defaults stream processor to retry exceptions except for Errors and NonRetryableNakadiException.
- Checks if the next pagination url is relative. #204
- Fixes JSON field name for event type statistics. #203
- Allows JSON support to be supplied via the
JsonSupport
interface. #182 - Adds an extension jar, "nakadi-java-gson", for
JsonSupport
via Gson. #182
- More workarounds for zalando/nakadi#645. #188
- Adds support for cursor reset API.
- Reduces visibility of Resource interface.
- Internal refactorings and cleanups.
- Removes event type API lookup used for logging subscription consumer details.
- Close stream response bodies at the stream iterator layer to avoid lingering connections.
- Tidies up stream consumer logging with easier to grep strings.
- Avoids nulls when logging checkpoint suppressions.
- Handles and cleans up after observer exceptions.
- Handles missing response entities from server.
- Works around auth structure problems in zalando/nakadi#645.
- Allows network errors on checkpoint requests to be suppressed.
- Promotes 0.7.13 to 0.8.0
- Coerces raw string event posting to UTF-8. 124
- Allows a specific cert to be loaded from the classpath. 126
- Fixes integers in BusinessEventMapped being serialised to floats. 119
- Adds support for requesting
consumed_offset
per partition. 155 - Adds support for requesting cursor lag. 153
- Adds support for requesting cursor shifts. #152
- Adds support for cursor distance checks. #151
- Allows batch offset data to be routed to one or more subscribers.
- Allows the checkpointer to be provided in configuration.
- Allows 422 exceptions from offset commits to be suppressed #117.
- Adds a marker interface,
@Unstable
for candidate API classes and methods. - Extracts the subscription checkpoint API call to a utility checkpointer class.
- Fixes retry handling preventing per stream event batches being emitted to observers.
- Exposes number of retries to date in RetryPolicy.
- Fixes retry delay timer to honor backoff times.
- Supports initial_cursors for creating Subscriptions. #139
- Upgrades stream processors and resources to RxJava2.
- Upgrades OkHttp to 3.7.0
- Ignores batch limit values set to 0 or less. #125
- Fixes generic event types: Event becomes Event #130, @aakavalevich
- Tests behaviour for Accept-Encoding: gzip from consumers. #127
- Handle batch item responses for event posting. #116
- Add support for posting raw JSON strings.
- Add experimental support for schema versioning to track the Nakadi API.
- Capture metrics and add more logging for checkpoint requests.
- Use a new http logger that elides auth and log to SLF4J
- Give StreamProcessor scheduler threads specific names.
- Block the caller on StreamProcessor.startBlocking, mark method as deprecated
Rollup of 0.6.x releases
- Add uncaught exception loggers to thread factories.
- Add type literal helper support.
- Fix request/3 to use non-throwing http call.
- Handle retries with non-throwing requests.
- Change streaming accept header to application/json #98
- Add back pressure buffering to stream processor for volume stream requests. #100
- Allow blocking access to stream processors
- Add back pressure buffering to stream processor for volume stream requests. #100
- Change streaming accept header to application/json #98
- Allow blocking access to streams
- Reject stream retry delays that are less than 1s #83
- Extend RetryPolicy to support a max time backoff #81
- Add some optional (non-throwing on 404) finders to event types and subscriptions #71
- Fix zign process call
- TokenProviderZign adds known scopes by default #78
- Update readme to point at nakadi-java-examples, help wanted, and recent features
- Don't use exhausted (finished) retries, add a meter to track when this happens
- Fix bug in throwing request with serialised response on the non-retry path
- Clean up OkHttpResource http call chains, and always run requests inside an observable
- Test http resource methods
- Test how business and undefined events are posted over HTTP
- Test retryable exceptions
- Test status code to exception mappings
- Update serialization type for undefined events
- Add Javadoc to the subscription resources
- Handle the case when the server returns no problem
- Fix bug serializing raw responses.
- Make ExponentialRetry public.
- Add backoff policy support to methods on Resource/OkHttpResource.
- Add backoffs retryable errors on auto-paginators. #27
- Add backoff support to retryable errors on metrics, registry, health, event type, event and subscription calls.
- Allow callers to set retry policies.
- Allow custom scopes to be set for event streaming.
- Allow custom scopes to be set for event sending.
- Allow scopes and custom scopes to be set for event type resources.
- Allow custom scopes to be set for subscriptions.
- Simplify event sending method interface.
- Remove dependencies from TokenProviderZign
- Change the TokenProvider interface to accept a scope; breaking interface change with 0.0.6
- Add an extension jar, "nakadi-java-zign", for Zign tokens #20
- Make ExecutorServiceSupport public (allows the Zign extension to run in the background)
- Use the event write scope when sending an event
- Use the event read scope when opening an event stream
- Allow self-signed or other non-trusted certificates to be configured #40
- Fix non-null check on cursors
- Handle retryable errors on subscription consumer checkpointer #28
- Run healthcheck with a backoff.
- Extract a common data field interface for all Event categories.
- Fix event type setter checks
- Add Javadoc to API. #19
- Shutdown all stream processing executors.
- Remove unused class SubscriptionList.
- Publishing to jcenter instead of dl.bintray
- Make UndefinedEventMapped and BusinessEventMapped generic #18
- Handle half-open connections or the server not sending keepalives within batch limit time. #21
- Remove the option to configure the JSON provider.
- Handle leap second strings by pushing them back 1 second.
- Improve stream processor and observer logging.
- Rework thread model to use two single threaded io and processing executors.
- Grant copyright to Zalando SE.
- Add an overview to the readme.
- Deprecate setting JSON support (will be rm'd for 1.0.0).
- Provide convenience methods for event posting.
- Use varargs for setting parent eids.
Initial release. Complete implementation of the API with support for:
- Event Types. Create, edit, delete, list. Read partition information.
- Events. Send one or multiple events.
- Subscriptions. Create, edit, delete, find, list. View cursors.
- Streams. Subscription and Event Type streams. Streams can automatically retry on failure. Subscription streams automatically checkpoint. Customer stream consumers can be configured with backpressure.
- Registry. View enrichments and validations. Note: reading validations is documented but not supported by the Nakadi server.
- Metrics. Read server metrics.
- Health. Exception and HTTP based healthcheck calls.