- Bug fix: Incorrect
ConditionalCheckFailedException
when syncing changes to a Composite field. - Allow
DateTimeType
to be stored as a naive datetime.
- Make the
dict
,list
, andbool
types backwards-compatible with the old json-serialized format (24
) - Allow queries to use
in
,not null
, and a few other constraints that were missing (8b8854d
) - Models are smarter about marking fields as dirty for sync (
26
) - Stopped using deprecated
expected
syntax for dynamo3
- Warning: Stored datetime objects will now be timezone-aware (
a7c253d
) - Warning: Stored datetime objects will now keep their microseconds (
fffe92c
)
- 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) (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
- 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.
- 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
- 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 (bf3261c
) - Feature: Can override throughputs in
Engine.create_schema()
(4d1abe0
) - Bug fix: Engine
namespace
is truly isolated (3b4fad7
)
- Bug fix: Some queries fail when global index has no range key (
9
,edce6e2
)
- Bug fix: Field names can begin with an underscore (
637f1ee
,7
) - Feature: Models have a nice default __init__ method (
40068c2
)
- Bug fix: Can call
incr_()
on models that have not been saved yet (0a1990f
) - Bug fix: Model comparison with
None
(374dda1
)
- First public release