# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ## @waku/core [0.0.5](https://github.com/waku-org/js-waku/compare/@waku/core@0.0.4...@waku/core@0.0.5) (2022-11-11) ### Changed - Bumped `libp2p` to 0.39.5. ## @waku/core [0.0.4](https://github.com/waku-org/js-waku/compare/@waku/core@0.0.3...@waku/core@0.0.4) (2022-11-09) ### Changed - Bumped `libp2p` to 0.39.2. ## @waku/core [0.0.2](https://github.com/waku-org/js-waku/compare/@waku/core@0.0.1...@waku/core@0.0.2) (2022-11-04) ### Changed - extract version-1 from chore - extract utils from core - extract dns discovery and enr from core ([f7f28f0](https://github.com/waku-org/js-waku/commit/f7f28f03b01fa5bc89eaeb083b68981169b45c39)) - split outgoing and incoming message interface ([8aa9b43](https://github.com/waku-org/js-waku/commit/8aa9b43f61af356e8faa1859f4844849a7cfa9b1)), closes [#979](https://github.com/waku-org/js-waku/issues/979) ## [0.30.0] - 2022-10-28 ### Added - `RateLimitProof` field in Waku Message protobuf for RLN. ### Changed - `Message` interface changed to ensure implementations do not omit fields. - `Decoder` and `Encoder` interfaces change to better express what the function members do. ### Fixed - Incorrect cursor encoding in Store queries. - `WakuStore.queryOrderedCallback` not stopping when callback returns true. ### Removed - Support for Waku Store 2.0.0-beta3. ## [0.29.0] - 2022-09-21 ### Changed - Waku message encoding and decoding is more generic, to enable upcoming feature such as [RLN](https://rfc.vac.dev/spec/17/) & [Noise](https://rfc.vac.dev/spec/43/); it also enables separating the `version_1` module out to reduce bundle size and improve cross-platform compatibility when not used. - Due to the change above, all APIs that handle messages have changed to receive a `Decoder` or `Encoder`. ## [0.28.1] - 2022-09-20 ### Added - `WakuRelay.addObserver` now returns a function to delete the observer. - `WakuLightPush.push` and `WakuRelay.send` returns `SendResult` with the list of recipients. ### Removed - `queryCallbackOnPromise`'s return value has been simplified to `Promise`. - doc: clarified behaviour of `WakuStore` query functions. ### Deleted - `WakuMessage` class in favour of the `Message`, `Encoder`, `Decoder` interfaces and `EncoderV0`, `AsymEncoder`, `SymEncoder` (and related decoders). ## [0.28.0] - 2022-09-16 ### Changed - Correct options type for `createFullNode` & `createPrivacy` to enable passing gossipsub options. - `WakuStore` now provides several APIs: `queryGenerator`, `queryCallbackOnPromise`, `queryOrderedCallback`; each provides different guarantees and performance. ## [0.27.0] - 2022-09-13 ### Added - `createLightNode` to create a Waku node for resource restricted environment with Light Push, Filter and Relay. - `createPrivacyNode` to create a Waku node for privacy preserving usage with Relay only. - `createFullNode` to create a Waku node for with all protocols, for **testing purposes only**. ### Changed - `Waku` is now defined as an interface with `WakuNode` an implementation of it. - `createWaku` is deprecated in favour of `createLightNode` and `createPrivacyNode`. - `waitForRemotePeer` can throw, default behaviour has changed. - `addPeerToAddressBook` is now async. - API Docs moved to https://js.waku.org/ - test: fix typing for nwaku JSON RPC responses. ## [0.26.0] - 2022-09-08 ### Added - Simple connection management that selects the most recent connection for store, light push and filter requests. ### Changed - **breaking**: `DecryptionParams` may be passed when using `queryHistory` instead of just keys. - Examples have been moved to https://github.com/waku-org/js-waku-examples. ### Fixed - doc: add missing modules. ## [0.25.0] - 2022-09-05 ### Changed - Published files moved from `build` to `dist/`. - Migrate from ts-proto to protons; the latter does not bring Buffer/Long deps, is ESM compatible and remove the need for bufbuild and protoc. - Move package to `"type": "module"`, it is now a [pure ESM package](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c). - Use ESM code in Mocha and Karma tests. - Upgrade `dns-query` dependency, breaking change on `DnsNodeDiscovery` API. - Bump many libp2p libraries to their latest version (which usually are pure ESM). - Replace webpack with parcel for bundling - Examples: Updated store-js and relay-js to demonstrate usage of ESM bundle in `