Zoom v0.17.0 Release Notes
Release Date: 2016-05-15 // almost 8 years ago-
๐ This release features some bug fixes, API changes, and new features. It is not backwards compatible with previous versions.
You can now run queries inside a transaction via the
Transaction.Query
method. It returns aTransactionQuery
type which works similarly to a regularQuery
. The only real difference is how the queries are actually executed. Specifically, the finisher methods (e.g.Run
,RunOne
,Count
, etc) do not return anything. Instead they accept arguments which are then mutated after the transaction is executed withTransaction.Exec
.There is a new query finisher method called
StoreIds
on bothQuery
andTransactionQuery
.StoreIds
allows you to store the ids of models that match the query criteria in a Redis list, which allows for more low-level operations.0๏ธโฃ Zoom now uses a different approach for both
PoolOptions
andCollectionOptions
. In the past, Zoom has relied on zero types andnil
to implicitly convey defaults. Now, Zoom explicitly provides values forDefaultPoolOptions
andDefaultCollectionOptions
. To modify the options, you can create a copy of the options and modify the fields directly. There are also helper methods (e.g.PoolOptions.WithPassword
for modifying the default values without mutating.Full Changelog
- โ Added new
StoreIds
method toQuery
andTransactionQuery
- โ Added an explicit test for leaked temporary ids
- Implemented
TransactionQuery
for running queries inside a transaction - Implemented
Transaction.FindModelsByIdsKey
for finding models by the ids in a Redis set - ๐ Fixed a bug which caused fields of type
time.Duration
to not be saved correctly - ๐ Improved clarity of the
ModelNotFoundError
message - ๐ Fixed a bug where errors that occurred during a transaction were sometimes not returned
- โก๏ธ Renamed
UpdateFields
toSaveFields
- ๐ Changed the way
PoolOptions
andCollectionOptions
work - โก๏ธ Various README updates
- โ Added new