-
Notifications
You must be signed in to change notification settings - Fork 92
Changelog
DuyHai DOAN edited this page Mar 27, 2021
·
59 revisions
-
6.1.0
- Bump JUnit version to 4.13.1
- Bump Guava version to 24.1.1-jre
- Support Cassandra up to version to 3.11.10
- Bump Java driver version to 3.11.0
- Update Copyright to 2021
- Upgrade Hibernate Validator to 5.3.6.Final
- Merge pull request #375 from hjizettle/master -> embedded: server builder now supports setting protocol version
- Bump fasterxml.jackson.version from 2.9.9 to 2.10.0
-
6.0.4
- Support Cassandra up to version 3.11.4
- Fixes #363 Allow token() function call will all partition keys
-
6.0.3
- Upgrade Jackson version to 2.9.9 to fix security vulnerabilities
- Upgrade Jackson version to 2.9.8 to fix security vulnerabilities
-
6.0.2
- Merge pull request #361 from echauchot/360-set-jmx-port -> Add withJMXPort() to CassandraEmbeddedServerBuilder
-
6.0.1
- Increase timeout for Driver connection in Achilles JUnit to avoid timeout on Travis
- Update copyright for 2019
- Upgrade Cassandra version to 3.11.3
- Force the bean validation error message to avoid locale dependent build issue
- Upgrade Java driver core to 3.6.0
- Fix #355 initSession should use supplier instead
- Fix #354 Schema validation fails for UDT when keyspace name is in Uppercase
- Merge pull request #349 from jared-wallace/master -> Disable JMX reporter on java driver when using Achilles JUnit
- Merge pull request #345 from AndreasMager/embedded-port-finder-trys-to-get-default-ports -> PortFinder#findFirstAvailableBetween method added.
- Merge pull request #344 from AndreasMager/cassandra-properties-for-juint -> allow changing Cassandra startup parameters
-
6.0.0
- Bump Achilles version to 6.0.0
- Update copyright for 2018
- BREAKING CHANGE Fix #333 Provide support for having same column as clustering key and secondary index in cassandra
- Upgrade Driver version to 3.5.0
- Fix #331 Unable to start on new Java version (1.8.0_162-b12)
- Fix #323 Achilles ignoring fetchSize set in raw Statement
- Support OSS Cassandra up to 3.12. Support DSE up to 5.1.10
- Merge pull request #329 from pgbhagat/master -> Fixing String.format arguments
- Merge pull request #328 from hubpan/postpone-random-port-scanning -> Port-scanning are only being run when their corresponding settings are null
- Merge pull request #325 from tveronezi/CVE-2017-5929 -> Fix serialisation vulnerability
- Add /docs folder for github pages
- BREAKING CHANGE Add prefix on DSE Search methods
- Add support for DSE Search for DSE 5.1.x
- Set theme jekyll-theme-dinky
-
5.3.1
- Remove dependency to CGLIB
- Fix regression, annotation processor not found
-
5.3.0
- Fixes #314 Put debug level to dependency injection log message
- Add Cassandra 3.11.0, DSE versions up to 5.1.2
- Add support for GROUP BY and Cassandra v3.10
- Fix ScriptExecutor issue with BATCH statement
- Add support for Duration type
- Add support for CASSANDRA-10783 and Cassandra v3.8
- Fixes #304 Missing cdc_raw directory. Bump Cassandra version to 3.11.0
- Update SASI annotation javadoc
- Bump logback version to 1.1.3
- Bump Java driver version to 3.3.0
- Fixes #284 Support TOKEN function for partition keys
- Fix Maven config
- Organize imports
- Update copyright
- Code cleaning
- Fixes #264 Support immutable entities
- Fixes #312 DSL Generation - where-in clause for boolean (primitive) type field generation fails
- Fixes #309 #310 Flaky integration tests
- Fixes #306 Absuse of MockitoJUnitRunner
- Fixes #305 Build requires en locale
- Fixes #300 Stop including test dependencies as real dependencies
- Merge pull request #308 from doanduyhai/Custom_Constructor
- Implement custom constructor for entity
- Merge pull request #302 from lmammino/patch-1
- fixed status badge
-
5.2.1
- Fixes #293 Shorten generated class names
- Fixes #292 Make consistency level ordering more sensible
- Fixes #294 Primary key columns with case-sensitive generates invalid code
- Fixes #287 Configurable results/rows displayed with DML Logger
- Fixes #295 Add slice delete support
- Fixes #291 make ManagerFactoryBuilder.build(Cluster, Map) static
- PR Fixes #297 Provide an option to enable/disable schema validation by @cparker92
- Fixes #285 ensures optional don't always compute the orElse clause when not a trivial accessor
-
5.2.0
- Upgrade driver to version 3.1.3
- Bump version to 5.2.0
- Add update() method for CRUD API
- Fixes #282 java.lang.IllegalArgumentException: Argument is not an array
- Fix buggy DEBUG log message
-
5.1.5
- Fixes #277 IllegalArgumentException: Argument not in an array
- Upgrade maven-bundle-plugin to 3.2.0 and add plugin repository to main pom
- Fix bug with JdkOptionalProperty
- Add javadoc on meta property classes
- Compute TupleType at runtime using optional schema name
- Inject SchemaNameProvider into meta properties
- Fixes #276 Keyspace not injected in all meta properties
-
5.1.4
- Internal renaming of Options to CassandraOptions
- Add primary key & static column schema validation at runtime
- Fix compilation error msg
- Remove dead code
- Fix generated IndexSelect classes
-
5.1.3
- Add DSE profile in release instructions
- Fix #272 Support for ASCII type
- Fix #271 Should not pre-generate JSON queries if C* version not compatible
-
5.1.2
- Avoid registering multiple times codecs
- Add DSE 5.0.3 version
-
Minor breaking change Fix #267 Codec not found for requested operation
-
manager.crud().xxx().withSchemaNameProvider()...
becomesmanager.crud().withSchemaNameProvider().xxx()...
-
- Fix pom version for DSE IT modules
- Fix buggy code generation for UDT
-
5.1.1
- Update Java driver to version 3.1.1
- Update README.markdown
- Force projectName pattern to be Java class-name compatible
- Fix #269 indexed() method not generated on Manager class
- Fix NPE when index not present in live schema
-
5.1.0
- Bump version to 5.1.0-SNAPSHOT
- Fix #262 Add parameter for listen/rpc address as well as shutdown hook for Achilles Embedded
- Fix ERROR message because JMX port not specified
- Add support for DSE Search
- Create missing Cassandra versions
- Fix indentation for DML log
- Remove @DriverCodec annotation
- Forbid index on UDT column
- Add support for SASI
- Internal refactoring for CassandraVersioning
- Fix #224 Support for secondary index in DSL API
- Fix bug in index validation on collections
- Support for non-frozen user-defined types, updating individual fields of user-defined types
- Add PER PARTITION LIMIT for Cassandra 3.6
- Add readTimeoutInMillis as runtime SELECT option
-
5.0.0
- Bump version to 5.0.0-SNAPSHOT
- Update FunctionCall interface because JAVA-1086 is solved
- Write DML log in a single call to logger.debug()
- Add CAST system function
- Add multi-columns slice restrictions for UPDATE/DELETE
- Add Support for JSON
- Rename manager.query() to manager.raw()
- Return TypedMap only if there is a function call in SELECT DSL
- Merge Raw and Typed queries under the same package
- Refactor TypedMap interfaces
- Split IT modules to match Cassandra version
- Fix #255 Allow multiples projects to run in the same JVM
- Normalize the DSL CodeGen
- Reorganize UPDATE/DELETE DSL CodeGen
- Allow selection of UDT fields
- Version DSL CodeGen classes
- Version Validators
-
4.2.3
- Stop using unsafe embedded Cassandra in IT tests
- Add missing UDT DDL logs
- Fix #257 Handle upper-cased column name specified on @Column
- Fix #259 Incorrect bound values for UPDATE when using TTL
-
4.2.2
- Move ScriptExecutor from 'achilles-embedded' up to 'achilles-common'
- Fix #256 Insufficient param for String.format in DEBUG log
- Fix counter incr/decr generated code
- Only return the first page of data instead of all pages
-
4.2.1
- Upgrade Cassandra version to 3.7
- Upgrade to Java driver 3.1.0
- Disable unsafe Cassandra daemon
- Fixes #254 Multi-Layer UDT fails on createBeanFromUDT()
- Add optional input for PagingState, RetryPolicy, ConsistencyLevels and OutgoingPayload
- Add new methods to return iterator() along with ExecutionInfo
- Fix bug when querying with ( ... ) tuple notation on clustering columns
- Fix error in log message formatting
- Add optional version of statement parameters for nullable input
- Remove 'password' as reserved keyword
-
4.2.0
- Add @SuppressWarning on generated code
- SELECT DSL TypedMap API renaming
- Upgrade to Cassandra 3.5
- Upgrade version to 4.2.0-SNAPSHOT before release
- Update AbstractManagerFactoryBuilder to inject SERIAL consistency level
- Fix #245 Consistency level ordering
- Fixes #246 Add guard before checking isXXXCompiler()
- Fixes #248 Fix dependency injection ordering bug 2
- Fixes #244 Fix dependency injection ordering
- Fixes #240 Do not check for clustering column when inserting only static columns
- Fixes #227 Support for UDF/Aggregates
- Upgrade to Cassandra 3.4
- Call shutdownNow() on single thread executor upon termination
- Internal refactoring
- Internal renaming of TypeParsingResult to FieldMetaSignature
- Fixed debug log issue (PR #250 from bhuvanrawal/debug_log_fix)
- Update Commons-Collections (PR #243 from cgils/master)
- Fixes #225 Add support for function calls/UDF call in DSL API
- Fix typo in tracing logs
- Fix small typo on @Table javadoc
- Provide more details for JDKOptional TypeTokens
- Catch all exceptions during compile-time and print the complete stack trace
- Add missing dependency on org.ow2.asm.asm 5.0.4 and driver class CassandraTypeParser
- Make SELECT DSL also return TypedMap in addition of entity
- Use an unsafe Cassandra Daemon for unit testing
- Fixes issue with UDT schema not created when UDT is nested in collection
-
4.1.0
-
BREAKING CHANGE Rename
@Entity
to@Table
- Upgrade Cassandra version to 3.3
- Fixes #237 Support for Materialized Views
- Add scriptTemplate support for AchillesTestResoureBuilder
- Add JDK Optional codec
- Onsite codec declaration override codec registry
- Support JDK8 Date types
- Fixes JavaDoc rendering issue on DSL methods
- Use exact type when calling get/set on Row object
- Only generate UDT schema associated for managed entity classes at runtime
- Make AchillesProcessor stateful and do not regenerate classes many times
- Update JavaPoet to version 1.5.1
- Add support for numeric array data types
- Fixes #222 Support for @RuntimeCodec
- BREAKING CHANGE Remove support for @Codec on class, prefer @CodecRegistry
- Code cleaning
- Forbid to have 2 entities with the same class name
- Implement compile time codec registry
- Replace stream().forEach() by simple for loops
- Fixes integration test
- Fixes #235 Entity mapped on non existing table/keyspace cause nullpointer exception
- Use simple for loop instead of useless stream.forEach()
- By Default, clean data folder for embedded Cassandra
- Fixes #230 null pointer on invalid keyspace
- Fixes #231 Upgrade driver version to 3.0.0
- Upgrade Cassandra version to 3.2.1
- Better error message for Schema comparison
- Clean generated source files on each rebuild
- Disable incremental compilation to fix successive 'mvn compile' issue
- Update Maven Surefire Plugin version to 2.13
- Update Cassandra version to 3.1.1
- Update Java Driver version to 3.0.0-rc1
- Fix Tracing on class level logger
- Add validation for nested types
-
BREAKING CHANGE Rename
-
4.0.1
- Support UPDATE ... IF EXISTS
- Upgrade to Java Driver 3.0.0-alpha5
- Refactor AnnotationTree to support Eclipse compiler
-
4.0.0
- Complete rewrite
-
3.2.3
- Fixes #217 Cannot install achilles in OSGI environment due to duplicate package
BREAKING CHANGE Move
info.archinnov.achilles.json.CounterSerializer
andinfo.archinnov.achilles.json.CounterDeSerializer
to
toinfo.archinnov.achilles.type.CounterSerializer
andinfo.archinnov.achilles.type.CounterDeSerializer
- Fixes #217 Cannot install achilles in OSGI environment due to duplicate package
BREAKING CHANGE Move
-
3.2.2
- Fixes #219 Get the PagingState from the TypedQuery, NativeQuery
- Fixes #217 Cannot install achilles in OSGI environment due to duplicate package
BREAKING CHANGE Move
info.archinnov.achilles.type.Options
toinfo.archinnov.achilles.options.Options
BREAKING CHANGE Moveinfo.archinnov.achilles.type.OptionsBuilder
toinfo.archinnov.achilles.options.OptionsBuilder
- Fixes #216 Interceptors do not support Entity inheritance
-
3.2.1
-
BREAKING CHANGE Fixes #209 Allow UNLOGGED batches
-
createBatch()
is replaced bycreateLoggedBatch()
-
createOrderedBatch()
is replaced bycreateOrderedLoggedBatch()
- add
createUnloggedBatch()
andcreateOrderedUnloggedBatch()
-
- Fixes #214 Achilles does not support static field only in rows
- Merge from 3.0.20
- Upgrade java driver version to 2.1.6
- Fixes #212 Reflection does not find entities
-
BREAKING CHANGE Fixes #209 Allow UNLOGGED batches
-
3.2.0
- Update Cassandra to version 2.1.5
- BREAKING CHANGE Fixes #178 insert() API should return void ..., remove refresh() API
- BREAKING CHANGE Fixes #168, #179 and #210 Return proxy on request and not by default
- Merge from 3.0.19
- Fixes #211 Should not print bound values if ACHILLES_DML_STATEMENT log/DEBUG log on entity is not active
- Fixes #208 Add 'close'/'shutdown' method for AsyncManager
- Fixes #207 Null Pointer Exception for usecase: LWP +Embedded Id
- PR #205 lazy creation of bound statements
-
3.1.7
- Merge from 3.0.18
- Fixes #196 unable to create indexes using CASE_SENSITIVE naming convention
- PR #202 Print the Hex string of the 16 first bytes of blob when ACHILLES_DML_STATEMENT is enabled
- Adds byte length info when buffer is longer than limit
- Enables logging of the first 16 bytes of a blob when ACHILLES_DML_STATEMENT is enabled
- PR #201 Upgrades Achilles to work with java-driver 2.1.5
- Replaces fromNullable with Opetional.of for non nullable parameters
- PR #200 Better thread pool lifecycle management
- do not create default thread pool if there is a client-supplied one in config
- shutdown the thread pool only if it is the default one
- Fixes #197: makes embeddedcassandra configurable for the number of reads/writes threads
- Merge from 3.0.18
-
3.1.4
- Upgrade to Java driver version 2.1.4 and Cassandra version 2.1.3
- Fixes #194 Allow <,<=, >, >= and != for conditional updates using LWT
- Merge from 3.0.17
- Fixes #193 Load all counter values at once for clustered counters
- Fixes #187 Support BATCH statements in script for ScriptExecutor
- Fixes #185 Enhance ScriptExecutor to return ResultSet on execute() method
- Fixes #188 Add @PreDestroy on shutDown() method of PersistenceManager and document it
- Fixes #184 Update statements with LWT are re-prepared many times
- Fixes #191 CqlColumn is not mapped to the java field
- Merge pull request #190 from seblm/master to simplify execute batch
-
3.1.3
- Merge from 3.0.16
- Late clearing of dirty map for POST_UPDATE interceptors
- Fixes #145 Allow bootstrap CQL script execution for AchillesTestResource and CassandraEmbeddedServer
- Fixes #167 Remove the default TTL = 0 in prepared statements because some tables have default TTL value
- Fixes #180 Expose a close() method on the PersistenceManagerFactory to close the internal thread pool properly
- Add
withEntityClasses(Class<?> ... entityClasses)
for the AchillesResourceBuilder - Fixes #174 Add
iterator()
anditerator(int fetchSize)
to the TypedQuery API - Deprecate
@Id
and@EmbeddedId
annotations-
DEPRECATE
@Id
annotation, use@PartitionKey
instead -
DEPRECATE
@EmbeddedId
annotation, use@CompoundPrimaryKey
instead
-
DEPRECATE
- Merge from 3.0.16
-
3.1.2
- Merge from 3.0.15
- Migrate to Java Driver 2.1.3
- Pull Request #177 Use proxy instead of entity when trigger a post_update interceptor
- Fixes #176 Expose the Cluster object for the CassandraEmbeddedServer
- Fixes #175 Deprecate
@Order
in favor of@PartitionKey
and `@ClusteringColumn-
DEPRECATE
@Order
annotation, use@PartitionKey
and@ClusteringColumn
instead
-
DEPRECATE
- Merge from 3.0.15
-
3.1.1
- Un-ignore a test because CASSANDRA-7499 has been fixed
- Merge from 3.0.14
- Add IT for forUpdate() API
- Fixes #171 Refactor Options internally to use Optional everywhere
- Fixes #172 Lowercase LWTLocalSerial() and LWTResultListener() for OptionsBuilder
-
DEPRECATE
OptionsBuilder.LWTLocalSerial()
API, useOptionsBuilder.lwtLocalSerial()
instead -
DEPRECATE
OptionsBuilder.LWTResultListener()
API, useOptionsBuilder.lwtResultListener()
instead
-
DEPRECATE
- Fixes #173 Support timestamp and LWT predicates for DELETE operations
- Add ifExists() and refactor the LWT predicates.Introduce ifEqualCondition()
-
DEPRECATE
OptionsBuilder.ifConditions()
API, useOptionsBuilder.ifEqualCondition()
instead
-
DEPRECATE
-
3.1.0
- Remove deprecated
manager.getProxy()
API - Replace Log4J by LogBack because of Cassandra 2.1.2
- Migrate Guava to 16.0 because of Cassandra 2.1.2
- Migrate Cassandra to 2.1.2
- Remove deprecated
-
3.0.22
- Fixes #217 Cannot install achilles in OSGI environment due to duplicate package
BREAKING CHANGE Move
info.archinnov.achilles.json.CounterSerializer
andinfo.archinnov.achilles.json.CounterDeSerializer
to
toinfo.archinnov.achilles.type.CounterSerializer
andinfo.archinnov.achilles.type.CounterDeSerializer
- Fixes #217 Cannot install achilles in OSGI environment due to duplicate package
BREAKING CHANGE Move
-
3.0.21
- Fixes #219 Get the PagingState from the TypedQuery, NativeQuery
- Fixes #217 Cannot install achilles in OSGI environment due to duplicate package
BREAKING CHANGE Move
info.archinnov.achilles.type.Options
toinfo.archinnov.achilles.options.Options
BREAKING CHANGE Moveinfo.archinnov.achilles.type.OptionsBuilder
toinfo.archinnov.achilles.options.OptionsBuilder
- Fixes #216 Interceptors do not support Entity inheritance
-
3.0.20
- Upgrade java driver version to 2.1.6
- Upgrade Cassandra to version 2.0.15
- Fixes #212 Reflection does not find entities
-
3.0.19
- Fixes #211 Should not print bound values if ACHILLES_DML_STATEMENT log/DEBUG log on entity is not active
- Fixes #208 Add 'close'/'shutdown' method for AsyncManager
- Fixes #207 Null Pointer Exception for usecase: LWP +Embedded Id
- PR #205 lazy creation of bound statements
-
3.0.18
- Upgrade to Cassandra 2.0.13
- Fixes #196 unable to create indexes using CASE_SENSITIVE naming convention
- PR #202 Print the Hex string of the 16 first bytes of blob when ACHILLES_DML_STATEMENT is enabled
- Adds byte length info when buffer is longer than limit
- Enables logging of the first 16 bytes of a blob when ACHILLES_DML_STATEMENT is enabled
- PR #201 Upgrades Achilles to work with java-driver 2.1.5
- Replaces fromNullable with Opetional.of for non nullable parameters
- PR #200 Better thread pool lifecycle management
- do not create default thread pool if there is a client-supplied one in config
- shutdown the thread pool only if it is the default one
- Fixes #197: makes embeddedcassandra configurable for the number of reads/writes threads
-
3.0.17
- Upgrade to Java driver version 2.1.4 and Cassandra version 2.0.12
- Fixes #193 Load all counter values at once for clustered counters
- Fixes #187 Support BATCH statements in script for ScriptExecutor
- Fixes #185 Enhance ScriptExecutor to return ResultSet on execute() method
- Fixes #188 Add @PreDestroy on shutDown() method of PersistenceManager and document it
- Fixes #184 Update statements with LWT are re-prepared many times
- Fixes #191 CqlColumn is not mapped to the java field
- Merge pull request #190 from seblm/master to simplify execute batch
-
3.0.16
- Late clearing of dirty map for POST_UPDATE interceptors
- Fixes #145 Allow bootstrap CQL script execution for AchillesTestResource and CassandraEmbeddedServer
- Fixes #167 Remove the default TTL = 0 in prepared statements because some tables have default TTL value
- Fixes #180 Expose a close() method on the PersistenceManagerFactory to close the internal thread pool properly
- Add
withEntityClasses(Class<?> ... entityClasses)
for the AchillesResourceBuilder - Fixes #174 Add
iterator()
anditerator(int fetchSize)
to the TypedQuery API - Deprecate
@Id
and@EmbeddedId
annotations-
DEPRECATE
@Id
annotation, use@PartitionKey
instead -
DEPRECATE
@EmbeddedId
annotation, use@CompoundPrimaryKey
instead
-
DEPRECATE
-
3.0.15
- Migrate to Java Driver 2.1.3
- Pull Request #177 Use proxy instead of entity when trigger a post_update interceptor
- Fixes #176 Expose the Cluster object for the CassandraEmbeddedServer
- Fixes #175 Deprecate
@Order
in favor of@PartitionKey
and `@ClusteringColumn-
DEPRECATE
@Order
annotation, use@PartitionKey
and@ClusteringColumn
instead
-
DEPRECATE
-
3.0.14
- Add IT for forUpdate() API
- Fixes #171 Refactor Options internally to use Optional everywhere
- Fixes #172 Lowercase LWTLocalSerial() and LWTResultListener() for OptionsBuilder
-
DEPRECATE
OptionsBuilder.LWTLocalSerial()
API, useOptionsBuilder.lwtLocalSerial()
instead -
DEPRECATE
OptionsBuilder.LWTResultListener()
API, useOptionsBuilder.lwtResultListener()
instead
-
DEPRECATE
- Fixes #173 Support timestamp and LWT predicates for DELETE operations
- Add ifExists() and refactor the LWT predicates.Introduce ifEqualCondition()
-
DEPRECATE
OptionsBuilder.ifConditions()
API, useOptionsBuilder.ifEqualCondition()
instead
-
DEPRECATE
-
3.0.13
- Fixes buggy implementation of
manager.forUpdate()
- Fixes buggy implementation of
-
3.0.12
- Fixes #85 How do you add/remove from set using proxied object
- Add new
manager.forUpdate()
API. More details here at Direct Update Proxy -
DEPRECATE
manager.getProxy()
API
- Add new
- Add 'forceTableCreation' system property override for embedded Cassandra
- Fixes #165 Deactivate Bean Validation on fields which are not set on proxy
- Pull Request #166 Fixing issue with Achilles counter as the counter table name is not returned in the entity metadata thus it will be created at each start up.
- Fixes #164 Class level consistency not taken into account by slice query
- Fixes #163 Add 'key' and 'value' attribute on @JSON annotation for collections & map support
- Fixes #85 How do you add/remove from set using proxied object
-
3.0.11
- Migrate to Java Driver 2.1.2
- Fixes #162 Log DML statements before executing the query
- Fixes #160 Improve the thread pool usage by using MoreExecutors.sameThreadExecutor() for simple transformation
- Fixes #159 Rename CQL3 to CQL internally
- Fixes #161 Polish the Asynchronous API
- Fixes #158 Rename all CAS in the API to LWT
- RENAMING: CasCondition -> LWTCondition
- RENAMING: CASResultListener -> LWTResultListener
- RENAMING: CASResult -> LWTResult
- RENAMING: CASResultListener.onCASSuccess() -> LWTResultListener.onSuccess()
- RENAMING: CASResultListener.onCASError(...) -> LWTResultListener.onError(...)
- RENAMING: OptionsBuilder.casResultListener(...) -> OptionsBuilder.lwtResultListener(...)
- RENAMING: OptionsBuilder.casLocalSerial() -> OptionsBuilder.lwtLocalSerial()
- Fixes #157 Add shutdown hook to the internal ExecutorService
- Fixes #153 Allow inserting rows in clustered table with static columns without clustering columns
- Fixes #149 Make JSON serialization more explicit with a new @JsonType annotation
- Fixes #155 CassandraEmbeddedServer fails in maven multi-module project
- Fixes #126 NativeQuery API should also accept Statement instead of only RegularStatement
- Fixes #156 Allow @TypeTransformer on partition and clustering columns
-
3.0.10
- Fixes #152 Allow PersistenceManagerFactoryBuilder to pass in arbitrary parameter
- Better defaults for the asynchronous Thread Pool
- Add perf bench with SynchronousQueue and LBQ
- Memory consumption improvement
-
3.0.9
- Add support for Asynchronous operations
-
3.0.8
- Upgrade to Java Driver 2.0.7 and Cassandra 2.0.11
- Fixes #139 Avoid useless array objects creation for loggers at DEBUG/TRACE level
- Fixes #144 FromClusterings/ToClusterings methods of SliceQuery API should take into account the clustering order
- Merge #141 Make Achilles proxies not intercepting `finalize method
- Fixes #138 Wrong regexp validation for SELECT * from table
- RENAMING Renaming Event enum and rename remove/removeById to delete/deleteById
- Add new config options for JUnit Achilles Resource
-
3.0.7
- Upgrade to Java Driver 2.0.6 and Cassandra 2.0.10
- Fixes #95 Type transformer
- Fixes #136 Achilles is consuming too many resources
- Fixes #42 Add a naming strategy to @Table
- Fixes #111 Reoganize Maven dependencies
- Fixes #127 NativeQuery should expose Iterator&th;TypedMap>
- Fixes #112 Use Set instead of List for lifecycle interceptors to avoid duplicate
- Fixes #129 Switch to commons-lang3
- Fixes #128 Support multi keyspaces
- Fixes #133 Achilles fails with NPE in case of difference between the actual column families and the achilles mappings
- Fixes #125 BatchedNativeQuery error with multiple statements in batch
-
3.0.6
- Upgrade to Java Driver 2.0.4
- RENAMING Rename AchillesCASException to AchillesLightweightTransactionException
- Fixes #110 Fix JSON serialization/deserialization of Counter
- Fixes #122 Support name & ordinal encoding for Enums
- Fixes #108 : Slice query partition components and clustering keys should be encoded properly
- Fixes #113 Apply
Tell, Don't Ask
to meta data - Pull request #121 Fixes #119 Validation of PartitionComponents fails for simple types
- Pull request #117 Added enableSchemaUpdate and enableSchemaUpdateForTables to PersistenceManagerFactoryBean
- Pull request #116 NPE when entity not managed for slice query
- Pull request #115 fixes #114 where batch native queries did not accept DELETE statements
-
3.0.5:
- Fixes #103 Refactor PersistenceManager & Batch hierarchy design
- Fixes #87 @Index validation failing deploy
- Fixes #107 DML statement not logs when dynamic logging is activated for an entity
- Fixes #96 Use user comment as comment on table when generating DDL
- Fixes #99 Stop using Objenesis for object instantiation
- Fixes #84 Enhance native query to be added to batch manager
- Fixes #106 CAS Result not decoding properly collection and map types
- Fixes #100 Apply @EmptyCollectionIfNull to lazy loaded collections/map too
- Fixes #91 Accept
RegularStatement
object instead of String type for native query & typed query API - Fixes #102 Make it possible to create Batch directly from PersistenceManager
-
RENAMING Fixes #105 Rename
persist()
toinsert()
-
RENAMING Fixes #101 Normalize naming for
jsonSerialize()
anddeserializeJson()
- Fixes #86 PersistenceManager.typedQuery force lower case
- Fixes #90 Add new
insertOrUpdate()
method - Fixes #97 SliceQuery.iterator(fetchSize) doesn't seem to work
- Fixes #98 NPE on proxy when invoking super
- RENAMING Fixes #104 Rename parameters OBJECT_MAPPER to JACKSON_MAPPER
- Fixes #78 Improve JavaDoc
- Fixes #73 TimeUUID is handled incorrectly in SliceQuery
- Fixes #46 Remove limitation on slice query with several clustering columns
- Fixes #79 Refactor the Slice Query API
-
3.0.4:
- Fixes #75 Add support for static columns
- Fixes #88 Add SchemaBuilder
- Fixes #77 Add support for Serial consistency level for CAS operations
- Fixes #81 Rename BatchingPersistentManager to Batch
- Fixes #76 Enable 2 batchingPersistenceManager types: Ordered and UnOrdered
- Fixes #83 Per table consistency level not used
- Fixes #54 Support for OSGI
- Fixes #82 Data lossless automatic schema modification
- Fixes #66 Trace query time from achilles pov
- Upgrade to Cassandra 2.0.8
- Fixes #63: Cannot find matching property meta for the type class java.nio.HeapByteBuffer
- Fixes #72 Use enum for Configuration parameters instead of plain text
- Fixes #74 Cluster should be injected into Achilles, not built by Achilles
- Fixes #69 Make insert strategy overridable on an entity
- Fixes #68 Add support for LOCAL_ONE consistency level
- Fixes #71 Migrates to Jackson 2.3.3
-
3.0.3:
- Upgrade to Cassandra 2.0.7 and Java Driver 2.0.2
- Disable the batch statement ordering by default
- Change default PreparedStatement Cache LRU size from 5000 to 10 000
- Fixes #64 NPE in typedQuery
select.getValues()
- Fixes #61. Refactor implementation of insert with Insert strategies
- Fixes #53 Add support for
@EmptyCollectionIfNull
- Rename
TypedQueryBuilder/NativeQueryBuilder
toTypedQuery/NativeQuery
- Fixes #43 Implement CAS using Options
- Fixes #40 Add helper method to serialize Entity into Json
- Fixes #59
@Index
on Enum field throws AchillesBeanMappingException - Fixes #57 Support inheritance for
@EmbeddedId
classes - Fixes #58 Support list of entities classes
- Fixes #56 Test failed: EntityMetaTest.should_tostring
- Fixes #55 Cannot find PersistenceManagerFactory for keyspace 'achilles_test' in test
-
3.0.2:
- Add
FORCE_BATCH_STATEMENTS_ORDERING
parameter to allow overriding the default behavior - Upgrade to Cassandra 2.0.6 and Java Driver 2.0.1
- Fixes #51 Warm up proxies creation on startup
- Fixes #49 Expose configuration for Max Prepared statement cache size
- Fixes #52 Fix makeFieldAccessible for multi-threaded execution
- Fixes #45 Rework on collection & map dirty check to update only added/removed/modified element
- Improve batch log messages
- Take into account the settings for
cluster name
,compression
andpolicies
- Migrate to Guava 15.0
- Add
-
3.0.1:
- Add support for Bean Validation (JSR-303)
- Fix bug on supported Java types. Add support for
byte
,Byte
andbyte[]
- Add TypedMap for user-friendlier native query usage
- Fix bug on Counter serialization
-
3.0.0 MAJOR BREAKING CHANGES:
- Redesign Counter implementation
- Remove lazy loading feature
- Rework on
persist()
andupdate()
API - Rename
merge()
toupdate()
,getReference()
togetProxy()
,unwrap()
toremoveProxy()
andinitAndUnwrap()
toinitAndRemoveProxy()
- Add dependency to Objenesis to instanciate entities without requiring default constructor to remove constraint on the mandatory default constructor for entities
- Add lifecycle interceptors
- Add support for CQL paging feature with slice query iterators
- Add support for parameterized query to typed, raw typed and native queries
- Migrate to Cassandra 2.0.3 and Java Driver 2.0.0-rc2
- Migrate to Java 7
- Improve
CassandraEmbeddedServerBuilder
to bootstrap embedded Cassandra 2.0 server - Add "keyspace" parameter to
AchillesResourceBuilder
- Rename "achilles.ddl.force.column.family.creation" parameter to "achilles.ddl.force.table.creation"
- Remove all CQL prefix from classes since there is only one implementation now
- Split code into several Maven modules
- Remove Thrift implementation
-
2.0.9:
- Add
reversed
attribute to@Order
annotation - Fix missing validation for
find()
&getReference()
when entity class is not managed by Achilles - Rework on CQL embedded server and introduce CQLEmbeddedServerBuilder
- Fix bug when
@Column
and@Id
annotations are put on the same field - Fixes #36 Schema validation fails with Cassandra 2.0.x
- Migrates to Cassandra Driver Core 1.0.4
- Fixes bug when 'achilles.keyspace.name' parameter not provided when bootstrapping with a
Cluster
andSession
objects - Introduce achilles-test module to make Maven dependencies cleaner
- Add simple support for secondary index
- Create new achilles-documentation project to package full documentation (HTML and PDF formats) along with each release
- Add
-
2.0.8:
- Provide an HTML client (AngularJS) for the Twitter Demo
- Fixes #34 When it is impossible to call a setter on an entity, Achilles should report a better error
- BREAKING CHANGE stop importing JPA jar. The number of annotations used (5) does not worth pulling JPA dependencies
- Add custom Jackson serializer & deserializer on
Counter
interface to fix issue during serialization whenCounterImpl
is present - Rework on
ResourceBuilder
for JUnit
-
2.0.7:
- BREAKING CHANGE Rename all xxEntityManagerxx to xxPersistenceManagerxx
- Fixes #30 Create partition row key
- BREAKING CHANGE Remove join feature. Is usage is not relevant enough in real use-cases
- Fixes #29 [All] Separate Achilles annotations and custom types in a dedicated achilles-model Maven module
- Allow injection of CQL cluster and session object into
CQLEntityManagerFactory
- Fixes #27 [CQL] Cannot map compound primary key from CQL resulset back to entity for typed queries
- Fixes #25 [CQL] Introduce new @TimeUUID annotation to translate into timeuuid in Cassandra enhancement
- Fix #26 Lift the constraint on mandatory "entityPackages" parameters and mandatory entity class to bootstrap Achilles in CQL
- Fixes #13 Redesign collections & map impl to match the one used in CQL
- Add Eclipse cleanUp, codeTemplates and formatter for contributors
-
2.0.6:
- Add cleaning of embedded Cassandra data files before launching the server in JUnit rule
- Upgrade to Hector 1.1-4 for Achilles Thrift
-
2.0.5:
- Minor refactor for embedded Cassandra server and test resources
- Display bound values in DML debug messages for bound statements
- Introduce Options to simplify setting of TTL and Timestamp
- Force initialization of counter type when calling
initialize()
- Bug with bi-directional relation with a cascade persist/merge and 'achilles.consistency.join.check' option set to true
-
2.0.4:
- Migrate to Cassandra 1.2.8
- Fix NPE when no join entity in collection/map for CQL
- Remove Cassandra Unit library to avoid dependency on Hector for CQL version
- Add Cassandra Embedded server. Add JUnit rule to bootstrap Cassandra embedded server and Achilles together
-
2.0.3:
- Fix buggy implementation of FactoryBean for Spring integration
- Fix bug in decoding enums for Slice Queries
-
2.0.2:
- Internal refactoring of PropertyMeta
- Support for value-less entities
- Remove
@CompoundKey
annotation, un-used
-
2.0.1:
- Add Spring Integration for CQL
- Add new parameters for CQLEntityManagerFactory
- Enhance SliceQueryBuilder API
- Fix bug on Thrift clustered entity validation
- Fix small bug on CQL RawTyped queries
-
2.0.0:
- Official support for CQL. See docs for more details
- Remove custom
Pair
type, use the one provided by Cassandra - Fixes bug during entities parsing when List/Set/Map have parameterized typse
- Add
removeById()
to EntityManager to avoid read-before-write pattern -
BREAKING CHANGE, removal of
WideMap<K,V>
structure because its use cases are not consistent - Add DML logs to display CQL statements at runtime
- Serialize enum types using name()
-
BREAKING CHANGE, removal of
@WideRow
annotation, replaced by clustered entities and slice queries for getting data (see doc for more details) .
-
1.8.2:
- Support immutability for
@CompoundKey
classes (Issue #5). See https://github.com/doanduyhai/Achilles/issues/5#issuecomment-19882998 for more details on new syntax -
BREAKING CHANGE, for
@CompoundKey
, enum types are serialized as String instead of Object (Issue #8) -
BREAKING CHANGE, replace
@Key(order=1)
by@Order(1)
annotation (Issue #6) - Throw Exception instead of having NPE when keyspace is not created in Cassandra (Issue #10)
-
BREAKING CHANGE, replace
MultiKey
interface by@CompoundKey
annotation (Issue #15) - It is no longer required to implements
Serializable
on all entities (Issue #11) - Enforce consistency im ThriftImpl on
persist()
by removing all row data first (Issue #14 & Issue #7) - Add timestamp meta data to
KeyValye<K,V>
type (Issue #9) - Add initAndUnwrap() shortcut to EntityManager (Issue #2)
- Fix bug on dirty check on join collection/map
- Support immutability for
-
1.8.1:
- Add TTL to persist and merge operations
- Rework of runtime consistency level
- Fix small bug in the Column Family comment for wide rows
- BREAKING CHANGES simplify PropertyType byte flag for Thrift persistence layer. Need data migration
- Rename 'unproxy' to 'unwrap'
- Fix bug with cyclic join entities during merge and persist operations
- Fix buggy property removal after merging
- Ignore un-mapped properties instead of raising exception
- Renamming in core package
- Upgrade to Cassandra 1.2.4
-
1.8.0:
- Use the
org.reflections.reflections
package for entity parsing - Split the project into 3 modules:
core
,thrift
andcql
- Use the
-
1.7.3:
- Rework of em.getReference() to avoid hitting the database
- Refactor generics
- Migrate to JPA 2
-
1.7.2:
- Add commons-collections 3.2.1 to compile dependency
- Enhance error message for entity mapping
- Fix bug about default consistency level hard-coded to QUORUM for WideMap and Counters
- Add
firstFirstMatching()
andfindLastMatching()
to the WideMap API - Fix bug. Do not load join entity if no join primary keys
-
1.7.1: fix bug because key validation class & comparator type has changed from Cassandra 1.1 to 1.
-
1.7: stable release
-
Bootstraping Achilles at runtime
- Runtime Configuration Parameters
-
Manager
-
Consistency Level
-
Cassandra Options at runtime
-
Lightweight Transaction (LWT)
-
JSON Serialization
-
Interceptors
-
Bean Validation (JSR-303)