Releases: digidem/comapeo-core
Releases · digidem/comapeo-core
v2.3.0
v2.2.0
What's Changed
- [OPTIC-RELEASE-AUTOMATION] release/v2.1.0 by @optic-release-automation in #953
- test: server end-to-end by @EvanHahn in #886
- test: syncing blob variants by @EvanHahn in #954
- feat: handle some cloud server error codes by @EvanHahn in #955
- chore: define
BLOCKED_ROLE
as a constant by @EvanHahn in #961 - test:
DataType.prototype.getByVersionId
by @EvanHahn in #962 - fix: only the project creator can change their role by @EvanHahn in #960
- test: assert correct number of connected devices by @EvanHahn in #964
- feat:
getByDocId
can optionally throw by @EvanHahn in #959 - chore: use
NotFoundError
utility in more places by @EvanHahn in #965 - chore: remove unnecessary
prettier-ignore
directive by @EvanHahn in #966 - feat: media manager v1 by @EvanHahn in #969
- revert: remove
getByDocId
optional parameter by @EvanHahn in #968
Full Changelog: v2.1.0...v2.2.0
v2.1.0
What's Changed
- [OPTIC-RELEASE-AUTOMATION] release/v2.0.1 by @optic-release-automation in #920
- chore: don't sync semver tags for releases by @gmaclennan in #921
- test: use correct MIME type for MP3 by @EvanHahn in #923
- fix: prevent fastify v5 from being installed by @achou11 in #922
- feat: Add setIsArchiveDevice() method by @gmaclennan in #932
- chore: use more restrictive types for
timingSafeEqual
by @EvanHahn in #936 - fix: fix updating comments in lockfile-changes workflow by @gmaclennan in #933
- chore: remove paths filter for lockfile workflow by @gmaclennan in #937
- chore: improve types for
MapeoProject
'skProjectReplicate
by @EvanHahn in #900 - chore: allow any JSON object to be saved in blob store by @EvanHahn in #901
- feat: update @comapeo/schema to 1.2.0, adding alerts and server by @tomasciccola in #805
- chore: use
string-timing-safe-equal
package by @EvanHahn in #939 - feat: set own device info to "self-hosted server" by @EvanHahn in #942
- feat: save self-hosted server details on member info by @EvanHahn in #943
- test: always connect peers more realistically by @EvanHahn in #856
- test: cross-version sync with
@comapeo/core@2.0.1
by @EvanHahn in #941 - chore: Send download intent to peers by @gmaclennan in #944
- chore: remove unused
getIndexState
method fromDataStore
by @EvanHahn in #948 - feat: rebuild SQLite when project migrations occur by @EvanHahn in #949
- fix: memory leak in
DataStore
by @EvanHahn in #950 - feat: adding self-hosted servers by @EvanHahn in #952
Full Changelog: v2.0.1...v2.1.0
v2.0.1
What's Changed
- [OPTIC-RELEASE-AUTOMATION] release/v2.0.0 by @optic-release-automation in #902
- chore: add explicit return types to
BlobStore
methods by @EvanHahn in #904 - fix: support maps that may be removed or replaced in map server plugin by @achou11 in #906
- chore: add
omit
utility by @EvanHahn in #909
Full Changelog: v2.0.0...v2.0.1
v2.0.0
What's Changed
- [OPTIC-RELEASE-AUTOMATION] release/v1.0.1 by @optic-release-automation in #842
- fix: auto commit and push documentation by @tomasciccola in #815
- test: update
bitfield
dependency by @EvanHahn in #843 - chore: use
Primitive
type from type-fest by @EvanHahn in #820 - chore: remove unused type import from
mapeo-manager.js
by @EvanHahn in #849 - chore: remove unnecessary helper from namespace sync state by @EvanHahn in #850
- docs: fix doc comment for
LocalCoreState
wanted
by @EvanHahn in #847 - chore: remove unused property from translation API by @EvanHahn in #851
- chore: integrate npm-lockfile-changes action by @achou11 in #846
- chore: remove unused utils by @EvanHahn in #852
- chore: only attempt to run release workflow when merging PR by @achou11 in #854
- fix: close idle connections when stopping FastifyController by @achou11 in #857
- chore: update to TypeScript 5.6 by @EvanHahn in #860
- chore: enable
noUncheckedSideEffectImports
TypeScript option by @EvanHahn in #861 - test: be more exact when waiting for peers by @EvanHahn in #866
- test: additional assertions in "blocked from sync" test by @EvanHahn in #864
- test: speed up bitfield test slightly by @EvanHahn in #869
- perf: speed up member list function by @EvanHahn in #867
- chore: move unit tests from
tests/
totest/
by @EvanHahn in #868 - test: fix race condition if multiple invites are sent by @EvanHahn in #863
- test: improve type safety of project CRUD tests by @EvanHahn in #873
- chore: update
@types/node
to latest 18.x version by @EvanHahn in #880 - chore: update
@hyperswarm/secret-stream
to 6.6.3 by @EvanHahn in #874 - chore: use consistent
NoiseStream
imports by @EvanHahn in #862 - chore: change lockfile bot to update comments by @gmaclennan in #883
- chore: update
@fastify/type-provider-typebox
to 4.1.0 by @EvanHahn in #875 - chore: fix release workflow to run when using workflow dispatch by @achou11 in #870
- test: clean up return type for
connectPeers
by @EvanHahn in #888 - chore: debug logging improvements by @gmaclennan in #889
- chore: add pre-have logging to CoreSyncState by @gmaclennan in #890
- fix: sync state with disconnected peers (take 2) by @gmaclennan in #891
- build: move doc building into same step as release by @EvanHahn in #855
- test: invite helper should automatically wait for peers by @EvanHahn in #865
- feat!: simplify fastify maps plugin and add support for styled map packages by @achou11 in #896
- feat: add endpoint for maps plugin to get info about custom map by @achou11 in #898
- chore: remove unnecessary map fixtures by @achou11 in #899
Full Changelog: v1.0.1...v2.0.0
v1.0.1
What's Changed
- [OPTIC-RELEASE-AUTOMATION] release/v1.0.0 by @optic-release-automation in #836
- fix: fix check in mutatingAddPeerState by @achou11 in #838
- fix: pin
corestore
dep to exact 6.8.4 by @gmaclennan in #840
Full Changelog: v1.0.0...v1.0.1
v1.0.0
What's Changed
- feat: mdns & dht discovery by @sethvincent in #11
- chore: create module directory for discovery by @achou11 in #29
- chore: add additional jsdoc annotations for discovery module by @achou11 in #30
- feat: data hypercores, schemas, validation, indexing by @sethvincent in #16
- chore: add types for @hyperswarm/secret-stream by @achou11 in #34
- chore: add types for random-access-memory by @achou11 in #35
- chore: add more tests for discovery by @achou11 in #39
- chore: add types for hyperswarm testnet by @achou11 in #36
- chore: fix types for some modules by @achou11 in #40
- chore: add types for hyperswarm by @achou11 in #41
- chore: add type annotation for relay address by @achou11 in #42
- chore: clean up types implementation for dht-rpc by @achou11 in #43
- chore: remove randombytes ts module declaration by @achou11 in #47
- chore: add types for random-access-file by @achou11 in #46
- chore: add types for b4a by @achou11 in #44
- chore: use tiny-typed-emitter for module types that extend EventEmitter by @achou11 in #45
- docs: initial set up for api, reference, usage, development, and community docs by @sethvincent in #37
- authstore by @sethvincent in #38
- feat: core-manager by @sethvincent in #72
- feat: invites by @gmaclennan in #70
- feat: blobstore by @gmaclennan in #62
- fix: persist cores by @gmaclennan in #85
- feat: add projectConfig & encryptionKeys to invite by @gmaclennan in #88
- feat: support block encryption by @gmaclennan in #87
- add initial benchmarks by @sethvincent in #108
- Replication state by @sethvincent in #60
- update deps, small test cleanup by @sethvincent in #110
- Deterministically de-dupe mdns connections by @tomasciccola in #112
- fix: Add file descriptor pool to storage by @gmaclennan in #123
- chore: use @digidem/types by @achou11 in #125
- fix: hyperdrive update & fix BlobStore tests by @gmaclennan in #126
- feat: serve blobs over http by @gmaclennan in #117
- chore: upgrade Hyperdrive to 11.5.3, fix blob-store tests, fix hyperdrive blob namespace by @sethvincent in #151
- feat: MapeoProject class with updated DataStore, DataType & IndexWriter by @gmaclennan in #149
- chore: remove todo comments by @sethvincent in #159
- chore: code cleanup and re-org by @gmaclennan in #154
- fix: Fix types and typescript config for publishing by @gmaclennan in #162
- chore: add npm script to generate mapeo client sqlite tables by @achou11 in #170
- feat: add schema definition for project keys table by @achou11 in #169
- fix: properly generate column names in projectKeys table by @achou11 in #173
- feat: Add config store and preset & field types by @gmaclennan in #174
- chore: replace Datastore IndexWriter opt with batch opt by @achou11 in #180
- chore: consolidate encryption key columns in projectKeys table by @achou11 in #181
- chore: fix linting and type checking by @gmaclennan in #183
- chore: explicitly set "mode" opt for encryptionKeys column creation by @achou11 in #186
- feat: Add internal
dataType.createWithDocId()
by @gmaclennan in #192 - chore: move protobuf messages into src/generated [1/3] by @gmaclennan in #201
- feat: update protobuf for RPC [2/3] by @gmaclennan in #202
- feat: Add encode/decode for project keys [3/3] by @gmaclennan in #203
- add project settings functionality to MapeoProject by @achou11 in #187
- implement wrapper client containing createProject and getProject methods by @achou11 in #199
- feat: expose blobStore.writerDriveId by @gmaclennan in #219
- implement listProjects method for MapeoManager class by @achou11 in #208
- implement addProject method for MapeoManager class by @achou11 in #215
- fix: adjust storage options for MapeoManager and MapeoProject by @achou11 in #235
- feat: handle
coreOwnership
records inIndexWriter
[1/3] by @gmaclennan in #214 - feat: CoreOwnership class w getOwner & getCoreKey [2/3] by @gmaclennan in #229
- feat: coreOwnership integration [3/3] by @gmaclennan in #230
- feat: add capabilities by @gmaclennan in #231
- chore: update manager e2e tests by @achou11 in #237
- feat: $blobs.getUrl and $blobs.create methods by @sethvincent in #184
- initial implementation of invite method for MemberApi by @achou11 in #232
- return content hash from blobApi.create by @sethvincent in #242
- update MapeoManager to return and handle project public IDs by @achou11 in #247
- blobStore.createReadStream should not wait by @sethvincent in #243
- expose member namespace in MapeoProject by @achou11 in #253
- feat: Add set & get deviceInfo & datatype by @gmaclennan in #250
- fix: invite.encryptionKeys should be required by @gmaclennan in #260
- feat: send core "haves" bitfield on first connect by @gmaclennan in #254
- feat: share all core keys via extension messages by @gmaclennan in #264
- chore: Update @digidem/types and remove patch by @gmaclennan in #269
- feat: add getById method to member api by @achou11 in #262
- feat: add getMany method to member api by @achou11 in #263
- chore: replace queries opt in MemberAPI with dataType by @achou11 in #266
- chore: condense setup code in MemberAPI tests by @achou11 in #267
- feat: Implement MdnsDiscovery by @tomasciccola in #177
- feat: add ipc wrappers by @achou11 in #261
- feat: addCreatedBy by @tomasciccola in #274
- initial invite api by @sethvincent in #217
- chore: remove usage of opaque ids types related to project ids by @achou11 in #280
- fix: fix usage of drizzle when core is used as a dep by @achou11 in #283
- feat: disable namespace replication by @gmaclennan in #285
- feat: add invite namespace to MapeoManager by @achou11 in #281
- feat: update main exports by @achou11 in #284
- feat: Add RPC sendDeviceInfo() + device-info event by @gmaclennan in #270
- feat: expose capabilities in MapeoProject and its member api by @achou11 in #286
- feat: CoreReplicationState by @gmaclennan in #288
- chore: update @mapeo/schema to 3.0.0-next.10 by @achou11 in #290
- chore: rename to CoreSyncState and update API by @gmaclennan in #308
- chore: emit peer-have messages, don't persist them by @gmaclennan in https://github.com/digidem/comap...
v9.0.0-alpha.25
What's Changed
- feat: mdns & dht discovery by @sethvincent in #11
- chore: create module directory for discovery by @achou11 in #29
- chore: add additional jsdoc annotations for discovery module by @achou11 in #30
- feat: data hypercores, schemas, validation, indexing by @sethvincent in #16
- chore: add types for @hyperswarm/secret-stream by @achou11 in #34
- chore: add types for random-access-memory by @achou11 in #35
- chore: add more tests for discovery by @achou11 in #39
- chore: add types for hyperswarm testnet by @achou11 in #36
- chore: fix types for some modules by @achou11 in #40
- chore: add types for hyperswarm by @achou11 in #41
- chore: add type annotation for relay address by @achou11 in #42
- chore: clean up types implementation for dht-rpc by @achou11 in #43
- chore: remove randombytes ts module declaration by @achou11 in #47
- chore: add types for random-access-file by @achou11 in #46
- chore: add types for b4a by @achou11 in #44
- chore: use tiny-typed-emitter for module types that extend EventEmitter by @achou11 in #45
- docs: initial set up for api, reference, usage, development, and community docs by @sethvincent in #37
- authstore by @sethvincent in #38
- feat: core-manager by @sethvincent in #72
- feat: invites by @gmaclennan in #70
- feat: blobstore by @gmaclennan in #62
- fix: persist cores by @gmaclennan in #85
- feat: add projectConfig & encryptionKeys to invite by @gmaclennan in #88
- feat: support block encryption by @gmaclennan in #87
- add initial benchmarks by @sethvincent in #108
- Replication state by @sethvincent in #60
- update deps, small test cleanup by @sethvincent in #110
- Deterministically de-dupe mdns connections by @tomasciccola in #112
- fix: Add file descriptor pool to storage by @gmaclennan in #123
- chore: use @digidem/types by @achou11 in #125
- fix: hyperdrive update & fix BlobStore tests by @gmaclennan in #126
- feat: serve blobs over http by @gmaclennan in #117
- chore: upgrade Hyperdrive to 11.5.3, fix blob-store tests, fix hyperdrive blob namespace by @sethvincent in #151
- feat: MapeoProject class with updated DataStore, DataType & IndexWriter by @gmaclennan in #149
- chore: remove todo comments by @sethvincent in #159
- chore: code cleanup and re-org by @gmaclennan in #154
- fix: Fix types and typescript config for publishing by @gmaclennan in #162
- chore: add npm script to generate mapeo client sqlite tables by @achou11 in #170
- feat: add schema definition for project keys table by @achou11 in #169
- fix: properly generate column names in projectKeys table by @achou11 in #173
- feat: Add config store and preset & field types by @gmaclennan in #174
- chore: replace Datastore IndexWriter opt with batch opt by @achou11 in #180
- chore: consolidate encryption key columns in projectKeys table by @achou11 in #181
- chore: fix linting and type checking by @gmaclennan in #183
- chore: explicitly set "mode" opt for encryptionKeys column creation by @achou11 in #186
- feat: Add internal
dataType.createWithDocId()
by @gmaclennan in #192 - chore: move protobuf messages into src/generated [1/3] by @gmaclennan in #201
- feat: update protobuf for RPC [2/3] by @gmaclennan in #202
- feat: Add encode/decode for project keys [3/3] by @gmaclennan in #203
- add project settings functionality to MapeoProject by @achou11 in #187
- implement wrapper client containing createProject and getProject methods by @achou11 in #199
- feat: expose blobStore.writerDriveId by @gmaclennan in #219
- implement listProjects method for MapeoManager class by @achou11 in #208
- implement addProject method for MapeoManager class by @achou11 in #215
- fix: adjust storage options for MapeoManager and MapeoProject by @achou11 in #235
- feat: handle
coreOwnership
records inIndexWriter
[1/3] by @gmaclennan in #214 - feat: CoreOwnership class w getOwner & getCoreKey [2/3] by @gmaclennan in #229
- feat: coreOwnership integration [3/3] by @gmaclennan in #230
- feat: add capabilities by @gmaclennan in #231
- chore: update manager e2e tests by @achou11 in #237
- feat: $blobs.getUrl and $blobs.create methods by @sethvincent in #184
- initial implementation of invite method for MemberApi by @achou11 in #232
- return content hash from blobApi.create by @sethvincent in #242
- update MapeoManager to return and handle project public IDs by @achou11 in #247
- blobStore.createReadStream should not wait by @sethvincent in #243
- expose member namespace in MapeoProject by @achou11 in #253
- feat: Add set & get deviceInfo & datatype by @gmaclennan in #250
- fix: invite.encryptionKeys should be required by @gmaclennan in #260
- feat: send core "haves" bitfield on first connect by @gmaclennan in #254
- feat: share all core keys via extension messages by @gmaclennan in #264
- chore: Update @digidem/types and remove patch by @gmaclennan in #269
- feat: add getById method to member api by @achou11 in #262
- feat: add getMany method to member api by @achou11 in #263
- chore: replace queries opt in MemberAPI with dataType by @achou11 in #266
- chore: condense setup code in MemberAPI tests by @achou11 in #267
- feat: Implement MdnsDiscovery by @tomasciccola in #177
- feat: add ipc wrappers by @achou11 in #261
- feat: addCreatedBy by @tomasciccola in #274
- initial invite api by @sethvincent in #217
- chore: remove usage of opaque ids types related to project ids by @achou11 in #280
- fix: fix usage of drizzle when core is used as a dep by @achou11 in #283
- feat: disable namespace replication by @gmaclennan in #285
- feat: add invite namespace to MapeoManager by @achou11 in #281
- feat: update main exports by @achou11 in #284
- feat: Add RPC sendDeviceInfo() + device-info event by @gmaclennan in #270
- feat: expose capabilities in MapeoProject and its member api by @achou11 in #286
- feat: CoreReplicationState by @gmaclennan in #288
- chore: update @mapeo/schema to 3.0.0-next.10 by @achou11 in #290
- chore: rename to CoreSyncState and update API by @gmaclennan in #308
- chore: emit peer-have messages, don't persist them by @gmaclennan in https://github.com/digidem/comap...
v9.0.0-alpha.24
What's Changed
- feat: mdns & dht discovery by @sethvincent in #11
- chore: create module directory for discovery by @achou11 in #29
- chore: add additional jsdoc annotations for discovery module by @achou11 in #30
- feat: data hypercores, schemas, validation, indexing by @sethvincent in #16
- chore: add types for @hyperswarm/secret-stream by @achou11 in #34
- chore: add types for random-access-memory by @achou11 in #35
- chore: add more tests for discovery by @achou11 in #39
- chore: add types for hyperswarm testnet by @achou11 in #36
- chore: fix types for some modules by @achou11 in #40
- chore: add types for hyperswarm by @achou11 in #41
- chore: add type annotation for relay address by @achou11 in #42
- chore: clean up types implementation for dht-rpc by @achou11 in #43
- chore: remove randombytes ts module declaration by @achou11 in #47
- chore: add types for random-access-file by @achou11 in #46
- chore: add types for b4a by @achou11 in #44
- chore: use tiny-typed-emitter for module types that extend EventEmitter by @achou11 in #45
- docs: initial set up for api, reference, usage, development, and community docs by @sethvincent in #37
- authstore by @sethvincent in #38
- feat: core-manager by @sethvincent in #72
- feat: invites by @gmaclennan in #70
- feat: blobstore by @gmaclennan in #62
- fix: persist cores by @gmaclennan in #85
- feat: add projectConfig & encryptionKeys to invite by @gmaclennan in #88
- feat: support block encryption by @gmaclennan in #87
- add initial benchmarks by @sethvincent in #108
- Replication state by @sethvincent in #60
- update deps, small test cleanup by @sethvincent in #110
- Deterministically de-dupe mdns connections by @tomasciccola in #112
- fix: Add file descriptor pool to storage by @gmaclennan in #123
- chore: use @digidem/types by @achou11 in #125
- fix: hyperdrive update & fix BlobStore tests by @gmaclennan in #126
- feat: serve blobs over http by @gmaclennan in #117
- chore: upgrade Hyperdrive to 11.5.3, fix blob-store tests, fix hyperdrive blob namespace by @sethvincent in #151
- feat: MapeoProject class with updated DataStore, DataType & IndexWriter by @gmaclennan in #149
- chore: remove todo comments by @sethvincent in #159
- chore: code cleanup and re-org by @gmaclennan in #154
- fix: Fix types and typescript config for publishing by @gmaclennan in #162
- chore: add npm script to generate mapeo client sqlite tables by @achou11 in #170
- feat: add schema definition for project keys table by @achou11 in #169
- fix: properly generate column names in projectKeys table by @achou11 in #173
- feat: Add config store and preset & field types by @gmaclennan in #174
- chore: replace Datastore IndexWriter opt with batch opt by @achou11 in #180
- chore: consolidate encryption key columns in projectKeys table by @achou11 in #181
- chore: fix linting and type checking by @gmaclennan in #183
- chore: explicitly set "mode" opt for encryptionKeys column creation by @achou11 in #186
- feat: Add internal
dataType.createWithDocId()
by @gmaclennan in #192 - chore: move protobuf messages into src/generated [1/3] by @gmaclennan in #201
- feat: update protobuf for RPC [2/3] by @gmaclennan in #202
- feat: Add encode/decode for project keys [3/3] by @gmaclennan in #203
- add project settings functionality to MapeoProject by @achou11 in #187
- implement wrapper client containing createProject and getProject methods by @achou11 in #199
- feat: expose blobStore.writerDriveId by @gmaclennan in #219
- implement listProjects method for MapeoManager class by @achou11 in #208
- implement addProject method for MapeoManager class by @achou11 in #215
- fix: adjust storage options for MapeoManager and MapeoProject by @achou11 in #235
- feat: handle
coreOwnership
records inIndexWriter
[1/3] by @gmaclennan in #214 - feat: CoreOwnership class w getOwner & getCoreKey [2/3] by @gmaclennan in #229
- feat: coreOwnership integration [3/3] by @gmaclennan in #230
- feat: add capabilities by @gmaclennan in #231
- chore: update manager e2e tests by @achou11 in #237
- feat: $blobs.getUrl and $blobs.create methods by @sethvincent in #184
- initial implementation of invite method for MemberApi by @achou11 in #232
- return content hash from blobApi.create by @sethvincent in #242
- update MapeoManager to return and handle project public IDs by @achou11 in #247
- blobStore.createReadStream should not wait by @sethvincent in #243
- expose member namespace in MapeoProject by @achou11 in #253
- feat: Add set & get deviceInfo & datatype by @gmaclennan in #250
- fix: invite.encryptionKeys should be required by @gmaclennan in #260
- feat: send core "haves" bitfield on first connect by @gmaclennan in #254
- feat: share all core keys via extension messages by @gmaclennan in #264
- chore: Update @digidem/types and remove patch by @gmaclennan in #269
- feat: add getById method to member api by @achou11 in #262
- feat: add getMany method to member api by @achou11 in #263
- chore: replace queries opt in MemberAPI with dataType by @achou11 in #266
- chore: condense setup code in MemberAPI tests by @achou11 in #267
- feat: Implement MdnsDiscovery by @tomasciccola in #177
- feat: add ipc wrappers by @achou11 in #261
- feat: addCreatedBy by @tomasciccola in #274
- initial invite api by @sethvincent in #217
- chore: remove usage of opaque ids types related to project ids by @achou11 in #280
- fix: fix usage of drizzle when core is used as a dep by @achou11 in #283
- feat: disable namespace replication by @gmaclennan in #285
- feat: add invite namespace to MapeoManager by @achou11 in #281
- feat: update main exports by @achou11 in #284
- feat: Add RPC sendDeviceInfo() + device-info event by @gmaclennan in #270
- feat: expose capabilities in MapeoProject and its member api by @achou11 in #286
- feat: CoreReplicationState by @gmaclennan in #288
- chore: update @mapeo/schema to 3.0.0-next.10 by @achou11 in #290
- chore: rename to CoreSyncState and update API by @gmaclennan in #308
- chore: emit peer-have messages, don't persist them by @gmaclennan in https://github.com/digidem/comap...