View Source Changelog
v0.2.5
- Fix incorrect typespec for
PropertyTable.options()
v0.2.4
- Updates
- Fix unintended exceptions being raised when the filesystem updates start failing when table persistence is enabled
- Reduce time when an unexpected VM exit could result in a corrupt persisted file. The backup would be usable, but now the critical steps only involve renaming or deleting files.
v0.2.3
- Updates
- Fix compiler warnings with Elixir 1.15
v0.2.2
- Updates
- Fixed missing
:crypto
dependency warning.
- Fixed missing
v0.2.1
- New features
- Automatic persistence and snapshots for PropertyTables. This makes it
possible to use
PropertyTable
for small key/value stores like those for storing runtime settings especially for Nerves devices. PropertyTable protects against corruption and unexpected reboots that happen mid-write.
- Automatic persistence and snapshots for PropertyTables. This makes it
possible to use
v0.2.0
Backwards incompatible changes
nil
no longer deletes a property from the table. In other words, it's ok to for properties to benil
now.PropertyTable.clear/2
andPropertyTable.clear_all/2
were renamed toPropertyTable.delete/2
andPropertyTable.delete_matches/2
respectively.PropertyTable.put/3
raises if you give it an invalid property rather than returning an error tuple. Since these are usually programming errors anyway, this change removes the need for a return value check for Dialyzer.
New features
- Added
PropertyTable.put_many/2
. It's possible to add many properties to the table atomically. Change notifications still only get sent for properties that really changed.
- Added
v0.1.0
Initial release
This code was extracted from vintage_net
, simplified and modified to support
more use cases.