 =======================================================================
 ==CHANGES.txt
 =======================================================================

Current Development

Release Report to go here

Apache Gora 0.6.1 Release - 05/09/2015 (dd/mm/yyyy)
Release Report - http://s.apache.org/l69

* GORA-436 Improve Source Code as Java 7 Compatible (Furkan KAMACI via lewismc)

* GORA-435 Clean Up Code and Fix Potential Bugs (Furkan KAMACI via lewismc)

* GORA-433 Non-Final Public Static Fields Should Be Final (Furkan KAMACI via lewismc)

* GORA-314 Implement TestDriver for AccumuloStoreTest e.g. TODO in class (lewismc)

* GORA-417 Deploy Hadoop-1 compatible binaries for Apache Gora (lewismc)

* GORA-432 Simplify if Statements (Furkan KAMACI via lewismc)

* GORA-386 Gora Spark Backend Support (Furkan KAMACI, talat, lewismc)

* GORA-429 Implement Maven forbidden-apis plugin in Gora (lewismc, rmarroquin)

* GORA-228 java.util.ConcurrentModificationException when using MemStore for concurrent tests (Yasin Kılınç, cihad güzel, lewismc)

* GORA-419: AccumuloStore.put deletes entire row when updating map/array field (gerhardgossen via lewismc)

* GORA-420: AccumuloStore.createSchema fails when table already exists (gerhardgossen via lewismc)

* GORA-427 Configure MongoDB ReadPreference and WriteConcern (drazzib)

* GORA-426 MongoDB cursor timeout on long running parse job (Alexander Yastrebov via drazzib)

* GORA-424 Cache cursor size to improve performance (Alexander Yastrebov via drazzib)

* GORA-423 BSONDecorator returns empty string for null field value (Alexander Yastrebov via drazzib)

* GORA-262 Add support for HTTPClient authentication in gora-solr (Furkan KAMACI via lewismc)

* GORA-384 Provide documentation on Gora Shims layer (lewismc)

* GORA-415 hadoop-client dependency should be optional in gora-core (hsaputra via lewismc)

* GORA-410 Change logging behavior to pass exception object to LOG methods (Gerhard Gossen via lewismc)

* GORA-330 Import Gora Gradle plugin (drazzib)


Apache Gora 0.6 Release - 12/02/2015 (dd/mm/yyyy)
Release Report - http://s.apache.org/gora-0.6

* GORA-406 Upgrade Solr dependencies to 4.10.3 (lewismc)

* GORA-407 Upgrade restlet dependencies to 2.3.1 for gora-solr (lewismc)

* GORA-388 MongoStore: Fix handling of Utf8 in filters (drazzib)

* GORA-375 Upgrade HBase to 0.98 (Talat UYARER via lewismc)

* GORA-389 MongoStore: Document or List mapping change cause NPE in clearDirty() (drazzib)

* GORA-390 Rework generated isXXXDirty methods. (drazzib)
 
* GORA-381 Fix Guava dependency mismatch post GoraCI (lewismc)

* GORA-374 Implement Rackspace Cloud Orchestration in GoraCI (lewismc)

* GORA-371 Exception setXIncludeAware UnsupportedOperationException (Viacheslav Dobromyslov (dobromyslov) via lewismc)

* GORA-378 Log error trace as well as error message in GoraRecordWriter (lewismc)

* GORA-376 Gora Cassandra doesn't accept user credentials for connection (Viju Kothuvatiparambil via lewismc) 

* GORA-372: Fixed runtime error with the slf4j-api version conflict. (Viacheslav Dobromyslov (dobromyslov) via hsaputra)

Apache Gora 0.5 Release - 15/09/14
Release Report - http://s.apache.org/0.5report

* GORA-369 Obtain consistent formatting of all pom.xml's (lewismc)

* GORA-346 Create shim layer to support multiple hadoop versions (Moritz Hoffmann, rmarroquin, hsaputra, Mikhail Bernadsky via lewismc)

* GORA-73 Merge goraci testing suite with master branch (kturner, enis via lewismc)

* GORA-353 Accumulo authentication token serialized incorrectly (Chin Huang via lewismc)

* GORA-167 forward port of Make Cassandra keyspace consistency configurable within gora.properties (rmarroquin via lewismc)

* GORA-364 MemStore.get fails with NPE when key is not set (Gerhard Gossen via lewismc)

* GORA-361 AvroUtils.deepClonePersistent needs to flush BinaryEncoder (Gerhard Gossen via hsaputra)

* GORA-351 Multiple Slf4j logging implementations in parent pom.xml (lewismc)

* GORA-234 Javadoc and java annotations in gora-core base (abstract) classes needs to be corrected (tpalsulich via lewismc)

* GORA-349 Update Datastore specific mapping documentation with new default root element (MJJoyce) via lewismc

* GORA-241 Properly document WebServiceBackedDataStore Interface (Tyler Palsulich)

* GORA-347 Column attributes should be obtained using the column name and not the field name. (kaveh minooie, rmarroquin)

* GORA-348 - Using query for Avro Unions in Cassandra doesn't fully work (rmarroquin)

* GORA-XX Attemtpt to resolve javax.servlet classloading issue within gora-solr (lewismc)

* GORA-339 Upgrade solr dependencies to 4.8.1 (lewismc)

* GORA-341 - Switch gora-orm references to gora-otd in tutorial (MJJoyce via lewismc)

* GORA-332 fix record.vm template to generate deepCopyToReadOnlyBuffer method (drazzib aka Damien Raude-Morvan via hsaputra)

* GORA-331 Gora 0.4 compiler crash with "enum" type (drazzib aka Damien Raude-Morvan via hsaputra)

* GORA-336 MongoFilterUtil: missing ref link when creating new instance of factory (drazzib via lewismc)

* GORA-260 Make Solrj solr server impl configurable from within gora.properties (lewismc)

* GORA-199 MongoDB support for Gora ( Damien Raude-Morvan)

* GORA-333 Move README to markdown for better rendering on Github (lewismc)

* GORA-329 Update all SCM links in * pom.xml's (lewismc)

* GORA-325 Add Gora 0.4 Javadoc to site (lewismc)

Gora 0.4 release: (14/04/2014)
Release Report: http://s.apache.org/4lx

* GORA-201 Upgrade HBase to 0.94.13 (various)

* GORA-292 Upgrade dependency to Accumulo 1.5 (Akber Choudhry via lewismc)

* GORA-245 Upgrade to Avro 1.7.X in gora-cassandra (lewismc, Talat, Uyarer, rmarroquin)

* GORA-94 Upgrade to Apache Avro 1.7.x (Ed Kohlwey, lewismc, ferdy, yasin tamer, alparslanavci, Talat Uyarer, rmarroquin)

* GORA-106 Migrate Gora website documentation to Apache CMS (lewismc)

* GORA-296 Improve 'Keyclass and nameclass match' logging in HBaseStore (rmarroquin via lewismc)

* GORA-246 Upgrade to Avro 1.7.X in gora-hbase (Alparslan Avcı, rmarroquin, lewismc via lewismc)

* GORA-154 delete() method is not implemented at CassandraStore, and always returns false or 0 (rmarroquin via Kazuomi Kashii)

* GORA-204 Don't store empty arrays in CassandraClient#addGenericArray(), addStatefulHashMap() and CassandraStore#addOrUpdateField(rmarroquin via lewismc)

* GORA-303 Upgrade to Avro 1.7.X in gora-solr (Talat UYARER)

* GORA-253 Add Facebook, Linkedin, Google+, Twitter, etc plugins to website (lewismc)

* GORA-244 Upgrade to Avro 1.7.X in gora-accumulo (Akber Choudhry via lewismc)

* GORA-306 Ssn field is not nullable in Employee's Avro Schema (Talat UYARER via lewismc)

* GORA-171 Implement Daily Rolling File Appender for localised Gora logging (lewismc)

* GORA-119 implement a filter enabled scan in gora (ferdy, kturner, enis, Tien Nguyen Manh via lewismc)

* GORA-231 Provide better error handling in AccumuloStore.readMapping when file does not exist. (apgiannakidis via lewismc)

* GORA-283 Specify field name for types not being considered in gora-cassandra (lewismc)

* GORA-285 Change logging at o.a.g.mapreduce.GoraRecordWriter from INFO to WARN (lewismc)

* GORA-117 gora hbase does not have a mechanism to set the caching on a scanner, which makes for poor performance on map/reduce jobs (alfonsonishikawa)

* GORA-281 More flexible file locations for cassandra's config and log4j (Nate McCall via hsaputra)

* GORA-275 Update Gora stores to pass conf when creating instance of PartitionQueryImpl (Damien Raude-Morvan via hsaputra)

* GORA-270 IOUtils static SerializationFactory field (Damien Raude-Morvan via hsaputra)

* GORA-268 Make GoraCompiler the main manifest attribute in gora-core (Apostolos Giannakidis via lewismc)

* GORA-265 Support for dynamic file extensions when traversing a directory (Apostolos Giannakidis via lewismc)

* GORA-264 Make generated data beans more java doc friendly (Apostolos Giannakidis via lewismc)

* GORA-222 upgrade jackson version to 1.6.9 (rherget via lewismc)

* GORA-232 DataStoreTestBase should delegate all functionality to DataStoreTestUtil (Apostolos Giannakidis via lewismc)

* GORA-259 Removal of the main methods from the test case classes (Apostolos via hsaputra)

* GORA-229 Use @Ignore for unimplemented functionality to identify absent tests (Apostolos Giannakidis via lewismc)

* GORA-258 writeCapacUnits gets value from wrong attribute (Apostolos Giannakidis via lewismc)

* GORA-256 Add Solr store to gora-tutorial (Scott Stults via lewismc)

* GORA-9 Implement a Solr-based store (ab, lewismc, Scott Stults)

* GORA-237 Gora Compiler usage message for LPGL v3 mentions v2.1 (David Medinets via lewismc)

* GORA-230 Change logging behavior in AccumuloStore to pass exception object to LOG.error method. (David Medinets via lewismc)

* GORA-185 Remove ANT scripts and IVY confs (lewismc)

* GORA-243 Properly escaping spaces of GORA_HOME in bin/gora (Apostolos Giannakidis via lewismc)

* GORA-174 GORA compiler does not handle ["string", "null"] unions in the AVRO schema (alfonsonishikawa, rmarroquin, kturner via lewismc)
  incl. GORA-206, 207 and 216.

* GORA-239 Add null checks and better message in AccumuloStore (David Medinets via hsaputra)

0.3 release: 05/03/2013 (mm/dd/yyyy)
Release Report: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311172&version=12317954Gora Change Log

* GORA-191 Support multiple Avro Schemas within GoraCompiler (Udesh Liyanaarachchi, rmarroquin, lewismc) 

* GORA-159 gora-hbase MR tests should use HBaseTestingUtility instead of deprecated HBaseClusterTestCase via GORA-89 

* GORA-89 Avoid HBase MiniCluster restarts to shorten gora-hbase tests (hsaputra, alfonso, Ioan eugen Stan)

* GORA-203 Bug in setting column field attribute "qualifier" in CassandraMapping (rmarroquin, lewismc, kazk)

* GORA-221 fix Cassandra configuration in gora-tutorial (lewismc)

* GORA-211 thread safety: fix java.lang.NullPointerException - synchronize on mutator (rherget)

* GORA-210 thread safety: fix java.util.ConcurrentModificationException (rherget)

* GORA-190 Add "version" switch to bin/gora script (lewismc)

* GORA-169 Implement correct logging for KeySpaces and attributes in CassandraMappingManager (lewismc)

* GORA-27 Optionally add license headers to generated files (lewismc + rmarroquin)

* GORA-181 Replace tab characters with correct Gora coding style (rmarroquin)

* GORA-197 gora-cassandra requires BytesType for Cassandra column family validator (kazk)

* GORA-196 OSX JDK7 failed to load snappy native library from snappy-java-1.0.4.1.jar (kazk)

* GORA-182 Nutch 2.1 does not work with gora-cassandra 0.2.1 (kazk)

* GORA-193 Make sure gora-core test dependency is always generated when packaging (lewismc)

* GORA-186 Show better errors when a field is missing in HBase mapping (Alfonso Nishikawa via hsaputra)

* GORA-179 Modify the Query interface to be Query<K, T extends Persistent> to be more precise (hsaputra)

* GORA-178 HBase fix ivy.xml to use the correct antconfig mapping (ferdy) 

* GORA-172 java.lang.ClassNotFoundException: org.apache.gora.memory.store.MemStore.MemQuery (yumeng via lewismc)

* GORA-103 Datastore for gora-dynamodb (rmarroquin via lewismc)

* GORA-160 Gora Fails to Import Into Recent Versions of Eclipse (Ed Kohlwey via lewismc)

* GORA-85 Implement "Usage" messages for SpecificCompiler and LogAnalytics (lewismc)

* GORA-164 Use <type> instead of <classifier> configuration for test dependencies (lewismc)

* GORA-XX ensure directory cleanup succeeds in gora-* (Simone Tripodi via lewismc)

0.2.1 release: 26/07/2012
Release Report: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311172&version=12322496

* GORA-157 gora-cassandra test failure - proposal to skip 10 test cases for a while (kazk)

* GORA-156 Properly implement getSchemaName in CassandraStore (lewismc)

* GORA-153 gora-cassandra does not correctly handle DELETED State for MAP (kazk)

* GORA-152 gora-core test incorrectly uses ByteBuffer's array() method to get its byte array (kazk)

* GORA-151 CassandraStore's schemaExists() method always returns false (kazk)

* GORA-150 Introduce Configuration property preferred.schema.name (ferdy)

* GORA-142 Creates org.apache.gora.cassandra.serializers package in order to clean the code of store and query packages and to support additional types in future. (kazk)

* GORA-148 CassandraMapping supports only (first) keyspace and class in gora-cassandra-mapping.xml (kazk)

* GORA-143 GoraCompiler needs to add "import FixedSize" statement for FIXED type (kazk)

* GORA-147 fix threading issue caused by multiple threads trying to flush (ferdy)

* GORA-146 HBaseStore does not properly set endkey (ferdy)

* GORA-140 Requires some adjustments on dependency at gora-cassandra (kazk, lewismc)

* GORA-138 gora-cassandra array type support: Double fix for GORA-81 Replace CassandraStore#addOrUpdateField with TypeInferringSerializer to take advantage of when the value is already of type ByteBuffer. (Kazuomi Kashii via lewismc)

* GORA-139  Creates Cassandra column family with BytesType for column value validator (and comparators), instead of UTF8Type (Kazuomi Kashii via lewismc)

* GORA-131 gora-cassandra should support other key types than String (Kazuomi Kashii via lewismc)

* GORA-132 Uses ByteBufferSerializer for column value to support various data types rather than StringSerializer (Kazuomi Kashii via lewismc)

* GORA-77 Replace commons logging with Slf4j (Renato Javier Marroquín Mogrovejo via lewismc)

* GORA-134 ListGenericArray's hashCode causes StackOverflowError (Kazuomi Kashii via lewismc)

* GORA-95 Catch incorrect mapping configurations and implement sufficient logging in CassandraMapping. (lewismc)

* GORA-** Commit to fix classloading for CLI execution (lewismc)

* GORA-122 gora-accumulo/lib is not cleaned after mvn clean (lewismc)

* GORA-133 & 63 GoraCompiler cannot compile array type & bin/compile-examples.sh does not work respectively (enis, Kazuomi Kashii via lewismc)

* GORA-129 redundant conf field in HBaseStore (ferdy)

* GORA-123 Append correct submodule directories to SCM paths in submodule pom's (lewismc)

* GORA-127 Result objects are not closed properly from GoraRecordReader. (enis)

0.2 Release: 20/04/2012
Jira Release Report: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311172&version=12315541
 
* GORA-120 Dirty fields are not correctly applied after serialization and map clearance (ferdy)
 
* GORA-115 Flushing HBaseStore should flush all HTable instances. (ferdy)

* Make hbase autoflush default to false and make autoflush configurable rather than hardcoded (stack via lewismc)

* GORA-76 Upgrade to Hadoop 1.0.1 (ferdy & lewismc)

* GORA-65 Initial checkin of gora accumulo datastore (kturner)

* GORA-108 Change CassandraClient#init() to CassandraClient#initialize() for consistency with other Datastores. (lewismc)

* GORA-105 DataStoreFactory does not properly support multiple stores (ferdy)

* GORA-** Update Gora parent pom to include maven release plugin targets, and update developer credentials. (lewismc)

* GORA-74 Remove sqlbuilder library (lewismc)

* GORA-101 HBaseStore should properly support multiple tables in the mapping file. (ferdy)

* GORA-82 Add missing license headers & RAT target to pom.xml (lewismc)

* GORA-88 HBaseByteInterface not thread safe (ferdy)

* GORA-93 [gora-cassandra] Add implementation of CassandraStore.get(key) (Sujit Pal via lewismc)

* GORA-58 Upgrade Gora-Cassandra to use Cassandra 1.0.2 (lewismc)

* GORA-80 Implement functionality to define consistency used for Cassandra read and 
write operations. (lewismc)

* GORA-91 Ensure that Gora adheres to ASF branding requirements (lewismc)

* GORA-90 Create DOAP for Gora (lewismc)

* GORA-79 Block keyspace creation until the whole cassandra cluster converges to the new keyspace. (Patricio Echagüe via lewismc)

* GORA-83 add 'target' dirs to svn ignore (ferdy)

* GORA-66 testDeleteByQueryFields seems incorrect (Keith Turner via lewismc)

* GORA-72 Made all artifacts proper OSGi bundles. Added ClassLoadingUtils which will fallback to thread context classloader if Class.forName fails. (iocanel)

* GORA-55 Removed second assertion for schema existence, since schema is already deleted, Excluded ranged queries from the tests, since the tests assume end key to be inclussive while Hbase considers it exclusive. (iocanel)

* GORA-** Updated the maven surefire plugin version to properly set the system properties (iocanel)

* GORA-22 Upgrade cassandra backend to 0.7 (jnioche & Alexis Detreglode)

* GORA-69 Added xerces to dependencyManagement to avoid version conflicts (iocanel)

* GORA-54 Split TestHBaseStoreMapReduce to two individual tests, so that they can run properly, Added jvm args to maven surefire plugin to increase the max heap size that the tests will use to 512M. (iocanel)

* GORA-70 Upgrade deprecated expressions in pom.xml for use in building effective models, Replace reference to artifactId/version with project.artifactId/project.version (iocanel)

* GORA-68 Added test.build.data System property so that test data can be stored under target. Added port reservation for gora-sql tests. Added mapping xml to the gora-sql test classpath (iocanel)

* GORA-51 Added surefire plugin configuration to run the tests isolated (iocanel)

* GORA-64 Query should document inclusiveness (Keith Turner via lewismc) 

* GORA-52 Run JUnit tests from the command line (lewismc)

* GORA-62 Run bin/gora commands after maven build (lewismc)

* GORA-43 Forward port 0.1.1 incubating Maven poms to trunk (lewismc)

* GORA-57 HBaseStore does not correctly read family definitions (Ferdy via lewismc)

* GORA-56 HBaseStore is not thread safe. (Ferdy via lewismc)

* GORA-48. HBaseStore initialization of table without configuration in constructor will throw Exception (Ferdy via lewismc)

* GORA-47&46. fix tar ant target & Add nightly target to build.xml respectively (lewismc)

* GORA-45. Add dependency to 'clean-cache' ant target (Lewis John McGibbney via mattmann)

* GORA-44. Ant build fails (Lakshmi Narasimhan via mattmann)

* GORA-28. Merge back recent changes in 0.1-incubating to trunk (mattmann, ab)

* GORA-12. Semantics of DataStore.delete* (ab via mattmann)

* GORA-18. Configuration not found error breaks the build on trunk (ioannis via mattmann)

* GORA-26. Configurable classes should pass around Configuration consistently (ab via mattmann)

* GORA-32. Map type with long values generates non-compilable Java class (Yves Langisch)

* GORA-29. Gora maven support (Ioannis Canellos via mattmann)

* GORA-31. jersey-json dependency not in repositories currently in ivysettings.xml (Marsall Pierce via hsaputra)

0.1-incubating release:

*  INFRA-3038. Initial import of code.

*  GORA-1. Organize source code for Apache. (enis)

*  GORA-6. Add methods that take dataStoreClass instead of data store instance 
   to Gora{Input|Output}Format and Gora{Mapper|Reducer}. (enis)

*  GORA-7. DataStoreFactory.createDataStore() should throw exceptions on 
   failure. (enis)

*  GORA-15. Primitive types cannot be used as keys in DataStore. (enis)

*  GORA-16. Create a tutorial for Gora. (enis)

*  GORA-21. Commons-lang needs a configuration in gora-core/ivy/ivy.xml (jnioche)

*  GORA-20. Flush datastore regularly (Alexis Detreglode via jnioche)

*  GORA-23. Limit result set in store reads (Alexis Detreglode via hsaputra)

*  GORA-25. Upgrade Gora-hbase to HBase 0.90.0 (ab)

*  GORA-2. Create Gora web site (enis)

*  GORA-5. Add champions and mentors to Gora website (hsaputra)
