<!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">
            <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="2020-04-29-release-announcement-110.html">Announcing Eclipse Ditto Release 1.1.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="2020-04-29T00:00:00+00:00" itemprop="datePublished">Apr 29, 2020</time> - Tags:
            

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

                
        </span>

        <p> Today, approximately 4 months after Eclipse Ditto’s 1.0.0 release, the team is happy to announce the first minor (feature) update of Ditto 1.0: Eclipse Ditto 1.1.0 The Ditto team was quite busy, 1.1.0 focuses on the following areas:  Management of Policies via Ditto Protocol... </p>

        

        

    <h2><a class="post-link" href="2020-04-16-connecting-to-ttn-via-mqtt.html">Digital twins of devices connected via LoRaWAN to TTN</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="2020-04-16T00:00:00+00:00" itemprop="datePublished">Apr 16, 2020</time> - Tags:
            

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

                

                <a href="tag_connectivity.html">connectivity</a>

                
        </span>

        <p>   A workshop of the 2020 The Things Virtual Conference on April 16th 2020 is/was about how to connect Eclipse Ditto to “The Things Network” via TTN’s MQTT broker in order to automatically update digital twins of devices connected via LoRaWAN... </p>

        

        

    <h2><a class="post-link" href="2019-12-12-release-announcement-100.html">Announcing Eclipse Ditto Release 1.0.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-12-12T00:00:00+00:00" itemprop="datePublished">Dec 12, 2019</time> - Tags:
            

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

                
        </span>

        <p> Today the Eclipse Ditto is thrilled to announce the availability of Eclipse Ditto’s first major release 1.0.0. Maturity The initial code contribution was done in October 2017, 2 years later and 2 releases (0.8.0 and 0.9.0) later, we think its time to graduate from the Eclipse... </p>

        

        

    <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+00: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+00: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+00: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+00: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+00: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+00: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+00: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>

        

        <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;2020 Eclipse Ditto.
                         Site last generated: Sep 30, 2020 <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>
