blob: 592d415d8a1df7d85685d6f6db29831f6a7e2759 [file] [log] [blame]
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.4.0/release_notes.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
<style>h1 { color: #113847; font-size: 33px; font-weight: bold; margin: 30px 0 15px 0; padding-bottom: 7px; width: 700px;}h2 { border-bottom: 2px solid #ccc; color: #113847; font-size: 29px; font-weight: normal; margin: 30px 0 15px 0; padding-bottom: 7px; width: 700px; }a { color: #cc0000; text-decoration: none; }span { color: #cc0000;}a:hover { text-decoration: underline;}ul,ol { list-style: disc; margin-left: 30px;}ul li,ol li { margin: 5px 0;}p.description { width: 700px;}</style>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-61232409-1', 'auto');
ga('send', 'pageview');
</script></head>
<body>
<h1>Apache IGNITE 2.4</h1>
<div>
Usually, Ignite community rolls out a new version once in 3 months, but we had to make an exception for
Apache Ignite 2.4 that consumed five months in total. We could easily blame Thanksgiving, Christmas and New Year
holidays for the delay and would be forgiven, but, in fact, we were forging the release you can't simply pass by.
<p>Discover the benefits of 2.4 by reading
<a href="https://blogs.apache.org/ignite/entry/apache-ignite-2-4-brings" target="_blank">this blog post</a>
and only then flip through the features and improvements below.
</p>
</div>
<div></div><h2>Features and Improvements</h2>
<ul>
<li>Spark Data Frames: support saving a data frame in Ignite<a href="https://issues.apache.org/jira/browse/IGNITE-7337"> [#IGNITE-7337]</a>
</li>
<li>DataSet API<a href="https://issues.apache.org/jira/browse/IGNITE-7205"> [#IGNITE-7205]</a>
</li>
<li>.NET: Support additional Data Region metrics<a href="https://issues.apache.org/jira/browse/IGNITE-7171"> [#IGNITE-7171]</a>
</li>
<li>Implement Multilayer Perceptron<a href="https://issues.apache.org/jira/browse/IGNITE-7129"> [#IGNITE-7129]</a>
</li>
<li>Apache Ignite RPM packages<a href="https://issues.apache.org/jira/browse/IGNITE-7107"> [#IGNITE-7107]</a>
</li>
<li>Ability to disable WAL (Non recoverable case)<a href="https://issues.apache.org/jira/browse/IGNITE-7003"> [#IGNITE-7003]</a>
</li>
<li>Add a flag for Visor batch mode to output only command results without additional info<a href="https://issues.apache.org/jira/browse/IGNITE-6999"> [#IGNITE-6999]</a>
</li>
<li>Implement new JMX metrics for Memory Regions<a href="https://issues.apache.org/jira/browse/IGNITE-6902"> [#IGNITE-6902]</a>
</li>
<li>KNN(k nearest neighbor) algorithm<a href="https://issues.apache.org/jira/browse/IGNITE-6880"> [#IGNITE-6880]</a>
</li>
<li>Implement new JMX metrics for partitions map monitoring<a href="https://issues.apache.org/jira/browse/IGNITE-6871"> [#IGNITE-6871]</a>
</li>
<li>Implement new JMX metric for cache topology validation monitoring<a href="https://issues.apache.org/jira/browse/IGNITE-6870"> [#IGNITE-6870]</a>
</li>
<li>Implement new JMX metric for jobs monitoring<a href="https://issues.apache.org/jira/browse/IGNITE-6869"> [#IGNITE-6869]</a>
</li>
<li>Implement new JMX metrics for TcpCommunicationSpi monitoring<a href="https://issues.apache.org/jira/browse/IGNITE-6868"> [#IGNITE-6868]</a>
</li>
<li>Implement new JMX metrics for topology monitoring<a href="https://issues.apache.org/jira/browse/IGNITE-6867"> [#IGNITE-6867]</a>
</li>
<li>Ability to turn BaselineTopology handling off<a href="https://issues.apache.org/jira/browse/IGNITE-6694"> [#IGNITE-6694]</a>
</li>
<li>Introduction of models import/export<a href="https://issues.apache.org/jira/browse/IGNITE-6640"> [#IGNITE-6640]</a>
</li>
<li>Introduction of distributed neural networks<a href="https://issues.apache.org/jira/browse/IGNITE-6386"> [#IGNITE-6386]</a>
</li>
<li>BaselineTopology is created on first cluster activation<a href="https://issues.apache.org/jira/browse/IGNITE-6308"> [#IGNITE-6308]</a>
</li>
<li>DDL: Support ALTER TABLE DROP COLUMN<a href="https://issues.apache.org/jira/browse/IGNITE-5949"> [#IGNITE-5949]</a>
</li>
<li>Thin client protocol<a href="https://issues.apache.org/jira/browse/IGNITE-5896"> [#IGNITE-5896]</a>
</li>
<li>Validate baseline topology change history during node joins<a href="https://issues.apache.org/jira/browse/IGNITE-5854"> [#IGNITE-5854]</a>
</li>
<li>Automatically activate cluster if baseline topology is reached<a href="https://issues.apache.org/jira/browse/IGNITE-5851"> [#IGNITE-5851]</a>
</li>
<li>Introduce an API for baseline topology for persistence-enabled clusters<a href="https://issues.apache.org/jira/browse/IGNITE-5850"> [#IGNITE-5850]</a>
</li>
<li>Introduce ignite node persistent meta-store<a href="https://issues.apache.org/jira/browse/IGNITE-5849"> [#IGNITE-5849]</a>
</li>
<li>API for Models<a href="https://issues.apache.org/jira/browse/IGNITE-5847"> [#IGNITE-5847]</a>
</li>
<li>Fuzzy c-means (FCM)<a href="https://issues.apache.org/jira/browse/IGNITE-5246"> [#IGNITE-5246]</a>
</li>
<li>Decision trees<a href="https://issues.apache.org/jira/browse/IGNITE-5218"> [#IGNITE-5218]</a>
</li>
<li>Gradient descent for OLS lin reg<a href="https://issues.apache.org/jira/browse/IGNITE-5217"> [#IGNITE-5217]</a>
</li>
<li>Add ability to start rebalancing from management console<a href="https://issues.apache.org/jira/browse/IGNITE-4835"> [#IGNITE-4835]</a>
</li>
<li>Spark Data Frames Support in Apache Ignite<a href="https://issues.apache.org/jira/browse/IGNITE-3084"> [#IGNITE-3084]</a>
</li>
<li>TcpCommunicationSpi metrics causes cache operations slowdown<a href="https://issues.apache.org/jira/browse/IGNITE-7866"> [#IGNITE-7866]</a>
</li>
<li>SQL: COPY command should try to create cache in case table is not found<a href="https://issues.apache.org/jira/browse/IGNITE-7714"> [#IGNITE-7714]</a>
</li>
<li>Fix windows *.bat scripts Java 9 compatibility<a href="https://issues.apache.org/jira/browse/IGNITE-7550"> [#IGNITE-7550]</a>
</li>
<li>Rename KEYS.txt<a href="https://issues.apache.org/jira/browse/IGNITE-7543"> [#IGNITE-7543]</a>
</li>
<li>ODBC: use native batching capabilities on the server side<a href="https://issues.apache.org/jira/browse/IGNITE-7443"> [#IGNITE-7443]</a>
</li>
<li>Use various backgrounds for Ignite main page's main blocks<a href="https://issues.apache.org/jira/browse/IGNITE-7404"> [#IGNITE-7404]</a>
</li>
<li>Improve content on What's Ignite page<a href="https://issues.apache.org/jira/browse/IGNITE-7403"> [#IGNITE-7403]</a>
</li>
<li>Java 9: rework "sun.misc.SharedSecrets" and "sun.misc.JavaNioAccess" usages<a href="https://issues.apache.org/jira/browse/IGNITE-7352"> [#IGNITE-7352]</a>
</li>
<li>Move all SQL examples out of "data grid" package<a href="https://issues.apache.org/jira/browse/IGNITE-7318"> [#IGNITE-7318]</a>
</li>
<li>Update RocketMQ dependencies to 4.2.0<a href="https://issues.apache.org/jira/browse/IGNITE-7296"> [#IGNITE-7296]</a>
</li>
<li>Optimize Ignite main page load performance<a href="https://issues.apache.org/jira/browse/IGNITE-7292"> [#IGNITE-7292]</a>
</li>
<li>Apache Ignite "in use at" section<a href="https://issues.apache.org/jira/browse/IGNITE-7291"> [#IGNITE-7291]</a>
</li>
<li>performance measurement for FCM and KNN algorithms<a href="https://issues.apache.org/jira/browse/IGNITE-7214"> [#IGNITE-7214]</a>
</li>
<li>SQL: Improvde DML encapsulation<a href="https://issues.apache.org/jira/browse/IGNITE-7200"> [#IGNITE-7200]</a>
</li>
<li>performance measurement for SparseDistributedMatrix multiplication<a href="https://issues.apache.org/jira/browse/IGNITE-7097"> [#IGNITE-7097]</a>
</li>
<li>Add examples for kNN classification and for kNN regression<a href="https://issues.apache.org/jira/browse/IGNITE-7079"> [#IGNITE-7079]</a>
</li>
<li>Rework Features menu and page<a href="https://issues.apache.org/jira/browse/IGNITE-7061"> [#IGNITE-7061]</a>
</li>
<li>Avoid fsync on WAL segment header write in non-default mode<a href="https://issues.apache.org/jira/browse/IGNITE-7016"> [#IGNITE-7016]</a>
</li>
<li>SQL: in-place update should be allowed when indexing is enabled<a href="https://issues.apache.org/jira/browse/IGNITE-7014"> [#IGNITE-7014]</a>
</li>
<li>Decision tree code cleanup<a href="https://issues.apache.org/jira/browse/IGNITE-7007"> [#IGNITE-7007]</a>
</li>
<li>Refactor dynamic indexes tests to use SQL API<a href="https://issues.apache.org/jira/browse/IGNITE-7001"> [#IGNITE-7001]</a>
</li>
<li>GridQueryProcessor.querySqlFieldsNoCache should check for cluster active/inactive state<a href="https://issues.apache.org/jira/browse/IGNITE-6932"> [#IGNITE-6932]</a>
</li>
<li>IgniteH2Indexing#rebuildIndexesFromHash should pass old value to indexing engine<a href="https://issues.apache.org/jira/browse/IGNITE-6901"> [#IGNITE-6901]</a>
</li>
<li>Linear regression should implement Model API<a href="https://issues.apache.org/jira/browse/IGNITE-6872"> [#IGNITE-6872]</a>
</li>
<li>SQL: integrate index inline size to CREATE INDEX syntax<a href="https://issues.apache.org/jira/browse/IGNITE-6850"> [#IGNITE-6850]</a>
</li>
<li>SQL parser: support DROP INDEX command<a href="https://issues.apache.org/jira/browse/IGNITE-6848"> [#IGNITE-6848]</a>
</li>
<li>SQL parser: support CREATE INDEX command<a href="https://issues.apache.org/jira/browse/IGNITE-6840"> [#IGNITE-6840]</a>
</li>
<li>Create common mechanism for group training<a href="https://issues.apache.org/jira/browse/IGNITE-6783"> [#IGNITE-6783]</a>
</li>
<li>SQL: prototype for hand-made parser<a href="https://issues.apache.org/jira/browse/IGNITE-6769"> [#IGNITE-6769]</a>
</li>
<li>JDBC thin: connection property refactoring<a href="https://issues.apache.org/jira/browse/IGNITE-6752"> [#IGNITE-6752]</a>
</li>
<li>Java 9: rework usages of URLClassLoader.getURLs()<a href="https://issues.apache.org/jira/browse/IGNITE-6745"> [#IGNITE-6745]</a>
</li>
<li>Java 9: create TC infrastructure to run unit tests<a href="https://issues.apache.org/jira/browse/IGNITE-6744"> [#IGNITE-6744]</a>
</li>
<li>Java 9: rework DirectBuffer.cleaner().clean() usage in GridNioServer<a href="https://issues.apache.org/jira/browse/IGNITE-6743"> [#IGNITE-6743]</a>
</li>
<li>Java 9: rework Cleaner usage in PlatformMemoryPool class<a href="https://issues.apache.org/jira/browse/IGNITE-6742"> [#IGNITE-6742]</a>
</li>
<li>Java 9: rework DirectBuffer.address() usages<a href="https://issues.apache.org/jira/browse/IGNITE-6740"> [#IGNITE-6740]</a>
</li>
<li>Java 9: rework GridCacheMapEntry synchronization logic to avoid Unsafe.monitor* methods<a href="https://issues.apache.org/jira/browse/IGNITE-6736"> [#IGNITE-6736]</a>
</li>
<li>Java 9: fix Java version resolution/check logic<a href="https://issues.apache.org/jira/browse/IGNITE-6735"> [#IGNITE-6735]</a>
</li>
<li>Java 9: do not use sun.misc.BASE64Encoder<a href="https://issues.apache.org/jira/browse/IGNITE-6734"> [#IGNITE-6734]</a>
</li>
<li>Java 9: Hadoop module should not start on Java 9<a href="https://issues.apache.org/jira/browse/IGNITE-6732"> [#IGNITE-6732]</a>
</li>
<li>Java 9: remove sun.misc.PerfCounter usages<a href="https://issues.apache.org/jira/browse/IGNITE-6731"> [#IGNITE-6731]</a>
</li>
<li>Java 9: fix project build procedure<a href="https://issues.apache.org/jira/browse/IGNITE-6730"> [#IGNITE-6730]</a>
</li>
<li>Java 9: fix IgniteUtils#close(URLClassLoader, IgniteLogger)<a href="https://issues.apache.org/jira/browse/IGNITE-6729"> [#IGNITE-6729]</a>
</li>
<li>Support Java 9<a href="https://issues.apache.org/jira/browse/IGNITE-6728"> [#IGNITE-6728]</a>
</li>
<li>Web console: Check demo node configuration<a href="https://issues.apache.org/jira/browse/IGNITE-6670"> [#IGNITE-6670]</a>
</li>
<li>SQL: optimize primary key equality lookup<a href="https://issues.apache.org/jira/browse/IGNITE-6663"> [#IGNITE-6663]</a>
</li>
<li>SQL: move IgniteDistributedJoinTestSuite to query suite(s)<a href="https://issues.apache.org/jira/browse/IGNITE-6634"> [#IGNITE-6634]</a>
</li>
<li>SQL: simplify GridH2Row infrastructure<a href="https://issues.apache.org/jira/browse/IGNITE-6632"> [#IGNITE-6632]</a>
</li>
<li>Optimize GridH2KeyValueRowOnheap.getValue() method<a href="https://issues.apache.org/jira/browse/IGNITE-6631"> [#IGNITE-6631]</a>
</li>
<li>SQL: Avoid materializing rows when possible<a href="https://issues.apache.org/jira/browse/IGNITE-6626"> [#IGNITE-6626]</a>
</li>
<li>SQL: IndexingQueryCacheFilter should use immediate partition data if possible<a href="https://issues.apache.org/jira/browse/IGNITE-6624"> [#IGNITE-6624]</a>
</li>
<li>SQL: Merge and optimize backup query filter<a href="https://issues.apache.org/jira/browse/IGNITE-6605"> [#IGNITE-6605]</a>
</li>
<li>SQL: DDL tests should not check internal structures, but rather rely on expected public behavior<a href="https://issues.apache.org/jira/browse/IGNITE-6416"> [#IGNITE-6416]</a>
</li>
<li>SQL: CREATE INDEX should fill index from multiple threads<a href="https://issues.apache.org/jira/browse/IGNITE-6406"> [#IGNITE-6406]</a>
</li>
<li>WebConsole: support ClientConnectorConfiguration<a href="https://issues.apache.org/jira/browse/IGNITE-6398"> [#IGNITE-6398]</a>
</li>
<li>ODBC: support multiple SQL statements<a href="https://issues.apache.org/jira/browse/IGNITE-6357"> [#IGNITE-6357]</a>
</li>
<li>SQL: ANTLR performance assessment<a href="https://issues.apache.org/jira/browse/IGNITE-6320"> [#IGNITE-6320]</a>
</li>
<li>BaselineTopology versioning<a href="https://issues.apache.org/jira/browse/IGNITE-6310"> [#IGNITE-6310]</a>
</li>
<li>SQL: Add ability to do INSERT without specifying the column names<a href="https://issues.apache.org/jira/browse/IGNITE-6111"> [#IGNITE-6111]</a>
</li>
<li>SQL: add native batch execution support for DML statements<a href="https://issues.apache.org/jira/browse/IGNITE-6022"> [#IGNITE-6022]</a>
</li>
<li>Web Console: In addition to export also implement copy result set to clipboard<a href="https://issues.apache.org/jira/browse/IGNITE-5641"> [#IGNITE-5641]</a>
</li>
<li>Web Console: Show query execution progress<a href="https://issues.apache.org/jira/browse/IGNITE-5635"> [#IGNITE-5635]</a>
</li>
<li>DDL needs to support DEFAULT operator <a href="https://issues.apache.org/jira/browse/IGNITE-5623"> [#IGNITE-5623]</a>
</li>
<li>Make sure that cache-less execution works as good as cache-based<a href="https://issues.apache.org/jira/browse/IGNITE-5571"> [#IGNITE-5571]</a>
</li>
<li>Optimize DML for fast INSERT and MERGE<a href="https://issues.apache.org/jira/browse/IGNITE-4490"> [#IGNITE-4490]</a>
</li>
<li>Web console - Admin panel: show different message for 'Grant\Revoke admin' actions<a href="https://issues.apache.org/jira/browse/IGNITE-4466"> [#IGNITE-4466]</a>
</li>
<li>Web console: add information on query panel UI about node query was executed on<a href="https://issues.apache.org/jira/browse/IGNITE-4454"> [#IGNITE-4454]</a>
</li>
<li>Web console: add execution time to results panel on Queries screen<a href="https://issues.apache.org/jira/browse/IGNITE-4452"> [#IGNITE-4452]</a>
</li>
<li>Cache manager should switch cache statisticsEnabled property globaly<a href="https://issues.apache.org/jira/browse/IGNITE-369"> [#IGNITE-369]</a>
</li>
<li>Read external split from V2 Context and V1 Reporter #getInputSplit<a href="https://issues.apache.org/jira/browse/IGNITE-358"> [#IGNITE-358]</a>
</li>
<li>Change example for decision trees <a href="https://issues.apache.org/jira/browse/IGNITE-7590"> [#IGNITE-7590]</a>
</li>
<li>Baseline topology should affect only persistent caches<a href="https://issues.apache.org/jira/browse/IGNITE-7502"> [#IGNITE-7502]</a>
</li>
<li>Implement metrics for Memory Regions in UI tools<a href="https://issues.apache.org/jira/browse/IGNITE-7492"> [#IGNITE-7492]</a>
</li>
<li>Use soft reference for checkpoint entry contents to avoid excessive memory usage<a href="https://issues.apache.org/jira/browse/IGNITE-7471"> [#IGNITE-7471]</a>
</li>
<li>Web console: improve list-editable scope variables access<a href="https://issues.apache.org/jira/browse/IGNITE-7395"> [#IGNITE-7395]</a>
</li>
<li>Avoid updating PagePartitionCounters in case all counters were not modified<a href="https://issues.apache.org/jira/browse/IGNITE-7380"> [#IGNITE-7380]</a>
</li>
<li>WAL converter: add records statistic to WAL reader dev-util<a href="https://issues.apache.org/jira/browse/IGNITE-7378"> [#IGNITE-7378]</a>
</li>
<li>Web Console: Add support for custom SMTP servers<a href="https://issues.apache.org/jira/browse/IGNITE-7357"> [#IGNITE-7357]</a>
</li>
<li>Create selftest suite for ml examples<a href="https://issues.apache.org/jira/browse/IGNITE-7332"> [#IGNITE-7332]</a>
</li>
<li>Use java.util.Base64 instead of current implementations of Base64Encoder interface<a href="https://issues.apache.org/jira/browse/IGNITE-7315"> [#IGNITE-7315]</a>
</li>
<li>BaselineTopology: API to reset branching history<a href="https://issues.apache.org/jira/browse/IGNITE-7303"> [#IGNITE-7303]</a>
</li>
<li>Thin client: partial cache configuration<a href="https://issues.apache.org/jira/browse/IGNITE-7288"> [#IGNITE-7288]</a>
</li>
<li>Thin client: idle connection timeout<a href="https://issues.apache.org/jira/browse/IGNITE-7287"> [#IGNITE-7287]</a>
</li>
<li>Web Agent: Support multiple statements on Queries screen<a href="https://issues.apache.org/jira/browse/IGNITE-7274"> [#IGNITE-7274]</a>
</li>
<li>Web Console: Improve notification management<a href="https://issues.apache.org/jira/browse/IGNITE-7256"> [#IGNITE-7256]</a>
</li>
<li>Add abilities to monitor custom thread pools<a href="https://issues.apache.org/jira/browse/IGNITE-7217"> [#IGNITE-7217]</a>
</li>
<li>Java 8 by default<a href="https://issues.apache.org/jira/browse/IGNITE-7203"> [#IGNITE-7203]</a>
</li>
<li>Web Console: some improvments<a href="https://issues.apache.org/jira/browse/IGNITE-7199"> [#IGNITE-7199]</a>
</li>
<li>Limit the number of collection elements printed in S.toString()<a href="https://issues.apache.org/jira/browse/IGNITE-7194"> [#IGNITE-7194]</a>
</li>
<li>Web console: Add example to queries page<a href="https://issues.apache.org/jira/browse/IGNITE-7172"> [#IGNITE-7172]</a>
</li>
<li>Web Console: Cleanup webAgentDownloadVisibleStates<a href="https://issues.apache.org/jira/browse/IGNITE-7168"> [#IGNITE-7168]</a>
</li>
<li>Implement connected clusters component<a href="https://issues.apache.org/jira/browse/IGNITE-7147"> [#IGNITE-7147]</a>
</li>
<li>Web console: Improve ignite icon service interface to extendable<a href="https://issues.apache.org/jira/browse/IGNITE-7133"> [#IGNITE-7133]</a>
</li>
<li>Deprecate embedded mode in IgniteRDD<a href="https://issues.apache.org/jira/browse/IGNITE-7092"> [#IGNITE-7092]</a>
</li>
<li>S3 IP finder: support server side encryption<a href="https://issues.apache.org/jira/browse/IGNITE-7053"> [#IGNITE-7053]</a>
</li>
<li>S3 IP finder: add an ability to provide endpoint address<a href="https://issues.apache.org/jira/browse/IGNITE-7052"> [#IGNITE-7052]</a>
</li>
<li>Add support for spring3<a href="https://issues.apache.org/jira/browse/IGNITE-7050"> [#IGNITE-7050]</a>
</li>
<li>Web Console: add column resizer to pinned columns<a href="https://issues.apache.org/jira/browse/IGNITE-7020"> [#IGNITE-7020]</a>
</li>
<li>Make cache creation slightly more verbose<a href="https://issues.apache.org/jira/browse/IGNITE-6984"> [#IGNITE-6984]</a>
</li>
<li>Visor CMD: Add ability to put/get/remove data to caches via command line Visor<a href="https://issues.apache.org/jira/browse/IGNITE-6976"> [#IGNITE-6976]</a>
</li>
<li>Ignite Logger type & logging file config indication<a href="https://issues.apache.org/jira/browse/IGNITE-6971"> [#IGNITE-6971]</a>
</li>
<li>Update com.google.code.simple-spring-memcached:spymemcached to 2.8.4<a href="https://issues.apache.org/jira/browse/IGNITE-6955"> [#IGNITE-6955]</a>
</li>
<li>Simplify index rebuild<a href="https://issues.apache.org/jira/browse/IGNITE-6931"> [#IGNITE-6931]</a>
</li>
<li>Simplify cache metrics activation<a href="https://issues.apache.org/jira/browse/IGNITE-6925"> [#IGNITE-6925]</a>
</li>
<li>Cache metrics are updated in timeout-worker potentially delaying critical code execution due to current implementation issues<a href="https://issues.apache.org/jira/browse/IGNITE-6923"> [#IGNITE-6923]</a>
</li>
<li>Add support for baseline manipulations to controls.sh<a href="https://issues.apache.org/jira/browse/IGNITE-6913"> [#IGNITE-6913]</a>
</li>
<li>ODBC: Add support for SQL_ATTR_CONNECTION_TIMEOUT<a href="https://issues.apache.org/jira/browse/IGNITE-6876"> [#IGNITE-6876]</a>
</li>
<li>Web console: some error messages are too technical<a href="https://issues.apache.org/jira/browse/IGNITE-6873"> [#IGNITE-6873]</a>
</li>
<li>Additional JMX metrics for cluster monitoring<a href="https://issues.apache.org/jira/browse/IGNITE-6844"> [#IGNITE-6844]</a>
</li>
<li>ODBC: Add support for SQL_ATTR_QUERY_TIMEOUT<a href="https://issues.apache.org/jira/browse/IGNITE-6836"> [#IGNITE-6836]</a>
</li>
<li>Web Console: migrate from angularjs 1.5 to angular 1.6<a href="https://issues.apache.org/jira/browse/IGNITE-6824"> [#IGNITE-6824]</a>
</li>
<li>Detailed memory consumption on start and OOM reporting<a href="https://issues.apache.org/jira/browse/IGNITE-6814"> [#IGNITE-6814]</a>
</li>
<li>Ignite Kafka Connector certification with Confluent<a href="https://issues.apache.org/jira/browse/IGNITE-6801"> [#IGNITE-6801]</a>
</li>
<li>Simplifying and optimising GridNioServer<a href="https://issues.apache.org/jira/browse/IGNITE-6787"> [#IGNITE-6787]</a>
</li>
<li>Change block numeration in SparseBlockMatrixStorage<a href="https://issues.apache.org/jira/browse/IGNITE-6761"> [#IGNITE-6761]</a>
</li>
<li>Persist system cache when persistent data regions are present<a href="https://issues.apache.org/jira/browse/IGNITE-6746"> [#IGNITE-6746]</a>
</li>
<li>Source release should be fixed<a href="https://issues.apache.org/jira/browse/IGNITE-6725"> [#IGNITE-6725]</a>
</li>
<li>Get rid of values deserialization in H2TreeIndex.getRowCount<a href="https://issues.apache.org/jira/browse/IGNITE-6702"> [#IGNITE-6702]</a>
</li>
<li>Do not deserialize previous value during indexes update<a href="https://issues.apache.org/jira/browse/IGNITE-6701"> [#IGNITE-6701]</a>
</li>
<li>DiscoverySpi: Clientmode Ignite should not fail on handshake errors<a href="https://issues.apache.org/jira/browse/IGNITE-6690"> [#IGNITE-6690]</a>
</li>
<li>Allow discovery cache instance reuse if only minor topology change has occured<a href="https://issues.apache.org/jira/browse/IGNITE-6667"> [#IGNITE-6667]</a>
</li>
<li>Add a version of Ignite instance to logger category<a href="https://issues.apache.org/jira/browse/IGNITE-6658"> [#IGNITE-6658]</a>
</li>
<li>Web Console: Implement schema migration<a href="https://issues.apache.org/jira/browse/IGNITE-6647"> [#IGNITE-6647]</a>
</li>
<li>PageId handling improvement: PARTITION_ID masking<a href="https://issues.apache.org/jira/browse/IGNITE-6641"> [#IGNITE-6641]</a>
</li>
<li>Add an ability for auto activate BLT<a href="https://issues.apache.org/jira/browse/IGNITE-6638"> [#IGNITE-6638]</a>
</li>
<li>Allow multiple caches use one SQL schema<a href="https://issues.apache.org/jira/browse/IGNITE-6572"> [#IGNITE-6572]</a>
</li>
<li>Add new snapshot record type (SnapshotRecord) <a href="https://issues.apache.org/jira/browse/IGNITE-6550"> [#IGNITE-6550]</a>
</li>
<li>Need to support ability log timestamp for wal tx and data records<a href="https://issues.apache.org/jira/browse/IGNITE-6547"> [#IGNITE-6547]</a>
</li>
<li>Configure NotNull fields with annotations<a href="https://issues.apache.org/jira/browse/IGNITE-6534"> [#IGNITE-6534]</a>
</li>
<li>Add an option to start caches in inactive state<a href="https://issues.apache.org/jira/browse/IGNITE-6512"> [#IGNITE-6512]</a>
</li>
<li>performance measurement of decision trees algorithms<a href="https://issues.apache.org/jira/browse/IGNITE-6495"> [#IGNITE-6495]</a>
</li>
<li>Add flags to ClientConnectorConfiguration which enable/disable different clients<a href="https://issues.apache.org/jira/browse/IGNITE-6456"> [#IGNITE-6456]</a>
</li>
<li>[IGNITE-6390] Web console: Implement component for cluster selection on pages where it make sense<a href="https://issues.apache.org/jira/browse/IGNITE-6390"> [#IGNITE-6390]</a>
</li>
<li>Create example for local and distributed k-means algorithm<a href="https://issues.apache.org/jira/browse/IGNITE-6373"> [#IGNITE-6373]</a>
</li>
<li>Web Console: Implement control for selecting and activating cluster<a href="https://issues.apache.org/jira/browse/IGNITE-6348"> [#IGNITE-6348]</a>
</li>
<li>Use direct IO or libaio for file page store where applicable<a href="https://issues.apache.org/jira/browse/IGNITE-6341"> [#IGNITE-6341]</a>
</li>
<li>SQL: Investigate parser generators<a href="https://issues.apache.org/jira/browse/IGNITE-6276"> [#IGNITE-6276]</a>
</li>
<li>Rename user facing CREATE TABLE param names to split words properly<a href="https://issues.apache.org/jira/browse/IGNITE-6270"> [#IGNITE-6270]</a>
</li>
<li>ODBC: Implement SQL_ATTR_QUERY_TIMEOUT statement attribute<a href="https://issues.apache.org/jira/browse/IGNITE-6156"> [#IGNITE-6156]</a>
</li>
<li>First performance measurement of implemented ml algorithms<a href="https://issues.apache.org/jira/browse/IGNITE-6123"> [#IGNITE-6123]</a>
</li>
<li>Implement WAL logs compaction and compression after checkpoint<a href="https://issues.apache.org/jira/browse/IGNITE-5938"> [#IGNITE-5938]</a>
</li>
<li>Web console: Implement editable list<a href="https://issues.apache.org/jira/browse/IGNITE-5909"> [#IGNITE-5909]</a>
</li>
<li>Web Console: Improve the ��luster active/inactive states control<a href="https://issues.apache.org/jira/browse/IGNITE-5881"> [#IGNITE-5881]</a>
</li>
<li>Add support of distributed matrices for OLS regression<a href="https://issues.apache.org/jira/browse/IGNITE-5846"> [#IGNITE-5846]</a>
</li>
<li>Parallel plus/multiply matrix algorithms<a href="https://issues.apache.org/jira/browse/IGNITE-5114"> [#IGNITE-5114]</a>
</li>
<li>Support CLEAR command with REST<a href="https://issues.apache.org/jira/browse/IGNITE-4585"> [#IGNITE-4585]</a>
</li>
</ul><h2>Fixed</h2>
<ul>
<li>ClusterGroupExample duplicate<a href="https://issues.apache.org/jira/browse/IGNITE-7534"> [#IGNITE-7534]</a>
</li>
<li>Partition update counters may be inconsistent after rebalancing<a href="https://issues.apache.org/jira/browse/IGNITE-7500"> [#IGNITE-7500]</a>
</li>
<li>Fix flaky GridServiceProcessorMultiNodeConfigSelfTest#checkDeployOnEachNodeUpdateTopology<a href="https://issues.apache.org/jira/browse/IGNITE-7340"> [#IGNITE-7340]</a>
</li>
<li>Caches info is updated on cluster change finish message in discovery thread<a href="https://issues.apache.org/jira/browse/IGNITE-7308"> [#IGNITE-7308]</a>
</li>
<li>Log of thin client is not disabled in special case<a href="https://issues.apache.org/jira/browse/IGNITE-7295"> [#IGNITE-7295]</a>
</li>
<li>JDBC thin driver may list table name twice<a href="https://issues.apache.org/jira/browse/IGNITE-7277"> [#IGNITE-7277]</a>
</li>
<li>BinaryMetadata may be lost if node with outdated metadata becomes a coordinator<a href="https://issues.apache.org/jira/browse/IGNITE-7258"> [#IGNITE-7258]</a>
</li>
<li>"Schema not found" error when setting streaming mode for JDBC driver<a href="https://issues.apache.org/jira/browse/IGNITE-7248"> [#IGNITE-7248]</a>
</li>
<li>In case of not serializable cache update response, future on node requester will never complete<a href="https://issues.apache.org/jira/browse/IGNITE-7239"> [#IGNITE-7239]</a>
</li>
<li>Nodes may ping each other on stop for a failureDetectionTimeout period<a href="https://issues.apache.org/jira/browse/IGNITE-7206"> [#IGNITE-7206]</a>
</li>
<li>GridToStringBuilder should limit large collections output to first N elements<a href="https://issues.apache.org/jira/browse/IGNITE-7195"> [#IGNITE-7195]</a>
</li>
<li>ODBC: ODBC return weird names for tables created with DDL<a href="https://issues.apache.org/jira/browse/IGNITE-7189"> [#IGNITE-7189]</a>
</li>
<li>Ignite fails to start on non x86/64 architectures<a href="https://issues.apache.org/jira/browse/IGNITE-7178"> [#IGNITE-7178]</a>
</li>
<li>Custom discovery messages from plugins are handled incorrectly<a href="https://issues.apache.org/jira/browse/IGNITE-7177"> [#IGNITE-7177]</a>
</li>
<li>Throttling is not applied to page allocation<a href="https://issues.apache.org/jira/browse/IGNITE-7175"> [#IGNITE-7175]</a>
</li>
<li>Fix javadoc MemoryConfiguration (20% instead of 80%)<a href="https://issues.apache.org/jira/browse/IGNITE-7170"> [#IGNITE-7170]</a>
</li>
<li>SQL join with partition and replicated caches fails if number of partitions is too low<a href="https://issues.apache.org/jira/browse/IGNITE-7166"> [#IGNITE-7166]</a>
</li>
<li>CPP: Can not insert zero decimal value with the ODBC driver<a href="https://issues.apache.org/jira/browse/IGNITE-7143"> [#IGNITE-7143]</a>
</li>
<li>IgniteCluster.startNodes() returns successful ClusterStartNodeResult even though the remote process fails<a href="https://issues.apache.org/jira/browse/IGNITE-7135"> [#IGNITE-7135]</a>
</li>
<li>visorcmd: there is no output for last command in batch mode in case of using -nq option<a href="https://issues.apache.org/jira/browse/IGNITE-7121"> [#IGNITE-7121]</a>
</li>
<li>Test cases inherited by AbstractSchemaSelfTest became flucky after the refactoring to use SQL API<a href="https://issues.apache.org/jira/browse/IGNITE-7120"> [#IGNITE-7120]</a>
</li>
<li>CPP: C++ node can't start without java examples folder<a href="https://issues.apache.org/jira/browse/IGNITE-7114"> [#IGNITE-7114]</a>
</li>
<li>Javadoc package descriptions missed for ML<a href="https://issues.apache.org/jira/browse/IGNITE-7110"> [#IGNITE-7110]</a>
</li>
<li>JdbcConnection hard linked in IgniteH2Indexing preventing old connections from closing<a href="https://issues.apache.org/jira/browse/IGNITE-7095"> [#IGNITE-7095]</a>
</li>
<li>Wrong implementation of DIRECT comparator for ordering cache start operations<a href="https://issues.apache.org/jira/browse/IGNITE-7088"> [#IGNITE-7088]</a>
</li>
<li>When PDS is enabled and IGNITE_BINARY_SORT_OBJECT_FIELDS property is set and IgniteCache#put is called a node hangs<a href="https://issues.apache.org/jira/browse/IGNITE-7085"> [#IGNITE-7085]</a>
</li>
<li>Text query for a particular field not working<a href="https://issues.apache.org/jira/browse/IGNITE-7055"> [#IGNITE-7055]</a>
</li>
<li>Optimistic transaction is not properly rolled back if timed out before sending prepare response<a href="https://issues.apache.org/jira/browse/IGNITE-7049"> [#IGNITE-7049]</a>
</li>
<li>IgniteOOM is not propogated to client in case of implicit transaction<a href="https://issues.apache.org/jira/browse/IGNITE-7021"> [#IGNITE-7021]</a>
</li>
<li>Ignite MR problem with accessing hdfs with enabled Kerberos<a href="https://issues.apache.org/jira/browse/IGNITE-6992"> [#IGNITE-6992]</a>
</li>
<li>Wrong value of RebalancingStartTime cache metric<a href="https://issues.apache.org/jira/browse/IGNITE-6985"> [#IGNITE-6985]</a>
</li>
<li>Race in GridClientPartitionTopology may cause NPE and partition map exchange hang<a href="https://issues.apache.org/jira/browse/IGNITE-6979"> [#IGNITE-6979]</a>
</li>
<li>Node restarts with enabled persistence lead to affinity assignment mismatch on different nodes<a href="https://issues.apache.org/jira/browse/IGNITE-6973"> [#IGNITE-6973]</a>
</li>
<li>TotalAllocatedPages metric does not match PhysicalMemoryPages when persistence is disabled<a href="https://issues.apache.org/jira/browse/IGNITE-6963"> [#IGNITE-6963]</a>
</li>
<li>Ignite fails to start on non x86/64 architectures<a href="https://issues.apache.org/jira/browse/IGNITE-6952"> [#IGNITE-6952]</a>
</li>
<li>Fail to execute task with immutable list string<a href="https://issues.apache.org/jira/browse/IGNITE-6944"> [#IGNITE-6944]</a>
</li>
<li>Web console: SimpleWorkerPool select wrong worker in special case<a href="https://issues.apache.org/jira/browse/IGNITE-6926"> [#IGNITE-6926]</a>
</li>
<li>SQL: partition reservations are released too early in lazy mode<a href="https://issues.apache.org/jira/browse/IGNITE-6904"> [#IGNITE-6904]</a>
</li>
<li>Visor doesn't show the list of caches after persistence enabled cluster restart<a href="https://issues.apache.org/jira/browse/IGNITE-6897"> [#IGNITE-6897]</a>
</li>
<li>visorcmd: 'cache -a' shows nodes that are not matched by nodeFilter<a href="https://issues.apache.org/jira/browse/IGNITE-6863"> [#IGNITE-6863]</a>
</li>
<li>Wait for exchange inside GridReduceQueryExecutor.query which never finishes due to opened transaction<a href="https://issues.apache.org/jira/browse/IGNITE-6858"> [#IGNITE-6858]</a>
</li>
<li>ODBC: Add new version for multiple result set functionality<a href="https://issues.apache.org/jira/browse/IGNITE-6841"> [#IGNITE-6841]</a>
</li>
<li>ODBC driver should handle ungraceful tcp disconnects<a href="https://issues.apache.org/jira/browse/IGNITE-6835"> [#IGNITE-6835]</a>
</li>
<li>handle IO errors while checkpointing<a href="https://issues.apache.org/jira/browse/IGNITE-6832"> [#IGNITE-6832]</a>
</li>
<li>Ignite SPI: Test local port range failed on TC agents<a href="https://issues.apache.org/jira/browse/IGNITE-6831"> [#IGNITE-6831]</a>
</li>
<li>Confusing messages "SLF4J: Failed to load class" at Ignite start<a href="https://issues.apache.org/jira/browse/IGNITE-6828"> [#IGNITE-6828]</a>
</li>
<li>Unhandled interruption in GridH2Table<a href="https://issues.apache.org/jira/browse/IGNITE-6825"> [#IGNITE-6825]</a>
</li>
<li>In case of incoming communication connection ping the old one if it's alive<a href="https://issues.apache.org/jira/browse/IGNITE-6818"> [#IGNITE-6818]</a>
</li>
<li>Handle IO errors in LFS files<a href="https://issues.apache.org/jira/browse/IGNITE-6797"> [#IGNITE-6797]</a>
</li>
<li>Ignite WAL reader fails on Tx marker record for persistent store with new style folder naming<a href="https://issues.apache.org/jira/browse/IGNITE-6788"> [#IGNITE-6788]</a>
</li>
<li>GridCacheDatabaseSharedManager#persistenceEnabled used incorrectly<a href="https://issues.apache.org/jira/browse/IGNITE-6778"> [#IGNITE-6778]</a>
</li>
<li>NearCache#localPeek(key, NEAR) always returns 'null' if the node, which owns the primary partition for the given key, left the cluster<a href="https://issues.apache.org/jira/browse/IGNITE-6767"> [#IGNITE-6767]</a>
</li>
<li>ODBC: Error when closing executed DML statement<a href="https://issues.apache.org/jira/browse/IGNITE-6765"> [#IGNITE-6765]</a>
</li>
<li>SparseDistributedMatrixExample failed with NPE<a href="https://issues.apache.org/jira/browse/IGNITE-6762"> [#IGNITE-6762]</a>
</li>
<li>Get rid of noop segment lock-unlock in PageMemoryImpl<a href="https://issues.apache.org/jira/browse/IGNITE-6719"> [#IGNITE-6719]</a>
</li>
<li>Ignite Cache 5 flaky test CacheRebalancingSelfTest.testDisableRebalancing()<a href="https://issues.apache.org/jira/browse/IGNITE-6713"> [#IGNITE-6713]</a>
</li>
<li>DataRegionMetrics#totalAllocatedPages is not valid after node restart<a href="https://issues.apache.org/jira/browse/IGNITE-6711"> [#IGNITE-6711]</a>
</li>
<li>[Web Console] Wrong java type used in generated config from DB schema<a href="https://issues.apache.org/jira/browse/IGNITE-6671"> [#IGNITE-6671]</a>
</li>
<li>CacheStoreSessionListener#onSessionStart() #onSessionEnd() methods are called by GridCacheStoreManagerAdapter even if a store operation should not be performed<a href="https://issues.apache.org/jira/browse/IGNITE-6669"> [#IGNITE-6669]</a>
</li>
<li>Ignite node can try to join to itself<a href="https://issues.apache.org/jira/browse/IGNITE-6639"> [#IGNITE-6639]</a>
</li>
<li>Web console: Do not show client nodes in node selection modal<a href="https://issues.apache.org/jira/browse/IGNITE-6618"> [#IGNITE-6618]</a>
</li>
<li>Web console: there is no error message that cluster is not active on Queries screen<a href="https://issues.apache.org/jira/browse/IGNITE-6617"> [#IGNITE-6617]</a>
</li>
<li>WebConsole cache config parse<a href="https://issues.apache.org/jira/browse/IGNITE-6616"> [#IGNITE-6616]</a>
</li>
<li>TCP port in bin/control.sh differs from default<a href="https://issues.apache.org/jira/browse/IGNITE-6590"> [#IGNITE-6590]</a>
</li>
<li>During start cache we should check temporary file existence besides lock file<a href="https://issues.apache.org/jira/browse/IGNITE-6577"> [#IGNITE-6577]</a>
</li>
<li>When a CacheStore with a @SpringResource annotated field is configured Ignite fails to start via igniteSpringBean<a href="https://issues.apache.org/jira/browse/IGNITE-6555"> [#IGNITE-6555]</a>
</li>
<li>Standalone WAL iterator fails to handle delete WAL data records<a href="https://issues.apache.org/jira/browse/IGNITE-6553"> [#IGNITE-6553]</a>
</li>
<li>SocketChannel may not be closed in createTcpClient()<a href="https://issues.apache.org/jira/browse/IGNITE-6542"> [#IGNITE-6542]</a>
</li>
<li>NPE on registerClassName() with MappedName<a href="https://issues.apache.org/jira/browse/IGNITE-6536"> [#IGNITE-6536]</a>
</li>
<li>Client node does not reconnect to server node when the latter is restarted<a href="https://issues.apache.org/jira/browse/IGNITE-6496"> [#IGNITE-6496]</a>
</li>
<li>Web console: Invalid result on query result with big number<a href="https://issues.apache.org/jira/browse/IGNITE-6463"> [#IGNITE-6463]</a>
</li>
<li>Select * doesn't return new field name after concurrent ALTER TABLE <a href="https://issues.apache.org/jira/browse/IGNITE-6448"> [#IGNITE-6448]</a>
</li>
<li>DataStructure can not be obtained on client if it is created on server node<a href="https://issues.apache.org/jira/browse/IGNITE-6437"> [#IGNITE-6437]</a>
</li>
<li>NPE in Log4J2Logger<a href="https://issues.apache.org/jira/browse/IGNITE-6362"> [#IGNITE-6362]</a>
</li>
<li>If getAll() fails with NPE, onHeap entry is not removed, for local cache<a href="https://issues.apache.org/jira/browse/IGNITE-6307"> [#IGNITE-6307]</a>
</li>
<li>Check Java 7 builds for compatibility with Ignite and update documentation<a href="https://issues.apache.org/jira/browse/IGNITE-6248"> [#IGNITE-6248]</a>
</li>
<li>[Test failure] GridCacheClientModesTcpClientDiscoveryAbstractTest$CaseNearReplicatedTransactional.testGetFromClientNode<a href="https://issues.apache.org/jira/browse/IGNITE-6234"> [#IGNITE-6234]</a>
</li>
<li>IgniteContext starts server nodes on executors<a href="https://issues.apache.org/jira/browse/IGNITE-5981"> [#IGNITE-5981]</a>
</li>
<li>Client disconnects if server it is connected to goes unresponsive <a href="https://issues.apache.org/jira/browse/IGNITE-5860"> [#IGNITE-5860]</a>
</li>
<li>Web console: use byte array type instead of java.lang.Object for binary JDBC types<a href="https://issues.apache.org/jira/browse/IGNITE-5767"> [#IGNITE-5767]</a>
</li>
<li>Wrong msg: calculation of memory policy size<a href="https://issues.apache.org/jira/browse/IGNITE-5755"> [#IGNITE-5755]</a>
</li>
<li>Wrong metrics calculation in ClusterMetricsSnapshot<a href="https://issues.apache.org/jira/browse/IGNITE-5731"> [#IGNITE-5731]</a>
</li>
<li>Web console: Wrong generation of marshaller on version switch<a href="https://issues.apache.org/jira/browse/IGNITE-5407"> [#IGNITE-5407]</a>
</li>
<li>DataStreamer can fails if non-data node enter\leave the grid<a href="https://issues.apache.org/jira/browse/IGNITE-5195"> [#IGNITE-5195]</a>
</li>
<li>Unexpected error occurs when node left topology<a href="https://issues.apache.org/jira/browse/IGNITE-5189"> [#IGNITE-5189]</a>
</li>
<li>NPE in reading data from IGFS<a href="https://issues.apache.org/jira/browse/IGNITE-4862"> [#IGNITE-4862]</a>
</li>
<li>SQL: Add support for Java 8 Time API classes in date\time functions<a href="https://issues.apache.org/jira/browse/IGNITE-4172"> [#IGNITE-4172]</a>
</li>
<li>ClassLoaders are not switched during object deserialization<a href="https://issues.apache.org/jira/browse/IGNITE-3935"> [#IGNITE-3935]</a>
</li>
<li>Ignite does not recognize the right number of CPU cores when running under Docker<a href="https://issues.apache.org/jira/browse/IGNITE-2092"> [#IGNITE-2092]</a>
</li>
</ul><h2>.NET: Features and Improvements</h2>
<ul>
<li>.NET Core support (run on Linux)<a href="https://issues.apache.org/jira/browse/IGNITE-2662"> [#IGNITE-2662]</a>
</li>
<li>.NET: Propagate WAL management API<a href="https://issues.apache.org/jira/browse/IGNITE-7493"> [#IGNITE-7493]</a>
</li>
<li>.NET: Ensure that Ignite works on Mono platform<a href="https://issues.apache.org/jira/browse/IGNITE-1628"> [#IGNITE-1628]</a>
</li>
<li>.NET: Use InternalsVisibleTo for Core projects<a href="https://issues.apache.org/jira/browse/IGNITE-7390"> [#IGNITE-7390]</a>
</li>
<li>.NET: Cluster auto activation (baseline topology)<a href="https://issues.apache.org/jira/browse/IGNITE-7301"> [#IGNITE-7301]</a>
</li>
<li>.NET: Rename ICache.QueryFields to Query, add FieldNames<a href="https://issues.apache.org/jira/browse/IGNITE-7229"> [#IGNITE-7229]</a>
</li>
<li>.NET: Thin client: Cache benchmark<a href="https://issues.apache.org/jira/browse/IGNITE-7124"> [#IGNITE-7124]</a>
</li>
<li>.NET: Verify metrics API parity with a test<a href="https://issues.apache.org/jira/browse/IGNITE-7123"> [#IGNITE-7123]</a>
</li>
<li>.NET: Thin client: Async cache operations<a href="https://issues.apache.org/jira/browse/IGNITE-7109"> [#IGNITE-7109]</a>
</li>
<li>.NET: Thin client: LINQPad example<a href="https://issues.apache.org/jira/browse/IGNITE-7089"> [#IGNITE-7089]</a>
</li>
<li>.NET: Add cross-platform examples on .NET Core<a href="https://issues.apache.org/jira/browse/IGNITE-7002"> [#IGNITE-7002]</a>
</li>
<li>.NET: Thin client: Move ClientStatus to public API<a href="https://issues.apache.org/jira/browse/IGNITE-6997"> [#IGNITE-6997]</a>
</li>
<li>.NET: Thin client: Remove OP_SQL_QUERY<a href="https://issues.apache.org/jira/browse/IGNITE-6990"> [#IGNITE-6990]</a>
</li>
<li>.NET: Thin client: Group operation codes by purpose<a href="https://issues.apache.org/jira/browse/IGNITE-6989"> [#IGNITE-6989]</a>
</li>
<li>.NET: Migrate to latest NUnit<a href="https://issues.apache.org/jira/browse/IGNITE-6982"> [#IGNITE-6982]</a>
</li>
<li>.NET: Create cross-platform examples on .NET Core<a href="https://issues.apache.org/jira/browse/IGNITE-6975"> [#IGNITE-6975]</a>
</li>
<li>.NET: Support pointer serialization<a href="https://issues.apache.org/jira/browse/IGNITE-6951"> [#IGNITE-6951]</a>
</li>
<li>.NET: Optionally disable Java console redirect<a href="https://issues.apache.org/jira/browse/IGNITE-6911"> [#IGNITE-6911]</a>
</li>
<li>.NET: Thin client: SQL & LINQ example<a href="https://issues.apache.org/jira/browse/IGNITE-6776"> [#IGNITE-6776]</a>
</li>
<li>.NET: DataStorageConfiguration.WalAutoArchiveAfterInactivity<a href="https://issues.apache.org/jira/browse/IGNITE-6715"> [#IGNITE-6715]</a>
</li>
<li>.NET: CacheConfiguration missing properties<a href="https://issues.apache.org/jira/browse/IGNITE-6705"> [#IGNITE-6705]</a>
</li>
<li>.NET: CacheConfiguration.KeyConfiguration<a href="https://issues.apache.org/jira/browse/IGNITE-6704"> [#IGNITE-6704]</a>
</li>
<li>.NET: Thin client: XML configuration<a href="https://issues.apache.org/jira/browse/IGNITE-6615"> [#IGNITE-6615]</a>
</li>
<li>.NET: DotNetCore examples<a href="https://issues.apache.org/jira/browse/IGNITE-6614"> [#IGNITE-6614]</a>
</li>
<li>.NET: Thin client: Create dotnet core unit test project, run on Linux<a href="https://issues.apache.org/jira/browse/IGNITE-6613"> [#IGNITE-6613]</a>
</li>
<li>.NET: IIgnite.AddCacheConfiguration<a href="https://issues.apache.org/jira/browse/IGNITE-6598"> [#IGNITE-6598]</a>
</li>
<li>.NET: Set up NDepend analysis on TeamCity<a href="https://issues.apache.org/jira/browse/IGNITE-6382"> [#IGNITE-6382]</a>
</li>
<li>.NET: Thin client example<a href="https://issues.apache.org/jira/browse/IGNITE-6371"> [#IGNITE-6371]</a>
</li>
<li>.NET: Thin client: LINQ<a href="https://issues.apache.org/jira/browse/IGNITE-6338"> [#IGNITE-6338]</a>
</li>
<li>.NET: Thin client: SQL queries<a href="https://issues.apache.org/jira/browse/IGNITE-6337"> [#IGNITE-6337]</a>
</li>
<li>.NET: Thin client: Create cache<a href="https://issues.apache.org/jira/browse/IGNITE-6336"> [#IGNITE-6336]</a>
</li>
<li>.NET: Thin client: cache binary mode<a href="https://issues.apache.org/jira/browse/IGNITE-6335"> [#IGNITE-6335]</a>
</li>
<li>.NET: Propagate multiple services deployment<a href="https://issues.apache.org/jira/browse/IGNITE-6272"> [#IGNITE-6272]</a>
</li>
<li>.NET: Verify Java API parity with a unit test<a href="https://issues.apache.org/jira/browse/IGNITE-6264"> [#IGNITE-6264]</a>
</li>
<li>.NET: Verify Java config parity with a unit test<a href="https://issues.apache.org/jira/browse/IGNITE-6263"> [#IGNITE-6263]</a>
</li>
<li>.NET: Get rid of BinaryStreamBase<a href="https://issues.apache.org/jira/browse/IGNITE-5928"> [#IGNITE-5928]</a>
</li>
<li>.NET: Pure SQL & DDL example<a href="https://issues.apache.org/jira/browse/IGNITE-5353"> [#IGNITE-5353]</a>
</li>
<li>.NET: Interoperate with JVM directly, get rid of C++ layer<a href="https://issues.apache.org/jira/browse/IGNITE-5343"> [#IGNITE-5343]</a>
</li>
<li>.NET: Fields query cursor metadata<a href="https://issues.apache.org/jira/browse/IGNITE-5253"> [#IGNITE-5253]</a>
</li>
<li>.NET: Custom platform toolset in build script<a href="https://issues.apache.org/jira/browse/IGNITE-5130"> [#IGNITE-5130]</a>
</li>
</ul><h2>.NET: Fixed</h2>
<ul>
<li>SqlDmlExample: Incorrect result for Delete if run with standalone nodes (Java & .NET)<a href="https://issues.apache.org/jira/browse/IGNITE-7413"> [#IGNITE-7413]</a>
</li>
<li>.NET: consoleWrite error during application shutdown<a href="https://issues.apache.org/jira/browse/IGNITE-6974"> [#IGNITE-6974]</a>
</li>
<li>.NET: support Multidimensional Arrays in binary serializer<a href="https://issues.apache.org/jira/browse/IGNITE-6896"> [#IGNITE-6896]</a>
</li>
<li>.NET: cache deserialization fails with complex value type & enum<a href="https://issues.apache.org/jira/browse/IGNITE-6627"> [#IGNITE-6627]</a>
</li>
</ul></body>