Skip to content

Releases: sosuisen/git-documentdb

[v0.4.8] Bug fixes

13 Apr 12:52
Compare
Choose a tag to compare

Fixes

  • Make YAML lineWidth to be unlimited
  • '401 Unauthorized' message can be handled
  • Bump isomorphic-git up to 1.23.0

[v0.4.7] Add Front-Matter-Markdown format to serialize JSON object

10 May 04:07
Compare
Choose a tag to compare

Features

  • Added serialize option to DatabaseOptions: specifying front-matter will cause JSON objects to be saved in Front-Matter-Markdown format.
    • The serialize format specified at create time is stored in .gitddb/info.json.
    • Added SerializeFormatLabel.
  • Added logToTransport option to DatabaseOptions
  • Added tsLogger property to GitDocumentDB class
  • Added runBeforeLiveSync property to Sync class, which allows you to specify a function that must be executed before a sync task is queued.
  • Changed the type of a property of schema of DatabaseOptions from JsonDiffOptions to JsonDiffPatchOptions.
  • The keyOfUniqueArray property can be used to specify the key stored in the array whose elements are not allowed to be duplicated during synchronization.

Fixes

  • Enabled array synchronization.

[v0.4.6] repackage for npm

08 Sep 05:12
Compare
Choose a tag to compare

The old npm package [email protected] was corrupted.
Correct and repackage it to v0.4.6.

[v0.4.5] Database-side debounce (experimental)

06 Sep 07:54
Compare
Choose a tag to compare

Features

  • Database-side debounce (experimental)
    • It is possible to debounce consecutive 'put' and 'update' to the same id document.
    • Database-side debouncing is intended to make it easy to debounce persistence procedures of data stores with exclusive locks on the application side in data flows with DB synchronization processing.
    • Debouncing on the database side may seem strange, but this is an experimental implementation and may be changed in the future.

Breaking changes

  • Added TaskQueue#start(). start() must be called right after new TaskQueue().
  • TaskQueue#clear() was renamed TaskQueue#stop()

[v0.4.4] Diff and patch nested JSON object

23 Aug 17:36
Compare
Choose a tag to compare

Fixed cannot diff and patch error when a JSON object is nested.

[v0.4.3] Retry creating a new repository in the initialize

07 Aug 19:42
Compare
Choose a tag to compare

Fixed cannot create DB error when integrating GitDocumentDB with Electron Squirrel installer.

[v0.4.1] Change the default remote engine to isomorphic-git

05 Aug 16:07
Compare
Choose a tag to compare

GitDocumentDB is now pure TypeScript module.

Major features

  • Removed native module (NodeGit) from the default install. It is now easier to integrate GitDocumentDB into your Electron app.
  • Added plugin system for remote connection (isomorphic-git or NodeGit).
  • Allow multiple Sync instances to sync with multiple remote repositories.

Breaking changes

  • Removed loadAppInfo() and saveAppInfo().

[v0.4.0] API renewal to manage any data types

30 Jun 18:21
Compare
Choose a tag to compare

Major features

  • CRUD
    • Added automated generation of _id.
    • Added -FatDoc methods to manage any data types. Note that they are not fully implemented currently. The only .json can be available safely.
    • Added insert() and update() methods.
  • GitDocumentDB Class
    • Added saveAuthor() and loadAuthor() to filter revisions by author.
    • Added loadAppInfo() and saveAppInfo() to manage app specific settings.
    • Added getCommit().
  • Collection Class
    • Added CollectionOptions.namePrefix to add prefix to generated _id.
    • Added inheritance of CollectionOptions from parent collection.
    • Added onSyncEvent() and offSyncEvent() to mange sync events in each collection.

Major bug fixes

  • Sync Class
    • Fixed memory leak by replacing NodeGit with isomorphic-git.

Breaking changes

  • Renewed whole APIs
    • Removed createDB() and remove().
    • Replaced allDocs() with find().
    • Removed backNumber parameter from get().
    • Renamed getBackNumber() to getOldRevision().
    • Renamed getByRevision() to getDocByOid().
    • Renamed getDocHistory() to getHistory().
    • Many other changes..
  • Released tutorials and API documents on https://gitddb.com/

[v0.3.4] Automated combining of inconsistent repositories

06 Jun 14:23
Compare
Choose a tag to compare

Features

  • Implemented 'combine-head-with-ours' strategy in combining inconsistent repositories.
  • Fixed memory leak caused by NodeGit.
  • Added SyncResultCombineDatabase type. trySync() will return it when combining inconsistent repositories.
  • Added get_sync_result option to GitDocumentDB#sync() to get the first SyncResult from Sync#init().
  • Added database ID and GitDocumentDB#dbId() method.
  • Added GitDocumentDB#setRepository() method.
  • Changed scope of Sync#remoteRepository from private to public.

Breaking changes

  • Removed remoteURL argument from GitDocumentDB#sync()
  • Changed return value of GitDocumentDB#open(), createDB() from DatabaseInfo type to DatabaseOpenResult type.
  • Changed default value of AllDocsOptions.include_docs from false to true.
  • Added .gitddb/info.json instead of .gitddb/lib_version.
  • Changed CommitInfo type to NormalizedCommit type.
  • Removed GitDocumentDB#fileExt(). Added JSON_EXT instead.

[v0.3.3] Add detailed information to task and sync result

27 May 13:57
Compare
Choose a tag to compare
  • v0.3.3
    • Add TaskMetadata type with enqueueTime
    • Add TaskMetadata to SyncResult
    • Add enqueueCallback to PutOptions and DeleteOptions
    • Add cancel to TaskStatistics
    • Change sync task enqueuing method from unshift to push
    • Subdivide ChangedFile type into ChangedFileInsert, ChangedFileUpdate, and ChangedFileDelete
    • Add getLogger() and setLogLevel()
  • v0.3.2
    • allDocs must return rows[]
  • v0.3.1
    • Add Collection#getCollection()