{"action":"published","release":{"url":"https://api.github.com/repos/couchbase/couchbase-lite-java-core/releases/2534083","assets_url":"https://api.github.com/repos/couchbase/couchbase-lite-java-core/releases/2534083/assets","upload_url":"https://uploads.github.com/repos/couchbase/couchbase-lite-java-core/releases/2534083/assets{?name,label}","html_url":"https://github.com/couchbase/couchbase-lite-java-core/releases/tag/1.2.0","id":2534083,"tag_name":"1.2.0","target_commitish":"release/1.2.0","name":"1.2.0","draft":false,"author":{"login":"zgramana","id":759830,"avatar_url":"https://avatars.githubusercontent.com/u/759830?v=3","gravatar_id":"","url":"https://api.github.com/users/zgramana","html_url":"https://github.com/zgramana","followers_url":"https://api.github.com/users/zgramana/followers","following_url":"https://api.github.com/users/zgramana/following{/other_user}","gists_url":"https://api.github.com/users/zgramana/gists{/gist_id}","starred_url":"https://api.github.com/users/zgramana/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zgramana/subscriptions","organizations_url":"https://api.github.com/users/zgramana/orgs","repos_url":"https://api.github.com/users/zgramana/repos","events_url":"https://api.github.com/users/zgramana/events{/privacy}","received_events_url":"https://api.github.com/users/zgramana/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2016-02-04T03:37:54Z","published_at":"2016-02-04T06:55:43Z","assets":[],"tarball_url":"https://api.github.com/repos/couchbase/couchbase-lite-java-core/tarball/1.2.0","zipball_url":"https://api.github.com/repos/couchbase/couchbase-lite-java-core/zipball/1.2.0","body":"As part of this release we had [207 commits](https://github.com/couchbase/couchbase-lite-java-core/compare/1.1.0...1.2.0) which resulted in [109 issues](https://github.com/couchbase/couchbase-lite-java-core/issues?milestone=6&state=closed) being closed.\r\n\r\n\r\n__Performance Improvements__\r\n- [__#704__](https://github.com/couchbase/couchbase-lite-java-core/issues/704) ForestDB storage Performance improvement\r\n- [__#749__](https://github.com/couchbase/couchbase-lite-java-core/issues/749) Slow when creating a BlobStore with a secure random generated key \r\n- [__#801__](https://github.com/couchbase/couchbase-lite-java-core/issues/801) Replace JNI-based JSON collation with ICUC\r\n\r\n__Enhancements__\r\n- [__#321__](https://github.com/couchbase/couchbase-lite-java-core/issues/321) Test CBForest storage engine\r\n- [__#417__](https://github.com/couchbase/couchbase-lite-java-core/issues/417) Add API to tell which documents haven't been pushed to the server\r\n- [__#435__](https://github.com/couchbase/couchbase-lite-java-core/issues/435) One shot replicator sends STOPPING state immediately after started replication \r\n- [__#535__](https://github.com/couchbase/couchbase-lite-java-core/issues/535) The replicator's setDocIds method doesn't filter the documents to push\r\n- [__#573__](https://github.com/couchbase/couchbase-lite-java-core/issues/573) Port Replication.stop() method from iOS\r\n- [__#576__](https://github.com/couchbase/couchbase-lite-java-core/issues/576) Changetracker does not automatically login again after expired session\r\n- [__#628__](https://github.com/couchbase/couchbase-lite-java-core/issues/628) Catch up latest (v1.1) SQLite table schema and SQL queries \r\n- [__#644__](https://github.com/couchbase/couchbase-lite-java-core/issues/644) Implement pluggable storage engine\r\n- [__#663__](https://github.com/couchbase/couchbase-lite-java-core/issues/663) Make available on JCenter\r\n- [__#681__](https://github.com/couchbase/couchbase-lite-java-core/issues/681) Catch up latest (v1.1) View.updateIndex() implementation\r\n- [__#682__](https://github.com/couchbase/couchbase-lite-java-core/issues/682) Add \"_conflicts\" property to doc in map function when doc is in conflict\r\n- [__#683__](https://github.com/couchbase/couchbase-lite-java-core/issues/683) [Request] Make Attachment.getContentURL() api public for android.\r\n- [__#688__](https://github.com/couchbase/couchbase-lite-java-core/issues/688) Expose CBLView.totalRows to public\r\n- [__#691__](https://github.com/couchbase/couchbase-lite-java-core/issues/691) Add BySequence to AllDocsOptions\r\n- [__#695__](https://github.com/couchbase/couchbase-lite-java-core/issues/695) Add replicator support for remote dbs with varying URLs\r\n- [__#697__](https://github.com/couchbase/couchbase-lite-java-core/issues/697) Complete CBForest-Java Implmentation and Test\r\n- [__#702__](https://github.com/couchbase/couchbase-lite-java-core/issues/702) Add support for SQLCipher\r\n- [__#703__](https://github.com/couchbase/couchbase-lite-java-core/issues/703) Implement ForestDB Storage Engine\r\n- [__#704__](https://github.com/couchbase/couchbase-lite-java-core/issues/704) ForestDB storage Performance improvement\r\n- [__#710__](https://github.com/couchbase/couchbase-lite-java-core/issues/710) Encrypt file attachments\r\n- [__#719__](https://github.com/couchbase/couchbase-lite-java-core/issues/719) Support SQLite encryption rekey feature\r\n- [__#720__](https://github.com/couchbase/couchbase-lite-java-core/issues/720) Support attachment encryption rekey\r\n- [__#722__](https://github.com/couchbase/couchbase-lite-java-core/issues/722) Migrating SQLite db to ForestDB\r\n- [__#733__](https://github.com/couchbase/couchbase-lite-java-core/issues/733) Enhance forestdb storage performance\r\n- [__#736__](https://github.com/couchbase/couchbase-lite-java-core/issues/736) Add retry queue for failed revisions in a bulk get\r\n- [__#760__](https://github.com/couchbase/couchbase-lite-java-core/issues/760) Sync iOS key derivation and encryption algorithm with iOS\r\n- [__#763__](https://github.com/couchbase/couchbase-lite-java-core/issues/763) Enable HTTP compression for _changes feed requests (non-continuous)\r\n- [__#801__](https://github.com/couchbase/couchbase-lite-java-core/issues/801) Replace JNI-based JSON collation with ICUC\r\n- [__#804__](https://github.com/couchbase/couchbase-lite-java-core/issues/804) Add official openDatabase API for encryption/storage options\r\n- [__#811__](https://github.com/couchbase/couchbase-lite-java-core/issues/811) Support encryption in ForestDB storage engine\r\n- [__#812__](https://github.com/couchbase/couchbase-lite-java-core/issues/812) Support unicode comparison with ICU for java\r\n- [__#813__](https://github.com/couchbase/couchbase-lite-java-core/issues/813) Support unicode comparison with ICU for AndroidSQLCipherStorageEngine\r\n- [__#816__](https://github.com/couchbase/couchbase-lite-java-core/issues/816) REST API /_changes with include_docs=true option does not handle the conflicted document\r\n- [__#819__](https://github.com/couchbase/couchbase-lite-java-core/issues/819) Support multiple sqlite configurations\r\n- [__#827__](https://github.com/couchbase/couchbase-lite-java-core/issues/827) Support encryption in ForestDBStore\r\n- [__#894__](https://github.com/couchbase/couchbase-lite-java-core/issues/894) Replication.docIds API discrepency\r\n- [__#939__](https://github.com/couchbase/couchbase-lite-java-core/issues/939) Optimize first-time sync\r\n\r\n__Bugs__\r\n- [__#301__](https://github.com/couchbase/couchbase-lite-java-core/issues/301) [Memory] compacting large database memory leak\r\n- [__#643__](https://github.com/couchbase/couchbase-lite-java-core/issues/643) Add conflict check in `PullerInternal.processChangeTrackerChange()`\r\n- [__#652__](https://github.com/couchbase/couchbase-lite-java-core/issues/652) Refactor Batcher class (Port latest codes from iOS)\r\n- [__#655__](https://github.com/couchbase/couchbase-lite-java-core/issues/655) Unique constraint violation in sqlite\r\n- [__#661__](https://github.com/couchbase/couchbase-lite-java-core/issues/661) BasicAuth with empty password causes ArrayIndexOutOfBoundsException\r\n- [__#664__](https://github.com/couchbase/couchbase-lite-java-core/issues/664) Creating authenticator with empty password throws ArrayIndexOutOfBoundsException\r\n- [__#670__](https://github.com/couchbase/couchbase-lite-java-core/issues/670) LiteServ crashed with Fatal signal 11 (SIGSEGV) when run cbl-large-revisions localy\r\n- [__#677__](https://github.com/couchbase/couchbase-lite-java-core/issues/677) Pulling attachments fail if document got a deleted revision in history\r\n- [__#689__](https://github.com/couchbase/couchbase-lite-java-core/issues/689) CBL Java build (unit test) failure on Jenkins\r\n- [__#696__](https://github.com/couchbase/couchbase-lite-java-core/issues/696) Support for CBLReplication.pendingDocumentIds\r\n- [__#699__](https://github.com/couchbase/couchbase-lite-java-core/issues/699) Inserting multiple attachments fails when push replication is active.\r\n- [__#700__](https://github.com/couchbase/couchbase-lite-java-core/issues/700) Build failure with CBL Java on jenkins\r\n- [__#706__](https://github.com/couchbase/couchbase-lite-java-core/issues/706) ClassCastException if a view uses an array as value\r\n- [__#707__](https://github.com/couchbase/couchbase-lite-java-core/issues/707) PullerInternal processInbox Issue\r\n- [__#709__](https://github.com/couchbase/couchbase-lite-java-core/issues/709) View update skips winning revisions\r\n- [__#712__](https://github.com/couchbase/couchbase-lite-java-core/issues/712) ReplicationTest.testAllLeafRevisionsArePushed() unit test failure with forestdb strage engine\r\n- [__#713__](https://github.com/couchbase/couchbase-lite-java-core/issues/713) BatcherTest.testBatcherWaitsForProcessorDelay2() fails\r\n- [__#717__](https://github.com/couchbase/couchbase-lite-java-core/issues/717) TestContinuousPushReplicationGoesIdleTooSoon causes native crash if unit test run from command line on OSX\r\n- [__#718__](https://github.com/couchbase/couchbase-lite-java-core/issues/718) Android-database-sqlcipher doesn't provide 64 bit binary\r\n- [__#723__](https://github.com/couchbase/couchbase-lite-java-core/issues/723) 401 status from server not being propagated to CBLReplication.lastError\r\n- [__#724__](https://github.com/couchbase/couchbase-lite-java-core/issues/724) Android build on Jenkins fails\r\n- [__#728__](https://github.com/couchbase/couchbase-lite-java-core/issues/728) Replicator should not stop by missing revisions\r\n- [__#729__](https://github.com/couchbase/couchbase-lite-java-core/issues/729) ApiTest:testViewWithLinkedDocs hangs when running unit tests with couchbase-lite-java\r\n- [__#731__](https://github.com/couchbase/couchbase-lite-java-core/issues/731) ForestDB storage cause native crush during push replication performance test with 200 docs\r\n- [__#735__](https://github.com/couchbase/couchbase-lite-java-core/issues/735) ApiTest.testConflict() test failure\r\n- [__#748__](https://github.com/couchbase/couchbase-lite-java-core/issues/748) Java doesn't support generating 256 bits key\r\n- [__#749__](https://github.com/couchbase/couchbase-lite-java-core/issues/749) Slow when creating a BlobStore with a secure random generated key \r\n- [__#750__](https://github.com/couchbase/couchbase-lite-java-core/issues/750) ReplicationTest.testPusherBatching() causes native crash with forestdb storage on ARM emulator API 19 (4.4.4)\r\n- [__#765__](https://github.com/couchbase/couchbase-lite-java-core/issues/765) ApiTest.testDatabaseCompaction passed with ForestDB Errors \r\n- [__#771__](https://github.com/couchbase/couchbase-lite-java-core/issues/771) BloblStoreTest failed on Windows\r\n- [__#780__](https://github.com/couchbase/couchbase-lite-java-core/issues/780) Closing database doesn't clear document cache\r\n- [__#791__](https://github.com/couchbase/couchbase-lite-java-core/issues/791) Invalid MIME body after starting pull replication\r\n- [__#809__](https://github.com/couchbase/couchbase-lite-java-core/issues/809) Jenkins: testMockPullBulkDocsSyncGw fails on Jenkins\r\n- [__#816__](https://github.com/couchbase/couchbase-lite-java-core/issues/816) REST API /_changes with include_docs=true option does not handle the conflicted document\r\n- [__#823__](https://github.com/couchbase/couchbase-lite-java-core/issues/823) SetMaxRevTreeDepth not working as intended after Compaction is called.\r\n- [__#824__](https://github.com/couchbase/couchbase-lite-java-core/issues/824) BulkDownloader[/db/_bulk_get]: executeRequest() Exception:  java.lang.IllegalStateException: _docReader is not defined\r\n- [__#826__](https://github.com/couchbase/couchbase-lite-java-core/issues/826) Database maxRevTreeDepth property should be public property or API\r\n- [__#829__](https://github.com/couchbase/couchbase-lite-java-core/issues/829) From code point of view, Database.getAllDocs(QueryOptions) is not compatible with iOS\r\n- [__#830__](https://github.com/couchbase/couchbase-lite-java-core/issues/830) Replication should stop immediately if error is not transient error.\r\n- [__#833__](https://github.com/couchbase/couchbase-lite-java-core/issues/833) Jenkins: testChangesFeedWithPurgedDoc cause native crash\r\n- [__#838__](https://github.com/couchbase/couchbase-lite-java-core/issues/838) TestContinuousPushReplicationGoesIdle hangs on Jenkins\r\n- [__#851__](https://github.com/couchbase/couchbase-lite-java-core/issues/851) In case ChangeTracker stops with HTTP 401, Continuous pull replicator does not stop\r\n- [__#852__](https://github.com/couchbase/couchbase-lite-java-core/issues/852) Cookie is not set for /{db}/_revs_diff with one shot push replication\r\n- [__#899__](https://github.com/couchbase/couchbase-lite-java-core/issues/899) Batcher not always execute tasks with work executor\r\n- [__#900__](https://github.com/couchbase/couchbase-lite-java-core/issues/900) Views Test failure on Windows when tested with ForestDB Storage Engine\r\n- [__#902__](https://github.com/couchbase/couchbase-lite-java-core/issues/902) Forestdb Transaction Error on Linux\r\n- [__#924__](https://github.com/couchbase/couchbase-lite-java-core/issues/924) Creating view with illegal name does not handle error appropriately.\r\n- [__#930__](https://github.com/couchbase/couchbase-lite-java-core/issues/930) CBLRequestWorker thread does write operation to Database\r\n- [__#934__](https://github.com/couchbase/couchbase-lite-java-core/issues/934) Pull replication failed for large pull\r\n- [__#935__](https://github.com/couchbase/couchbase-lite-java-core/issues/935) GrocerySync with ForesDB crashes during pull replication\r\n- [__#937__](https://github.com/couchbase/couchbase-lite-java-core/issues/937) ForestDB: Cause dead-lock by create docs from main thread during large pull replication\r\n- [__#941__](https://github.com/couchbase/couchbase-lite-java-core/issues/941) Push Replicator hangs under certain condition\r\n- [__#947__](https://github.com/couchbase/couchbase-lite-java-core/issues/947) ToDoLite with SQLCipher/ForestDB with Encription can not push attachment.\r\n- [__#954__](https://github.com/couchbase/couchbase-lite-java-core/issues/954) Conflict during putLocalDocument: Need to investigate\r\n- [__#961__](https://github.com/couchbase/couchbase-lite-java-core/issues/961) ReplicationTest failure on Windows by non-closed InputStream\r\n- [__#963__](https://github.com/couchbase/couchbase-lite-java-core/issues/963) Cannot pull changes after sync_gateway goes offline, then online\r\n- [__#964__](https://github.com/couchbase/couchbase-lite-java-core/issues/964) ToDoLite crashes during clear Cookie\r\n- [__#965__](https://github.com/couchbase/couchbase-lite-java-core/issues/965) [forestdb] All items not replicating between device and sync_gateway\r\n- [__#967__](https://github.com/couchbase/couchbase-lite-java-core/issues/967) Apply fix for iOS 1082 - Delete docs could cause missing undeleted docs in ForestDB view index\r\n- [__#971__](https://github.com/couchbase/couchbase-lite-java-core/issues/971) ForestDB exception in query iterator\r\n\r\n## Where to get it\r\nYou can download this release from [Couchbase.com](http://www.couchbase.com/nosql-databases/downloads#Couchbase_Mobile)"}}