CHANGELOG.md
# Changelog
## 1.10.4
- Use UTC when serializing times.
[#97](https://github.com/mattbeedle/capsule_crm/pull/97)
- Upgraded to RSpec ~> 2.99.0 and fixed deprecations in preparation for RSpec
3 upgrade
## 1.10.3
- Fix regression introduced in 1.10.1 where any records that do not respond
to #contacts could not be reloaded.
## 1.10.2
- Stop serializing the result of CapsuleCRM::Serializer#serialize. It causes
the serialized version of an object to become stale.
[#90](https://github.com/mattbeedle/capsule_crm/pull/90)
## 1.10.1
- #reload now also reloads the contacts information. More information
[here](https://github.com/mattbeedle/capsule_crm/issues/89#issuecomment-71309322)
## 1.10.0
- Add ```#opportunities``` method to ```party```, ```person```
and ```organization```. - Thanks to @chrisradford
[#86](https://github.com/mattbeedle/capsule_crm/pull/86)
## 1.9.3
- Fix issue where opportunities could not be saved if they had an associated
track. Track.find method was missing. - Thanks to @jonathansimmons
[#84](https://github.com/mattbeedle/capsule_crm/pull/84)
## 1.9.2
- Fix issue where opportunities would never persist because they were
serializing and sending the ```probability``` attribute to capsule which
capsule did not want. - Thanks to @whitecl
[#82](https://github.com/mattbeedle/capsule_crm/pull/82)
## 1.9.1
- Task#category is now persisted correctly
[#80](https://github.com/mattbeedle/capsule_crm/pull/80)
## 1.9.0
- Raise a CapsuleCRM::Errors::AssociationTypeMismatch when an object of the
wrong type is set on a belongs to association.
[#79](https://github.com/mattbeedle/capsule_crm/pull/79)
- CapsuleCRM::Errors::RecordInvalid#to_s and #inspect methods are now more
descriptive [#78](https://github.com/mattbeedle/capsule_crm/pull/78)
## 1.8.0
- Custom fields may now be deleted.
[#77](https://github.com/mattbeedle/capsule_crm/pull/77)
## 1.7.0
- Inspecting items only displays their attributes now. Much cleaner for working
on the console
[https://github.com/mattbeedle/capsule_crm/commit/cde082c1934ff97b6fa2dc9c56a01ca771d73b26](https://github.com/mattbeedle/capsule_crm/commit/cde082c1934ff97b6fa2dc9c56a01ca771d73b26)
## 1.6.2
- Fix bug where responses errors always had a blank body.
[#76](https://github.com/mattbeedle/capsule_crm/pull/76)
## 1.6.1
- Fix issue where if capsulecrm.com returned a blank error response the
ResponseError would raise an undefined method exception.
[#74](https://github.com/mattbeedle/capsule_crm/pull/74)
## 1.6.0
- ResponseError#to_s now return the response message from the server so errors
are a little easier to debug.
[#69](https://github.com/mattbeedle/capsule_crm/pull/69)
## 1.5.3
- A has many association will now accept a single object as an argument and
coerce that object into an array.
## 1.5.2
- Fix issue with ruby 1.9.3 where incompatible OpenStruct syntax was being used.
Also, update tests to actually use OpenStructs not hashes. (@ryanbooker)
- Fix the update path for organizations. It was missing the org.id part. (@ghiculescu)
## 1.5.1
- Add ID to email, website, address and phone models to fix bug where they were
being duplicated every time a contactable model was saved
## 1.5.0
- Add TaskCategory
- Upgrade to latest virtus
## 1.4.0
- Fix bug with contacts, where contact details were being attached to parties as
an array of hashes
- Added ActiveModel::Callbacks to persistence module so after_save methods may
be added
- Used after_save method to save all embedded associations (custom fields)
## 1.3.0
- Refactored associations to allow classes to reflect on themselves in order to
allow serialization to happen in one place
- Created a serializer to deal with all converting all objects into capsule crm
compliant hashes
- Created CapsuleCRM::Normalizer to deal with converting capsule crm hashes into
ActiveModel compliant hashes
- Extracted querying logic into modules
- Extracted persistence logic into modules
- Extracted deleting logic into a module
- Added CapsuleCRM::Associations::BelongsToFinder to deal with querying the
belongs to side of associations
- Added CapsuleCRM::CustomFieldDefinitions
## 1.2.0
- Refactor associations. Now all classes know about their associations and
associations may be queried using
Class.associations/has_many_associations/belongs_to_associations
- Add a serializer class to deal with serializing objects into their capsule crm
json
- Refactor to_capsule_crm in all models to use the new serializer
## 1.1.0
- Refactored connection error raising to use faraday middleware
## 1.0.1
- Raise an error when trying to call create on a not yet saved has_many
association
- Validate numericality of ID on all models
## 1.0.0
- Using SemVer and this gem is being used in production, so bumped to version 1
- Handle 401 responses by raising a CapsuleCRM::Errors::Unauthorized error
## 0.10.1
- Automatically strformat the lastmodified param for GET requests
## 0.10.0
- Added Track support
## 0.9.1
- Refactored code for finding parties/people/organizations to make sure that
contacts are always a CapsuleCRM::Contacts when finding a record
- Moved attributes= into a module
## 0.9.0
### New Features
- Custom field support (@srbaker, @clod81)
- Add Organization#destroy (@danthompson)
### Bug fixes
- Fixed init_collection method for when a single (#27) (@clod81)