CHANGELOG
=========

4.0.26 (2015-03-11)
-------------------

* /context/{hash} now shows all permission, event defaults [Carles Bruguera]
* Set context permission permanency to True [Carles Bruguera]
* Allow access to any endpoint authenticated req. via HEAD [Carles Bruguera]
* Refactor permission grants to be permanent only if requested [Carles Bruguera]
* Set safe defaults [Carles Bruguera]
* PEP8 [Carles Bruguera]
* Fix tags filter on people subscriptions query [Carles Bruguera]
* PEP8 and remove file log [Carles Bruguera]
* Return permissions in context subscriptions endpoint [Carles Bruguera]
* Fix error responses [Carles Bruguera]
* Fix default sorting [Carles Bruguera]
* Fix 204 content length errorx [Paco Gregori]
* Validate existence of username [Carles Bruguera]
* Add a rest-compliant user adder endpoint [Carles Bruguera]
* Add endpoint to check user roles [Carles Bruguera]
* Add HubManager role [Carles Bruguera]

4.0.25 (2015-02-24)
-------------------

* Rerelease to fix bad release

4.0.24 (2015-02-24)
-------------------

* Fix crash on admin posting images without text [Carles Bruguera]

4.0.23 (2015-02-24)
-------------------

* Fix failing tests [Carles Bruguera]
* Don't assume we'll have a content [Carles Bruguera]
* make sure format_raw_request don't crash [Carles Bruguera]

4.0.22 (2015-02-20)
-------------------

* Include server id on basic info [Carles Bruguera]
* Fix for comment keyword search [Carles Bruguera]
* Add admin method to get all context's activities [Carles Bruguera]
* Finish sorting refactoring [Carles Bruguera]
* Sorting refactor WIP [Carles Bruguera]

4.0.21 (2015-01-20)
-------------------

* Use new sorting style on timeline [Carles Bruguera]
* Store flagged as a data [Carles Bruguera]
* Custom method for each sortBy case [Carles Bruguera]
* Flag/unflag based on context permissions [Carles Bruguera]
* Flag/unflag endpoint [Carles Bruguera]
* Disable connection close [Carles Bruguera]

4.0.20 (2014-12-18)
-------------------

* Do not try to recreate exchanges if user exists [Carles Bruguera]
* Fixed bug on batch posting same avtivity on diff contexts [Carles Bruguera]
* Pylint [Carles Bruguera]

4.0.19 (2014-12-04)
-------------------

* Fix lastMessage not in response [Carles Bruguera]

4.0.18 (2014-12-04)
-------------------

* Fix conversation subscription get bug [Carles Bruguera]
* Use greenlets on mongodb only if gevent present [Carles Bruguera]
* Enable a request dumper toggled by USR1 signal [Carles Bruguera]
* Prevent logging of requests within gevent [Carles Bruguera]

4.0.17 (2014-12-01)
-------------------

* Enable show_fields as a request switch [Carles Bruguera]

4.0.16 (2014-11-29)
-------------------

* Don't store extended conversation info on user [Carles Bruguera]
* Get fresh conversation info on GET people/{username}/ [Carles Bruguera]

4.0.15 (2014-11-28)
-------------------

* Use maxutils.mongodb to connect [Carles Bruguera]

4.0.14 (2014-11-25)
-------------------

* Missing comma [Carles Bruguera]

4.0.13 (2014-11-25)
-------------------

* Var name mismatch [Carles Bruguera]

4.0.12 (2014-11-25)
-------------------

* Export stomp server url if defined [Carles Bruguera]
* Delete exchanges on user delete [Carles Bruguera]
* Added permissions field to the subscribed users endpoint [Victor Fernandez de Alba]
* Wrong method name [Carles Bruguera]

4.0.11 (2014-10-27)
-------------------

* Prepare max to handle auth and non-auth mongodbs [Carles Bruguera]
* Disconnect clients after operation [Carles Bruguera]
* Provide client_properties to maxcarrot [Carles Bruguera]
* Delete unused version file [Carles Bruguera]
* Bug on trying to print exc. with images in request [Carles Bruguera]
* Test multiple unsetting [Carles Bruguera]

4.0.10 (2014-09-25)
-------------------

* Return the rotated image [Carles Bruguera]
* Fix rotation [Carles Bruguera]
* Rotate image by EXIF value if needed [Carles Bruguera]
* Test calling with bad body [Carles Bruguera]
* Make maxui docs generic domain-based [Carles Bruguera]
* GLobal user comments and stats [Carles Bruguera]
* Update maxui dev steps docs [Carles Bruguera]
* Check data type before accessing like a dict [Carles Bruguera]
* Fridge for robot tests on MAX [Victor Fernandez de Alba]
* BUG: Disallow creating conversations with oneself [Carles Bruguera]

4.0.9 (2014-07-29)
------------------

* Fix tests [Carles Bruguera]
* Allow create user without rabbitmq notifications [Carles Bruguera]
* Create unconditionally rabbitmq structres when trying to create an existing user [Carles Bruguera]
* Add test post to context without notifications [Carles Bruguera]

4.0.8 (2014-07-23)
------------------

* Temporary fix for the sync disconnect problem [Carles Bruguera]

4.0.7 (2014-07-21)
------------------

* Provide current version defined in setup.py [Carles Bruguera]

4.0.6 (2014-07-21)
------------------

* Test date_filter on user_activity stats [Carles Bruguera]
* Allow to specify published data, store real published as _created [Carles Bruguera]
* Add a date filter mechanism [Carles Bruguera]
* Notify comments on specified contexts [Carles Bruguera]
* Deepcopy mock message that was being overwritten [Carles Bruguera]
* PEP8 [Carles Bruguera]
* Context notifications based on a literal instead of bool [Carles Bruguera]
* Tests on contexts with notifications [Carles Bruguera]
* Provide return values in existing tests used in rabbitmq tests [Carles Bruguera]
* Conditional rabbitmq tests boilerplate [Carles Bruguera]
* Simplify custom exception classes [Carles Bruguera]
* Refactor notifications into a wrapper class [Carles Bruguera]
* Move calls to notifications on ws endpoints to models (except conversation creation) [Carles Bruguera]
* Raise 503 when rabbitmq not available on starting max [Carles Bruguera]
* Fix dependencies [Carles Bruguera]

4.0.5 (2014-07-16)
------------------

* Send username and displayname as dict [Carles Bruguera]

4.0.4 (2014-07-08)
------------------

* Use real subscriptions to get conversation tokens [Carles Bruguera]
* Fix method definition [Carles Bruguera]
* Add endpoint to delete all tokens by platform [Carles Bruguera]
* Endpoint to delete conversations from everybody [Carles Bruguera]
* Added customizable events to delete subscribe and unubscribe [Carles Bruguera]
* Update rabbitmq bindings on adding/deleting people to a conversation [Carles Bruguera]
* Update venusian patch to be generic [Carles Bruguera]
* Add bindings only to required contexts [Carles Bruguera]

4.0.3 (2014-06-11)
------------------

* Don't crash on receiving a list in extractPostData [Carles Bruguera]
* Were passing actor instead of username... [Carles Bruguera]

4.0.2 (2014-06-10)
------------------

* Missing dependency [Carles Bruguera]
* Info endpoint by category for documentation [Victor Fernandez de Alba]
* Update avatar generation [Victor Fernandez de Alba]
* Move code used to show  conv. displayName to model [Carles Bruguera]
* Move code used to show last Message to model [Carles Bruguera]
* Fix change context url [Carles Bruguera]
* Add method to determine effective displayName [Carles Bruguera]
* Move user info construction to model [Carles Bruguera]
* Fix tabs [Carles Bruguera]
* Log exceptions oif configured in settings (for wsgi client) [Carles Bruguera]
* Add exceptions list endpoint [Carles Bruguera]
* Check if folder exists [Carles Bruguera]

4.0.1 (2014-05-08)
------------------

* Documentation [Carles Bruguera]
* Do not expect content always [Carles Bruguera]
* Don't always expect content on messages [Carles Bruguera]
* Value not needed, already present in headers [Carles Bruguera]
* Context url renaming with changes propagation [Carles Bruguera]
* Fix maintenance subscriptions endopoint & test [Carles Bruguera]
* Remove debug prints [Carles Bruguera]
* Add maintenance users endpoint with test [Carles Bruguera]
* Move maintenance tests to new file [Carles Bruguera]
* Don't str a None please... [Carles Bruguera]
* Add Tween to block calls to incompatible apps [Carles Bruguera]
* Read filename from json first [Carles Bruguera]
* Recover reading from post params [Carles Bruguera]
* Fix typos and identation [Carles Bruguera]
* Get header directly from request [Carles Bruguera]
* base64 responses for image data [Carles Bruguera]
* Get filename from uploaded file [Carles Bruguera]
* Enable post-body auth and tunneled GET requests [Carles Bruguera]
* Update docs [Carles Bruguera]
* Use mimetype included in form content-type header [Carles Bruguera]
* Update documentation [Carles Bruguera]
* Updated expected responses: notification field [Carles Bruguera]
* Move image and file retrieval common code to activity model [Carles Bruguera]
* get message images in a different method [Carles Bruguera]
* Last message may not contain text [Carles Bruguera]
* Refactor file/image upload [Carles Bruguera]
* Use a unique fieldname "file" to upload data [Carles Bruguera]
* All content fields in one level [Carles Bruguera]
* Generalize image sizes [Carles Bruguera]
* Fix message images referencing [Carles Bruguera]
* Note content not mandatory on images and files [Carles Bruguera]
* Add image extractic to admin conversation messages [Carles Bruguera]
* Add image extraction code for addAdminUserActivity [Carles Bruguera]
* return content-type value as string [Carles Bruguera]
* don't assume activity always has contexts [Carles Bruguera]
* Include correct user data in notification [Carles Bruguera]
* Allow notifications field [Carles Bruguera]
* Include notifications in updatable user subscriptions data [Carles Bruguera]
* Bad method name [Carles Bruguera]
* Set/delete bindings on updating notification value [Carles Bruguera]
* Add notifications for context activities [Carles Bruguera]
* Change regex to match missing properties and egg [Carles Bruguera]

4.0.0 (2014-04-15)
------------------

* Update documentation [Victor Fernandez de Alba]
* Raise Forbidden on joining a two-user conversation [Carles Bruguera]
* Upload files and images to remote context / locally feature [Victor Fernandez de Alba]
* Add admin endpoint to post messsages as arbitrary user [Carles Bruguera]
* Create user exchanges on user creation [Carles Bruguera]
* Disable message Notifications [Carles Bruguera]
* Refactor conversation creation notifications with rabbitpy [Carles Bruguera]
* Allow add people to conversations based on susbcribe permission [Carles Bruguera]
* Distinguish group and archived conversations by tags [Carles Bruguera]
* Add api export endpoint
* Add maxserver info endpoint
* Fetch only the last message on conversations[Carles Bruguera]
* Add GPL License [Victor Fernandez de Alba]
* Return [] when an unknown permission asked [Carles Bruguera]
* Provide tag information on create conv. response [Carles Bruguera]
* Fix text: conversations 3>2 preserves displayName [Carles Bruguera]
* Exclude group conversations from search [Carles Bruguera]
* Tag and untag as archived conversation when needed [Carles Bruguera]
* Added endpoint to get user chat subscription [Carles Bruguera]
* Set correct displayName on conv. creation [Carles Bruguera]
* Fix grant and revoke user methods, make generic [Carles Bruguera]
* Tidy up schema definitions and security methods [Carles Bruguera]
* Added last message to getConversation [Carles Bruguera]
* Added remaining items header to getMessages [Carles Bruguera]
* Add limiting of results on getMessages [Carles Bruguera]
* List HEAD requests [Carles Bruguera]
* Add remaining search items to headers [Carles Bruguera]
* Change port for Jenkins [Victor Fernandez de Alba]
* Add robot tests [Victor Fernandez de Alba]
* Fix signature of decorated functions [Carles Bruguera]
* Patch venusian to get the real function name [Carles Bruguera]
* Remove unused  auth resources [Carles Bruguera]
* Add endpoint to recover exception logs [Carles Bruguera]
* Add skip tests conditions in case Twitter API involved. [Victor Fernandez de Alba]
* Add dummy load of cloudAPIs data. [Victor Fernandez de Alba]
* More ownership transfer tests [Carles Bruguera]
* Endpoint to transfer ownership [Carles Bruguera]
* Look for username in PUT requests too [Carles Bruguera]
* Add an endpoint to get roles grouped by user [Carles Bruguera]
* Adapt to new mutable method [Carles Bruguera]
* Allow admin modify any user profile [Carles Bruguera]
* Extend username filter to use also displayName [Carles Bruguera]
* Add context comments count endpoint [Carles Bruguera]
* Downloading of named avatar sizes [Carles Bruguera]
* Add roles of the authenticated user to the request [Carles Bruguera]
* Add roles over the current object in the models [Carles Bruguera]
* Make field visibility role-based [Carles Bruguera]
* Fix twitter avatar download mocker [Carles Bruguera]
* Refactor mutable properties getter using roles [Carles Bruguera]
* Rename VIP as NonVisible [Carles Bruguera]
* Allow NonVisible feature with restricted_visibility disabled [Carles Bruguera]
* Refactor tests to match the increased combinations [Carles Bruguera]
* Vip mode doesn't give visibility over subscription [Carles Bruguera]
* Add to user a method to check visibility to other user [Carles Bruguera]
* Modify user listing and conversation creation and joining with user visibility checks [Carles Bruguera]
* test [Carles Bruguera]
* Add test base and config settings for vip mode [Carles Bruguera]

3.6 (2014-01-20)
----------------

* Implement like/unlike favorite/unfavorite [Carles Bruguera]
* Implement favorites and most liked views and filters  [Carles Bruguera]

3.5.6 (2013-11-25)
------------------

* Tune maintenance endpoints [Carles Bruguera]
* Ignore ssl errors [Carles Bruguera]

3.5.5 (2013-11-07)
------------------

* Updated documentation report [Carles Bruguera]
* Clean contexts stored in activities posted by context [Carles Bruguera]
* Enhance maintenance conversations to rebuild participants [Carles Bruguera]
* Maintenance endpoint : rebuild last comment dates [Carles Bruguera]
* Add missing multi=True to batch update operations [Carles Bruguera]
* Refactor way of storing last comment to fix bug in sort by comment [Carles Bruguera]
* Activities posted in last minute with same content and same actor will be discarded if actor is impersonated [Carles Bruguera]
* Fix test to catch bug in last-comment-sorting [Carles Bruguera]
* Return partner's displayName as conversation displayname [Carles Bruguera]
* Update conversation's participants displayName on change [Carles Bruguera]
* Refactor conversation participants [Carles Bruguera]
* Make field hold a list of user objects instead of a list of usernames [Carles Bruguera]
* Add maintenance endpoint to rebuild conversation subscriptions [Carles Bruguera]
* Update only fields defined in schema [Carles Bruguera]
* Add maintenance endpoint to rebuild subscriptions [Carles Bruguera]
* Fix bug that could give unwanted permissions sometimes [Carles Bruguera]
* Maintenance endpoint for user subscriptions to contexts [Carles Bruguera]
* Make context updates update all activities context references [Carles Bruguera]
* Make context tag updates update user's subscriptions [Carles Bruguera]
* Make context tag updates update activity's context references [Carles Bruguera]
* Add maintenance endpoint to rebuild activity keywords [Carles Bruguera]
* Store global activity keywords in a separate field [Carles Bruguera]
* Delete comment keywords on comment deletion [Carles Bruguera]
* Unify keyword generation [Carles Bruguera]
* case-insensitive usernames [Carles Bruguera]
* Allow tags field in activities [Carles Bruguera]
* filter activity queries by context_tags [Carles Bruguera]

3.5.4 (2013-10-29)
------------------

* Add conversations avatar endpoint [Carles Bruguera]
* Trim bad characters at the end of actor search [Carles Bruguera]
* Add endpoints to add/remove users to roles [Carles Bruguera]
* Reload security settngs on any change [Carles Bruguera]
* Fix ancient URI reference [Carles Bruguera]
* Add specific endpoints to manage context tags [Carles Bruguera]
* Test modify context overwrites tags [Carles Bruguera]
* Do not remove tags from user subscription data [Carles Bruguera]
* Add displayName and username parts to activity keywords [Carles Bruguera]
* Allow operations mutable to the tags attribute [Victor Fernandez de Alba]
* read limit as integer [Carles Bruguera]
* Unique based on username instead of full object [Carles Bruguera]
* Add displayName on conversation creation if provided [Carles Bruguera]
* Add objectType to errors [Carles Bruguera]

3.5.3 (2013-10-03)
------------------

 * Send restart request time in the body [Carles Bruguera]
 * Initialize always to a empyt dict [Carles Bruguera]
 * Typo in endpoint [Victor Fernandez de Alba]
 * Relax the device token guard [Victor Fernandez de Alba]

3.5.2 (2013-09-17)
------------------

 * Rerelease


3.5.1 (2013-09-13)
------------------

 * Guard on token len [Victor Fernandez de Alba]
 * Add defaults to get tokens endpoint [Victor Fernandez de Alba]

3.5 (2013-09-10)
----------------

 * Bye bye celery [Victor Fernandez de Alba]
 * Delete log prints and fix rabbit url [Carles Bruguera]
 * Cleanup and make use of defined rabbitmq ports [Carles Bruguera]
 * Add tests for duplicated people in conversations [Carles Bruguera]
 * Add unrestricted get /context/{hash} [Carles Bruguera]
 * Updated report [Carles Bruguera]
 * Add permission reset on context subscription docs [Carles Bruguera]
 * Updated expected responses [Carles Bruguera]
 * Fix status codes [Carles Bruguera]
 * Test and finish reset user context permissions [Carles Bruguera]
 * Exception log in tests #awesomenesoftheday [Carles Bruguera]
 * Change grants/vetos location outside permissions [Carles Bruguera]
 * Fix tests [Carles Bruguera]
 * Adapt delete permissions check [Carles Bruguera]
 * Adapt canWriteInContexts to new permission name schema [Carles Bruguera]
 * Return the susbcription with the updated permissions [Carles Bruguera]
 * Return new permissions [Carles Bruguera]
 * Check for the present of the grant, not the permission itself [Carles Bruguera]
 * refactor grant/revoke permission for user in context * Now explicit grants on a permission are marked with a (+) prefix and revokes with a (-) [Carl
 * Calculate subscription permissions, joining defaults, grants and revokes [Carles Bruguera]
 * Deepcopy the flattened copy, cannot deepcopy nested models [Carles Bruguera]
 * Update subscriptions on modify context permissions [Carles Bruguera]
 * Deprecate maxrules tests, renamed to old [Victor Fernandez de Alba]
 * Added server_id parameter to identify the maxserver who emits the message. [Victor Fernandez de Alba]
 * Add deletable mark to comments [Carles Bruguera]
 * Add admin version of delete a comment [Carles Bruguera]
 * Add endpoint to delete a comment by a user [Carles Bruguera]
 * Update tests for correction made previously in post as context endpoint [Victor Fernandez de Alba]
 * Don't require a context to post as a context [Carles Bruguera]
 * Regenerate expected responses without totalItems pattern [sunbit]
 * Fix script to allow jsons starting with array [sunbit]
 * Remove totalItems and items pattern from doctests [sunbit]
 * Refactored to use simple arrays instead of totalItems [sunbit]
 * Fix not restarting on creating Fix imports [sunbit]
 * Restart Tweety process when changing or creating twitterUsername field [sunbit]
 * Add callback after saving a MadObject [sunbit]
 * Add call to restart tweety process via a rabbit queue [sunbit]
 * Move getting the talK_server out of rest code [sunbit]
 * Document new delete permission [sunbit]
 * Update expected results with last fields additions [sunbit]
 * Add displayName to public /people [sunbit]
 * Added new filter options for maxtweety [Victor Fernandez de Alba]
 * Add non-persistent "deletable" attribute to activities Add delete permission to contexts to allow non-owners to delete activities Allow granting del
 * Add displayName to rabbitmq notifications [sunbit]
 * Remove unused import [sunbit]
 * pep8 [sunbit]
 * Add username to the list of push tokens. [Victor Fernandez de Alba]
 * Added back the auth for the new endpoint [Victor Fernandez de Alba]
 * Added new admin endpoint for querying push tokens for a conversation. [Victor Fernandez de Alba]
 * Back to development: 3.4.5 [Victor Fernandez de Alba]
 * Fix manifest [Victor Fernandez de Alba]

3.4.4 (2013-08-02)
------------------

 * Improve the image resizing&cropping. [Victor Fernandez de Alba]
 * Documentation of the upload avatar endpoint [Victor Fernandez de Alba]
 * Use greenlets always in case we are using cluster [Victor Fernandez de Alba]
 * Fix images as png and default avatars folder [Victor Fernandez de Alba]
 * Refactor the MaxResponse part for make it cluster-aware. [Victor Fernandez de Alba]
 * Updated get user's profile avatar. [Victor Fernandez de Alba]
 * Fix comment in decorator [Victor Fernandez de Alba]
 * New endpoint for uploading user's avatar. [Victor Fernandez de Alba]
 * Eliminate the validation of the ios token. [Victor Fernandez de Alba]
 * Fix android store token, no validation on android tokens [Victor Fernandez de Alba]
 * Added documentation for the new endpoints. [Victor Fernandez de Alba]
 * New endpoints to store and delete device tokens for push notifications. [Victor Fernandez de Alba]
 * New user model added new properties to handle devices tokens for push notifications [Victor Fernandez de Alba]
 * Add properties to user model [Victor Fernandez de Alba]

3.4.3 (2013-07-01)
------------------

 * Add new endpoint for return the subscribers given a context
 * Fix tests


3.4.2 (2013-06-21)
------------------

 * Extract maxrules and transfer it to its own package

3.4.1 (2013-06-19)
------------------

 * Add a setting to specify the maxtalk server

3.4 (2013-06-18)
------------------

 * STOMP enabled
 * Merge long run newpermissionmodel/conversations/stomp branch into develop/master

3.3.2 (2013-06-13)
------------------

 * Add support for MongoDB cluster.

3.3.1 (2013-06-04)
------------------

 * Add compatibility with the Osiris oauth server and added fallback for legacy
   oauth servers

3.3 (2013-06-04)
------------------

 * Add debug tools
 * Delete activities
 * DELETE and PUT requests tunneling
 * Timeline and contexts authors list
 * HEAD requests include totalItems count
 * Strip tags from content
 * Public contexts search with tags
 * Add beaker cache to oauth requests
 * BUGFIX: Rollback on failed conversation creation
 * Catch exceptions in a log with a bigmax permalink
 * Documentation report system an rebuilder
 * Group conversations
 * Automatically map model classes to collections
 * Match the package version to the MAXUI version

3.0 (2013-04-15)
----------------

 * Conversations with socket.io
 * Improved tests and documentation
 * Cleanup
 * Unsubscribe from contexts
 * Creation and ownership fields
 * Route unification of /admin and /* endpoints
 * New security implementation fully based on oauth2 and roles on db
 * Public contexts


2.0 (2012-03-01)
----------------

 Added this new features:

 * oAuth based user authentication against a oAuth 2.0 server compliant using *Resource owner password credentials* flow
 * oAuth user - activity actor validation
 * App hooks dirven apps
 * Restricted-API access for app driven hooks
 * Support for restricted-API users and its management UI


1.0 (2011-12-1)
---------------

Initial version, featuring:

 * Compatibility with activitystrea.ms standard
 * RESTful API
 * Add activity (post)
 * Add coment to any activity
 * Follow users
 * Subscribe to URL based contexts
 * Display user timeline
 * No support for oAUTH
 * No support for user profiles
 * User photos resources hardcoded and stored in fs

