<!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 • 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 class="active"><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">{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">
            <span class="incubation-logo">
    <img src="images/eclipse_incubation_vertical_png-02.png" alt="This is an Eclipse incubation project" style="position: fixed;
    bottom: 10px; right: 10px; width: 100px"/>
</span>


<div class="post-header">
   <h1 class="post-title-main">Blog</h1>
</div>



<div class="post-content">

   

    


    


    

  <div class="home">

    <div class="post-list">
        

        

    <h2><a class="post-link" href="2019-11-04-milestone-announcement-100-M2.html">Announcing Ditto Milestone 1.0.0-M2</a></h2>
        <span class="post-meta">Published by <img src="https://www.gravatar.com/avatar/90a82dc2af1620df1f955e211ecc4dee?s=135" alt="A photo of Thomas Jäckle" style="width:25px;border-radius:50%;display:inline-block;margin:0;margin-right:5px;" /><span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name"><a href="http://twitter.com/thjaeckle" target="_blank">Thomas Jäckle</a> </span></span> on <time datetime="2019-11-04T00:00:00-05:00" itemprop="datePublished">Nov 4, 2019</time> - Tags:
            

                <a href="tag_blog.html">blog</a>

                
        </span>

        <p> The second and last milestone of the upcoming release 1.0.0 was released today. Have a look at the Milestone 1.0.0-M2 release notes for what changed in detail. The main changes and new features since the last release 1.0.0-M1a release notes are  invoking custom foreign HTTP endpoints... </p>

        

        

    <h2><a class="post-link" href="2019-10-17-http-connectivity.html">Integration of HTTP endpoints/webhooks</a></h2>
        <span class="post-meta">Published by <img src="https://www.gravatar.com/avatar/90a82dc2af1620df1f955e211ecc4dee?s=135" alt="A photo of Thomas Jäckle" style="width:25px;border-radius:50%;display:inline-block;margin:0;margin-right:5px;" /><span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name"><a href="http://twitter.com/thjaeckle" target="_blank">Thomas Jäckle</a> </span></span> on <time datetime="2019-10-17T00:00:00-04:00" itemprop="datePublished">Oct 17, 2019</time> - Tags:
            

                <a href="tag_blog.html">blog</a>

                
        </span>

        <p> By adding another connectivity type - HTTP - to Ditto’s connectivity, it is now (to be released in the next Ditto milestone 1.0.0-M2) possible to to publish twin events, messages, live commands and events to existing HTTP servers/endpoints. That is especially useful for invoking existing APIs (which are most... </p>

        

        

    <h2><a class="post-link" href="2019-09-17-milestone-announcement-100-M1a.html">Announcing Ditto Milestone 1.0.0-M1a</a></h2>
        <span class="post-meta">Published by <img src="https://www.gravatar.com/avatar/6654f15bc147b143bb2a7ed87eb70c1a?s=135" alt="A photo of Johannes Schneider" style="width:25px;border-radius:50%;display:inline-block;margin:0;margin-right:5px;" /><span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name"><a href="https://github.com/jokraehe" target="_blank">Johannes Schneider</a> </span></span> on <time datetime="2019-09-17T00:00:00-04:00" itemprop="datePublished">Sep 17, 2019</time> - Tags:
            

                <a href="tag_blog.html">blog</a>

                
        </span>

        <p> Today the Ditto team is happy to announce the first milestone of the upcoming release 1.0.0. Have a look at the Milestone 1.0.0-M1a release notes for what changed in detail. The main changes and new features since the last release 0.9.0 are  initial contribution of Java... </p>

        

        

    <h2><a class="post-link" href="2019-08-28-openid-connect.html">Eclipse Ditto now supports OpenID Connect</a></h2>
        <span class="post-meta">Published by <img src="https://www.gravatar.com/avatar/6654f15bc147b143bb2a7ed87eb70c1a?s=135" alt="A photo of Johannes Schneider" style="width:25px;border-radius:50%;display:inline-block;margin:0;margin-right:5px;" /><span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name"><a href="https://github.com/jokraehe" target="_blank">Johannes Schneider</a> </span></span> on <time datetime="2019-08-28T00:00:00-04:00" itemprop="datePublished">Aug 28, 2019</time> - Tags:
            

                <a href="tag_blog.html">blog</a>

                
        </span>

        <p> Eclipse Ditto now supports all OAuth 2.0 providers which implement OpenID Connect out-of-the-box. You can find a list of certified providers at OpenID Connect - Certified OpenID Provider Servers and Services. With this post, we want to give an example of this new feature using the open source... </p>

        

        

    <h2><a class="post-link" href="2019-07-10-release-announcement-090.html">Announcing Eclipse Ditto Release 0.9.0</a></h2>
        <span class="post-meta">Published by <img src="https://www.gravatar.com/avatar/90a82dc2af1620df1f955e211ecc4dee?s=135" alt="A photo of Thomas Jäckle" style="width:25px;border-radius:50%;display:inline-block;margin:0;margin-right:5px;" /><span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name"><a href="http://twitter.com/thjaeckle" target="_blank">Thomas Jäckle</a> </span></span> on <time datetime="2019-07-10T00:00:00-04:00" itemprop="datePublished">Jul 10, 2019</time> - Tags:
            

                <a href="tag_blog.html">blog</a>

                
        </span>

        <p> Today the Eclipse Ditto team proudly presents its second release 0.9.0. The topics of this release in a nutshell were:  Memory improvements for huge amounts (multi million) of digital twins which are held in memory Adding metrics and logging around the connectivity feature in order to enable being... </p>

        

        

    <h2><a class="post-link" href="2019-04-29-milestone-announcement-090-M2.html">Announcing Ditto Milestone 0.9.0-M2</a></h2>
        <span class="post-meta">Published by <img src="https://www.gravatar.com/avatar/90a82dc2af1620df1f955e211ecc4dee?s=135" alt="A photo of Thomas Jäckle" style="width:25px;border-radius:50%;display:inline-block;margin:0;margin-right:5px;" /><span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name"><a href="http://twitter.com/thjaeckle" target="_blank">Thomas Jäckle</a> </span></span> on <time datetime="2019-04-29T00:00:00-04:00" itemprop="datePublished">Apr 29, 2019</time> - Tags:
            

                <a href="tag_blog.html">blog</a>

                
        </span>

        <p> The second milestone of the upcoming release 0.9.0 was released today. Have a look at the Milestone 0.9.0-M2 release notes for what changed in detail. The main changes and new features since the last milestone 0.9.0-M1 are  rewrite of Ditto’s “search” service in order to use... </p>

        

        

    <h2><a class="post-link" href="2019-03-28-milestone-announcement-090-M1.html">Announcing Ditto Milestone 0.9.0-M1</a></h2>
        <span class="post-meta">Published by <img src="https://www.gravatar.com/avatar/90a82dc2af1620df1f955e211ecc4dee?s=135" alt="A photo of Thomas Jäckle" style="width:25px;border-radius:50%;display:inline-block;margin:0;margin-right:5px;" /><span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name"><a href="http://twitter.com/thjaeckle" target="_blank">Thomas Jäckle</a> </span></span> on <time datetime="2019-03-28T00:00:00-04:00" itemprop="datePublished">Mar 28, 2019</time> - Tags:
            

                <a href="tag_blog.html">blog</a>

                
        </span>

        <p> Today the Ditto team is happy to announce the first milestone of the upcoming release 0.9.0. Have a look at the Milestone 0.9.0-M1 release notes for what changed in detail. The main changes and new features since the last release 0.8.0 are  memory optimizations when working... </p>

        

        

    <h2><a class="post-link" href="2019-03-13-kafka-connectivity.html">Connectivity to Apache Kafka in Eclipse Ditto</a></h2>
        <span class="post-meta">Published by <img src="https://www.gravatar.com/avatar/90a82dc2af1620df1f955e211ecc4dee?s=135" alt="A photo of Thomas Jäckle" style="width:25px;border-radius:50%;display:inline-block;margin:0;margin-right:5px;" /><span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name"><a href="http://twitter.com/thjaeckle" target="_blank">Thomas Jäckle</a> </span></span> on <time datetime="2019-03-13T00:00:00-04:00" itemprop="datePublished">Mar 13, 2019</time> - Tags:
            

                <a href="tag_blog.html">blog</a>

                
        </span>

        <p> Today we added connectivity to Apache Kafka. In a first step, it is possible to publish twin events, messages, live commands and events to Kafka topics. Since the last addition to Ditto’s connectivity which added MQTT connectivity, the connectivity feature got a lot of stabilization and new smaller... </p>

        

        

    <h2><a class="post-link" href="2018-12-05-example-command-and-control.html">Using Eclipse Hono's Command&Control with Eclipse Ditto</a></h2>
        <span class="post-meta">Published by <img src="https://www.gravatar.com/avatar/3b7439f0bd26958055d784ef08bccc21?s=135" alt="A photo of Dominik Guggemos" style="width:25px;border-radius:50%;display:inline-block;margin:0;margin-right:5px;" /><span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name"><a href="https://github.com/dguggemos" target="_blank">Dominik Guggemos</a> </span></span> on <time datetime="2018-12-05T00:00:00-05:00" itemprop="datePublished">Dec 5, 2018</time> - Tags:
            

                <a href="tag_blog.html">blog</a>

                
        </span>

        <p> With version 0.8.0 Eclipse Ditto can now interact with Eclipse Hono using the “Command &amp; Control” feature. It is possible to send a Thing (or Feature) message at the Ditto Message API, which is then forwarded to Hono as a command message. Hono routes the message to the device,... </p>

        

        

    <h2><a class="post-link" href="2018-11-28-release-announcement-080.html">Announcing Eclipse Ditto Release 0.8.0</a></h2>
        <span class="post-meta">Published by <img src="https://www.gravatar.com/avatar/90a82dc2af1620df1f955e211ecc4dee?s=135" alt="A photo of Thomas Jäckle" style="width:25px;border-radius:50%;display:inline-block;margin:0;margin-right:5px;" /><span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name"><a href="http://twitter.com/thjaeckle" target="_blank">Thomas Jäckle</a> </span></span> on <time datetime="2018-11-28T00:00:00-05:00" itemprop="datePublished">Nov 28, 2018</time> - Tags:
            

                <a href="tag_blog.html">blog</a>

                
        </span>

        <p> Today the Eclipse Ditto team proudly presents its first release 0.8.0. Please have a look at the 0.8.0 release notes for a more detailed information on the release. The main changes and new features since the latest milestone 0.8.0-M3 are:  Support Eclipse Hono’s command&amp;control in Ditto... </p>

        

        <p><a href="feed.xml" class="btn btn-primary navbar-btn cursorNorm" role="button">RSS Subscribe</a></p>

<hr />
        <p>See more posts from the <a href="blog_archive.html">Blog Archive</a>. </p>

    </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;2019 Eclipse Ditto.
                         Site last generated: Nov 15, 2019 <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>
