<!--
 ▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
 ▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
 ▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
  ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
  ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
      ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
-->

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<!DOCTYPE html>
<html lang="en">
<head>

    <link rel="canonical" href="https://ignite.apache.org/download.html"/>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
    <meta http-equiv="Pragma" content="no-cache"/>
    <meta http-equiv="Expires" content="0"/>
    <title>Downloads - Apache Ignite</title>


    <!-- begin include include of "/includes/styles.html" -->
<!-- remember to copy this content to downloads.html --><style>@charset "UTF-8";:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#055799;--secondary:#b02032;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--gray:#e9e9e9;--shadow-gray:#d5d5d5;--ignite-red:#f20025;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%}header,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}h1,h2,h3{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}ul{margin-top:0;margin-bottom:1rem}ul ul{margin-bottom:0}strong{font-weight:bolder}a{color:#055799;text-decoration:none;background-color:transparent}a:not([href]){color:inherit;text-decoration:none}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}button{border-radius:0}button{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button{overflow:visible}button{text-transform:none}[type=button],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}h1,h2,h3{margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.col-lg-5,.col-lg-7,.col-md-4,.col-md-6,.col-md-8{position:relative;width:100%;padding-right:15px;padding-left:15px}@media (min-width:768px){.col-md-4{flex:0 0 33.33333%;max-width:33.33333%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-8{flex:0 0 66.66667%;max-width:66.66667%}}@media (min-width:992px){.col-lg-5{flex:0 0 41.66667%;max-width:41.66667%}.col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem}.btn-primary{color:#fff;background-color:#055799;border-color:#055799}.btn-secondary{color:#fff;background-color:#b02032;border-color:#b02032}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.dropdown{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.nav-link{display:block;padding:.5rem 1rem}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}button.close{padding:0;background-color:transparent;border:0;appearance:none}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem}.modal.fade .modal-dialog{transform:translate(0,-50px)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}}body{font-family:'Open Sans',sans-serif;font-size:14px;margin:0;padding:0;opacity:1!important}strong{font-weight:600}.sticky-top{box-shadow:0 4px 8px 0 #b5b5b5;background-color:#fff}#header #nav{padding:.5rem 0;margin-bottom:0!important}#header #nav .navbar-brand img{width:12rem}#header #nav .navbar-nav{position:absolute;right:0}#header #nav .navbar-nav>li.nav-item{font-size:16px;width:130px}#header #nav .navbar-nav li.nav-item a{display:inline-block;padding-right:1.3em;padding-left:1.3em}#header #nav .navbar-nav li.nav-item .dropdown-toggle:after{display:none}#header #nav .navbar-nav li.nav-item ul.dropdown-menu{padding:.5em 0 0 1.3em;box-shadow:0 5px 8px 0 #d5d5d5,0 -5px 8px 0 #d5d5d5;border-bottom:5px solid #f20025;border-radius:0}#header #nav .navbar-nav li.nav-item ul.dropdown-menu .dropdown-subtitle{font-weight:400;font-size:16px;margin-top:.6em;border-bottom:3px solid #e9e9e9;margin-bottom:.5em;padding-bottom:.5em}#header #nav .navbar-nav li.nav-item ul.dropdown-menu .dropdown-item{padding:0}#header #nav .navbar-nav li.nav-item ul.dropdown-menu .dropdown-item a{padding:.4em 1.5em .4em 1em;color:#000;font-size:14px;display:block}#header #nav .navbar-nav li.nav-item ul.dropdown-menu .dropdown-item:last-child{border-bottom:5px solid #b02032;padding-bottom:1em;margin-bottom:-5px}#header.shrink #nav .navbar-nav>li.nav-item{width:120px}#header.shrink .btn-secondary{padding:.3rem 1.2rem .4rem!important}#header.shrink img{width:8rem!important}.bg-gray-shadow{background-color:#e9e9e9}#main-banner{box-shadow:inset 0 15px 8px -10px #d5d5d5,inset 0 -15px 8px -10px #d5d5d5}#main-banner .wrapper{background:#187ccc;background:-moz-linear-gradient(45deg,#187ccc 0,#0a5a9a 14%,rgba(242,242,242,0) 14%,rgba(242,242,242,0) 80%,#0a5a9a 80%,#187ccc 100%);background:-webkit-linear-gradient(45deg,#187ccc 0,#0a5a9a 14%,rgba(242,242,242,0) 14%,rgba(242,242,242,0) 80%,#0a5a9a 80%,#187ccc 100%);background:linear-gradient(45deg,#187ccc 0,#0a5a9a 14%,rgba(242,242,242,0) 14%,rgba(242,242,242,0) 80%,#0a5a9a 80%,#187ccc 100%);padding:5em 0}#main-banner h1{font-weight:300;font-size:32px;line-height:1.4em;text-align:center}#main-banner h1 strong{display:block}#main-banner .btn{font-size:18px;line-height:1.5em;padding:.5rem 1.5rem;margin-right:30px}#main-banner .btn i{font-size:24px;margin-right:8px;vertical-align:middle}#main-banner .buttons{text-align:center;margin-top:3rem}#github-stats-bar{padding:.5rem 0 .2rem;background-color:#f6f6f6}#github-stats-bar a{color:#f6f6f6}.github-stats .github-link .fa-github{color:#055799;font-size:30px;margin-right:1rem;vertical-align:top}#intro-text{padding:5rem 0 0;box-shadow:inset 0 15px 8px -10px #d5d5d5}#intro-text p{border-radius:5px;padding:0 10rem;font-size:24px;text-align:center;margin-bottom:0;font-weight:300}#home-deployment-options{box-shadow:inset 0 -15px 8px -10px #d5d5d5;padding:4rem 0 3rem;background:#fff;background:linear-gradient(180deg,#fff 0,#e9e9e9 30%)}#home-deployment-options h2{margin-bottom:3rem}#home-deployment-options .row{padding:0 3rem}#home-deployment-options .row .option{padding:0 40px}#home-deployment-options .row a{display:block;text-align:center;color:#000;margin-bottom:3em}#home-deployment-options .row a h3{font-size:20px;line-height:1.5em;font-weight:600}#home-deployment-options .row a p{font-size:16px;font-weight:400;line-height:1.6em}#home-deployment-options .row a .icon-wrapper{border-radius:50px;padding:1.5rem;background-color:#b02032;margin:1rem auto 2rem;width:100px;height:100px}#home-deployment-options .row a .icon-wrapper>svg{width:100%;height:100%;fill:#fff}#home-use-cases{padding:5rem 0;background-color:#fff}#home-use-cases .container .row{margin-bottom:2rem;margin-top:4rem}#home-use-cases .container img{max-width:100%;margin:0 auto;display:block}#home-use-cases .container .txt-wrapper{display:block;padding:30px}#home-use-cases .container .txt-wrapper h3{font-size:20px;margin-bottom:15px;font-weight:600}#home-use-cases .container .txt-wrapper p{font-size:16px;line-height:2em;margin-bottom:20px}#home-use-cases .container .txt-wrapper .btn{padding:8px 15px}.modal-dialog .modal-content button.close{width:40px;position:absolute;right:10px;top:10px}#diagramModal .modal-dialog{max-width:90vw!important}#diagramModal .modal-dialog .modal-content{height:95vh}#diagramModal .modal-dialog .modal-content img{height:95vh;max-width:60vw;margin:0 auto}section.section-block h2{text-align:center;font-size:32px;text-transform:uppercase;margin-bottom:2em}section.section-block h2 strong{color:#055799;font-weight:900}@media (max-width:1400px){#main-banner .wrapper{background:-moz-linear-gradient(45deg,#187ccc 0,#0a5a9a 9%,rgba(242,242,242,0) 9%,rgba(242,242,242,0) 90%,#0a5a9a 90%,#187ccc 100%);background:-webkit-linear-gradient(45deg,#187ccc 0,#0a5a9a 9%,rgba(242,242,242,0) 9%,rgba(242,242,242,0) 90%,#0a5a9a 90%,#187ccc 100%);background:linear-gradient(45deg,#187ccc 0,#0a5a9a 9%,rgba(242,242,242,0) 9%,rgba(242,242,242,0) 90%,#0a5a9a 90%,#187ccc 100%)}}@media (max-width:1280px){#main-banner .wrapper{background:-moz-linear-gradient(45deg,#187ccc 0,#0a5a9a 7%,rgba(242,242,242,0) 7%,rgba(242,242,242,0) 90%,#0a5a9a 90%,#187ccc 100%);background:-webkit-linear-gradient(45deg,#187ccc 0,#0a5a9a 7%,rgba(242,242,242,0) 7%,rgba(242,242,242,0) 90%,#0a5a9a 90%,#187ccc 100%);background:linear-gradient(45deg,#187ccc 0,#0a5a9a 7%,rgba(242,242,242,0) 7%,rgba(242,242,242,0) 90%,#0a5a9a 90%,#187ccc 100%)}}@media (max-width:1199.98px){#main-banner .wrapper{background:-moz-linear-gradient(45deg,#187ccc 0,#0a5a9a 7%,rgba(242,242,242,0) 7%,rgba(242,242,242,0) 90%,#0a5a9a 90%,#187ccc 100%);background:-webkit-linear-gradient(45deg,#187ccc 0,#0a5a9a 7%,rgba(242,242,242,0) 7%,rgba(242,242,242,0) 90%,#0a5a9a 90%,#187ccc 100%);background:linear-gradient(45deg,#187ccc 0,#0a5a9a 7%,rgba(242,242,242,0) 7%,rgba(242,242,242,0) 90%,#0a5a9a 90%,#187ccc 100%)}#intro-text p{padding:0}}@media (max-width:991.98px){#intro-text p{font-size:20px}#home-deployment-options .row a svg{width:85px;height:85px}#home-deployment-options .row a h3{font-size:18px}#home-deployment-options .row a p{font-size:14px}#home-deployment-options .row .option{padding:0 25px!important}#header #nav .navbar-nav{position:relative}#header #nav .navbar-nav li.nav-item a.btn{margin-left:1.3em}#header #nav .navbar-nav li.nav-item ul.dropdown-menu{border:0;box-shadow:none;margin-bottom:2rem;margin-left:2rem;border-left:5px solid #b02032}#header #nav .navbar-nav li.nav-item ul.dropdown-menu .dropdown-item:last-child{border-bottom:none}#header #nav .navbar-brand img{width:9rem}#header #nav .navbar-toggler-icon i{font-size:2rem}#header.shrink #nav .navbar-nav>li.nav-item{width:100%}}@media (max-width:767.98px){.twitter-follow{display:none}#main-banner .wrapper{background:-moz-linear-gradient(45deg,#187ccc 0,#0a5a9a 5%,rgba(242,242,242,0) 5%,rgba(242,242,242,0) 95%,#0a5a9a 95%,#187ccc 100%);background:-webkit-linear-gradient(45deg,#187ccc 0,#0a5a9a 5%,rgba(242,242,242,0) 5%,rgba(242,242,242,0) 95%,#0a5a9a 95%,#187ccc 100%);background:linear-gradient(45deg,#187ccc 0,#0a5a9a 5%,rgba(242,242,242,0) 5%,rgba(242,242,242,0) 95%,#0a5a9a 95%,#187ccc 100%)}}@media (max-width:575.98px){#main-banner h1{font-size:26px;text-align:center}#main-banner .buttons{text-align:center;align-items:center}#main-banner .btn{margin-bottom:10px}#home-use-cases h2 strong{display:block}}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-check-square-o:before{content:"\f046"}.fa-external-link:before{content:"\f08e"}.fa-github:before{content:"\f09b"}.fa-bars:before{content:"\f0c9"}body {opacity: 0;}.fa{display: none;}</style>

    <!-- ***NOTICE***
         As of 2015-08-31, SSI does not work with the "virtual"
         downloads.cgi hack. Therefore, we're including the banners,
         navbars and notices explicitly. -->
    

</head>
<body class="line-numbers">
<!-- begin include of "/includes/header.html" -->

<header id="header" class="affix header sticky-top shrink" data-spy="affix" data-offset-top="0">
    <div class="container">
        <nav id="nav" class=" navbar navbar-expand-lg d-flex bd-highlight mb-3" role="navigation">
            <a href="/" class="mr-auto p-2 bd-highlight navbar-brand" aria-label="Ignite Homepage"><img
                    src="/images/ignite_logo_full.svg" alt="Apache Ignite Logo"></a>


            <button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbar">
                        <span class="navbar-toggler-icon"><i class="fas fa-bars" aria-hidden="true"></i>
                        </span>
            </button>

            <div class="collapse navbar-collapse p-2 bd-highlight" id="navbar">
                <ul class="navbar-nav ">
                    <li class="nav-item dropdown">
                        <a class="nav-link dropdown-toggle" role="button" data-toggle="dropdown" aria-haspopup="true"
                           aira-expanded="false" aria-label="Features" id="navbarFeatures">Features</a>
                        <ul class="dropdown-menu" aria-labelledby="navbarFeatures">
                            <li class="dropdown-subtitle">Features</li>

                            <li class="dropdown-item"><a href="/arch/multi-tier-storage.html"
                                                         aria-label="Memory Centric Storage"
                                                         onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'memory_centric');">
                                Multi-Tier Storage</a>
                            </li>
                            <li class="dropdown-item"><a href="/arch/native-persistence.html"
                                                         onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'persistence');">
                                Native Persistence</a>
                            </li>
                            <li class="dropdown-item"><a href="/features/sql.html" aria-label="Features"
                                                         onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'distributed_sql');">
                                Distributed SQL</a>
                            </li>
                            <li class="dropdown-item"><a href="/use-cases/key-value-store.html" aria-label="DataGrid"
                                                         onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'distributed_key_value');">
                                Distributed Key-Value</a>
                            </li>
                            <li class="dropdown-item"><a href="/features/acid-transactions.html" aria-label="Transactions"
                                                         onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'acid_transactions');">
                                ACID Transactions</a>
                            </li>
                            <li class="dropdown-item"><a href="/features/collocated-processing.html"
                                                         aria-label="Collocated Processing"
                                                         onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'collocated_processing');">
                                Co-located Processing</a>
                            </li>
                            <li class="dropdown-item"><a href="/features/machinelearning.html"
                                                         aria-label="Machine Learning"
                                                         onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'machine_learning');">
                                Machine Learning</a>
                            </li>
                            <li class="dropdown-item"><a href="/features.html"><i>More Features</i></a></li>


                            <!-- Ignite tooling. -->
                            <li role="presentation" class="dropdown-subtitle">Tooling</li>
                            <li class="dropdown-item"><a href="/features/manageandmonitor.html"
                                                         aria-label="Ignite Management & Monitoring"
                                                         onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'ignite_manage_monitor');">
                                Management & Monitoring</a>
                            </li>
                        </ul>
                    </li>

                    <li class="nav-item dropdown">
                        <a class="nav-link dropdown-toggle" role="button" data-toggle="dropdown" aria-haspopup="true"
                           aira-expanded="false" id="navbarUseCases" aria-label="Use Cases">Use Cases</a>
                        <ul class="dropdown-menu" role="menu">
                            <li class="dropdown-subtitle" role="presentation">Caching & Database</li>
                            <li class="dropdown-item"><a href="/use-cases/in-memory-cache.html"
                                                         aria-label="In-Memory Cache"
                                                         onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'in_memory_cache');">
                                In-Memory Cache</a>
                            </li>
                            <li class="dropdown-item"><a href="/use-cases/in-memory-data-grid.html"
                                                         aria-label="In-Memory Data Grid"
                                                         onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'data_grid');">
                                In-Memory Data Grid</a>
                            </li>
                            <li class="dropdown-item"><a href="/use-cases/in-memory-database.html"
                                                         aria-label="In-Memory Database"
                                                         onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'distributed-database');">
                                In-Memory Database</a>
                            </li>
                            <li class="dropdown-item"><a href="/use-cases/key-value-store.html"
                                                         aria-label="Key-Value Store"
                                                         onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'key_value_store');">
                                Key-Value Store</a>
                            </li>


                            <li class="dropdown-subtitle" role="presentation">Data & Compute Hubs</li>
                            <li class="dropdown-item"><a href="/use-cases/high-performance-computing.html"
                                                         aria-label="High-Performance Computing"
                                                         onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'massive_parallel_processing');">
                                High-Performance Computing</a>
                            </li>
                            <li class="dropdown-item"><a href="/use-cases/digital-integration-hub.html"
                                                         aria-label="Digital Integration Hub"
                                                         onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'digital_integration_hub');">
                                Digital Integration Hub</a>
                            </li>


                            <li class="dropdown-subtitle" role="presentation">Faster Analytics</li>
                            <li class="dropdown-item"><a href="/use-cases/spark-acceleration.html"
                                                         aria-label="Apache Spark Acceleration"
                                                         onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'apache_spark_acceleration');">
                                Apache Spark Acceleration</a>
                            </li>
                            <li class="dropdown-item"><a href="/use-cases/hadoop-acceleration.html"
                                                         aria-label="Hadoop Acceleration"
                                                         onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'hadoop_acceleration');">
                                Apache Hadoop Acceleration</a>
                            </li>


                            <li class="dropdown-subtitle" role="presentation">Ignite in Production</li>
                            <li class="dropdown-item"><a href="/use-cases/provenusecases.html"
                                                         aria-label="Powered by Ignite"
                                                         onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'proven_usecases');">
                                Powered by Ignite</a>
                            </li>
                        </ul>
                    </li>
                    <li class="nav-item dropdown">
                        <a class="nav-link dropdown-toggle" role="button" data-toggle="dropdown" aria-haspopup="true"
                           aira-expanded="false" aria-label="Resources" id="navbarResources">Resources</a>
                        <ul class="dropdown-menu" role="menu">
                            <li class="dropdown-subtitle" role="presentation">Learn Ignite</li>
                            <li class="dropdown-item"><a href="/docs-and-apis.html">Documentation & APIs</a></li>
                            <li class="dropdown-item"><a href="/screencasts.html">Videos</a></li>
                            <li class="dropdown-item"><a href="https://github.com/apache/ignite/tree/master/examples"
                                                         target="_blank" rel="noopener">
                                Examples <i class="fas fa-external-link-alt" style="padding-left:5px;"></i></a></li>
                            <li class="dropdown-item"><a href="https://www.shamimbhuiyan.com/ignitebook" target="_blank"
                                                         rel="noopener">Ignite Book<i
                                    class="fas fa-external-link-alt" style="padding-left:5px;"></i></a></li>
                            <li class="dropdown-item"><a
                                    href="https://www.pluralsight.com/courses/apache-ignite-getting-started"
                                    target="_blank" rel="noopener">
                                Getting Started Course<i class="fas fa-external-link-alt" style="padding-left:5px;"></i></a>
                            </li>
                            <li class="dropdown-subtitle" role="presentation">FAQ & Assets</li>
                            <li class="dropdown-item">
                                <a href="/in-memory-computing.html" aria-label="whats-imc"
                                   onclick="ga('send', 'event', 'whats-imc', 'menu_click', 'whats-imc');">
                                    What's In-Memory Computing?</a>
                            </li>
                            <li class="dropdown-item">
                                <a href="/whatisignite.html" aria-label="whats-ignite"
                                   onclick="ga('send', 'event', 'whatisignite', 'menu_click', 'whatisignite_page');">
                                    What's Apache Ignite?</a>
                            </li>
                            <li class="dropdown-item">
                                <a href="https://github.com/apache/ignite-website/tree/master/images/png-diagrams"
                                   aria-label="ignite-assets"
                                   onclick="ga('send', 'event', 'ignite_assets', 'menu_click', 'ignite_assets');"
                                   target="_blank">
                                    Ignite Assets<i
                                        class="fas fa-external-link-alt" style="padding-left:5px;"></i></a>
                            </li>
                        </ul>
                    </li>
                    <li class="nav-item dropdown">
                        <a class="nav-link dropdown-toggle" role="button" data-toggle="dropdown" aria-haspopup="true"
                           aira-expanded="false" aria-label="Community" id="navbarCommunity">Community</a>
                        <ul class="dropdown-menu" role="menu">
                            <li class="dropdown-subtitle" role="presentation">Questions & Issues</li>
                            <li class="dropdown-item"><a href="/community/resources.html">Mailing Lists & Forums</a>
                            </li>
                            <li class="dropdown-item"><a href="https://issues.apache.org/jira/browse/IGNITE"
                                                         target="_blank" rel="noopener">
                                Ignite Jira <i class="fas fa-external-link-alt" style="padding-left:5px;"></i></a></li>
                            <li class="dropdown-item">
                                <a href="https://cwiki.apache.org/confluence/display/IGNITE/Third+Party+Support+and+Employment"
                                   target="_blank" rel="noopener">
                                    Production Support <i class="fas fa-external-link-alt" style="padding-left:5px;"></i></a>
                            </li>
                            </li>

                            <li class="dropdown-subtitle" role="presentation">Contributions</li>
                            <li class="dropdown-item"><a href="/community/contribute.html">Start Contributing</a></li>
                            <li class="dropdown-item"><a href="/community/resources.html#people">Committers and PMC</a>
                            </li>
                            <li class="dropdown-item"><a href="https://cwiki.apache.org/confluence/display/IGNITE/"
                                                         target="_blank" rel="noopener">
                                Ignite Wiki <i class="fas fa-external-link-alt" style="padding-left:5px;"></i></a></li>
                            <li class="dropdown-item"><a href="/community/resources.html#git">Github Repo <i
                                    class="fa fa-github fa-lg" style="padding-left:5px;"></i></a></li>

                            </li>
                        </ul>
                    </li>

                    <li class="nav-item dropdown">
                        <a class="nav-link dropdown-toggle" role="button" data-toggle="dropdown"
                           aria-haspopup="true" aira-expanded="false" aria-label="Events"
                           id="navbarEvents">Events</a>
                        <ul class="dropdown-menu" role="menu">
                            <li class="dropdown-item"><a href="/events.html">Events Schedule</a></li>
                            <li class="dropdown-item"><a href="/meetup-groups.html">Ignite Meetups</a></li>
                        </ul>
                    </li>
                    <li class="nav-item">
                        <a class="btn btn-secondary" href="/download.cgi">Download</a>
                    </li>
                </ul>
            </div>
        </nav>
    </div>
</header>


<!-- end include of "/includes/header.html" -->

<!-- START OF MAIN SITE BODY -->
<article>
    <header>
        <div class="container">

            <h1>Apache Ignite <strong>Downloads</strong></h1>
        </div>
    </header>
    <div class="container" id="downloads-page">

        <!-- Update the following template variables for every release -->
        [define distdir]ignite[end]
        [define disturl]https://www.apache.org/dist[end]

        <p>Download Apache Ignite&reg; and install in your environment. Select from one of the available options.</p>

        <section id="toc" class="page-section">
            <div class="jumbotron jumbotron-fluid">
                <div class="container">
                    <div class="row">
                        <div class="col-sm-6">
                            <ul>
                                <li><a href="#sources">Source Releases</a></li>
                                <li><a href="#binaries">Binary Releases</a></li>
                                <li><a href="#build-source">Building the Binaries</a></li>
                                <li><a href="#docker">Docker and Cloud Images</a></li>
                                <li><a href="#git-repository">Git Repository</a></li>
                            </ul>
                        </div>
                        <div class="col-sm-6">
                            <ul>
                                <li><a href="#maven">Download from Maven</a></li>
                                <li><a href="#nuget">Download from NuGet</a></li>
                                <li><a href="#deb-package">DEB Package Installation</a></li>
                                <li><a href="#rpm-package">RPM Package Installation</a></li>
                                <li><a href="#3rdparty">3<sup>rd</sup> Party Binaries</a></li>
                            </ul>
                        </div>
                    </div>
                    <p>
                        To get LGPL dependencies (e.g. Hibernate L2 Cache),
                        see <a href="#build-source">Building The Binaries</a>.</p>
                </div>
            </div>
        </section>

        <section id="sources" class="page-section">
            <h2>Source Releases</h2>

            <table class="table table-bordered table-striped">
                <thead>
                <tr>
                    <th>Version</th>
                    <th>Docs</th>
                    <th>Release Notes</th>
                    <th>Date</th>
                    <th>Source</th>
                </tr>
                </thead>
                <tbody>
                <tr>
                    <td style="white-space: nowrap;">2.8.0 (latest)</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.8.0/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.8.0/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.8.0/scaladoc/scalar/">scaladoc</a>
                    </td>

                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.8.0/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2020-03-03</td>
                    <td style="white-space: nowrap;">
                        <a id="apache_ignite_source_download"
                           href="[preferred]/[distdir]/2.8.0/apache-ignite-2.8.0-src.zip"
                           onclick="ga('send', 'event', 'apache_ignite_source_download', 'download', 'apache-ignite-2.8.0');">apache-ignite-2.8.0-src.zip</a>

                        (<a href="https://downloads.apache.org/ignite/2.8.0/apache-ignite-2.8.0-src.zip.asc">pgp</a>,
                        <a href="https://downloads.apache.org/ignite/2.8.0/apache-ignite-2.8.0-src.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.7.6</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.7.6/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.7.6/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.7.6/scaladoc/scalar/">scaladoc</a>
                    </td>

                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.7.6/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2019-09-19</td>
                    <td style="white-space: nowrap;">
                        <a id="apache_ignite_source_download"
                           href="https://archive.apache.org/dist/ignite/2.7.6/apache-ignite-2.7.6-src.zip"
                           onclick="ga('send', 'event', 'apache_ignite_source_download', 'download', 'apache-ignite-2.7.6');">apache-ignite-2.7.6-src.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.7.6/apache-ignite-2.7.6-src.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.7.6/apache-ignite-2.7.6-src.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.7.5</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.7.5/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.7.5/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.7.5/scaladoc/scalar/">scaladoc</a>
                    </td>

                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.7.5/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2019-06-04</td>
                    <td style="white-space: nowrap;">
                        <a id="apache_ignite_source_download"
                           href="https://archive.apache.org/dist/ignite/2.7.5/apache-ignite-2.7.5-src.zip"
                           onclick="ga('send', 'event', 'apache_ignite_source_download', 'download', 'apache-ignite-2.7.5');">apache-ignite-2.7.5-src.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.7.5/apache-ignite-2.7.5-src.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.7.5/apache-ignite-2.7.5-src.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.7.0</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.7/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.7.0/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.7.0/scaladoc/scalar/">scaladoc</a>
                    </td>

                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.7.0/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2018-12-05</td>
                    <td style="white-space: nowrap;">
                        <a id="apache_ignite_source_download"
                           href="https://archive.apache.org/dist/ignite/2.7.0/apache-ignite-2.7.0-src.zip"
                           onclick="ga('send', 'event', 'apache_ignite_source_download', 'download', 'apache-ignite-2.7.0');">apache-ignite-2.7.0-src.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.7.0/apache-ignite-2.7.0-src.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.7.0/apache-ignite-2.7.0-src.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.6.0</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.6/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.6.0/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.6.0/scaladoc/scalar/">scaladoc</a>
                    </td>

                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.6.0/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2018-07-16</td>
                    <td style="white-space: nowrap;">
                        <a id="apache_ignite_source_download"
                           href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-2.6.0-src.zip"
                           onclick="ga('send', 'event', 'apache_ignite_source_download', 'download', 'apache-ignite-2.6.0');">apache-ignite-2.6.0-src.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-2.6.0-src.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-2.6.0-src.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.5.0</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.5/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.5.0/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.5.0/scaladoc/scalar/">scaladoc</a>
                    </td>

                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.5.0/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2018-05-29</td>
                    <td style="white-space: nowrap;">
                        <a id="apache_ignite_source_download"
                           href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-2.5.0-src.zip"
                           onclick="ga('send', 'event', 'apache_ignite_source_download', 'download', 'apache-ignite-2.5.0');">apache-ignite-2.5.0-src.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-2.5.0-src.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-2.5.0-src.zip.sha512">sha512</a>)
                    </td>
                </tr>
                </tbody>
            </table>
            <p>
                If you are looking for an earlier version of Apache Ignite, please find it in the
                <a href="https://archive.apache.org/dist/ignite">archive</a>.
            </p>
            <p>
                If you encounter a problem with the selected mirror, please choose another one. If primary mirrors
                are not reachable, switch to backup servers added to the end of the list.
            </p>
            <form action="/download.cgi" method="get" id="SelectMirror">
                Selected mirror:
                <select name="Preferred" onchange="submit()">
                    [if-any http]
                    [for http]
                    <option value="[http]" [is http preferred] selected="selected" [end]>[http]</option>
                    [end]
                    [end]
                    [if-any ftp]
                    [for ftp]
                    <option value="[ftp]" [is ftp preferred] selected="selected" [end]>[ftp]</option>
                    [end]
                    [end]
                    [if-any backup]
                    [for backup]
                    <option value="[backup]" [is backup preferred] selected="selected" [end]>[backup] (backup)</option>
                    [end]
                    [end]
                </select>
                <input type="submit" value="Change"/>
            </form>
        </section>

        <section id="binaries" class="page-section">
            <h2>Binary Releases</h2>
            <p>
                Binary release packages are provided for your convenience and not considered as primary
                release artifacts of the ASF. It's recommended to verify a release downloadable, following
                <a href="#verification">this guidelines</a>. For more information about Apache release policy see
                <a href="http://www.apache.org/dev/release.html#what" target="_blank">What is a Release?</a>
            </p>
            <table class="table table-bordered table-striped">
                <thead>
                <tr>
                    <th>Version</th>
                    <th>Docs</th>
                    <th>Release Notes</th>
                    <th>Date</th>
                    <th>Binary</th>
                </tr>
                </thead>
                <tbody>
                <tr>
                    <td style="white-space: nowrap;">2.8.0 (latest)</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.8.0/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.8.0/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.8.0/scaladoc/scalar/">scaladoc</a>
                    </td>
                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.8.0/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2020-03-03</td>
                    <td style="white-space: nowrap;">
                        <a
                                id="apache_ignite_binary_fabric_download"
                                href="[preferred]/[distdir]/2.8.0/apache-ignite-2.8.0-bin.zip"
                                onclick="ga('send', 'event', 'apache_ignite_fabric_download', 'download', 'apache-ignite-2.8.0');">apache-ignite-2.8.0-bin.zip</a>

                        (<a href="https://downloads.apache.org/ignite/2.8.0/apache-ignite-2.8.0-bin.zip.asc">pgp</a>,
                        <a href="https://downloads.apache.org/ignite/2.8.0/apache-ignite-2.8.0-bin.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.7.6</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.7.6/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.7.6/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.7.6/scaladoc/scalar/">scaladoc</a>
                    </td>
                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.7.6/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2019-09-19</td>
                    <td style="white-space: nowrap;">
                        <a
                                id="apache_ignite_binary_fabric_download"
                                href="https://archive.apache.org/dist/ignite/2.7.6/apache-ignite-2.7.6-bin.zip"
                                onclick="ga('send', 'event', 'apache_ignite_fabric_download', 'download', 'apache-ignite-2.7.6');">apache-ignite-2.7.6-bin.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.7.6/apache-ignite-2.7.6-bin.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.7.6/apache-ignite-2.7.6-bin.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.7.5</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.7.5/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.7.5/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.7.5/scaladoc/scalar/">scaladoc</a>
                    </td>
                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.7.5/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2019-06-04</td>
                    <td style="white-space: nowrap;">
                        <a
                                id="apache_ignite_binary_fabric_download"
                                href="https://archive.apache.org/dist/ignite/2.7.5/apache-ignite-2.7.5-bin.zip"
                                onclick="ga('send', 'event', 'apache_ignite_fabric_download', 'download', 'apache-ignite-2.7.5');">apache-ignite-2.7.5-bin.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.7.5/apache-ignite-2.7.5-bin.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.7.5/apache-ignite-2.7.5-bin.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.7.0</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.7/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.7.0/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.7.0/scaladoc/scalar/">scaladoc</a>
                    </td>
                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.7.0/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2018-12-05</td>
                    <td style="white-space: nowrap;">
                        <a
                                id="apache_ignite_binary_fabric_download"
                                href="https://archive.apache.org/dist/ignite/2.7.0/apache-ignite-2.7.0-bin.zip"
                                onclick="ga('send', 'event', 'apache_ignite_fabric_download', 'download', 'apache-ignite-2.7.0');">apache-ignite-2.7.0-bin.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.7.0/apache-ignite-2.7.0-bin.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.7.0/apache-ignite-2.7.0-bin.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.6.0</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.6/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.6.0/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.6.0/scaladoc/scalar/">scaladoc</a>
                    </td>
                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.6.0/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2018-07-16</td>
                    <td style="white-space: nowrap;">
                        <a
                                id="apache_ignite_binary_fabric_download"
                                href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-fabric-2.6.0-bin.zip"
                                onclick="ga('send', 'event', 'apache_ignite_fabric_download', 'download', 'apache-ignite-2.6.0');">apache-ignite-fabric-2.6.0-bin.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-fabric-2.6.0-bin.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-fabric-2.6.0-bin.zip.sha512">sha512</a>)
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">2.5.0</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/v2.5/docs">guide</a>,
                        <a href="https://ignite.apache.org/releases/2.5.0/javadoc/">javadoc</a>,
                        <a href="https://ignite.apache.org/releases/2.5.0/scaladoc/scalar/">scaladoc</a>
                    </td>
                    <td style="white-space: nowrap;"><a
                            href="https://ignite.apache.org/releases/2.5.0/release_notes.html">release notes</a></td>
                    <td style="white-space: nowrap;">2018-05-29</td>
                    <td style="white-space: nowrap;">
                        <a
                                id="apache_ignite_binary_fabric_download"
                                href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-fabric-2.5.0-bin.zip"
                                onclick="ga('send', 'event', 'apache_ignite_fabric_download', 'download', 'apache-ignite-2.5.0');">apache-ignite-fabric-2.5.0-bin.zip</a>

                        (<a href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-fabric-2.5.0-bin.zip.asc">pgp</a>,
                        <a href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-fabric-2.5.0-bin.zip.sha512">sha512</a>)
                    </td>
                </tr>
                </tbody>
            </table>
            <p>If you are looking for previous release versions of Apache Ignite, please have a look in the
                <a href="https://archive.apache.org/dist/ignite">archive</a>.
            </p>

<!--            <h3>In-Memory Hadoop Accelerator</h3>-->
<!--            <p>The Community agreed to drop the Hadoop distributions of Apache Ignite, so newer versions not-->
<!--                available.</p>-->
<!--            <table class="table table-bordered table-striped">-->
<!--                <thead>-->
<!--                <tr>-->
<!--                    <th>Version</th>-->
<!--                    <th>Docs</th>-->
<!--                    <th>Release Notes</th>-->
<!--                    <th>Date</th>-->
<!--                    <th>Binary</th>-->
<!--                </tr>-->
<!--                </thead>-->
<!--                <tbody>-->
<!--                <tr>-->
<!--                    <td style="white-space: nowrap;">2.6.0 (latest)</td>-->
<!--                    <td style="white-space: nowrap;">-->
<!--                        <a href="https://apacheignite-fs.readme.io/v2.6.0/docs/hadoop-accelerator">guide</a>-->
<!--                    </td>-->
<!--                    <td style="white-space: nowrap;"><a-->
<!--                            href="https://ignite.apache.org/releases/2.6.0/release_notes.html">release notes</a></td>-->
<!--                    <td style="white-space: nowrap;">2018-07-16</td>-->
<!--                    <td style="white-space: nowrap;">-->
<!--                        <a-->
<!--                                id="apache_ignite_binary_hadoop_download"-->
<!--                                href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-hadoop-2.6.0-bin.zip"-->
<!--                                onclick="ga('send', 'event', 'apache_ignite_hadoop_download', 'download', 'apache-ignite-2.6.0');">apache-ignite-hadoop-2.6.0-bin.zip</a>-->

<!--                        (<a href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-hadoop-2.6.0-bin.zip.asc">pgp</a>,-->
<!--                        <a href="https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-hadoop-2.6.0-bin.zip.sha512">sha512</a>)-->
<!--                    </td>-->
<!--                </tr>-->
<!--                <tr>-->
<!--                    <td style="white-space: nowrap;">2.5.0</td>-->
<!--                    <td style="white-space: nowrap;">-->
<!--                        <a href="https://apacheignite-fs.readme.io/v2.5.0/docs/hadoop-accelerator">guide</a>-->
<!--                    </td>-->
<!--                    <td style="white-space: nowrap;"><a-->
<!--                            href="https://ignite.apache.org/releases/2.5.0/release_notes.html">release notes</a></td>-->
<!--                    <td style="white-space: nowrap;">2018-05-29</td>-->
<!--                    <td style="white-space: nowrap;">-->
<!--                        <a-->
<!--                                id="apache_ignite_binary_hadoop_download"-->
<!--                                href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-hadoop-2.5.0-bin.zip"-->
<!--                                onclick="ga('send', 'event', 'apache_ignite_hadoop_download', 'download', 'apache-ignite-2.5.0');">apache-ignite-hadoop-2.5.0-bin.zip</a>-->

<!--                        (<a href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-hadoop-2.5.0-bin.zip.asc">pgp</a>,-->
<!--                        <a href="https://archive.apache.org/dist/ignite/2.5.0/apache-ignite-hadoop-2.5.0-bin.zip.sha512">sha512</a>)-->
<!--                    </td>-->
<!--                </tr>-->
<!--                </tbody>-->
<!--            </table>-->
<!--            <p>If you are looking for previous release versions of Apache Ignite In-Memory Hadoop Accelerator,-->
<!--                please have a look in the <a href="https://archive.apache.org/dist/ignite">archive</a>.-->
<!--            </p>-->
        </section> <!-- downloads -->

        <section id="docker" class="page-section">
            <h2>Docker and Cloud Images</h2>
            <table class="table table-bordered table-striped">
                <thead>
                <tr>
                    <th>Name</th>
                    <th>Docs</th>
                    <th>Date</th>
                    <th>URL</th>
                </tr>
                </thead>
                <tbody>
                <tr>
                    <td style="white-space: nowrap;">Docker Image</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/docs/docker-deployment">guide</a>
                    </td>
                    <td style="white-space: nowrap;">2020-03-03</td>
                    <td style="white-space: nowrap;">
                        <a id="docker_repo_download"
                           href="https://hub.docker.com/r/apacheignite/ignite/tags/"
                           onclick="ga('send', 'event', 'docker_repo_download', 'download', 'docker_repo_download');">https://hub.docker.com/r/apacheignite/ignite/tags</a>
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">Amazon Image</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/docs/aws-deployment">guide</a>
                    </td>
                    <td style="white-space: nowrap;">2018-07-16</td>
                    <td style="white-space: nowrap;">
                        <a id="aws_image_west_download"
                           href="https://console.aws.amazon.com/ec2/home?region=us-west-1#launchAmi=ami-9cdbb3fc"
                           onclick="ga('send', 'event', 'aws_image_west_download', 'download', 'aws_image_west_download');">https://console.aws.amazon.com/ec2/home?region=us-west-1#launchAmi=ami-9cdbb3fc</a>
                        </br>
                        <a id="aws_image_east_download"
                           href="https://console.aws.amazon.com/ec2/home?region=us-east-1#launchAmi=ami-ce82caa4"
                           onclick="ga('send', 'event', 'aws_image_east_download', 'download', 'aws_image_east_download');">https://console.aws.amazon.com/ec2/home?region=us-east-1#launchAmi=ami-ce82caa4</a>
                        </br>
                        <a id="aws_image_central_download"
                           href="https://console.aws.amazon.com/ec2/home?region=eu-central-1#launchAmi=ami-191b0775"
                           onclick="ga('send', 'event', 'aws_image_central_download', 'download', 'aws_image_central_download');">https://console.aws.amazon.com/ec2/home?region=eu-central-1#launchAmi=ami-191b0775</a>
                    </td>
                </tr>
                <tr>
                    <td style="white-space: nowrap;">Google Compute Image</td>
                    <td style="white-space: nowrap;">
                        <a href="https://apacheignite.readme.io/docs/google-compute-deployment">guide</a>
                    </td>
                    <td style="white-space: nowrap;">2018-07-16</td>
                    <td style="white-space: nowrap;">
                        <a id="gce_image_download"
                           href="https://storage.googleapis.com/ignite-media/ignite-google-image.tar.gz"
                           onclick="ga('send', 'event', 'gce_image_download', 'download', 'gce_image_download');">ignite-google-image.tar.gz</a>

                        (<a href="https://downloads.apache.org/ignite/gce/ignite-google-image.tar.gz.asc">pgp</a>,
                        <a href="https://downloads.apache.org/ignite/gce/ignite-google-image.tar.gz.sha512">sha512</a>)

                    </td>
                </tr>
                </tbody>
            </table>
        </section><!-- cloud images -->

        <section id="verification" class="page-section"><!-- verification -->
            <h2>How to Verify</h2>
            <p>
                The PGP signatures can be verified using PGP or GPG. First download the
                <a href="https://downloads.apache.org/ignite/KEYS">Apache Ignite KEYS</a> file as well
                as the <i>.asc</i> signature files for the desired release version. Make sure you get these
                files from the main distribution directory, rather than from a mirror. Then verify the signatures.
            </p>
            <p>
                Please check <a href="https://www.apache.org/info/verification.html">How to Verify Downloaded Files</a>
                for more information on how and why you should verify Apache Ignite releases.
            </p>
            <pre class="brush:xml">
                % gpg --import KEYS
                % gpg --verify apache-ignite-2.8.0-src.zip.asc apache-ignite-2.8.0-src.zip
            </pre>
        </section><!-- verification -->

        <section id="maven" class="page-section">
            <h2>Download from Maven</h2>
            <p>
                Ignite requires only one <b>ignite-core</b> mandatory dependency. Usually you will
                also need to add <b>ignite-spring</b> for spring-based XML configuration, and <b>ignite-indexing</b> for
                SQL
                querying.
            </p>
            <p>
                Most often your Ignite pom file will look like this (replace ${ignite-version} with the latest Ignite
                version).
            </p>
            <pre class="line-numbers"><code class="language-xml">
    &lt;dependency>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;groupId>org.apache.ignite&lt;/groupId>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;artifactId>ignite-core&lt;/artifactId>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;version>${ignite.version}&lt;/version>
    &lt;/dependency>
    &lt;dependency>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;groupId>org.apache.ignite&lt;/groupId>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;artifactId>ignite-spring&lt;/artifactId>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;version>${ignite.version}&lt;/version>
    &lt;/dependency>
    &lt;dependency>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;groupId>org.apache.ignite&lt;/groupId>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;artifactId>ignite-indexing&lt;/artifactId>
    &nbsp;&nbsp;&nbsp;&nbsp;&lt;version>${ignite.version}&lt;/version>
    &lt;/dependency>
    </code></pre>
            <p>See <a href="http://apacheignite.readme.io/v1.0/docs/maven-setup">Maven Setup</a> for a full list of
                Maven
                dependencies.</p>
        </section><!-- maven downloads -->

        <section id="nuget" class="page-section">
            <h2>Download from NuGet</h2>
            <p>
                Ignite.NET is also distributed through NuGet.
                There are multiple packages: <a href="https://www.nuget.org/packages?q=Apache.Ignite">nuget.org/packages?q=Apache.Ignite</a>
            </p>
            <p>
                See <a href="https://apacheignite-net.readme.io/docs/getting-started-2#section-nuget">Getting
                Started</a> for more info.
            </p>
        </section><!-- NuGet downloads -->

        <section id="rpm-package" class="page-section">
            <h2>RPM Package Installation</h2>
            <p>
                Apache Ignite can also be installed from the official RPM repository:
                <a href="https://bintray.com/apache/ignite-rpm" target="_blank" rel="noopener">https://bintray.com/apache/ignite-rpm</a>
            </p>
            <p>Add the repository to Yum repositories list:</p>
            <pre class="line-numbers"><code class="language-bash">
            sudo bash -c 'cat &lt;&lt;EOF &gt; /etc/yum.repos.d/ignite.repo
            [ignite]
            name=Apache Ignite
            baseurl=https://apache.org/dist/ignite/rpm/
            gpgcheck=1
            repo_gpgcheck=1
            gpgkey=https://apache.org/dist/ignite/KEYS
            https://bintray.com/user/downloadSubjectPublicKey?username=bintray
            EOF'
            sudo yum check-update
        </code></pre>
            <p>Then install the latest Apache Ignite version (accept the ​GPG key import prompt):</p>
            <pre class="line-numbers"><code class="language-bash">
            sudo yum install apache-ignite
        </code></pre>
            <p>
                See <a href="https://apacheignite.readme.io/docs/rpm-and-deb-setup">Getting Started</a>
                for more information on how to start an Apache Ignite node and check logs.
            </p>
        </section><!-- RPM package installation -->

        <section id="deb-package" class="page-section">
            <h2>DEB Package Installation</h2>
            <p>
                Apache Ignite can also be installed from the official debian repository:
                <a href="https://bintray.com/apache/ignite-deb" target="_blank" rel="noopener">https://bintray.com/apache/ignite-deb</a>
            </p>
            <p>Add the repository to APT repositories list:</p>
            <pre class="line-numbers"><code class="language-bash">
            sudo bash -c 'cat &lt;&lt;EOF &gt; /etc/apt/sources.list.d/ignite.list
            deb http://apache.org/dist/ignite/deb/ apache-ignite main
            EOF'
            sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61
            sudo apt update
        </code></pre>
            <p>Then install the latest Apache Ignite version (accept the ​GPG key import prompt):</p>
            <pre class="line-numbers"><code class="language-bash">
            sudo apt install apache-ignite --no-install-recommends
        </code></pre>
            <p>
                See <a href="https:https://apacheignite.readme.io/docs/rpm-and-deb-setup">Getting Started</a>
                for more information on how to start an Apache Ignite node and check logs.
            </p>
        </section><!-- DEB package installation -->

        <section id="build-source" class="page-section">
            <h2>Building the Binaries </h2>
            NOTE: Ignite supports JDK 8 and JDK 11.
            <pre class="line-numbers"><code class="language-bash">
           # Unpack the source package
           $ unzip -q apache-ignite-2.8.0-src.zip
           $ cd apache-ignite-2.8.0-src

           # Build In-Memory Computing Platform release (without LGPL dependencies)
           $ mvn clean package -DskipTests

           # Build In-Memory Computing Platform release (with LGPL dependencies)
           $ mvn clean package -DskipTests -Prelease,lgpl

           # Build In-Memory Hadoop Accelerator release
           # (optionally specify version of hadoop to use)
           $ mvn clean package -DskipTests -Dignite.edition=hadoop [-Dhadoop.version=X.X.X]
        </code></pre>
        </section><!-- build-source -->

        <section id="git-repository" class="page-section">
            <h2>GIT Repository</h2>
            <pre class="line-numbers"><code class="language-bash">
           $ git clone https://gitbox.apache.org/repos/asf/ignite
        </code></pre>
        </section><!-- git-repository -->

        <section id="3rdparty" class="page-section">
            <h2>3<sup>rd</sup> Party Binaries</h2>

            <p>
                This is a list of 3<sup>rd</sup> party binary packages based on Apache Ignite. The Apache Ignite project
                does not endorse or maintain any 3<sup>rd</sup> party binary packages.
            </p>

            <p>
                <a href="http://www.gridgain.com/download/editions/" target="_blank" rel="noopener"><b>GridGain
                    Professional Edition</b></a>
                is a binary build of Apache Ignite created by GridGain, which includes optional LGPL
                dependencies, such as Hibernate L2 cache integration and Geospatial Indexing, as well as bug
                fixes and features which may be included into the future official Apache Ignite releases.
            </p>
            <p>
                GridGain also provides his own <a
                    href="http://www.gridgainsystems.com/nexus/content/repositories/external" target="_blank"
                    rel="noopener"><b>GridGain Maven Repository</b></a> containing Apache Ignite LGPL artifacts such as
                ignite-hibernate.</br>
                Please note that artifacts located at GridGain Maven Repository provided for convenience and are NOT
                official Apache Ignite artifacts.
            </p>

            <p>
                If you would like to provide your own edition of Apache Ignite here, please send email to
                <a href="mailto:dev@ignite.apache.org?subject=Subscribe&body=Please%20subscribe%20me.">Ignite dev
                    list</a>.
            </p>
        </section> <!-- 3rdparty -->
    </div>
</article>
<!-- END OF MAIN SITE BODY -->

<!--start include virtual="/includes/footer.html" -->
<footer id="footer" class="bg-gray-shadow">
    <div class="wrapper">
        <div class="container">
            <div class="row">
                <nav class="col-md-4">
                    <ul class="list-unstyled">
                        <li><a href="/features.html">Features</a></li>
                        <li><a href="/docs-and-apis.html">Documentation</a></li>
                        <li><a href="/community/resources.html">Ask Question</a></li>
                        <li><a href="/download.cgi">Download</a></li>
                        <li><a href="/community/contribute.html">Contribute</a></li>
                    </ul>

                    <ul class="social-networks list-unstyled">
                        <li><a href="https://www.linkedin.com/company/apache-ignite" aria-label="Linkedin"
                               class="icon-linkedin" target="_blank" rel="noopener"></a></li>
                        <li><a href="https://twitter.com/ApacheIgnite" aria-label="Twitter" class="icon-twitter"
                               target="_blank" rel="noopener"></a></li>
                        <li><a href="https://plus.google.com/109419715166167783665" aria-label="Google Plus"
                               class="icon-google-plus" target="_blank" rel="noopener"></a></li>
                        <li><a href="https://www.facebook.com/Apache-Ignite-813431118713318/" aria-label="Facebook"
                               class="icon-facebook" target="_blank" rel="noopener"></a></li>
                    </ul>
                </nav>
                <div class="col-md-8 copyright">
                    <p>&copy; 2015 - 2020 <a href="http://www.apache.org/">The Apache Software Foundation</a>.<br/>
                        Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered
                        trademarks
                        or trademarks of The Apache Software Foundation. <br/><a
                                href="http://apache.org/foundation/policies/privacy.html" target="_blank">Privacy
                            Policy</a></p>

                    <div class="footer-logos">
                        <a class="ignite" href="#wrapper"><img src="/images/ignite_logo_full.svg"
                                                               alt="Apache Ignite Logo"></a>
                        <a class="apache" href="https://donate.apache.org/"><img src="/images/support-apache-opt.png"
                                                                                 alt="Apache Software Foundation"/></a>
                    </div>


                </div>
            </div>
        </div>
    </div>
</footer>


<!-- end of include "/includes/footer.html" -->


<!-- include of "/includes/scripts.html" -->
<link rel="stylesheet" href="/css/ignite-redesign.css?20200417" media="print" onload="this.media='all'">
<noscript><link media="all" rel="stylesheet" href="/css/ignite-redesign.css?20200417"></noscript>


<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.13.0/css/all.css" integrity="sha384-Bfad6CLCknfcloXFOyFnlgtENryhrpZCe29RTifKEixXQZ38WheV+i/6YWSzkz3V" crossorigin="anonymous" media="screen">

<!-- load google fonts async -->
<script type="text/javascript">
    WebFontConfig = {
        google: {families: ['Open+Sans:300,400,600,700&display=swap']}
    };
    (function () {
        var wf = document.createElement('script');
        wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
        wf.type = 'text/javascript';
        wf.async = 'true';
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(wf, s);
    })(); </script>


<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"
        integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n"
        crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
        integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
        crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
        integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
        crossorigin="anonymous"></script>

        <script src="/js/prism.js" ></script>

<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', '//www.google-analytics.com/analytics.js', 'ga');

    ga('create', 'UA-61232409-1', 'auto');
    ga('send', 'pageview');
</script>
<script type="text/javascript">
    if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
        var msViewportStyle = document.createElement('style');
        msViewportStyle.appendChild(
            document.createTextNode(
                '@-ms-viewport{width:auto!important}'
            )
        );
        document.querySelector('head').appendChild(msViewportStyle)
    }

</script>


<!-- include of "/includes/scripts.html" -->

<!-- Github stats-->
<script async defer src="https://buttons.github.io/buttons.js"></script>

<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<!-- end of include "/includes/scripts.html" -->


<!-- Table export -->
<script type="text/javascript"
        src="https://cdn.rawgit.com/hhurz/tableExport.jquery.plugin/master/libs/FileSaver/FileSaver.min.js"></script>
<script type="text/javascript"
        src="https://cdn.rawgit.com/hhurz/tableExport.jquery.plugin/master/libs/jsPDF/jspdf.min.js"></script>
<script type="text/javascript" src="/js/jspdf.plugin.autotable.js"></script>
<script type="text/javascript" src="/js/tableExport.min.js"></script>

<script type="text/javascript">
    $(document).ready(function () {
        var expBtnDesc = [
            {cfg: {type: 'json'}, text: 'JSON', icon: 'ico-json.png?20191126'},
            {cfg: {type: 'xml'}, text: 'XML', icon: 'ico-xml.png?20191126'},
            {cfg: {type: 'csv'}, text: 'CSV', icon: 'ico-csv.png?20191126'},
            {cfg: {type: 'excel'}, text: 'XLS', icon: 'ico-xls.png?20191126'},
            {
                cfg: {
                    type: 'pdf',
                    jspdf: {
                        autotable: {
                            styles: {
                                overflow: 'linebreak',
                                fontSize: 14,
                                rowHeight: 19,
                                valign: 'top'
                            },
                            headerStyles: {
                                rowHeight: 20,
                                fontSize: 16,
                                fillColor: 207,
                                textColor: 0,
                                valign: 'middle'
                            },
                            bodyStyles: {
                                fillColor: 245
                            },
                            alternateRowStyles: {
                                fillColor: 255,
                                valign: 'middle'
                            }
                        }
                    }
                },
                text: 'PDF',
                icon: 'ico-pdf.png?20191126'
            }
        ];

        $("table").each(function (ix, tbl) {
            var insert = '' +
                '<div class="btn-group btn-group-export" title="Export table content to selected format">\n' +
                '    <button class="btn btn-default btn-export btn-sm dropdown-toggle fa fa-download" data-toggle="dropdown"></button>\n' +
                '    <ul class="dropdown-menu dropdown-menu-right table-export-options" role="menu">\n';

            var id = this.id || 'table' + ix;

            this.id = id;

            $.each(expBtnDesc, function (ix, btn) {
                btn.cfg.fileName = $(tbl).attr('name');

                insert += "        <li><a href='#' onclick='$(\"#" + id + "\").tableExport(" + JSON.stringify(btn.cfg) + ");'>" +
                    "<img src='/images/" + btn.icon + "' width='24px'/> " + btn.text +
                    "</a></li>\n";


            });

            insert += '    </ul>\n' +
                '</div>\n';

            $(this).find('thead > tr > th:last-child').append(insert);
        });

        $("table#mc").find("button").hide();
    });
</script>
</body>
</html>
