<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="keywords" content=" news, blog, updates, release notes, announcements">
<title>  Blog archive • Eclipse Ditto • a digital twin framework</title>

<link rel="stylesheet" href="css/syntax.css">
<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" crossorigin="anonymous">
<link rel="stylesheet" href="css/modern-business.css">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" crossorigin="anonymous">
<link rel="stylesheet" href="css/customstyles.css">
<link rel="stylesheet" href="css/boxshadowproperties.css">
<link rel="stylesheet" href="css/theme-ditto.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+Web:400,600,700">

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js" crossorigin="anonymous"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" crossorigin="anonymous"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/anchor-js/2.0.0/anchor.min.js" crossorigin="anonymous"></script>
<script src="js/toc.js"></script>
<script src="js/customscripts.js"></script>

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Organization",
  "url": "https://eclipse.org/ditto/",
  "logo": "https://eclipse.org/ditto/images/ditto.svg"
}
</script>

<link rel="icon" type="image/png" href="images/favicon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="images/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="images/favicon-96x96.png" sizes="96x96">

<link rel="alternate" type="application/rss+xml" title="Eclipse Ditto Blog" href="https://www.eclipse.org/ditto/feed.xml">

<!-- Eclipse Foundation cookie consent: -->
<link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" />
<script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>

    <script>
        $(document).ready(function() {
            $("#tg-sb-link").click(function() {
                $("#tg-sb-sidebar").toggle();
                $("#tg-sb-content").toggleClass('col-md-9');
                $("#tg-sb-content").toggleClass('col-md-12');
                $("#tg-sb-icon").toggleClass('fa-toggle-on');
                $("#tg-sb-icon").toggleClass('fa-toggle-off');
            });
        });
    </script>
</head>


<script>
    (function(w,d,s,l,i){
        w[l]=w[l]||[];
        w[l].push({'gtm.start':
            new Date().getTime(),event:'gtm.js'});
        var f=d.getElementsByTagName(s)[0],
            j=d.createElement(s),
            dl=l!='dataLayer'?'&l='+l:'';
        j.async=true;
        j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;
        f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-5WLCZXC');
</script>



<body>
<!-- Navigation -->
<nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container topnavlinks">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-ditto-home" href="index.html">&nbsp;<img src="images/ditto_allwhite_symbolonly.svg" class="ditto-navbar-symbol" alt="Home"> <img src="images/ditto_allwhite_textonly.svg" class="ditto-navbar-symbol-text" alt="Ditto"></a>
        </div>
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav navbar-right">
                <!-- toggle sidebar button -->
                <!--<li><a id="tg-sb-link" href="#"><i id="tg-sb-icon" class="fa fa-toggle-on"></i> Nav</a></li>-->
                <!-- entries without drop-downs appear here -->




                
                
                
                <li><a href="blog.html">Blog</a></li>
                
                
                
                <li><a href="intro-overview.html">Documentation</a></li>
                
                
                
                <li><a href="http-api-doc.html">HTTP API</a></li>
                
                
                
                <li><a href="https://ditto.eclipse.org" target="_blank">Sandbox</a></li>
                
                
                
                <li><a href="https://github.com/eclipse/ditto" target="_blank">GitHub</a></li>
                
                
                
                <li><a href="https://github.com/eclipse/ditto-examples" target="_blank">GitHub examples</a></li>
                
                
                
                <!-- entries with drop-downs appear here -->
                <!-- conditional logic to control which topnav appears for the audience defined in the configuration file.-->
                
                
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Links<b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        
                        
                        <li><a href="https://projects.eclipse.org/projects/iot.ditto" target="_blank">Eclipse Ditto Project</a></li>
                        
                        
                        
                        <li><a href="https://www.eclipse.org/forums/index.php/f/364/" target="_blank">Forum</a></li>
                        
                        
                        
                        <li><a href="https://ci.eclipse.org/ditto/" target="_blank">Jenkins</a></li>
                        
                        
                        
                        <li><a href="https://dev.eclipse.org/mhonarc/lists/ditto-dev/" target="_blank">Mailing list archives</a></li>
                        
                        
                        
                        <li><a href="https://gitter.im/eclipse/ditto" target="_blank">Gitter.im chat</a></li>
                        
                        
                    </ul>
                </li>
                
                
                
                <!--comment out this block if you want to hide search-->
                <li>
                    <!--start search-->
                    <div id="search-demo-container">
                        <input type="text" id="search-input" placeholder="search...">
                        <ul id="results-container"></ul>
                    </div>
                    <script src="//cdnjs.cloudflare.com/ajax/libs/simple-jekyll-search/0.0.9/jekyll-search.js" type="text/javascript"></script>
                    <script type="text/javascript">
                            SimpleJekyllSearch.init({
                                searchInput: document.getElementById('search-input'),
                                resultsContainer: document.getElementById('results-container'),
                                dataSource: 'search.json',
                                searchResultTemplate: '<li><a href="{url}" title="Blog archive">{title}</a></li>',
                                noResultsText: 'No results found.',
                                limit: 10,
                                fuzzy: true,
                    })
                    </script>
                    <!--end search-->
                </li>
            </ul>
        </div>
    </div>
    <!-- /.container -->
</nav>

<!-- Page Content -->
<div class="container">
  <div id="main">
    <!-- Content Row -->
    <div class="row">
        
        

        <!-- Content Column -->
        <div class="col-md-12" id="tg-sb-content">
            <div class="post-header">
   <h1 class="post-title-main">Blog archive</h1>
</div>



<div class="post-content">

   

    


    


    

  <div class="home">

    <div class="post-list">


    <section id="archive">
        <h3>This year's posts</h3>
        
        
        <ul class="this">
            
            <li><time>29 Apr</time><a href="2020-04-29-release-announcement-110.html">Announcing Eclipse Ditto Release 1.1.0</a></li>
            
        
            
            
            
            
            <li><time>16 Apr</time><a href="2020-04-16-connecting-to-ttn-via-mqtt.html">Digital twins of devices connected via LoRaWAN to TTN</a></li>
            
        
            
            
            
        </ul>
        <h3>2019</h3>
        <ul class="past">
            
            
            <li><time>12 Dec</time><a href="2019-12-12-release-announcement-100.html">Announcing Eclipse Ditto Release 1.0.0</a></li>
            
        
            
            
            
            
            <li><time>04 Nov</time><a href="2019-11-04-milestone-announcement-100-M2.html">Announcing Ditto Milestone 1.0.0-M2</a></li>
            
        
            
            
            
            
            <li><time>17 Oct</time><a href="2019-10-17-http-connectivity.html">Integration of HTTP endpoints/webhooks</a></li>
            
        
            
            
            
            
            <li><time>17 Sep</time><a href="2019-09-17-milestone-announcement-100-M1a.html">Announcing Ditto Milestone 1.0.0-M1a</a></li>
            
        
            
            
            
            
            <li><time>28 Aug</time><a href="2019-08-28-openid-connect.html">Eclipse Ditto now supports OpenID Connect</a></li>
            
        
            
            
            
            
            <li><time>10 Jul</time><a href="2019-07-10-release-announcement-090.html">Announcing Eclipse Ditto Release 0.9.0</a></li>
            
        
            
            
            
            
            <li><time>29 Apr</time><a href="2019-04-29-milestone-announcement-090-M2.html">Announcing Ditto Milestone 0.9.0-M2</a></li>
            
        
            
            
            
            
            <li><time>28 Mar</time><a href="2019-03-28-milestone-announcement-090-M1.html">Announcing Ditto Milestone 0.9.0-M1</a></li>
            
        
            
            
            
            
            <li><time>13 Mar</time><a href="2019-03-13-kafka-connectivity.html">Connectivity to Apache Kafka in Eclipse Ditto</a></li>
            
        
            
            
            
        </ul>
        <h3>2018</h3>
        <ul class="past">
            
            
            <li><time>05 Dec</time><a href="2018-12-05-example-command-and-control.html">Using Eclipse Hono's Command&Control with Eclipse Ditto</a></li>
            
        
            
            
            
            
            <li><time>28 Nov</time><a href="2018-11-28-release-announcement-080.html">Announcing Eclipse Ditto Release 0.8.0</a></li>
            
        
            
            
            
            
            <li><time>14 Nov</time><a href="2018-11-14-milestone-announcement-080-M3.html">Announcing Ditto Milestone 0.8.0-M3</a></li>
            
        
            
            
            
            
            <li><time>16 Oct</time><a href="2018-10-16-example-mqtt-bidirectional.html">Example demonstrating connectivity to an MQTT broker</a></li>
            
        
            
            
            
            
            <li><time>27 Sep</time><a href="2018-09-27-milestone-announcement-080-M2.html">Announcing Ditto Milestone 0.8.0-M2</a></li>
            
        
            
            
            
            
            <li><time>21 Sep</time><a href="2018-09-21-selective-push-notifications.html">Selective push notifications available</a></li>
            
        
            
            
            
            
            <li><time>14 Aug</time><a href="2018-08-14-milestone-announcement-080-M1.html">Announcing Ditto Milestone 0.8.0-M1</a></li>
            
        
            
            
            
            
            <li><time>15 Jun</time><a href="2018-06-15-milestone-announcement-030-M2.html">Announcing Ditto Milestone 0.3.0-M2</a></li>
            
        
            
            
            
            
            <li><time>02 May</time><a href="2018-05-02-connecting-ditto-hono.html">Connecting Eclipse Ditto to Eclipse Hono</a></li>
            
        
            
            
            
            
            <li><time>26 Apr</time><a href="2018-04-26-milestone-announcement-030-M1.html">Announcing Ditto Milestone 0.3.0-M1</a></li>
            
        
            
            
            
            
            <li><time>25 Apr</time><a href="2018-04-25-connectivity-service.html">Ditto's connectivity capabilities are pimped up</a></li>
            
        
            
            
            
            
            <li><time>08 Feb</time><a href="2018-02-08-feature-definition.html">Introducing Feature Definition</a></li>
            
        
            
            
            
            
            <li><time>07 Feb</time><a href="2018-02-07-milestone-announcement-020-M1.html">Announcing Ditto Milestone 0.2.0-M1</a></li>
            
        
            
            
            
            
            <li><time>15 Jan</time><a href="2018-01-15-example-demonstrating-rest-to-websocket.html">Example demonstrating REST and WebSocket API</a></li>
            
        
            
            
            
            
            <li><time>12 Jan</time><a href="2018-01-12-milestone-announcement-010-M3.html">Announcing Ditto Milestone 0.1.0-M3</a></li>
            
        
            
            
            
        </ul>
        <h3>2017</h3>
        <ul class="past">
            
            
            <li><time>18 Dec</time><a href="2017-12-18-milestone-announcement-010-M1.html">Announcing Ditto Milestone 0.1.0-M1</a></li>
            
        
            
            
            
            
            <li><time>10 Nov</time><a href="2017-11-10-welcome-to-ditto.html">Welcome to the Eclipse Ditto project site</a></li>
            
        </ul>
    </section>
    <hr/>
    </div>
</div>


    <div class="tags">
        
    </div>

</div>

<hr class="shaded"/>

<footer>
            <div class="row">
                <div class="col-lg-12 footer">
                    <div class="logo">
                        <a href="https://eclipse.org"><img src="images/eclipse_foundation_logo.svg" alt="Eclipse logo"/></a>
                    </div>
                    <p class="notice">
                        &copy;2021 Eclipse Ditto.
                         Site last generated: May 6, 2021 <br />
                    </p>
                    <div class="quickLinks">
                        <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
                            &gt; Privacy Policy
                        </a>
                        <a href="https://www.eclipse.org/legal/termsofuse.php" target="_blank">
                            &gt; Terms of Use
                        </a>
                        <a href="https://www.eclipse.org/legal/copyright.php" target="_blank">
                            &gt; Copyright Agent
                        </a>
                        <a href="https://www.eclipse.org/legal" target="_blank">
                            &gt; Legal
                        </a>
                        <a href="https://www.eclipse.org/legal/epl-2.0/" target="_blank">
                            &gt; License
                        </a>
                        <a href="https://eclipse.org/security" target="_blank">
                            &gt; Report a Vulnerability
                        </a>
                    </div>
                </div>
            </div>
</footer>


        </div>
    <!-- /.row -->
</div>
<!-- /.container -->
</div>
<!-- /#main -->
    </div>

</body>
</html>
