Find file
Fetching contributors…
Cannot retrieve contributors at this time
168 lines (136 sloc) 9.37 KB
1.0503_2 2011-09-10 / ukautz
- Added has_one-relation
- Upgraded has_many relation for different join-key usage (other then primary key)
- Added Bool data type
- Optional auto-create of domains, required domain existance checks in S:C:Domain and S:C
- Optional set of values which make up the id instead
- upsert method, which relies on
1.0503_1 2011-09-10 / ukautz
- Wrote cache abstraction so other caches besides memcached can be used
- Switched to Any::Moose to be able to use Mouse instead (smaller memory footprint, faster startup)
- Added Makefile.PL and META.yml from CPAN, removed dependencies on Memcached::libmemcached
- Added documentation
- Rewrote tests according to new cache behavior
1.0503 2010- -
- Fixed a documentation bug.
1.0502 2010-08-30
- Small fix due to a change in how Moose handles attributes.
1.0501 2010-05-04
- Small 1% performance improvement through lazy loading complex attribute types.
1.0500 2010-04-21
- Added fetch_ids() to Domain.
1.0400 2010-04-07
- Added to_array_ref() in ResultSet.
- Fixed undefined value exception calling find() on non-existant item.
- Fixed long MediumString, long HashRef problem.
- SimpleDB::Class::HTTP has been replaced with SimpleDB::Client.
- Fixed a pagination / limit bug. Limits are now enforced the way you'd expect, rather than the way SimpleDB does it.
1.0300 2010-03-15
- Added options to the has_many and belongs_to methods for consistency and other things.
- Added runtime options for has_many generated methods.
- Added has_ predicate method for belongs_to generated methods.
- Better documentation for the has_many and belongs_to methods, and their generated methods.
- Included author tests as they might make good examples for someone.
1.0200 2010-03-14
- Added options on find(), search(), and insert() to set attributes once an item is instantiated. This is useful for prepopulating cache attributes which speeds up the system (no lookups needed), and helps prevent situations where you'd have stale objects in your code.
- Added a mate option to belongs_to() and has_many(), which will automatically use the new set option when the objects are instantiated.
- Reduced the number of method calls needed to instantiate an item, which improves performance marginally.
- Now ignores extra attributes that are in your item, but aren't defined by your Item class. This protects the integrity of that data better, allows you to make your classes immutable, so they run faster, and allows you to change your schema in the code without worrying about changing the schema of the data itself.
- Fixed some outdated documentation on SimpleDB::Class::HTTP
- Fixed a lot of documentation errors in the FAQ.
1.0103 2010-03-14
- Cache now gracefully detects memcached servers that were restarted, and reconnects to them.
1.0102 2010-03-09
- Fixed a bug with long running queries and NextTokens.
1.0100 2010-03-02
- Fixed a bug where result sets weren't honoring limit and order_by clauses.
- Added pagination feature to result sets.
- Answered question in FAQ about what the version number means.
1.0001 2010-03-01
- Fixed a bug dealing with undefined values and type coersion.
1.0000 2010-03-01
NOTE: This release is not compatible with previous releases in either API or data storage, which is the reason for the change in version number. I've made a number of changes in this release, which are noted below, which will provide more options, more flexibility, better speed, and less storage usage. I appologize for any inconvenience.
- Enabled keep alives, which speeds up requests.
- Added an FAQ.
- Quoting doesn't quote itemName().
- Fixed the copy() method.
- Fixed broken documentation on the new() method in SimpleDB::Class::Item.
- Now using Moose attributes for SimpleDB attributes created by the add_attributes() method in SimpleDB::Class::Item. Thanks to Paul Driver for his help in this.
- belongs_to generated methods now return undef rather than dying if the associated attribute has no value.
- Fixed a bug with date strings.
- Now using MooseX::Types for data validation and coercion.
- Now works with multi-value field types, and others. See SimpleDB::Class::Types for details. This breaks backward compatibility with data storage for ints.
- Implemented RFE #54786: SimpleDB::Class::HTTP should use XML::Simple with ForceArray for Item
- Implemented RFE #54617: Wishlist: parameterized domain names. See the domain_prefix attribute in new() in SimpleDB::Class for details.
- The 'id' field is no longer generated by SimpleDB::Class::Item at put, and you should remove it from all of your items. If you have queries that use it, use 'itemName()' in those queries instead of 'id'. This change breaks backward compatibility of data storage (because you should no longer have attributes named 'id') and the API.
- The object retrieved by a 'belongs_to' method is now cached in memory so that if it's requested again on the same object it won't have to fetch it again. See belongs_to() in SimpleDB::Class::Item for details.
- Options passing has changed in several methods. See count(), insert(), min(), max(), and search() in SimpleDB::Class::Domain. See count() and search() in SimpleDB::Class::ResultSet. This breaks backward compatibility of the API.
- Added options to many methods for the new ConsistentRead option that Amazon added last week.
0.0802 2010-01-28
- Fixed a couple problems with calling 'next tokens' on result sets.
- Added dependency on Clone.
- Added option to pass in SimpleDB URI.
- Now caching LWP::UserAgent so it doesn't get created for every request, which will speed up access timess.
0.0801 2010-01-19
- Fixed a problem with fetching items from cache.
- Fixed some documentation.
- Fixed some test bugs.
- Released 0.0800 as 0.0702 by accident.
- Added more author tests.
0.0800 2010-01-09
- Found and fixed a major bug where id's were getting reset on items returned from result sets.
- Removed AnyEvent support, because of a misunderstanding we were using it synchronously, which basically defeated the purpose.
- Added dependencies on Time::HiRes and LWP.
- Removed dependencies on AnyEvent and AnyEvent::HTTP.
0.0701 2010-01-06
- Fixed SQL author tests.
- Fixed parsing of empty integers returned from SimpleDB.
0.0700 2010-01-05
- Added a count() method to the result set.
- Added order by and limit clauses to the search() method in domains.
- Added min() and max() methods to domains.
- Documentation fixes.
- Moved SimpleDB::Class::ResultSet::handle_item() to SimpleDB::Class::Role::Itemized::parse_item().
0.0600 2009-12-31
- Added recasting to support multiple similar object types represented in a single domain. See SimpleDB::Class::Item::recast_using() for details.
0.0502 2009-12-29
- If SimpleDB returns a null result set, it turns into an empty hashref of attributes and SimpleDB::Class wasn't dealing with that properly.
- Was trying to cache undefined items in a couple places, that's fixed now.
- Fix some exception documentation.
0.0501 2009-12-29
- Wasn't setting replace on attributes, updates kept adding them over and over again.
0.0500 2009-12-29
- Added support for triggers on item attributes.
- Added update(), delete(), and search() to result sets.
- Note that to make the search() work on result sets, an id field is automatically added to every domain. This unfortunately means that existing domains that don't have an id field populated with the id of the item aren't compatible with the search() method on the result set.
0.0400 - 2009-12-28
- Added support for HashRef field types in Items. Note that JSONified they cannot exceed 1024 characters.
- Now supports 15 digit positive integers and 9 digit negative integers.
- Added a couple tests to make sure attribute methods are created.
- Fixed some documentation bugs.
- Fixed a bug with a the retry timer in SimpleDB::Class::HTTP, where it would hang.
0.0300 - 2009-12-20
- Rethought the whole subclassing approach. Now subclassing the result rather than the domain, and everything is much cooler, and is much closer to DBIx::Class. Check out the docs for API changes.
- While rewriting discovered that all relationship and attribute methods were global (all classes in the schema got them), which is a huge bug. This problemhas been eliminated in this version as well.
- Added Sub::Name to the prereqs.
0.0201 - 2009-12-19
- Some documentation fixes.
- Cleaned up relationship code.
- Attempted in-item indexed relationships, but abandoned it due to race conditions. Check out commits a3c651797a5d3924be129300bf08500e0e3c6f2d and 04709b014317d9c15dc265323cde71a647e072d9 to investigate in the future.
0.0200 - 2009-12-18
- Split HTTP functionality out into it's own module.
- Added async calls to HTTP requests for use with multitaskers like POE and Coro.
- Fixed a bug where retries on failed connections were infinite.
- Added link to PB.
- Removed author from POD except in main docs.
- Added prereqs AnyEvent::HTTP and Net::SSLeay.
- Removed prereqs Crypt::SSLeay, Time::HiRes, LWP::UserAgent, and HTTP::Request.
0.0100 - 2009-12-17
- Add memcached as a front-end layer to get around the eventual consistency problem.
- Fixed the Foo problem with CPAN.
- Fixed a few linking problems in the docs.
- Added Crypt::SSLeay as a prereq. Forgot to it in the last release. Amazon API only works over SSL, so this is required.
- Added Memcached::libmemcached as a prereq.
- Added "Support" section to docs.
0.0001 - 2009-12-02
- Initial public release.