All Versions
Latest Version
Avg Release Cycle
35 days
Latest Release
30 days ago

Changelog History
Page 6

  • v0.12.1 Changes

    April 01, 2019

    ๐Ÿš‘ โš ๏ธ Hotfix

    ๐Ÿ”„ Changes

    • ๐Ÿ”€ [Sync] Adds basic sync logging capability to Sync. Pass an empty object to synchronize() to populate it with diagnostic information: js const log = {} await synchronize({ database, log, ...}) console.log(log.startedAt) See Sync documentation for more details.
  • v0.12.0 Changes

    March 18, 2019

    โž• Added

    • [Hooks] new useDatabase hook for consuming the Database Context: js import { useDatabase } from '@nozbe/watermelondb/hooks'; const Component = () => { const database = useDatabase(); }
    • [TypeScript] added .d.ts files. Please note: TypeScript definitions are currently incomplete and should be used as a guide only. PRs for improvements would be greatly appreciated!

    ๐ŸŽ Performance

    • ๐Ÿ‘Œ Improved UI performance by consolidating multiple observation emissions into a single per-collection batch emission when doing batch changes
  • v0.11.0 Changes

    March 12, 2019

    ๐Ÿ’ฅ Breaking

    • โš ๏ธ Potentially BREAKING fix: a @date field now returns a Jan 1, 1970 date instead of null if the field's raw value is 0. This is considered a bug fix, since it's unexpected to receive a null from a getter of a field whose column schema doesn't say isOptional: true. However, if you relied on this behavior, this might be a breaking change.
    • โš ๏ธ BREAKING: Database.unsafeResetDatabase() now requires that you run it inside an Action

    ๐Ÿ› Bug fixes

    • ๐Ÿ”€ [Sync] Fixed an issue where synchronization would continue running despite unsafeResetDatabase being called
    • [Android] fix compile error for kotlin 1.3+

    Other changes

    • Actions are now aborted when unsafeResetDatabase() is called, making reseting database a little bit safer
    • โšก๏ธ Updated demo dependencies
    • ๐ŸŒ LokiJS is now a dependency of WatermelonDB (although it's only required for use on the web)
    • ๐Ÿšš [Android] removed unused test class
    • โšก๏ธ [Android] updated ktlint to 0.30.0
  • v0.10.1 Changes

    February 12, 2019

    ๐Ÿ”„ Changes

    • [Android] Changed compile to implementation in Library Gradle file
      • โš ๏ธ might break build if you are using Android Gradle Plugin <3.X
    • โšก๏ธ Updated peerDependency react-native to 0.57.0
    • ๐Ÿ”€ [Sync] Added hasUnsyncedChanges() helper method
    • ๐Ÿ“š [Sync] Improved documentation for backends that can't distinguish between created and updated records
    • ๐Ÿ”€ [Sync] Improved diagnostics / protection against edge cases
    • [iOS] Add missing header search path to support ejected expo project.
    • [Android] Fix crash on android < 5.0
    • [iOS] SQLiteAdapter's dbName path now allows you to pass an absolute path to a file, instead of a name
    • ๐ŸŒ [Web] Add adaptive layout for demo example with smooth scrolling for iOS
  • v0.10.0 Changes

    January 18, 2019

    ๐Ÿ’ฅ Breaking

    • ๐Ÿ’ฅ BREAKING: Table column last_modified is no longer automatically added to all database tables. If you don't use this column (e.g. in your custom sync code), you don't have to do anything. If you do, manually add this column to all table definitions in your Schema: { name: 'last_modified', type: 'number', isOptional: true } Don't bump schema version or write a migration for this.

    ๐Ÿ†• New

    • Actions API.

    This was actually released in 0.8.0 but is now documented in [](./docs/ and [](./docs/ With Actions enabled, all create/update/delete/batch calls must be wrapped in an Action.

    To use Actions, call await database.action(async () => { /* perform writes here */ }, and in Model instance methods, you can just decorate the whole method with @action.

    This is necessary for Watermelon Sync, and also to enable greater safety and consistency.

    To enable actions, add actionsEnabled: true to new Database({ ... }). In a future release this will be enabled by default, and later, made mandatory.

    See documentation for more details.

    • ๐Ÿ”€ Watermelon Sync Adapter (Experimental)

    Added synchronize() function that allows you to easily add full synchronization capabilities to your Watermelon app. You only need to provide two fetch calls to your remote server that conforms to Watermelon synchronization protocol, and all the client-side processing (applying remote changes, resolving conflicts, finding local changes, and marking them as synced) is done by Watermelon.

    See documentation for more details.

    • ๐Ÿ‘Œ Support caching for non-global IDs at Native level
  • v0.9.0 Changes

    November 23, 2018

    ๐Ÿ†• New

    • โž• Added - you can now make queries similar to SQL LIKE
  • v0.8.0 Changes

    November 16, 2018

    ๐Ÿ†• New

    • โž• Added DatabaseProvider and withDatabase Higher-Order Component to reduce prop drilling
    • โž• Added experimental Actions API. This will be documented in a future release.

    ๐Ÿ›  Fixes

    • ๐Ÿ›  Fixes crash on older Android React Native targets without jsc-android installed
  • v0.7.0 Changes

    October 31, 2018

    ๐Ÿ—„ Deprecations

    • ๐Ÿ—„ [Schema] Column type 'bool' is deprecated โ€” change to 'boolean'

    ๐Ÿ†• New

    • โž• Added support for Schema Migrations. See documentation for more details.
    • โž• Added fundaments for integration of Danger with Jest

    ๐Ÿ”„ Changes

    • ๐Ÿ›  Fixed "dependency cycle" warning
    • ๐Ÿ›  [SQLite] Fixed rare cases where database could be left in an unusable state (added missing transaction)
    • ๐Ÿ›  [Flow] Fixes oneOf() typing and some other variance errors
    • [React Native] App should launch a little faster, because schema is only compiled on demand now
    • ๐Ÿ›  Fixed typos in
    • โšก๏ธ Updated Flow to 0.85
  • v0.6.2 Changes

    October 04, 2018

    ๐Ÿ—„ Deprecations

    • โšก๏ธ The @nozbe/watermelondb/babel/cjs / @nozbe/watermelondb/babel/esm Babel plugin that ships with Watermelon is deprecated and no longer necessary. Delete it from your Babel config as it will be removed in a future update

    โ™ป๏ธ Refactoring

    • โœ‚ Removed dependency on async (Web Worker should be ~30KB smaller)
    • โ™ป๏ธ Refactored Collection and simpleObserver for getting changes in an array and also adds CollectionChangeTypes for differentiation between different changes
    • โšก๏ธ Updated dependencies
    • ๐Ÿ‘ท Simplified build system by using relative imports
    • ๐Ÿ— Simplified build package by outputting CJS-only files
  • v0.6.1 Changes

    September 20, 2018

    โž• Added

    • โž• Added iOS and Android integration tests and lint checks to TravisCI

    ๐Ÿ”„ Changed

    • ๐Ÿ”„ Changed Flow setup for apps using Watermelon - see docs/Advanced/
    • ๐Ÿ‘Œ Improved documentation, and demo code
    • โšก๏ธ Updated dependencies

    ๐Ÿ›  Fixed

    • โž• Add quotes to all names in sql queries to allow keywords as table or column names
    • ๐Ÿ›  Fixed running model tests in apps with Watermelon in the loop
    • ๐Ÿ›  Fixed Flow when using Watermelon in apps