Skip to content

Releases: isar/hive

hive_flutter v0.3.0+2

22 Feb 16:22
Compare
Choose a tag to compare
  • Fixed GitHub homepage path

1.4.0+1

08 Feb 18:07
Compare
Choose a tag to compare

Enhancements

  • Minor performance improvements

Fixes

  • Allow more versions of crypto

v1.4.0

07 Feb 13:33
Compare
Choose a tag to compare

Enhancements

  • ~1000% encryption / decryption performance improvement
  • Added option to implement custom encryption algorithm
  • Added box.valuesBetween(startKey, endKey)
  • Allow tree shaking to drop encryption engine if no encryption is used

Fixes

  • Hive.deleteBoxFromDisk() did not work for boxes with upper-case names

More

  • Deprecated encryptionKey parameter. Use Hive.openBox('name', encryptionCipher: HiveAesCipher(yourKey)).
  • Dropped pointycastle dependency
  • Dropped path dependency

v1.3.0

03 Jan 16:50
Compare
Choose a tag to compare

Use latest version of hive_generator

Breaking changes

  • TypeAdapters and @HiveType() now require a typeId
  • Hive.registerAdapter() does not need a typeId anymore.
  • Removed BinaryReader.readAsciiString()
  • Removed BinaryWriter.writeAsciiString()

Enhancements

  • New documentation with tutorials and live code

Fixes

  • box.clear() resets auto increment counter

More

  • Not calling Hive.init() results in better exception

v1.2.0

22 Dec 14:16
Compare
Choose a tag to compare

Use latest version of hive_generator

Breaking changes

  • Removed the Hive.path getter
  • Removed Hive.openBoxFromBytes() (use the bytes parameter of Hive.openBox() instead)
  • LazyBox and Box now have a common parent class: BoxBase
  • Lazy boxes need to be opened using Hive.openLazyBox()
  • Open lazy boxes can be aquired using Hive.lazyBox()
  • Box name bug resolved (more information below)

Enhancements

  • Support for relationships, HiveLists (see docs for details)
  • Support for inheritance
  • Lazy boxes can now have a type argument LazyBox<YourModel>
  • Added method to delete boxes without opening them Hive.deleteBoxFromDisk()
  • Added path parameter to open boxes in a custom path
  • Improved documentation

Fixes

  • HiveObjects have not been initialized correctly in lazy boxes
  • Fixed bug where uppercase box name resulted in an uppercase filename
  • Fixed compaction bug which caused corrupted boxes
  • Fixed bug which did not allow the key 0xFFFFFFFF
  • Fixed bug where not all BoxEvents have been broadcasted

More

  • Changed type of encryptionKey from Uint8List to List<int>

Important:

Due to a bug in previous Hive versions, boxes whose name contains uppercase characters were stored in a file that also contains upper case characters (e.g. 'myBox' -> 'myBox.hive').

To avoid different behavior on case sensitive file systems, Hive should store files with lower case names. This bug has been resolved in version 1.2.0.

If your box name contains upper case characters, the new version will not find a box stored by an older version. Please rename the hive file manually in that case.
This also applies to the web version.

v1.1.1

22 Oct 11:31
Compare
Choose a tag to compare

Breaking changes

  • object.delete() now throws exception if object is not stored in a box

Fixes

  • Fixed bug where object.save() would faild on subsequent calls

v1.1.0+2

18 Oct 13:29
Compare
Choose a tag to compare
  • Fixed bug that it was not possible to open typed boxes (Box<E>)

v1.1.0+1

17 Oct 11:33
Compare
Choose a tag to compare
  • Bugfix

v1.1.0

16 Oct 14:40
Compare
Choose a tag to compare

Breaking changes

  • Changed return type of addAll() from List<int> to Iterable<int>.
  • Removed the option to register TypeAdapters for a specific box. E.g. box.registerTypeAdapter().
  • getAt(), putAt(), deleteAt() and keyAt() no longer allow indices out of range.

Enhancements

  • Added HiveObject
  • Boxes have now an optional type parameter Box<E>
  • Support opening boxes from assets

Fixes

  • Fixed bug which was caused by not awaiting write operations
  • Fixed bug where custom compaction strategy was not applied
  • Hive now locks box files while they are open to prevent concurrent access from multiple processes

More

  • Improved performance of putAll(), deleteAll(), add(), addAll()
  • Changed values parameter of addAll() from List to Iterable
  • Improved documentation
  • Preparation for queries