Releases: spring-projects/spring-pulsar
Spring Pulsar 0.2.0
New and Noteworthy
- Spring Boot
3.0.5
- Apache Pulsar
2.11.0
- Apache Pulsar Reactive client
0.2.0
- Spring Cloud Stream Pulsar binder (AOT enabled)
- Pulsar IO / Pulsar Functions support
- Pulsar header mapper (w/ encoding and filtering)
- Default type mappings (topics + schema info)
- Pulsar Reader support
- Tombstone support
Issues
#69 Get spring-pulsar on start.spring.io
What's Changed
- [Docs] Doc additions / guidelines by @onobc in #263
- Remove unused code by @sobychacko in #265
- Initial foundation for SCSt binder by @sobychacko in #262
- Initial support for Pulsar IO and Connectors by @onobc in #267
- Add sample app for Pulsar Functions by @onobc in #270
- Add stop policy for Pulsar Functions by @onobc in #271
- Add robust IT for PulsarFunctionAdministration by @onobc in #272
- Add custom schema mappings by @onobc in #274
- Adds docs and ITs for custom schema mappings by @onobc in #275
- Spring Cloud Stream Pulsar Binder by @sobychacko in #276
- Refactor PulsarTestContainerSupport by @sobychacko in #278
- Pulsar binder basic integ test by @sobychacko in #279
- Listener endpoints use schema resolver by @onobc in #280
- Add schema resolver customizer by @onobc in #281
- Pulsar binder schema related changes by @sobychacko in #282
- Make SchemaResolverCustomizer generic by @onobc in #283
- Add schema resolution to binder by @onobc in #285
- Pulsar binder provisioner refactoring by @sobychacko in #284
- Remove setSchema API from templates by @onobc in #287
- Remove repo.spring.io/release by @onobc in #288
- Renaming ListenerContainerRegistry with Pulsar prefix by @sobychacko in #289
- Add topic resolver by @onobc in #293
- Update SCSt binder sample by @onobc in #294
- Pause/Resume further improvements by @sobychacko in #298
- Container pause/resume improvements by @sobychacko in #299
- Don't allow topic to be set via customizers by @onobc in #302
- Use switchOnFirst to determine the Schema and topic from the first message in doSendMany by @cbornet in #303
- Make SendMessageBuilder interface more navigable by @cbornet in #304
- Basic Pulsar Reader API support in Spring Pulsar by @sobychacko in #301
- Improve ConsumerFactory API by @onobc in #309
- Tests for shared subscriptions by @sobychacko in #306
- Update Spring Boot 3.0.2 by @onobc in #314
- Update Pulsar 2.10.3 by @onobc in #315
- Remove duplicate PulsarTestContainerSupport by @onobc in #316
- Misc cleanups by @onobc in #317
- Update copyright 2023 on all source files by @onobc in #318
- Trim PulsarProducerFactory API by @onobc in #319
- Trim ReactivePulsarSenderFactory API by @onobc in #320
- Trying to fix failing test in shared subscription by @sobychacko in #326
- Pulsar Reader (imperative) Boot properties support by @sobychacko in #327
- Add single customizer API in PulsarConsumerFactory by @onobc in #321
- Producer and sender factories use topic resolver by @onobc in #322
- Bump the Pulsar reactive client to 0.2.0 by @cbornet in #307
- Pulsar Reader auto config (imperative) by @sobychacko in #329
- Use Schema.JSON instead of Schema.BYTES as default schema by @cbornet in #325
- Harmonize tests between PulsarTemplate and ReactivePulsarTemplate by @cbornet in #332
- Add reader application properties doc by @cbornet in #333
- Basic binder compatibility tests by @sobychacko in #335
- Add PulsarReader section to docs by @onobc in #336
- Add consumer/producer config props to binder and binding level by @onobc in #338
- Pulsar binder partition count defaults by @sobychacko in #339
- Improve docs for Pulsar service urls by @onobc in #340
- Update Pulsar to 2.11.0 by @onobc in #337
- Container infrastructure for Pulsar Reader by @sobychacko in #342
- Move default service urls to PulsarProperties by @onobc in #349
- Remove PulsarClientConfiguration by @onobc in #350
- Attempt to fix PulsarFunctionAdministration IT by @onobc in #352
- Improve topic validation by @onobc in #351
- Implement stop() in reader container by @sobychacko in #355
- PulsarReader Infrastructure by @sobychacko in #354
- Consolidate invokeHandler invocation by @sobychacko in #356
- [CI] Add support for integration tests by @onobc in #357
- Make spring-cloud-stream version dynamic in docs by @onobc in #360
- Binder preserves headers on send/receive by @onobc in #359
- [Docs] Move topic resolution out of appendix by @onobc in #363
- Add bindings props to generated docs by @onobc in #364
- Add filter/encode ability to header mappers by @onobc in #366
- Add SCSt binder specific header mapper by @onobc in #367
- Add header mapper docs to binder docs by @onobc in #368
- Remove heading from pulsar-header.adoc by @onobc in #369
- [CI] Add aggregate jacoco report by @onobc in #370
- Allow schema mapping via config props by @onobc in #371
- Update to Spring Boot 3.0.4 by @onobc in #372
- Simplify defaults type mappings by @onobc in #377
- Add AOT support for Pulsar binder by @onobc in #379
...
Spring Pulsar 0.1.0
New and Noteworthy
- Reactive support
- GraalVM Native Image Support
Issues
#239 AdminProperties failing on duration values
#201 Add doc for Spring Reactive Pulsar
#194 Unable to configure authentication on admin client
#180 Time for another release?
#177 Spring Boot 3.0.0 RC-1
#176 Add config props unit tests
#173 Add package-info.java
#168 Consumer cleanup in tests
#161 Consumer restart causes duplicate messages
#153 Add PulsarHeader related docs
#150 Support Header annotations on PulsarListener
#148 Move AbstractContainerBaseTests to interface pattern
#147 Support observations in Spring Boot starter
#143 DnsResolverUtil errors when running apps
#133 Improvements on the usage of ContainerProperties and retrying AtomicBoolean
#121 Create Milestone release workflow
#119 Consider using Duration / DataSize where applicable
#117 Support AOT/native mode
#112 Add SpringBootTest for auth props as env vars
#111 Refactor WellKnownAuthParameters
#110 Update to latest SB/SF milestones
#102 javadocs improvements for error handling
#98 Using Pulsar with Reactor core
#95 PHASE 1: Make client authentication simpler
#94 Spring boot 2.7.x support
#89 Remove deadLetterPolicy workaround
#84 Maven Based Separate Sample Application
#67 Explore the option of routable Pulsar template
#49 Add Spring Boot starter module
#42 Replace use of deprecated ListenableFuture (and related classes)
What's Changed
- Refactor: Define constants in WellKnownAuthParameters by @alpreu in #116
- Code cleanup in message listener container by @sobychacko in #140
- Consolidate ACK/NACK calls in container by @sobychacko in #141
- [Release 0.1.0-M1] Switch back to SB/SF snapshots by @onobc in #142
- Reduce testcontainer logging by @onobc in #144
- Add Observations for send/receive by @onobc in #146
- Remove DNSResolverUtil error when running tests by @onobc in #145
- Move AbstractContainerBaseTests to interface by @onobc in #152
- Support Pulsar Headers by @sobychacko in #151
- Use logback for tests (reduce logging) by @onobc in #154
- Use SpringBoot dependencies for version constraints by @onobc in #155
- Fix breaking changes from Micrometer Tracing snapshot by @onobc in #156
- Pulsar header docs by @sobychacko in #157
- Add observations auto-configuration by @onobc in #158
- Enable observations tests by @onobc in #159
- Add Micrometer Tracing to sample apps by @onobc in #160
- Make spring-pulsar optional in autoconfigure module by @onobc in #171
- Add package-info.java setting all things @nonnull by @onobc in #174
- Split sample apps into multi-modules by @onobc in #186
- Use Duration, DataSize and boxed types in PulsarProperties by @cbornet in #191
- [Collaborated] Use type safe structures to configure the consumer by @onobc in #192
- Add spring-boot-starter as
api
dep. in starters by @onobc in #197 - PulsarAdministration now respects auth properties by @onobc in #195
- Rename ReactivePulsarSenderTemplate to ReactivePulsarTemplate by @cbornet in #200
- Editing pass by @Buzzardo in #199
- Add ReactivePulsarMessageListenerContainer by @cbornet in #198
- Remove EndpointHandlerMethod as it is unused by @cbornet in #204
- Add support for ReactivePulsarListener annotation by @cbornet in #203
- Add useKeyOrderedProcessing option to DefaultReactivePulsarMessageListenerContainer by @cbornet in #205
- Cbornet autoconfig listener by @onobc in #208
- Add maxInFlight and useKeyOrderedProcessing settings to ReactivePulsarListener by @cbornet in #207
- [run-tests] Test polishing by @onobc in #209
- Add test for producer properties by @cbornet in #216
- Add useKeyOrderedProcessing to PulsarReactiveProperties by @cbornet in #210
- Remove maxInFlight by @cbornet in #211
- Add tests for ReactivePulsarListener concurrency by @cbornet in #212
- Remove final keyword in methods by @cbornet in #213
- Add test for reactive sender properties by @cbornet in #214
- Remove initialSubscriptionName from sender properties by @cbornet in #215
- Extract Flux from base messaging adapter by @onobc in #221
- Add test for imperative consumer properties by @cbornet in #220
- Update reactive sample with @ReactivePulsarListener by @onobc in #218
- Add more settings to Producer in PulsarProperties by @cbornet in #222
- Add more settings to Consumer in PulsarProperties by @cbornet in #223
- Add more settings to Sender in PulsarReactiveProperties by @cbornet in #224
- Add more settings to Consumer in PulsarReactiveProperties by @cbornet in #226
- Add more settings to Client in PulsarProperties by @cbornet in #228
- Add test for reactive reader properties by @cbornet in #231
- Add test for client properties by @cbornet in #232
- Update with new MessageResult::acknowledge(Message) function by @cbornet in #233
- Add more settings to Admin in PulsarProperties by @cbornet in #229
- Add test for admin properties by @cbornet in #234
- Add NestedConfigurationProperty annotation on DeadLetterPolicy by @cbornet in #235
- Add more checks on listener properties auto-config by @cbornet in #236
- Add test for reactive listener properties by @cbornet in https://github....
Spring Pulsar 0.1.0-M1
Issues
#121 Create Milestone release workflow
#95 PHASE 1: Make client authentication simpler
#93 Make sure ref docs show how to use snapshots libs
#92 Update samples to use SB3/SF6
#80 Configurable chunking/batching in PulsarTemplate
#79 Express deadLetterPolicy as a bean on PulsarListener
#78 Provide a way to expose negativeAckRedeliveryBackoff on PulsarListener
#68 Add fluent API for PulsarTemplate
#65 Intermittent CI failures in PulsarMessageListenerContainerTests
#57 Tests are failing when running on M1 Mac
#50 Document config properties
#41 Provide NewTopic functionality
#28 Add support for error handling
#5 Implement topicPattern on PulsarListener
What's Changed
- Remove public from test classes/methods by @eddumelendez in #11
- Add Github workflow for CI PRs by @onobc in #12
- Code cleanup by @sobychacko in #13
- Use Gradle GH action for CI PR workflow by @onobc in #18
- Build cleanup by @sobychacko in #19
- Add initial CI workflow by @onobc in #22
- Minor cleanup and refactoring by @onobc in #24
- Refactor template/producer to not use default topic name by @onobc in #25
- Add caching producer factory by @onobc in #34
- Add test cases to PulsarTemplateTests by @onobc in #38
- [hotfix] Fix README by @alpreu in #39
- Use schema hash in producer cache key by @onobc in #43
- Attempt fix on sporadic consumer listener test by @onobc in #45
- Add required props to published docs by @onobc in #46
- [BUILD] Move all doc tasks to spring-pulsar-docs by @onobc in #47
- [BUILD] Auto-generate configuration properties docs by @onobc in #48
- Implement keyed messages by @alpreu in #44
- [BUILD] Build improvements by @onobc in #52
- Add scripts to run standalone in Docker by @onobc in #54
- Add basic docs by @onobc in #55
- Add spring boot starter module by @onobc in #56
- Bump Pulsar image version to 2.10.1 by @alpreu in #58
- Update Pulsar client to 2.10.1 by @onobc in #60
- Polish reference docs by @onobc in #61
- [DOCS] Move config props to collapsible panels by @onobc in #62
- [DOCS] Support for new Wiki by @onobc in #63
- Add .sdkmanrc with 17.0.4-tem by @eddumelendez in #71
- Followup "GH-41 Add auto-created topics" by @alpreu in #72
- Detect M1 mac in test and substitute container image (#57) by @alpreu in #75
- Add fluent API to PulsarTemplate by @onobc in #74
- Implement topic pattern on PulsarListener (#5) by @alpreu in #77
- Fix documentation sections by @alpreu in #81
- Followup complex schemas by @alpreu in #87
- Fix dead letter tests sharing the same topic by @alpreu in #91
- Introducing experimental consumer error handling by @sobychacko in #100
- Update SB plugin to 3.0.0-SNAPSHOT in sample apps by @onobc in #103
- Add custom tasks to run samples by @onobc in #105
- Add snapshot/milestone dep info to ref docs by @onobc in #106
- More Pulsar Consumer Error handling Changes by @sobychacko in #107
- Test debugging cleanup by @sobychacko in #108
- Use SB/SF milestone libs for M1 release by @onobc in #109
- AckTimeout Redlivery Backoff Changes by @sobychacko in #113
- Use pulsar-client-all jar by @onobc in #114
- Polish client auth config props javadocs by @onobc in #115
- Listener container properties for batch receive. by @sobychacko in #118
- Use enum for PulsarListener subscriptionType by @onobc in #122
- Listener docs cleanup by @sobychacko in #128
- Error Handling Docs by @sobychacko in #129
- [Release 0.1.0-M1] Update version by @onobc in #130
New Contributors
- @eddumelendez made their first contribution in #11
- @onobc made their first contribution in #12
- @sobychacko made their first contribution in #13
- @alpreu made their first contribution in #39
Full Changelog: https://github.com/spring-projects-experimental/spring-pulsar/commits/0.1.0-M1