client-side-databases icon indicating copy to clipboard operation
client-side-databases copied to clipboard

Update pouchdb monorepo to v9 (major)

Open renovate[bot] opened this issue 1 year ago • 0 comments

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
pouchdb-adapter-http (source) 7.3.1 -> 9.0.0 age adoption passing confidence
pouchdb-adapter-idb (source) 7.3.1 -> 9.0.0 age adoption passing confidence
pouchdb-adapter-memory (source) 7.3.1 -> 9.0.0 age adoption passing confidence
pouchdb-find (source) 7.3.1 -> 9.0.0 age adoption passing confidence

Release Notes

pouchdb/pouchdb (pouchdb-adapter-http)

v9.0.0

Compare Source

The PouchDB developers are delighted to announce the immediate availability of PouchDB 9.0.0. This is a major release with 202 PRs merged since the last version.

For a full changelog from 8.0.1 to 9.0.0, please see the releases page or view the latest commits.

The PouchDB developers would like to thank all contributors for their hard and diligent work.

Highlights
  • Massively improved the stability and performance of the indexeddb adapter. Special thanks to @​alxndrsn, Medic, and the Google Advanced Web Apps Fund.
  • Introduce a default limit (of 25) to the .find() method. This constitutes a backwards incompatible change and is the reason for the major version bump.
  • Streamline the automated test suites and move in-browser testing to Playwright resulting in much more reliable test runs.
  • Continue to update the codebase to ES6.
Changelog
Features
Bugfixes
Documentation
Automated Tests & Build System
Get in touch

As always, we welcome feedback from the community. Please don't hesitate to file issues, open discussions or get in touch. And of course, a big thanks to all of our new and existing contributors!

v8.0.1

Compare Source

The first release of the year! This is a patch release, it fixes a bug we introduced during a refactor made in the last release and sets Node 14 in our CI. For a full changelog from 8.0.0 to 8.0.1, please see the releases page or view the latest commits.

Fix this of changesHandler

#​8583 #​8581 We introduced a bug in the #​8450 refactor that has been fixed now.

Use Node 14

#​8570 We were testing our CI in GHA against Node 12, which is EOL. Now we are testing against Node 14.

Changelog
Bugfixes
Documentation
  • 4dcaac82 docs: release post for 8.0.0
  • 0bdb3423 feat: add mastodon verification link
  • 40ac7a26 feat(site): faster website uploads, rsync skips files that are already on the server
  • ae69d4fb fix(blog): title case
  • 3728f020 Update 2022-12-14-pouchdb-8.0.0.md
  • c90a0208 Update 2022-12-14-pouchdb-8.0.0.md
  • e9bf059c docs: update to version 8.0.0
  • 7484e245 docs: update 2022-12-14-pouchdb-8.0.0.md
Testing
Get in touch

As always, we welcome feedback from the community. Please don't hesitate to file issues, open discussions or get in touch. And of course, a big thanks to all of our new and existing contributors!

v8.0.0

Compare Source

We are thrilled to announce the release of PouchDB's new major version 8.0.0. For a full changelog from 7.3.1 to 8.0.0, please see the releases page or view the latest commits. Here are the highlights:

Embracing modern ES6+ JS syntax

We have started the process of moving to ES6+ syntax. We made refactors to use native JS classes instead of prototypes, deprecated some packages that implemented features that are now built in the language (inherits, argsarray), and started in packages such as pouchdb-abstract-mapreduce and pouchdb-adapter-http. We encourage you to embrace the syntax in your new contributions and, if you can, contribute to the refactoring effort.

This might mean a potentially breaking change, therefore we bump the major version. If you need to support ES5 we recommend you use a transpiler.

Add activeTasks

#​8422 #​8441 Analogous to the _active_tasks feature in CouchDB, PouchDB now has activeTasks. With this functionality, PouchDB is able to list all active database tasks, like database_compaction, view_indexing, or replication. PouchDB will report the progress of these tasks to the active tasks API and remove tasks as soon as they are completed or have failed.

Example usage:

let tasks = PouchDB.activeTasks.list()

Example result:

[{
  "id": "d81fea92-8ce4-42df-bb2b-89a4e67536c3",
  "name": "database_compaction",
  "created_at": "2022-02-08T15:38:45.318Z",
  "total_items": 12,
  "completed_items": 1,
  "updated_at": "2022-02-08T15:38:45.821Z"
}]
Add purge to the indexeddb adapter

#​8453 Similar to CouchDB's purge, PouchDB has now purge for its indexeddb adapter.

Purge permanently removes data from the database. Normal deletion with db.remove() does not, it only marks the document as _deleted=true and creates a new revision. This behaviour ensures that deletes can be replicated across databases, and deleted documents don’t get undeleted by syncing with a database that still has this document.

db.purge() is not intended as a regular method for deleting documents, instead, it is meant as an admin function for cases where some secret was erroneously added to the database and must now be removed completely, eg. a credit card or social security number. Purge effectively puts the database in a state where the offending write never happened.

Example usage:

try {
  const result = await db.purge('mydoc', '6-3a24009a9525bde9e4bfa8a99046b00d');
  // handle result
} catch (error) {
  // handle error
}

Example result:

{
  "ok": true,
  "deletedRevs": [
    "6-3a24009a9525bde9e4bfa8a99046b00d",
    "5-df4a81cd21c75c71974d96e88a68fc2f"
  ],
  "documentWasRemovedCompletely": false
}
Changelog
New features
  • 0680c0ac feat(core): simple active tasks implementation
  • c3fc43cc feat: use activeTasks error handling
  • 9a83c11f feat(core): activeTasks remove reason argument
  • 40dc6b37 feat(replicate): track live replications in activeTasks
  • f5b6d35e feat(core): view indexing use activeTasks API
  • d784b49a feat(replicate): replication uses activeTasks API
  • 52a52495 feat: database compaction use activeTasks API
  • ed0db363 feat(core): make activeTasks.list() return array
  • eaf9d52f feat(core): active tasks created_at/updated_at naming
  • 544eb77d feat(purge): add purge to core
  • ec1b7872 chore(purge): remove only from purge tests
  • 3445a012 feat(indexeddb): proof-of-concept purge method
  • e861d00f wip(indexeddb): stub _purgeRev method
  • 972ae331 wip(merge): findPathToLeaf, removeLeafFromTree
  • 4e921ebd feat(merge): removeLeafFromTree return empty trees
  • 3e3f7613 feat: make purge delete docs if tree is empty
  • a8b5e00c feat(indexeddb): attachment purging
  • 693ea5c1 feat(purge): handle missing doc, return something
  • 774976a0 feat: on-update view purging
  • 94ec8932 feat(core): purged_infos_limit support
  • ce8f8b30 [wip] Purge leaves from multiple roots
  • 4252a0f0 docs(purge): show result object seperately
  • b856173b chore(purge): add code comments
  • d5f4250a chore(purge): remove unneeded logs and comments
  • 2c0ddbb0 feat(purge): simplify implementation of removeLeafFromTree()
Bugfixes
  • 34a79749 fix: check replication currentBatch
  • 8f33ff0a fix: add activeTask stub to mock replication database
  • 3fe71b03 (#​8491) - Fix $regex and $ne within $or operator
  • 86ccf481 fix(core): active tasks ob

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • [ ] If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

renovate[bot] avatar Feb 04 '24 08:02 renovate[bot]