Changelog¶
0.5.2¶
- Bug fix: Change limit behavior to match docs.
query().limit()
will limit the number of results,query().scan_limit()
will limit number of items scanned (issue 57)
0.5.0¶
- Breakage: Removing support for overflow fields. The only fields flywheel will care about now are those that are explicitly set as a Field()
- Flywheel no longer forces raise_on_conflict to be True when you sync changes to fields that are part of a composite field. It is now up to the user to avoid putting their composite fields into an inconsistent state.
- Feature: sync() has a new argument,
no_read
, which changes the behavior for syncing models with no changes. Instead of performing a GET, it will leave them as-is. This should make it easer to perform batch syncs without worrying as much about wasted bandwidth on GETs. Field
has renamed thedata_type
argument totype
(data_type
will still work)
0.4.9¶
0.4.8¶
- Bug fix: Bad function call in
index_pk_dict_
0.4.5¶
- Bug fix: Calling refresh() could sometimes crash from unordered results.
0.4.4¶
- Bug fix: Mutable field defaults are no longer shared among model instances
0.4.3¶
- Bug fix: Incorrect
ConditionalCheckFailedException
when syncing changes to a Composite field. - Allow
DateTimeType
to be stored as a naive datetime.
0.4.2¶
- Make the
dict
,list
, andbool
types backwards-compatible with the old json-serialized format (:pr:`24`) - Allow queries to use
in
,not null
, and a few other constraints that were missing (commit 8b8854d) - Models are smarter about marking fields as dirty for sync (issue 26)
- Stopped using deprecated
expected
syntax for dynamo3
0.4.1¶
- Warning: Stored datetime objects will now be timezone-aware (commit a7c253d)
- Warning: Stored datetime objects will now keep their microseconds (commit fffe92c)
0.4.0¶
- Breakage: Dropping support for python 3.2 due to lack of botocore support
- Breakage: Changing the
list
,dict
, andbool
data types to use native DynamoDB types instead of JSON serializing - Breakage and bug fix: Fixing serialization of
datetime
anddate
objects (for more info see the commit) (commit df049af) - Feature: Can now do ‘contains’ filters on lists
- Feature: Fields support multiple validation checks
- Feature: Fields have an easy way to enforce non-null values (
nullable=False
)
Data type changes are due to an update in the DynamoDB API
0.3.0¶
- Breakage: Engine namespace is slightly different. If you pass in a string it will be used as the table name prefix with no additional ‘-‘ added.
0.2.1¶
- Breakage: Certain queries may now require you to specify an index where it was auto-detected before
- Feature: Queries can now filter on non-indexed fields
- Feature: More powerful “sync-if” constraints
- Feature: Can OR together filter constraints in queries
All changes are due to an update in the DynamoDB API
0.2.0¶
- Breakage: Engine no longer accepts boto connections (using dynamo3 instead)
- Breakage: Removing S3Type (no longer have boto as dependency)
- Feature: Support Python 3.2 and 3.3
- Feature:
.count()
terminator for queries (commit bf3261c) - Feature: Can override throughputs in
Engine.create_schema()
(commit 4d1abe0) - Bug fix: Engine
namespace
is truly isolated (commit 3b4fad7)
0.1.3¶
- Bug fix: Some queries fail when global index has no range key (issue 9, commit edce6e2)
0.1.2¶
- Bug fix: Field names can begin with an underscore (commit 637f1ee, issue 7)
- Feature: Models have a nice default __init__ method (commit 40068c2)
0.1.1¶
- Bug fix: Can call
incr_()
on models that have not been saved yet (commit 0a1990f) - Bug fix: Model comparison with
None
(commit 374dda1)
0.1.0¶
- First public release