diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d48655..37b5533 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,63 @@ Note: OrbitDB follows [semver](https://semver.org/). We are currently in alpha: backwards-incompatible changes may occur in minor releases. +## v0.24.1 + +### JS-IPFS 0.44 Support +Until now the newest versions of js-ipfs were not supported. This was primarly because of js-ipfs api's move to async iteration starting in version 0.41. Now js-ipfs versions 0.41-0.44 are supported. + +Relevant PRs: +- https://github.com/orbitdb/orbit-db-store/pull/86 +- https://github.com/orbitdb/orbit-db/pull/782 + +### Store Operation Queue +All included stores (and any store extending orbit-db-store v3.3.0+) now queues operations. Any update sent to a store is executed sequentially and the store's close method now awaits for the queue to empty. + +Relevant PRs: +- https://github.com/orbitdb/orbit-db-store/pull/85 +- https://github.com/orbitdb/orbit-db-store/pull/91 + +### Docstore putAll Operation +A new method was added to the docstore named 'putAll'. This method allows for multiple keys to be set in the docstore in one oplog entry. This comes with some significant [performance benefits](https://gist.github.com/phillmac/155ed1eb232e75fda4a793e7672460fd). Something to note is any nodes running an older version of the docstore will ignore any changes made by putAll operations. + +Relevant PRs: +- https://github.com/orbitdb/orbit-db-docstore/pull/36 + +### Oplog Events +It is now possible to listen for specific store operations as they are added to the store. To learn more about how to use this you can review the [documentation](https://github.com/orbitdb/orbit-db-store#events) and look at event `log.op.${operation}`. + +Relevant PRs: +- https://github.com/orbitdb/orbit-db-store/pull/87 + +### orbit-db tests +Tests now use [orbit-db-test-utils](https://github.com/orbitdb/orbit-db-test-utils) package to deduplicate test utilities. It had already been used in most subpackages like [orbit-db-store](https://github.com/orbitdb/orbit-db-store) but now it's used in the [orbit-db](https://github.com/orbitdb/orbit-db) repo! + +Relevant PRs: +- https://github.com/orbitdb/orbit-db-test-utils/pull/11 +- https://github.com/orbitdb/orbit-db/pull/794 + +### orbit-db-store sync method +A method on orbit-db-store named sync is now an async method and only resolves after oplog heads have been added. + +Relevant PRs: +- https://github.com/orbitdb/orbit-db-store/pull/38 +- https://github.com/orbitdb/orbit-db-store/pull/84 + +### Electron Renderer FS Shim +Fixes a bug related to the native filesystem when used in electron. + +Relevant PRs: +- https://github.com/orbitdb/orbit-db/pull/783 +- https://github.com/orbitdb/orbit-db/pull/795 + +### Re-exports +Now import AccessControllers, Identities, and/or Keystore modules from OrbitDB with object destructuring like so: + +`const { AccessControllers, Identities, Keystore } = require('orbit-db')` + +Relevant PRs: +- https://github.com/orbitdb/orbit-db/pull/785 + ## v0.23.0 ### Performance Improvements