## 3.3.3 (2012-08-21) * allow selective bulk_sync source parameter to be sent as a comma-separated string ## 3.3.2 (2012-07-26) * D-01571 - 'message' push param should be 'alert' ## 3.3.1 (2012-07-19) * #33021139 - ping test page doesn't send sound parameter * disable sqlite3 dependency by default so applications deploy on heroku without modification * #28696971 - select which models to bulk sync * cleaner layout on statistics page ## 3.3.1.beta4 (2012-07-17) * #32952425/EMBPD00067402/EMBPD00067382 - rhoconnect startbg fails on windows ## 3.3.1.beta3 (2012-07-17) * #32933277 - use explicit ~> 0.9.2.2 rake dependency * integrate help content into pages of web console ## 3.3.1.beta2 (2012-07-09) * #29806209 - Store re-design - implement persistent hashing * #32389009 - Store re-design - optimize sync by computing diffs only for the requested number of objects (as specified by page_size) * #26876157 - push: auth route added `/ans/login` * #26892609 - push: queue support * #31863031 - push: handle token post `device_push_type` attribute * #32483159 - update web console to use RC v1 routes ## 3.3.1.beta1 (2012-06-29) * #29796429 - use list to preserve bulk data sources order * #29743645 - do not execute ping when platform is not configured * #27198669 - REST API routes * #27422451 - Create middleware to extract API token, current user, etc. * #27198831 - Move API_TOKEN from params into the header * #27198869 - Move CLIENT_ID from params into the header * #30760809 - Bug move appserver to redis from memory and config settings * #30732533 - dtach-install command fails * Added `version` command to print current version * #31161737 - PingJob handles missing user ids or users with no clients * #31245585 - blob_attribs in bulk database missing overwrite flag ## 3.2.1 (2012-06-22) * #30760809 - Bug move appserver to redis from memory and config settings * #27555029 - support REDISTOGO_URL in addition to REDIS env vars as redis connection strings ## 3.2.0.final (2012-05-15) * Release candidate ## 3.2.0.beta5 (2012-05-14) * #29570143 - Disable Async Mode if RhoConnect app is started with Debugger ## 3.2.0.beta4 (2012-05-10) * #29112553 - adding 'bundle exec' to shelled-out ruby commands * #29050981 - replaced 'sh' to 'system' in rhoconnect commands to avoid Rake::DSL warnings * #29411157 - removed custom eventmachine gem dependency * #29413841 - removing 'thin' from JRuby config ## 3.2.0.beta3 (2012-05-04) * #28922571 - loading feedback msg console * #28923039 - add pre tags around json values (console) * #28992255 - fixing windows background commands * #29049115 - execute 'bundle install' automatically after the app is generated * #29051271 - verbose incoming headers logging * #29049681 - print warning if 'async-rack' dependency doesn't exist * #29092021 - EventMachine segfaults on Windows with Ruby 1.9.3-p194 ## 3.2.0.beta2 (2012-05-02) * 28571961 fix jasmine tests * #28496779 - remove rhoconnect_api.rb and all of its references * #28563163 - bug fix : it should not be allowed to create a User with empty login * #28528841 - Ping should process all clients and report cumulative error at the end * Empty 'queue_updates' request should trigger processing of the CUD queue * #28094895 - Zendesk ticket #2354: Bulk sync not updating sources table (fields 'last_inserted_size' and 'backend_refresh_time' now updated) * #28855323 - Bulk Sync Associations from Zendesk ticket #2377 * #28576723 - dpkg lock error on Ubuntu install * #28094895 - Zendesk ticket #2354: Bulk sync not updating sources table (fields 'last_inserted_size' and 'backend_refresh_time' now updated) * #28865579 - Async dependencies are not properly initialized on Windows (need to add :mingw_19 to the list of platforms in Gemfile) * Rhoconnect production stack updated to latest stable version of ruby, redis, and nginx: ruby-1.9.3-p194, redis-2.4.12, nginx-1.2.0. ## 3.2.0.beta1 (2012-04-20) * Rhoconnect commands (replacement for rake tasks) * Async framework is introduced for rubies 1.9.x (no 1.8.7 or JRuby support) * 26384435 - Rhoconnect Linux installer should use ruby-1.9.3-p125 as a default ruby * 27612327 - Bulk Sync Not Returning Errors from Zendesk ticket #2336 * Rhoconnect production stack is updated for full support of async framework (nginx as reverse proxy server, thin app server) * #28219647 - Schema Change Error from Zendesk ticket #2353 * #28328057 - Feature Request: Adding a Bulk Data Job after_perform hook from Zendesk ticket #2367 * #28330213 - Implementing fast_insert/update/delete API * #27051649 - Rhoconnect Console is re-worked using Twitter.Bootstrap ## 3.1.2 (2012-04-02) * #19297819 - Refactor server middleware loading to be static * #25292219 - Ensure that Store.get_zdata always returns valid array (even if it is empty) * #26310661 - No test_search * #26868157 - bug in install.sh in rhoconnect installer * #26384435 - Replace in rhoconnect installer Ruby Enterprise by latest stable Ruby 1.9.3 * #27184633 - Fixing error with recursive loading of application.rb in ruby-1.8.7 and ree * use redis 2.4.10 by default ## 3.1.1 (2012-02-07) * Fix Zendesk issue: Rack 1.4.1 and Sinatra 1.3.2 produce 502 error with Heroku deployment (tickets 2147, 2155, 2153) ## 3.1.0 (2012-01-31) * #23977723 - Bug fix (Rspec examples fails for both Ruby 1.8.7 and ree-2011.12 (p357)) * #23982399 - Add to RhoConnect installer support for ree 2012.01 * Support of latest versions of Ruby (Ruby 1.8.7 and ree-2011.12 (p357), Jruby-1.6.5.1) on Linux and Mac OS X platforms ## 3.1.0.beta2 (2012-01-24) * #21859561 - bug fix (Sync With Sugar CE Brings No Records and Generates An Error from Zendesk ticket #1871) * #22399583 - bug fix (Creates are happening multiple times for the same data from Zendesk ticket #1964) * #22765085 - 1.9.3 Ruby support - all platforms (Mac,Linux,Windows) * #22801803 - support rack 1.4 (bundle dependency '~> 1.4.1') * #22965211 - bug fix (startbg, startdebug tasks do not work with Ruby 1.9.x) * #23100341 - bug fix (large JSON input is lost in rack, Ruby 1.9.x) * #23634587 - bug fix (related data models not getting updated from Zendesk ticket #2098) * #23641249 - Update Rhoconnect .NET sample with final code * #23625065 - Bug fix (Installing Rhoconnect from Zendesk ticket #2101) * #23641103 - .NET plugin needs to have an ability to be partitioned by app * #23641329 - JAVA plugin needs to have an ability to return "app" partition * #23638123 - Checking for duplicate creates from Zendesk ticket #2097 * #21237229 - Docs for rhoconnect-benchmark commands * #23767161 - Bug fix (java-plugin doc fails to index with indextank) * Added code coverage for Ruby 1.9 (gem 'simplecov') ## 3.1.0.beta1 (2011-12-31) * #20396499 - saving rhoconnect-benchmark results into the file * #21630639 - rhoconnect-benchmark post-processing (GRUFF png images and EXCEL spreadsheets generation) * #21363347 - rhoconnect-benchmark - support for varying the number of concurrent clients and payload, distributed AWS clients * #20151369 - rhoconnect-benchmark command * #21187827 - support for built-in internal adapters * #22208995 - AWS Cloud Formation deployment guidelines docs * #22209097 - Conflict Resolution framework for simultaneous CUD operations ## 3.0.6 (2011-11-15) * #20022889 - support for GET/POST /api/application routes * #20609683 - support 'append' parameter in 'set_db_doc' REST API * #20910767 - fix for params modification in before filter (#1802,#1804) and fixing incorrect blob create spec * #20917129 - adding spec for checking 'Cache-Control:no-cache' and 'Pragma:no-cache' response headers ## 3.0.5 (2011-10-21) * use redis 2.4 by default * #17447481 - auto-renewal of expired C2DM tokens * #19723593 - re-creating Client if clientregister call is made with unknown client id ## 3.0.4 (2011-10-13) * #19675957 - fixing broken task :set_admin_password ## 3.0.3 (2011-10-13) * #19304885 - fixing race condition in get_lock (lock is released between setnx and get calls) * #18508155 - on failed syncs allow the user to retry it up to pre-defined number of times (another approach) ## 3.0.2 (2011-10-05) * #19143845 - support sinatra 1.3.x ## 3.0.1 (2011-10-04) * fix to lock in sinatra 1.2.7 ## 3.0.0 (2011-09-30) * #18888077 - implement Redis transactions optimization for push_objects and push_deletes * added 2 rake tasks (build:rpm and build:deb) to generate packaged software for popular linux servers (CentOS/Ubuntu). The package includes ruby enterprise, redis and nginx servers, passenger, and rhoconnect gem with all dependencies * #19116273 - created new redis:startbg task for Rhostudio ## 3.0.0.rc1 (2011-09-27) * load sqlite3 gem on demand, fixes issue with generator requiring it * #18934311 - create :startbg task for Rhostudio ## 3.0.0.beta3 (2011-09-23) * #18672811 - edge case produces race condition which leads to corruption of Store data * #18508155 - on failed syncs allow the user to retry it up to pre-defined number of times ## 3.0.0.beta2 (2011-09-14) * #17830175 - moved SystemTimer in application's Gemfile so rhoconnect gem isn't specific * #13303895 - Generating a new source with 'rhosync source ' deletes sections in settings.yml * #10313437 - support source settings per environment ## 3.0.0.beta1 (2011-09-01) * #1018 user delete now iterates through user sources and deletes data in redis * #11102931 ping api accepts vibrate string and int * #7197617 test spec helpers support pass through * #11944605 implemented pass through feature * #4397476 wrapped login/logoff around cud spec helpers * backtrace logging in source adapter method exceptions * returning string in authenticate instead of true sets the current user login name (Useful for OAuth2) * #11904353 - fixed broken 'rake console' task, added new 'rhosync' namespace: 'rake rhosync:console' * #12105115 - removed unnecessary log4r dependency * added bundler to manage gem's dependencies, migrated from rspec1 to rspec2 * #5687948 - fixed issue "iPhone push specs failed" * use redis 2.2.14 by default * added SystemTimer gem dependency (used only on posix systems) * #13616807 - Rake task spec:all fails for enterprise ruby (ree) * #13776713 - Rake -v 0.9.0 breaks rhosync rake tasks * #14514773 - REST API push_object, push_deletes :md_size count fix * #5687948 - fixed issue "iPhone push specs failed" * #12854737 - string vs. symbol problem in ruby 1.9 model.rb (contribute to ruby 1.9 support) * #11692191 - ruby 1.9 support * #2020980 - Test on JRuby. Code reworked to fully support JRuby platform. * #14087743 - Merging the /login and /get_api_token methods. * #14713569 - Moving all Server REST API calls into namespaces. * #14284841 - Merge ruby_19 branch into master * #14784949 - Suppress rake -v 0.9.2 warning messages while running tasks. * #3174947 - RESTful routes for client management * #14968209 - Generated Specs are failing on 2nd generated source * #15270505 - sqlite3 is not listed as a dependency of rhosync gem (3.0.0) * #15143911 - Schema Changed message from Zendesk ticket #1035 (merge from branch 2-1-stable 2.1.9) * #14950665 - Benchmark application and libraries: rework REST calls to match new API restful routes. * #14860303 - In bench tests x_domain_session_wrapper middleware not working under ruby 1.9.2. * #15615327 - Rhoconnect migration * #15730829 - added migration guidelines doc * #14286067 - jruby rhosync:start : console doesn't work * #14286249 - jruby WAR file deployed , some of the links are broken in console window, should use the relative paths * #14285867 - jruby rhosync:start should have run with dtach * #17526603 - implement clientreset support for specified sources * #16628143 - implement 'ping' for multiple users at once in REST API * #18003071 - enhancing console to support multi-user ping * #10313437 - source settings per environment (also applied to dynamic adapters) * #18356697 - store lock is never released (bug fix) ## 2.1.10 (2011-08-17) * #16001227 - raise exceptions on c2dm errors * #1018 - delete read state for user as well ## 2.1.9 (2011-07-01) * #15143911 - Fix for incident schema changed message ## 2.1.8 (2011-06-29) * #1018 - added functionality to delete user source data on user delete * updated to rake 0.9.2 * #14911833 - Add support for rolling back updates on sync errors ## 2.1.7 (2011-05-31) * #14021681 - check for client on client_sync class methods * #14082861 - expose Store.lock timeout to high-level functions * #14082589 - fixed source loading so a unique instance is loaded * #14124195 - concurrency issue under load for same user via push_objects api * #14511763 - added global options `raise_on_expired_lock` (true/false) and `lock_duration` (sec) settings ## 2.1.6 (2011-05-25) * #13830841 - fixed issue where current_user.login doesn't match @source.user_id ## 2.1.5 (2011-05-24) * #13578473 - fixed "undefined method `user_id' for nil:NilClass" error in server.rb ## 2.1.4 (2011-05-20) * #13354369 - bug fix "rhosync bootstrap process shouldn't store sources in redis" ## 2.1.3 (2011-05-05) * #4398193 - ping should only send push messages to unique device pin list * #13022667 - settings.yml doesn't work for setting external Redis instances ## 2.1.2 (2011-03-18) * Use server-dir/redis.conf if not found at RedisRunner.prefix (via artemk) * #8471337 - switch client user if it is not equal to current_user * Upgrade rest-client dependency which includes cookie escape fix * #10097347 - generate cryptographically secure secret key by default * Fixed 'application/json; charset=UTF-8' content handling in the server before filter * #11017509 - fixed sinatra 1.2 incompatibility with url() helper * #4569337 - use redis 2.2.2 by default * #4398193 - ping should only send push messages to unique device pin list ## 2.1.1 (2011-01-04) * #7679395 - added support for gzipped bulk data files * #8167507 - fixed typo in console login page * #7025387 - customizable redis.conf for windows ## 2.1.0 * #4302316 - don't allow set blank admin password * #5672322 - stats for user count * #5672316 - stats for device count * #5717916 - stats api call * #5821277 - http stats by source not showing * #5899454 - move lock prefix to beginning so we don't return stats keys with it * #5822966 - bulk sync data file cannot handle space in the username * #6450519 - blob sync resend_page doesn't send metadata * #4646791 - cryptic error message if client exists, but source name is bogus * #6827511 - fill in schema column in bulk sync file sources table * #4490679 - support schema method in source adapter (runtime schema for bulk data) * #6573429 - if schema changed in any adapter, invalidate bulk data file * #7034095 - don't ping device if device_pin is empty or nil * #7089047 - fixed application.rb template store_blob method * #7055889 - fixed schema tables should have 'object' primary key * #6011821 - try to make bin_dir on redis:install and dtach:install ## 2.0.9 (2010-10-14) * #5154725 - stats framework * #5013521 - new web interface style * #5615901 - fixing hsqldata bulk data file format * #5672140 - http request timings middleware * #5672148 - source adapter execution timings * #5620719 - session secret override didn't work * #3713049 - added support for Android Cloud to Device Messaging ## 2.0.8 (2010-10-08) * #5185540 - don't try to load licensefile if env var exists * #5246936 - changed settings.yml-belongs_to format to use array instead of hash * #5578580 - allow Store.db to accept an existing redis object (useful for overriding redis settings) ## 2.0.7 (2010-09-13) * #4893692 - fixed infinite search loop * search properly handles multiple page results ## 2.0.6 (2010-08-25) * #4701421 - dbfile url has junk characters * #4731763 - support 'apple' device type, deprecate 'iphone' device type * #4763532 - sound was missing from BB pap message ## 2.0.5 (2010-08-10) * #4650808 - use ENV['RHOSYNC_LICENSE'] if it exists * #4650820 - added UI checkbox for direct api calls ## 2.0.4 (2010-08-04) * #3624650 - support redis-rb ~>2.0.0 * #4480303 - support connection to redis uri, if ENV[REDIS_URL] exists * #4565808 - support direct ruby api calls ## 2.0.3 (2010-07-21) * #4379293 - don't fail ping job if device type is nil or empty, just skip the device ## 2.0.2 (2010-07-16) * #4236653 - add confirmation to console and task reset * #3582679 - added rhosync:set_admin_password task ## 2.0.1 (2010-07-01) * #4124559 - rake redis:install fails due to redis build changes, require 1.3.12 for now * #4094373 - default task is now rhosync:spec ## 2.0.0.rc2, 2.0.0 (2010-06-28) * #4040573 - sqlite3-ruby v1.3.0 breaks bulk data tests, require ~>1.2.5 for now ## 2.0.0.rc1 * dupe tag of 2.0.0.beta13 ## 2.0.0.beta13 * #3417862 - namespacing issue with HashWithIndifferentAccess ## 2.0.0.beta12 * #3851464 - log every error in client post parsing * #3795105 - store associations in sources table for bulk data ## 2.0.0.beta11 * #3850478 - fix hardcoded hsqldata.jar path ## 2.0.0.beta10 * #3662891 - adding rhosync:flushdb rake task * #3742919 - fixing sources json structure according to http://wiki.rhomobile.com/index.php/Rhom#Source_Configuration_Protocol * #3740205 - changed default admin user to 'rhoadmin' ## 2.0.0.beta9 * #3565139 - return better error message if client/source is unknown * #3616601 - added blob_attribs to bulk data job file * #3576126 - added expire_bulk_data source adapter method * #3576151 - trigger new bulk data job if any relevant dbfiles are missing * #3707791 - fixing ROOT_PATH problem on windows ## 2.0.0.beta8 * #3685476 - CGI escape api cookies ## 2.0.0.beta7 * #3651932 - support redis:* tasks on windows and linux/mac * #3663335 - don't need ENV['PWD'] in tasks.rb ## 2.0.0.beta6 * no new changes, rubygems.org upload failed for 2.0.0.beta5 ## 2.0.0.beta5 * #3628036 - support loading generator from gem ## 2.0.0.beta4 * #3316030 - added rspec test framework * #3557341 - create new bulk data instance if the file is missing * #3415335 - support fixed schema models * #3582235 - report error if client-posted json doesn't parse (instead of crashing server) ## 2.0.0.beta3 * #3316030 - added source adapter spec helper + infrastructure * #3475519 - return exception string on 401 / 500 login errors * #3513037 - re-animated bulk sync feature * #3511533 - added stash_result source adapter utility - useful for huge datasets * #3539092 - added rake rhosync:web task ## 2.0.0.beta2 * #3416343 - unify rake tasks to work on windows & Mac OS / *nix ## 2.0.0.beta1 * New implementation of RhoSync using redis storage engine * Support for modular routes (console & resque frontend optional) * Bulk Data synchronization * REST api for server management