- Bug fix: Bad function call in
index_pk_dict_
- New
index_pk_dict_
method for constructing exclusive_start_key for index queries (:issue:`34`)
- Pass exclusive_start_key through to dynamo3 (:issue:`34`)
- Bug fix: Calling refresh() could sometimes crash from unordered results.
- Bug fix: Mutable field defaults are no longer shared among model instances
- 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 (:pr:`24`) - Allow queries to use
in
,not null
, and a few other constraints that were missing (:sha:`8b8854d`) - Models are smarter about marking fields as dirty for sync (:issue:`26`)
- Stopped using deprecated
expected
syntax for dynamo3
- Warning: Stored datetime objects will now be timezone-aware (:sha:`a7c253d`)
- Warning: Stored datetime objects will now keep their microseconds (:sha:`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) (:sha:`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 (:sha:`bf3261c`) - Feature: Can override throughputs in
Engine.create_schema()
(:sha:`4d1abe0`) - Bug fix: Engine
namespace
is truly isolated (:sha:`3b4fad7`)
- Bug fix: Some queries fail when global index has no range key (:issue:`9`, :sha:`edce6e2`)
- Bug fix: Field names can begin with an underscore (:sha:`637f1ee`, :issue:`7`)
- Feature: Models have a nice default __init__ method (:sha:`40068c2`)
- Bug fix: Can call
incr_()
on models that have not been saved yet (:sha:`0a1990f`) - Bug fix: Model comparison with
None
(:sha:`374dda1`)
- First public release