|
2 | 2 |
|
3 | 3 | ## Unreleased |
4 | 4 |
|
| 5 | +## v0.20.0 [2024-04-26] |
| 6 | + |
| 7 | +HStream Kafka Server |
| 8 | + |
| 9 | +### New Features |
| 10 | + |
| 11 | +- Add a new network server implemented in C++ for better performance |
| 12 | + - introduce C++ network server [#1739](https://github.com/hstreamdb/hstream/pull/1739) |
| 13 | + - do not free NULL stable_ptr [#1747](https://github.com/hstreamdb/hstream/pull/1747) |
| 14 | + - make Haskell callback asynchronous [#1754](https://github.com/hstreamdb/hstream/pull/1754) |
| 15 | + - switch to using asio [#1761](https://github.com/hstreamdb/hstream/pull/1761) |
| 16 | + - improve C++ server [#1765](https://github.com/hstreamdb/hstream/pull/1765) |
| 17 | +- Add basic supports for Kafka ACL |
| 18 | + - implement basic ACL lib and handlers [#1751](https://github.com/hstreamdb/hstream/pull/1751) |
| 19 | + - use metastore interfaces for ACL [#1766](https://github.com/hstreamdb/hstream/pull/1766) |
| 20 | + - make ACL mechanism fully optional [#1768](https://github.com/hstreamdb/hstream/pull/1768) |
| 21 | + - support ACL in produce (0) handler [#1767](https://github.com/hstreamdb/hstream/pull/1767) |
| 22 | + - do authorization on create/delete topics & create partitions [#1771](https://github.com/hstreamdb/hstream/pull/1771) |
| 23 | + - do authorization on group-related handlers ([11..16]) [#1772](https://github.com/hstreamdb/hstream/pull/1772) |
| 24 | + - do authorization on list and commit offsets (2, 8) [#1774](https://github.com/hstreamdb/hstream/pull/1774) |
| 25 | + - do authorization on fetch offsets (9) [#1773](https://github.com/hstreamdb/hstream/pull/1773) |
| 26 | + - do authorization on metadata (3) [#1779](https://github.com/hstreamdb/hstream/pull/1779) |
| 27 | + - do authorization on describe configs (32) [#1777](https://github.com/hstreamdb/hstream/pull/1777) |
| 28 | + - do authorization on find coordinator (10) [#1778](https://github.com/hstreamdb/hstream/pull/1778) |
| 29 | + - do authorization on fetch (1) [#1776](https://github.com/hstreamdb/hstream/pull/1776) |
| 30 | + |
| 31 | +### Enhancements |
| 32 | + |
| 33 | +- Support CreatePartitions [#1757](https://github.com/hstreamdb/hstream/pull/1757) |
| 34 | + - use partitionId as loggroup name [#1756](https://github.com/hstreamdb/hstream/pull/1756) |
| 35 | + - add listStreamPartitionsOrderedByName [#1755](https://github.com/hstreamdb/hstream/pull/1755) |
| 36 | +- Refactor kafka protocol modules [#1787](https://github.com/hstreamdb/hstream/pull/1787) |
| 37 | +- Upgrade max produce API version to v7 [#1782](https://github.com/hstreamdb/hstream/pull/1782) |
| 38 | +- Do not re-encode batches in produce handler [#1783](https://github.com/hstreamdb/hstream/pull/1783) |
| 39 | +- Refactor fetch handler for better performance [#1749](https://github.com/hstreamdb/hstream/pull/1749) |
| 40 | + - add decodeNextRecordOffset [#1750](https://github.com/hstreamdb/hstream/pull/1750) |
| 41 | +- Ensure `fetch` returns some data even when `minBytes` is set to 0 [#1781](https://github.com/hstreamdb/hstream/pull/1781) |
| 42 | +- Validate topic name when create [#1788](https://github.com/hstreamdb/hstream/pull/1788) |
| 43 | +- Validate topic name in listTopicConfigs [#1793](https://github.com/hstreamdb/hstream/pull/1793) |
| 44 | +- Auto trim CheckpointedOffsetStorage [#1796](https://github.com/hstreamdb/hstream/pull/1796) |
| 45 | +- [meta] Support auto reconnection for zookeeper client [#1800](https://github.com/hstreamdb/hstream/pull/1800) |
| 46 | +- [perf] Increase Haskell RTS -A to 128MB [#1741](https://github.com/hstreamdb/hstream/pull/1741) |
| 47 | +- improve TOPIC_ALREADY_EXISTS error message [#1780](https://github.com/hstreamdb/hstream/pull/1780) |
| 48 | +- Remove consumer group member if sync timeout and improve group logs [#1746](https://github.com/hstreamdb/hstream/pull/1746) |
| 49 | +- Update consumer group heartbeat after committing offsets [#1753](https://github.com/hstreamdb/hstream/pull/1753) |
| 50 | +- [build] Upgrade Haskell image to GHC 9.4 [#1763](https://github.com/hstreamdb/hstream/pull/1763) |
| 51 | +- [build] Download cabal-store-gc directly in dockerfile [#1764](https://github.com/hstreamdb/hstream/pull/1764) |
| 52 | +- [build] Workaround for building hstream with system-provided jemalloc [#1769](https://github.com/hstreamdb/hstream/pull/1769), [#1790](https://github.com/hstreamdb/hstream/pull/1790) |
| 53 | +- [build] Use system's jemalloc [#1770](https://github.com/hstreamdb/hstream/pull/1770) |
| 54 | +- [build] Improve support for arm64 build in dockerfile [#1786](https://github.com/hstreamdb/hstream/pull/1786) |
| 55 | +- [ci] Add new Kafka test suits [#1792](https://github.com/hstreamdb/hstream/pull/1792) |
| 56 | + |
| 57 | +### Changes and Bug fixes |
| 58 | + |
| 59 | +- Fix the concurrent issue in withOffsetN [#1784](https://github.com/hstreamdb/hstream/pull/1784) |
| 60 | +- Fix parsing AdvertisedListeners [#1791](https://github.com/hstreamdb/hstream/pull/1791) |
| 61 | +- Fix the bug of re startReading while the fetch response is empty [#1794](https://github.com/hstreamdb/hstream/pull/1794) |
| 62 | +- Workarounds: make the size of replicaNodes equal to the replicationFactor [#1798](https://github.com/hstreamdb/hstream/pull/1798) |
| 63 | + |
| 64 | +--- |
| 65 | + |
| 66 | +HStream gRPC Server |
| 67 | + |
| 68 | +- [io] Add alterConnectorConfig [#1742](https://github.com/hstreamdb/hstream/pull/1742) |
| 69 | +- [io] Add fixed-connector-image options [#1752](https://github.com/hstreamdb/hstream/pull/1752) |
| 70 | +- [io] Improve logs [#1785](https://github.com/hstreamdb/hstream/pull/1785) |
| 71 | +- [query] Fix incorrect metadata of queries with namespace [#1744](https://github.com/hstreamdb/hstream/pull/1744) |
| 72 | +- [query] Trim log which stores changelog of query state after snapshotting [#1745](https://github.com/hstreamdb/hstream/pull/1745) |
| 73 | +- Return empty if trimShards request send empty recordIds [#1797](https://github.com/hstreamdb/hstream/pull/1797) |
| 74 | +- Catch exception for stats handler and gossip nodeChangeEvent [#1760](https://github.com/hstreamdb/hstream/pull/1760) |
| 75 | +- Log errors for all unexpected exceptions in Gossip asyncs [#1759](https://github.com/hstreamdb/hstream/pull/1759) |
| 76 | + |
5 | 77 |
|
6 | 78 | ## v0.19.0 [2024-01-12] |
7 | 79 |
|
|
0 commit comments