AI 2.1 release notes.
[ignite.git] / RELEASE_NOTES.txt
1 Apache Ignite Release Notes
2 ===========================
3
4 Apache Ignite In-Memory Data Fabric 2.1
5 ---------------------------------------
6 Ignite:
7 * Persistent cache store
8 * Added IgniteFuture.listenAsync() and IgniteFuture.chainAsync() mehtods
9 * Deprecated IgniteConfiguration.marshaller
10 * Updated Lucene dependency to version 5.5.2
11 * Machine learning: implemented K-means clusterization algorithm optimized for distributed storages
12 * SQL: CREATE TABLE and DROP TABLE commands support
13 * SQL: New thin JDBC driver
14 * SQL: Improved performance of certain queries, when affinity node can be calculated in advance
15 * SQL: Fixed return type of AVG() function
16 * SQL: BLOB type support added to thick JDBC driver
17 * SQL: Improved LocalDate, LocalTime and LocalDateTime support for Java 8
18 * SQL: Added FieldsQueryCursor interface to get fields metadata for SqlFieldsQuery
19 * ODBC: Implemented DML statement batching
20 * Massive performance and stability improvements
21
22 Ignite.NET:
23 * Automatic remote assembly loading
24 * NuGet-based standalone node deployment
25 * Added conditional data removeal via LINQ DeleteAll
26 * Added TimestampAttribute to control DateTime serialization mode
27 * Added local collections joins support to LINQ.
28
29 Ignite CPP:
30 * Added Compute::Call and Compute::Broadcast methods
31
32 Web Console:
33 * Implemented support for UNIQUE indexes for key fields on import model from RDBMS
34 * Added option to show full stack trace on Queries screen
35 * Added PK alias generation on Models screen.
36
37 Apache Ignite In-Memory Data Fabric 2.0
38 ---------------------------------------
39 Ignite:
40 * Introduced new page memory architecture
41 * Machine Learning beta: distributed algebra support for dense and sparse data sets
42 * Reworked and simplified API for asynchronous operations
43 * Custom thread pool executors for compute tasks
44 * Removed CLOCK mode in ATOMIC cache
45 * Deprecated schema-import utility in favor of Web Console
46 * Integration with Spring Data
47 * Integration with Hibernate 5
48 * Integration with RocketMQ
49 * Integration with ZeroMQ
50 * SQL: CREATE INDEX and DROP INDEX commands
51 * SQL: Ability to execute queries over specific set of partitions
52 * SQL: Improved REPLICATED cache support
53 * SQL: Updated H2 version to 1.4.195
54 * SQL: Improved performance of MIN/MAX aggregate functions
55 * ODBC: Added Time data type support
56 * Massive performance improvements
57
58 Ignite.NET:
59 * Custom plugin API
60 * Generic cache store
61 * Binary types now can be registered dynamically
62 * LINQ: join, "contains" and DateTime property support
63
64 Ignite CPP:
65 * Implemented Cache::Invoke
66 * Added remote filters support to continuous queries
67
68 Web Console:
69 * Multi-cluster support
70 * Possibility to configure Kubernetes IP finder
71 * EnforceJoinOrder option on Queries screen
72
73 Apache Ignite In-Memory Data Fabric 1.9
74 ---------------------------------------
75 Ignite:
76 * Added Data streamer mode for DML
77 * Added Discovery SPI Implementation for Ignite Kubernetes Pods
78 * SQL: Query can utilize multiple threads
79 * SQL: Improved distributed SQL support
80 * Benchmarking simplified and automated
81 * Fixed licenses generation during build
82 * ignite-spark module upgraded to Spark 2.0
83
84 Ignite.NET:
85 * DML support
86 * TransactionScope API for Ignite transactions support
87
88 Ignite CPP:
89 * DML support
90 * Implemented LoadCache
91 * ContinuousQuery support
92
93 Apache Ignite In-Memory Data Fabric 1.8
94 ---------------------------------------
95 Ignite:
96 * SQL: Added DML operations support (INSERT, UPDATE, DELETE, MERGE)
97 * SQL: Improved DISTINCT keyword handling in aggregates
98 * Hadoop: Added MapR distribution support
99 * Visor: Improved SQL statistics
100 * Added Redis protocol support
101 * Added transactions deadlock detection
102 * Many stability and fault-tolerance fixes
103
104 Ignite.NET:
105 * ASP.NET session state store provider
106 * Entity Framework second level cache
107 * Custom loggers support: NLog, Apache log4Net
108
109 ODBC driver:
110 * Added DML operations support
111 * Added distributed joins support
112 * Added DSN support
113 * Performance improvements
114
115 Apache Ignite In-Memory Data Fabric 1.7
116 ---------------------------------------
117 Ignite:
118 * Added distributed SQL JOIN.
119 * Node can be assigned as primary only after preloading is finished.
120 * Fixed CountDownLatch re-create issue.
121 * ODBC: Added decimal type support.
122 * Visor: Fixed data nodes calculation when node filter is set for cache.
123 * Many stability and fault-tolerance fixes.
124
125 Ignite.NET:
126 * Added ASP.NET Output Cache provider.
127 * Added ability to use .NET configuration in Apache.Ignite.exe.
128 * Added ability to implement custom affinity functions.
129 * Fixed a bug in IBinaryObjectBuilder causing type name to be lost.
130
131 Ignite CPP:
132 * Marshalling performance improvements.
133
134 Apache Ignite In-Memory Data Fabric 1.6
135 ---------------------------------------
136 Ignite .NET:
137 * Added LINQ Provider for cache SQL queries
138 * Added native configuration mechanism (C#, app.config, web.config - instead of Spring XML)
139 * Added NuGet distribution
140 * Added AtomicSequence and AtomicReference data structures
141 * Binaries are now AnyCPU (instead of separate x64/x86)
142 * Java-based services can be called the same way as .NET service are called
143 * Added java-based continuous query filters
144 * Added automatic Java detection: no need for JAVA_HOME
145 * Added ability to use Java-based remote filters in continuous queries.
146
147 Ignite C++:
148 * Added Transactions API for C++ client.
149 * Added Date and Timestamp types implementation for C++ client.
150 * Simplified Autotools build process for C++ client.
151
152 Ignite:
153 * Added ability to get partition 'updateCntr' with continuous query public API.
154 * Added asynchronous execution of ContinuousQuery's remote filter and local listener.
155 * Added backup partitions storing to local store default behavior.
156 * Added cache deadlock detection.
157 * Added Cache Store implementation backed by Cassandra DB.
158 * Added method to get versioned cache entry.
159 * Added ODBC driver for Ignite.
160 * Added support for join timeout while registering local addresses with IP finder in TcpDiscoverySpi.
161 * Added support for JTA transactions via synchronization callback.
162 * Added Web Console for Ignite.
163 * Fixed a bug causing object deserialization when local store is configured for cache.
164 * Fixed a problem with incorrect classloader picked in OSGI environment.
165 * Fixed a race condition when evicted offheap data was not delivered to query engine leading to query timeout.
166 * Fixed an issue in ContinuousQueries that caused missing of notifications.
167 * Fixed background cache partition map exchange not to flood network.
168 * Fixed BinaryContext to honor custom loader set through IgniteConfiguration.
169 * Fixed BinaryObjectOffHeapImpl leak to public code.
170 * Fixed cluster stability with 500+ clients.
171 * Fixed continuous queries to send filter factory instead of filter.
172 * Fixed continuous query deployment in case originating node has left.
173 * Fixed issues with continuous query.
174 * Fixed deadlock in services deployment when Spring is used.
175 * Fixed discovery and node start procedure issues that may cause slowdowns during larger topologies start (>100 nodes).
176 * Fixed eviction policy notification if swap or off heap is enabled and an entry is not loaded during preloading.
177 * Fixed excessive thread stack usage in case of high contention on cache entries.
178 * Fixed execution of Splunk MapReduce jobs on top of Ignite MR.
179 * Fixed GridClosureProcessor internal closures to be deserialized by BinaryMarshaller.
180 * Fixed issue with AWS dependencies.
181 * Fixed java proxies deserialization with optimized marshaller.
182 * Fixed local store behavior at cross cache transactions.
183 * Fixed marshalling of Java collection and maps for BinaryMarshaller.
184 * Fixed memory leak in IgniteH2Indexing.
185 * Fixed NPE during rebalancing.
186 * Fixed NPE in GridMergeIndex.
187 * Fixed OOME when OFFHEAP_TIERED mode is used.
188 * Fixed potential thread starvation during cache rebalancing.
189 * Fixed race condition on load cache on changing topology.
190 * Fixed race in marshalling logic that could arise when several nodes are running on the same host.
191 * Fixed redeployment issues happened with ScanQueries filters.
192 * Fixed service proxy not to make remote call for methods declared in java.lang.Object.
193 * Fixed several ClassNotFoundException in OSGi environment.
194 * Fixed SKIP_STORE flag behavior for transaction entry.
195 * Fixed support for classes with equal simple name for binary marshaller.
196 * Fixed system caches not to use user-defined TransactionConfiguration.
197 * Fixed the issue when CacheStore was updated even if EntryProcessor didn't update an entry.
198 * Fixed thread safety for TcpDiscoveryMulticastIpFinder.
199 * Fixed unintentional deserialization of BinaryObjects in OFFHEAP mode with peer class loading enabled.
200 * Fixed UTF-16 surrogate pairs marshalling.
201 * Fixed value copying in entry processor with OptimizedMarshaller.
202 * Fixed web session clustering with WebLogic.
203 * Hadoop: fixed a bug causing exception during MR planning when input split file doesn't exist.
204 * IGFS: Added configuration flag to disable default path modes under "/ignite" folder.
205 * IGFS: Added pluggable factory interface for Hadoop FileSystem creation.
206 * IGFS: Fixed file properties when running over secondary file system.
207 * IGFS: Fixed issues with Kerberized HDFS.
208 * IGFS: Massive performance and stability fixes.
209 * Improved marshaller behavior during cluster topology change.
210 * Mesos integration: added possibility to load Ignite package from file system.
211 * Optimized cache 'get' operations on affinity node.
212 * Optimized memory usage on server nodes to allow more client connections.
213 * Passed update notifier flag to discovery data to be sure that all cluster nodes have the same notifier status as the first node.
214 * Performance optimization for transactions that do not acquire locks.
215 * ScanQueries over local partitions performance optimisation.
216 * Support of package-private implementations for Ignite Services.
217 * Supported Ignite Compute tasks cancellation for Ignite.NET.
218 * Visor CMD: Added ability to attach custom scripts to alerts.
219 * Web sessions: minor fix to prevent NullPointerException in some special case.
220 * Web sessions: user session classes are no longer needed on server nodes.
221 * A lot of stability and fault-tolerance fixes.
222
223 Apache Ignite In-Memory Data Fabric 1.5
224 ---------------------------------------
225 * Ignite.NET: Initial Release.
226 * Ignite C++: Initial Release.
227 * Massive performance improvements for cache operations and SQL.
228 * Added new binary cache object marshalling implementation.
229 * Added IgniteSemaphore data structure.
230 * Added MQTT Streamer.
231 * Added Twitter Streamer.
232 * Added Ignite Sink (integration with Apache Flume).
233 * Added Apache Camel Streamer.
234 * Added OSGi support.
235 * Fixed optimistic serializable transactions: implemented "deadlock-free" locking algorithm.
236 * Fixed failover for continuous queries.
237 * Fixed compilation and runtime errors under OpenJDK and IBM JDK.
238 * Fixed Integer.size limitation for cache.
239 * Fixed and improved cache types configuration.
240 * Fixed cache rebalancing.
241 * Many stability and fault-tolerance fixes.
242 * Added example to demonstrate the usage of EntryProcessor.
243
244 Complete list of closed issues: https://issues.apache.org/jira/issues/?jql=project%20%3D%20IGNITE%20AND%20fixVersion%20%3D%201.5%20AND%20status%20%3D%20closed
245
246 Apache Ignite In-Memory Data Fabric 1.4
247 ---------------------------------------
248 * Added SSL support to communication and discovery.
249 * Added support for log4j2.
250 * Added versioned entry to cache API.
251 * Added client node based JDBC driver implementation.
252 * Fixed consistency issue for custom events processing within discovery.
253 * Fixed race in cache swap/unswap logic.
254 * Fixed IGNITE_HOME resolution with JBoss.
255 * Fixed configuration file resolution on classpath.
256 * Fixed MBean registration for caches.
257 * Fixed near cache evictions with offheap.
258 * Fixed SQL queries group index logic.
259 * Fixed memory leak in partitioned transactional cache.
260 * Fixed auto-retries for cache operations in recoverable cases.
261 * Fixed affinity routing in compute grid.
262 * Many stability and fault-tolerance fixes.
263
264 Apache Ignite In-Memory Data Fabric 1.3
265 ---------------------------------------
266
267 * Added auto-retries for cache operations in recoverable cases.
268 * Added integration with Apache YARN.
269 * Added auto detection and dropping of slow client nodes.
270 * Fixed several issues with JTA integration.
271 * Fixed several issues with Hibernate L2 cache.
272 * Fixed issue with GAR files in source release.
273 * Stability fixes for TCP discovery SPI.
274 * Stability fixes for onheap and offheap SQL queries.
275 * Bug fixes in In-Memory Accelerator For Apache Hadoop.
276 * Many stability and fault-tolerance fixes.
277
278 Apache Ignite In-Memory Data Fabric 1.2
279 ---------------------------------------
280
281 * Added client mode to TCP discovery SPI.
282 * Added memory based evictions.
283 * Added integration with Apache Spark.
284 * Added integration with Apache Mesos.
285 * Added IgniteCache.getAllOutTx() method.
286 * Added serializable cache store factories for built-in stores.
287 * Bug fixes in In-Memory Accelerator For Apache Hadoop.
288 * Many stability and fault-tolerance fixes.
289
290 Apache Ignite In-Memory Data Fabric 1.1
291 ---------------------------------------
292
293 * Added Google Compute Engine TCP discovery IP finder.
294 * Added generic cloud TCP discovery IP finder (based on jclouds).
295 * Added SortedEvictionPolicy.
296 * Added chaining for IgniteConfiguration and CacheConfiguration setters.
297 * Added AffinityUuid class for easier generation of unique collocated keys.
298 * Added support for cache configuration templates.
299 * Added support for (*) star notation in cache names.
300 * Added "collocated" mode for SQL queries.
301 * Improved expiry policy handling (TTL based evictions) to avoid thrashing.
302 * Fixed job continuations.
303 * Fixed compilation and runtime with OpenJDK 7 & 8
304 * Fixed SQL Union support
305 * Fixed Word-Count streaming example to produce better results.
306 * Removed edtFTPj scanner from URI deployment due to licensing issues.
307 * Made deployment scanners for URI-based deployment pluggable.
308 * Many stability and fault-tolerance fixes.
309
310 Apache Ignite In-Memory Data Fabric 1.0
311 ---------------------------------------
312
313 * Simplified query API.
314 * Added automatic aggregation, grouping, and sorting support to SQL queries.
315 * Added dynamic caches, i.e. ability to start and stop caches during runtime.
316 * Changed IgniteDataLoader to IgniteDataStreamer.
317 * Added automatic transformation support to streaming.
318 * Removed old streaming APIs in favor of new IgniteDataStreamer.
319 * Added many examples using Java8 lambdas and streams.
320 * Added new streaming examples based on new streaming and SQL querying APIs.
321 * Added automatic schema-import demo under examples.
322 * Improved javadoc documentation.
323 * Added ability to automatically exclude LGPL optional dependencies during build.
324
325
326 Apache Ignite In-Memory Data Fabric 1.0 RC3
327 -------------------------------------------
328
329 This is the first release of Apache Ignite project. The source code in large part is based
330 on the 7 year old GridGain In-Memory Data Fabric, open source edition, v. 6.6.2, which was
331 donated to Apache Software Foundation in September 2014.
332
333 The main feature set of Ignite In-Memory Data Fabric includes:
334 * Advanced Clustering
335 * Compute Grid
336 * Data Grid
337 * Service Grid
338 * IGFS - Ignite File System
339 * Distributed Data Structures
340 * Distributed Messaging
341 * Distributed Events
342 * Streaming & CEP