-
Notifications
You must be signed in to change notification settings - Fork 41
/
CHANGES.txt
225 lines (224 loc) · 10.9 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
version 4.0.0
- Native protocol v4 support (https://github.com/pchalamet/cassandra-sharp/issues/93)
version 3.7.0
- Use System.Reactive instead of Rx-Main
version 3.6.0
- improvements for customer serializer (https://github.com/pchalamet/cassandra-sharp/issues/89 - thanks cjhanson)
version 3.5.0
- dropped .net 4.0 support
- fixed issue 82 (https://github.com/pchalamet/cassandra-sharp/issues/82)
- fixed issue 83 (https://github.com/pchalamet/cassandra-sharp/issues/83)
version 3.5.0
- dropped .net 4.0 support
- fixed issue 82 (https://github.com/pchalamet/cassandra-sharp/issues/82)
- fixed issue 83 (https://github.com/pchalamet/cassandra-sharp/issues/83)
version 3.4.0
- fixed issue 73 (https://github.com/pchalamet/cassandra-sharp/issues/73)
- new features by Virus-X: POCO mapper enhancements
version 3.3.2
- fixed issue 65 (https://github.com/pchalamet/cassandra-sharp/issues/65)
version 3.3.1
- fixed issue 62 (https://github.com/pchalamet/cassandra-sharp/issues/62)
- allow asynchronous push of results when buffered reads are enabled (related to issue 62)
version 3.3.0
- removed obsolete operations (fluent interface is the way to go)
- log connection building error, avoid GC TcpClient if building goes bad
- simplified command builder extensions - decoupled builder and mapper
- fixed (again) 100% cpu when linux hosted server disconnect
- modified instrumentation interface: TracingSession is now no more available - use ICluster::QueryTracingSession
when required
- fixed unsigned short problem with map (and other serialization chunks requiring a ushort)
- interface (non prepared query with params) is ready for binary protocol v2 (but no implementation)
- fixed asynchronous worker shutdown in connection
- default consistency level (see TransportConfig.DefaultConsistencyLevel)
- log error when recovery fails
- filtrer invalid rpc address (0.0.0.0) in discovery service SystemPeers
- moved fluent operations (WithXXX) to ICqlCommand (breaking change)
- strongly typed ICqlCommand and IPropertyBagCommand to avoid misleading operation calls
- placement key only available on non prepared statement on Execute()
- placement key can be construct with PlacementKey.From()
- IPartitioner is a new interface allowing pluggin custom partitioner (see ClusterConfig.Partitioner)
- MurmurHash3, Random and Null (default) partitioners are available
- fixed utf8 string deserialization
- fixed issue 59 (https://github.com/pchalamet/cassandra-sharp/issues/59) - release of prepared query is now possible
- Prepared queries are now disposable
version 3.2.2
- fixed issue 49 (https://github.com/pchalamet/cassandra-sharp/issues/49)
- fixed issue 52 (https://github.com/pchalamet/cassandra-sharp/issues/52)
- fixed issue 53 (https://github.com/pchalamet/cassandra-sharp/issues/53)
version 3.2.1
NOT RELEASED
- added releaseNotes to nuget packages
version 3.2.0
- use culture invariant for identifier conversion
- ICqlCommand.Execute & IPreparedQuery.Execute with all parameters are depreacated. Use fluent interface instead
- timeout support for AsFuture()
- fluent interface for queries (introduced ICqlQuery) to allow setting CL, execution flags & hints
These methods will be removed in 3.3
- fluent interface for building commands
- data transfer tool available in cqlplus (DbCopy) from database (OLEDB) to Cassandra
- no more semicolon at the end of cqlplus command
- ordinal data mapper availability
- refactoring of query commands
version 3.1.4
- split cassandra-sharp in 3 NuGet packages: cassandra-sharp (main), cassandra-sharp-interfaces & cassandra-sharp-core
version 3.1.3
- reference on cassandra-sharp should reference automatically CassandraSharp.dll
version 3.1.2
- reference on cassandra-sharp should reference automatically CassandrSharp.Interfaces.dll
version 3.1.1
- fixed deserialization of key for map
version 3.1.0
- moved interface to separate assemblies (avoid Rx dependencies & just update the implementation without rebuilding)
- moved tools and interfaces to separate nuget packages
- revised the build process, using Version.xml to describe versions instead of command line
- renamed GenerateVersion.cmd to Build.cmd
- renamed PublishNugetVersion.cmd to Publish.cmd
version 3.0.3
- reduce dns resolve calls
version 3.0.2
- reduce dns lookup
- ClusterManager now fails if no valid endpoint found
- ClusterManager now fails if current machine ip can't be resolved
- more env info in cqlplus !help
- Rx binaries are now in net40
version 3.0.1
- fixed invalid cast in cqlplus
version 3.0.0
- total rewrite of Connection
- expose a new interface using Rx (IObservable)
- future are now a TPL Task returning a list of results
- improved throughput using LongRunning connection type
- NuGet support for net40 and net45 binaries
- performance report is asynchronous
- official support for nullable (NOTE: sending null in prepare statement is supported but only with C* 1.2.2+)
- receive and send timeout support (disabled by default)
- keep alive support (by default, using OS configuration)
- changed the PropertyBag interface : use a typed class instead of IDictionary
version 2.3.1
- fixed connection leak on read error
version 2.3.0
- fixed stalled client
- instrumentation for performance tracing client & server side
- configurable Cluster type (see ClusterConfig.Type)
- break the interface (splitting ICqlCommand & IPreparedQuery) - be sure to read NEWS.txt
version 2.2.1
- added version in Zip & NuGet
- cqlplus is in NuGet lib folder, only CassandraSharp.dll is then referenced
- fixed issue 26 (https://github.com/pchalamet/cassandra-sharp/issues/26)
version 2.2.0
- POCO is now using DynamicMethod instead of Reflection
- support for IDeserializationCallback
- fix failure on connection when IO errors
- merge "Cassandra-Sharp write performance Vs Thrift Client" from hjarraya
- fix authentication issues (https://github.com/pchalamet/cassandra-sharp/issues/25)
version 2.1.2
- fixed issue 9 (https://github.com/pchalamet/cassandra-sharp/issues/9)
- read again asap if buffering mode
- fixd invalid utf8 string len when using char >= 0x80
- prepared statements can recover from connection failure
- fixed issue 8 (https://github.com/pchalamet/cassandra-sharp/issues/8)
- fixed issue 10 (https://github.com/pchalamet/cassandra-sharp/issues/10)
- fixed issue 11 (https://github.com/pchalamet/cassandra-sharp/issues/11)
version 2.1.1
- fixed issue 5 (https://github.com/pchalamet/cassandra-sharp/issues/5
version 2.1.0.0
- node discovery implementation
- fixed guid serialization
- dynamic column width
- fixed eventually incorrect order of column in cqlplus
- fixed connection recovery (OnFailure event)
- use object (supporting anonyous type) instead of object[] for prepared statement
- one less tpl task per request & waiting is done via tpl
version 2.0.7.0
- mono compatibility (for cqlplus)
- support for port in cqlplus
version 2.0.6.0-beta
- renamed cqlsh to cqlplus to avoid confusion
- cqlplus changes:
changed cqlplus help system
added source & exec
support for enum for cqlplus command args
fix source when error encountered
version 2.0.5.0-beta
- refactoring of cqlsh grammar - no modification required to add new commands
- generic help based on registered commands
version 2.0.4.0-beta
- change cqlsh value formatting
- fixed map/set/list bin reader
- ExecuteNonQuery for prepared statement
- cqlsh debug logger
- commands handling refactoring
- login/password for cqlsh
version 2.0.3.0-beta
- support for list, set, map
- fixed null byte array
- support for streaming directly from socket (default) or from memory stream
- tabular display in cqlsh
- created Samples project (removed CassandraClient)
version 2.0.2.0-beta
- fix deadlock when query fails
- expose IFrameReader and IFrameWriter instead of Stream
- release stream id earlier
version 2.0.1.0-beta
- full async support with both streaming and future
- no buffering while reading
- reliable error handling while performing async IO
version 2.0.0.0-beta
- most part of CassandraSharp is rewritten
- support only CQL, Thrift is dead
- missing features will be brought again is future versions
version 1.0.0.0-beta
- compatible with Cassandra 1.1.1
- CassandraSharp.ObjectMapper : cql based simple object mapper (only compatible with Cassandra 1.1.1)
- CassandraSharp.Data : ado.net implementation (IDbConnection, IDbCommand, IDbParameter). As of now, this is a work in progress.
- CassandraSharp.MadeSimple : previously ClusterExtentions but with a bit less methods to keep it simple
- removed log4net dependency, logging is pluggable ==> use CassandraSharpConfig/Logger to provide ILog implementation (must be thread safe)
- recovery manager class is pluggable ==> use CassandraSharpConfig/Recovery to provide IRecoveryService implementation (must be thread safe)
- timestamp service is pluggable ==> use EndpointsConfig/Timestamp to provide ITimestampService implementation (must be thread safe)
- endpoint strategy is pluggable ==> EndpointsConfig/Strategy to provide your own strategy (must be thread safe)
- endpoint snitch is pluggable ==> EndpointsConfig/Snitch to provide your own snitch (must be thread safe)
- cql version can be requested via TransportConfig/CqlVersion
- BREAKING CHANGES IN CONFIG
Strategies are configured via EndpointsConfig/@strategy : either Random, Nearest or your own type name
Snitches are configured via EndpointsConfig/@snitch : either Simple, RackInferring or your own type name
User and password are configured respectively with TransportConfig/@user and TransportConfig/@password
version 0.6.4.0
- Thrift interface update (Cassandra 1.0)
version 0.6.3.0
- custom endpoint strategy
version 0.6.1.0
- remove NuGet for packages dependencies (unsecure)
- using Thrift 0.8 (recompiled)
- using log4net 1.2.11 (official bin new key)
- Thrift is merged with cassandra-sharp.dll
- fix NPE in authentication
version 0.6.0.0
- support for endpoint recovery
version 0.5.4.0
- support for NuGet. Package name is cassandra-sharp
- log4net and Thrift are shipped with the zip package
- Thrift is no more merge in the cassandra-sharp.dll (BREAKING CHANGE)
version 0.5.1.0
- minor fix for user/password change when overriding cluster config
version 0.5.0.0
- new mechanism to override a cluster configuration to handle a batch of commands (BREAKING CHANGE)
- poolSize is moved from BehaviorConfig? to TransportConfig? (BREAKING CHANGE)
- ICluster interface changed (BREAKING CHANGE)
- SetKeySpace removed - this was not safe (BREAKING CHANGE)
version 0.4.0.0
- support for authentication
- tested against Cassandra 1.0
- using Cassandra 1.0.3 Thrift interface
version 0.3.3.0
- exception logging
- counter support
- NotFoundException specific behavior
- TTL support
version 0.3.0.0
- added timeout configuration
- fixed bug when exception thrown during acquire connection
version 0.2
- build system
version 0.1
- initial version