blob: 265c7dda125b4bdf456bf6c42bc5a7489760ad6a [file] [log] [blame]
<!DOCTYPE html>
<html lang="en" dir=ZgotmplZ>
<head>
<link rel="stylesheet" href="/bootstrap/css/bootstrap.min.css">
<script src="/bootstrap/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" type="text/css" href="/font-awesome/css/font-awesome.min.css">
<script src="/js/anchor.min.js"></script>
<script src="/js/flink.js"></script>
<link rel="canonical" href="https://flink.apache.org/2017/06/01/apache-flink-1.3.0-release-announcement/">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="The Apache Flink community is pleased to announce the 1.3.0 release. Over the past 4 months, the Flink community has been working hard to resolve more than 680 issues. See the complete changelog for more detail.
This is the fourth major release in the 1.x.y series. It is API compatible with the other 1.x.y releases for APIs annotated with the @Public annotation.
Users can expect Flink releases now in a 4 month cycle.">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Apache Flink 1.3.0 Release Announcement" />
<meta property="og:description" content="The Apache Flink community is pleased to announce the 1.3.0 release. Over the past 4 months, the Flink community has been working hard to resolve more than 680 issues. See the complete changelog for more detail.
This is the fourth major release in the 1.x.y series. It is API compatible with the other 1.x.y releases for APIs annotated with the @Public annotation.
Users can expect Flink releases now in a 4 month cycle." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://flink.apache.org/2017/06/01/apache-flink-1.3.0-release-announcement/" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2017-06-01T12:00:00+00:00" />
<meta property="article:modified_time" content="2017-06-01T12:00:00+00:00" />
<title>Apache Flink 1.3.0 Release Announcement | Apache Flink</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" type="image/x-icon">
<link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
<meta name="generator" content="Hugo 0.124.1">
<script>
var _paq = window._paq = window._paq || [];
_paq.push(['disableCookies']);
_paq.push(["setDomains", ["*.flink.apache.org","*.nightlies.apache.org/flink"]]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
</head>
<body dir=ZgotmplZ>
<header>
<nav class="navbar navbar-expand-xl">
<div class="container-fluid">
<a class="navbar-brand" href="/">
<img src="/img/logo/png/100/flink_squirrel_100_color.png" alt="Apache Flink" height="47" width="47" class="d-inline-block align-text-middle">
<span>Apache Flink</span>
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<i class="fa fa-bars navbar-toggler-icon"></i>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">About</a>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item" href="/what-is-flink/flink-architecture/">Architecture</a>
</li>
<li>
<a class="dropdown-item" href="/what-is-flink/flink-applications/">Applications</a>
</li>
<li>
<a class="dropdown-item" href="/what-is-flink/flink-operations/">Operations</a>
</li>
<li>
<a class="dropdown-item" href="/what-is-flink/use-cases/">Use Cases</a>
</li>
<li>
<a class="dropdown-item" href="/what-is-flink/powered-by/">Powered By</a>
</li>
<li>
<a class="dropdown-item" href="/what-is-flink/roadmap/">Roadmap</a>
</li>
<li>
<a class="dropdown-item" href="/what-is-flink/community/">Community & Project Info</a>
</li>
<li>
<a class="dropdown-item" href="/what-is-flink/security/">Security</a>
</li>
<li>
<a class="dropdown-item" href="/what-is-flink/special-thanks/">Special Thanks</a>
</li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Getting Started</a>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/docs/try-flink/local_installation/">With Flink<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-stable/docs/try-flink-kubernetes-operator/quick-start/">With Flink Kubernetes Operator<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/get-started/introduction/">With Flink CDC<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-stable/docs/try-flink-ml/quick-start/">With Flink ML<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-stable/getting-started/project-setup.html">With Flink Stateful Functions<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/docs/learn-flink/overview/">Training Course<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Documentation</a>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/">Flink 1.19 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-master/">Flink Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-stable/">Kubernetes Operator 1.8 (latest)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-main">Kubernetes Operator Main (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-stable">CDC 3.0 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-master">CDC Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-stable/">ML 2.3 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-master">ML Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-stable/">Stateful Functions 3.3 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-master">Stateful Functions Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">How to Contribute</a>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item" href="/how-to-contribute/overview/">Overview</a>
</li>
<li>
<a class="dropdown-item" href="/how-to-contribute/contribute-code/">Contribute Code</a>
</li>
<li>
<a class="dropdown-item" href="/how-to-contribute/reviewing-prs/">Review Pull Requests</a>
</li>
<li>
<a class="dropdown-item" href="/how-to-contribute/code-style-and-quality-preamble/">Code Style and Quality Guide</a>
</li>
<li>
<a class="dropdown-item" href="/how-to-contribute/contribute-documentation/">Contribute Documentation</a>
</li>
<li>
<a class="dropdown-item" href="/how-to-contribute/documentation-style-guide/">Documentation Style Guide</a>
</li>
<li>
<a class="dropdown-item" href="/how-to-contribute/improve-website/">Contribute to the Website</a>
</li>
<li>
<a class="dropdown-item" href="/how-to-contribute/getting-help/">Getting Help</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="/posts/">Flink Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/downloads/">Downloads</a>
</li>
</ul>
<div class="book-search">
<div class="book-search-spinner hidden">
<i class="fa fa-refresh fa-spin"></i>
</div>
<form class="search-bar d-flex" onsubmit="return false;"su>
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/">
<i class="fa fa-search search"></i>
<i class="fa fa-circle-o-notch fa-spin spinner"></i>
</form>
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
</div>
</div>
</nav>
<div class="navbar-clearfix"></div>
</header>
<main class="flex">
<section class="container book-page">
<article class="markdown">
<h1>
<a href="/2017/06/01/apache-flink-1.3.0-release-announcement/">Apache Flink 1.3.0 Release Announcement</a>
</h1>
June 1, 2017 -
<p><p>The Apache Flink community is pleased to announce the 1.3.0 release. Over the past 4 months, the Flink community has been working hard to resolve more than 680 issues. See the <a href="/blog/release_1.3.0-changelog.html">complete changelog</a> for more detail.</p>
<p>This is the fourth major release in the 1.x.y series. It is API compatible with the other 1.x.y releases for APIs annotated with the @Public annotation.</p>
<p>Users can expect Flink releases now in a 4 month cycle. At the beginning of the 1.3 <a href="https://cwiki.apache.org/confluence/display/FLINK/Flink&#43;Release&#43;and&#43;Feature&#43;Plan">release cycle</a>, the community decided to follow a strict <a href="https://cwiki.apache.org/confluence/display/FLINK/Time-based&#43;releases">time-based release model</a>.</p>
<p>We encourage everyone to download the release and check out the <a href="//nightlies.apache.org/flink/flink-docs-release-1.3/">documentation</a>. Feedback through the <a href="http://flink.apache.org/community.html#mailing-lists">Flink mailing lists</a> is, as always, gladly encouraged!</p>
<p>You can find the binaries on the updated <a href="http://flink.apache.org/downloads.html">Downloads page</a>. Some highlights of the release are listed below.</p>
<h1 id="large-state-handlingrecovery">
Large State Handling/Recovery
<a class="anchor" href="#large-state-handlingrecovery">#</a>
</h1>
<ul>
<li>
<p><strong>Incremental Checkpointing for RocksDB</strong>: It is now possible to checkpoint only the difference from the previous successful checkpoint, rather than checkpointing the entire application state. This speeds up checkpointing and saves disk space, because the individual checkpoints are smaller. (<a href="https://issues.apache.org/jira/browse/FLINK-5053">FLINK-5053</a>).</p>
</li>
<li>
<p><strong>Asynchronous snapshots for heap-based state backends</strong>: The filesystem and memory statebackends now also support asynchronous snapshots using a copy-on-write HashMap implementation. Asynchronous snapshotting makes Flink more resilient to slow storage systems and expensive serialization. The time an operator blocks on a snapshot is reduced to a minimum (<a href="https://issues.apache.org/jira/browse/FLINK-6048">FLINK-6048</a>, <a href="https://issues.apache.org/jira/browse/FLINK-5715">FLINK-5715</a>).</p>
</li>
<li>
<p><strong>Allow upgrades to state serializers:</strong> Users can now upgrade serializers, while keeping their application state. One use case of this is upgrading custom serializers used for managed operator state/keyed state. Also, registration order for POJO types/Kryo types is now no longer fixed (<a href="//nightlies.apache.org/flink/flink-docs-release-1.3/dev/stream/state.html#custom-serialization-for-managed-state">Documentation</a>, <a href="https://issues.apache.org/jira/browse/FLINK-6178">FLINK-6178</a>).</p>
</li>
<li>
<p><strong>Recover job state at the granularity of operator</strong>: Before Flink 1.3, operator state was bound to Flink’s internal &ldquo;Task&rdquo; representation. This made it hard to change a job’s topology while keeping its state around. With this change, users are allowed to do more topology changes (un-chain operators) by restoring state into logical operators instead of “Tasks” (<a href="https://issues.apache.org/jira/browse/FLINK-5892">FLINK-5892</a>).</p>
</li>
<li>
<p><strong>Fine-grained recovery</strong> (beta): Instead of restarting the complete ExecutionGraph in case of a task failure, Flink is now able to restart only the affected subgraph and thereby significantly decrease recovery time (<a href="https://issues.apache.org/jira/browse/FLINK-4256">FLINK-4256</a>).</p>
</li>
</ul>
<h1 id="datastream-api">
DataStream API
<a class="anchor" href="#datastream-api">#</a>
</h1>
<ul>
<li>
<p><strong>Side Outputs</strong>: This change allows users to have more than one output stream for an operator. Operator metadata, internal system information (debugging, performance etc.) or rejected/late elements are potential use-cases for this new API feature. <strong>The Window operator is now using this new feature for late window elements</strong> (<a href="//nightlies.apache.org/flink/flink-docs-release-1.3/dev/stream/side_output.html">Side Outputs Documentation</a>, <a href="https://issues.apache.org/jira/browse/FLINK-4460">FLINK-4460</a>).</p>
</li>
<li>
<p><strong>Union Operator State</strong>: Flink 1.2.0 introduced broadcast state functionality, but this had not yet been exposed via a public API. Flink 1.3.0 provides the Union Operator State API for exposing broadcast operator state. The union state will send the entire state across all parallel instances to each instance on restore, giving each operator a full view of the state (<a href="https://issues.apache.org/jira/browse/FLINK-5991">FLINK-5991</a>).</p>
</li>
<li>
<p><strong>Per-Window State</strong>: Previously, the state that a WindowFunction or ProcessWindowFunction could access was scoped to the key of the window but not the window itself. With this new feature, users can keep window state independent of the key (<a href="https://issues.apache.org/jira/browse/FLINK-5929">FLINK-5929</a>).</p>
</li>
</ul>
<h1 id="deployment-and-tooling">
Deployment and Tooling
<a class="anchor" href="#deployment-and-tooling">#</a>
</h1>
<ul>
<li>
<p><strong>Flink HistoryServer</strong>: Flink’s <a href="//nightlies.apache.org/flink/flink-docs-release-1.3/monitoring/historyserver.html">HistoryServer</a> now allows you to query the status and statistics of completed jobs that have been archived by a JobManager (<a href="https://issues.apache.org/jira/browse/FLINK-1579">FLINK-1579</a>).</p>
</li>
<li>
<p><strong>Watermark Monitoring in Web Front-end</strong>: For easier diagnosis of watermark issues, the Flink JobManager front-end now provides a new tab to track the watermark of each operator (<a href="https://issues.apache.org/jira/browse/FLINK-3427">FLINK-3427</a>).</p>
</li>
<li>
<p><strong>Datadog HTTP Metrics Reporter</strong>: Datadog is a widely-used metrics system, and Flink now offers a <a href="//nightlies.apache.org/flink/flink-docs-release-1.3/monitoring/metrics.html#datadog-orgapacheflinkmetricsdatadogdatadoghttpreporter">Datadog reporter</a> that contacts the Datadog http endpoint directly (<a href="https://issues.apache.org/jira/browse/FLINK-6013">FLINK-6013</a>).</p>
</li>
<li>
<p><strong>Network Buffer Configuration</strong>: We finally got rid of the tedious network buffer configuration and replaced it with a more generic approach. First of all, you may now follow the idiom &ldquo;more is better&rdquo; without any penalty on the latency which could previously occur due to excessive buffering in incoming and outgoing channels. Secondly, instead of defining an absolute number of network buffers, we now use fractions of the available JVM memory (10% by default). This should cover more use cases by default and may also be tweaked by defining a minimum and maximum size.</p>
<p>→ See <a href="//nightlies.apache.org/flink/flink-docs-release-1.3/setup/config.html#configuring-the-network-buffers">Configuring the Network Buffers</a> in the Flink documentation.</p>
</li>
</ul>
<h1 id="table-api--sql">
Table API / SQL
<a class="anchor" href="#table-api--sql">#</a>
</h1>
<ul>
<li>
<p><strong>Support for Retractions in Table API / SQL</strong>: As part of our endeavor to support continuous queries on <a href="http://flink.apache.org/news/2017/04/04/dynamic-tables.html">Dynamic Tables</a>, Retraction is an important building block that will enable a whole range of new applications which require updating previously-emitted results. Examples for such use cases are computation of early results for long-running windows, updates due to late arriving data, or maintaining constantly changing results similar to materialized views in relational database systems. Flink 1.3.0 supports retraction for non-windowed aggregates. Results with updates can be either converted into a DataStream or materialized to external data stores using TableSinks with upsert or retraction support.</p>
</li>
<li>
<p><strong>Extended support for aggregations in Table API / SQL</strong>: With Flink 1.3.0, the Table API and SQL support many more types of aggregations, including</p>
<ul>
<li>
<p>GROUP BY window aggregations in SQL (via the window functions <a href="https://issues.apache.org/jira/browse/FLINK-6011">TUMBLE, HOP, and SESSION windows</a>) for both batch and streaming.</p>
</li>
<li>
<p>SQL OVER window aggregations (only for streaming)</p>
</li>
<li>
<p>Non-windowed aggregations (in streaming with retractions).</p>
</li>
<li>
<p>User-defined aggregation functions for custom aggregation logic.</p>
</li>
</ul>
</li>
<li>
<p><strong>External catalog support</strong>: The Table API &amp; SQL allows to register external catalogs. Table API and SQL queries can then have access to table sources and their schema from the external catalogs without register those tables one by one.</p>
</li>
</ul>
<p>→ See <a href="//nightlies.apache.org/flink/flink-docs-release-1.3/dev/table_api.html#group-windows">the Flink documentation</a> for details about these features.</p>
<div class="alert alert-warning">
The Table API / SQL documentation is currently being reworked. The community plans to publish the updated docs in the week of June 5th.
</div>
<h1 id="connectors">
Connectors
<a class="anchor" href="#connectors">#</a>
</h1>
<ul>
<li>
<p><strong>ElasticSearch 5.x support</strong>: The ElasticSearch connectors have been restructured to have a common base module and specific modules for ES 1, 2 and 5, similar to how the Kafka connectors are organized. This will make fixes and future improvements available across all ES versions (<a href="https://issues.apache.org/jira/browse/FLINK-4988">FLINK-4988</a>).</p>
</li>
<li>
<p><strong>Allow rescaling the Kinesis Consumer</strong>: Flink 1.2.0 introduced rescalable state for DataStream programs. With Flink 1.3, the Kinesis Consumer also makes use of that engine feature (<a href="https://issues.apache.org/jira/browse/FLINK-4821">FLINK-4821</a>).</p>
</li>
<li>
<p><strong>Transparent shard discovery for Kinesis Consumer</strong>: The Kinesis consumer can now discover new shards without failing / restarting jobs when a resharding is happening (<a href="https://issues.apache.org/jira/browse/FLINK-4577">FLINK-4577</a>).</p>
</li>
<li>
<p><strong>Allow setting custom start positions for the Kafka consumer</strong>: With this change, you can instruct Flink’s Kafka consumer to start reading messages from a specific offset (<a href="https://issues.apache.org/jira/browse/FLINK-3123">FLINK-3123</a>) or earliest / latest offset (<a href="https://issues.apache.org/jira/browse/FLINK-4280">FLINK-4280</a>) without respecting committed offsets in Kafka.</p>
</li>
<li>
<p><strong>Allow out-opt from offset committing for the Kafka consumer</strong>: By default, Kafka commits the offsets to the Kafka broker once a checkpoint has been completed. This change allows users to disable this mechanism (<a href="https://issues.apache.org/jira/browse/FLINK-3398">FLINK-3398</a>).</p>
</li>
</ul>
<h1 id="cep-library">
CEP Library
<a class="anchor" href="#cep-library">#</a>
</h1>
<p>The CEP library has been greatly enhanced and is now able to accommodate more use-cases out-of-the-box (expressivity enhancements), make more efficient use of the available resources, adjust to changing runtime conditions&ndash;all without breaking backwards compatibility of operator state.</p>
<p>Please note that the API of the CEP library has been updated with this release.</p>
<p>Below are some of the main features of the revamped CEP library:</p>
<ul>
<li>
<p><strong>Make CEP operators rescalable</strong>: Flink 1.2.0 introduced rescalable state for DataStream programs. With Flink 1.3, the CEP library also makes use of that engine feature (<a href="https://issues.apache.org/jira/browse/FLINK-5420">FLINK-5420</a>).</p>
</li>
<li>
<p><strong>New operators for the CEP library</strong>:</p>
<ul>
<li>
<p>Quantifiers (*,+,?) for the pattern API (<a href="https://issues.apache.org/jira/browse/FLINK-3318">FLINK-3318</a>)</p>
</li>
<li>
<p>Support for different continuity requirements (<a href="https://issues.apache.org/jira/browse/FLINK-6208">FLINK-6208</a>)</p>
</li>
<li>
<p>Support for iterative conditions (<a href="https://issues.apache.org/jira/browse/FLINK-6197">FLINK-6197</a>)</p>
</li>
</ul>
</li>
</ul>
<h1 id="gelly-library">
Gelly Library
<a class="anchor" href="#gelly-library">#</a>
</h1>
<ul>
<li>Unified driver for running Gelly examples <a href="https://issues.apache.org/jira/browse/FLINK-4949">FLINK-4949</a>).</li>
<li>PageRank algorithm for directed graphs (<a href="https://issues.apache.org/jira/browse/FLINK-4896">FLINK-4896</a>).</li>
<li>Add Circulant and Echo graph generators (<a href="https://issues.apache.org/jira/browse/FLINK-6393">FLINK-6393</a>).</li>
</ul>
<h1 id="known-issues">
Known Issues
<a class="anchor" href="#known-issues">#</a>
</h1>
<div class="alert alert-warning">
There are two <strong>known issues</strong> in Flink 1.3.0. Both will be addressed in the <i>1.3.1</i> release.
<br>
<ul>
<li><a href="https://issues.apache.org/jira/browse/FLINK-6783">FLINK-6783</a>: Wrongly extracted TypeInformations for <code>WindowedStream::aggregate</code></li>
<li><a href="https://issues.apache.org/jira/browse/FLINK-6775">FLINK-6775</a>: StateDescriptor cannot be shared by multiple subtasks</li>
</ul>
</div>
<h1 id="list-of-contributors">
List of Contributors
<a class="anchor" href="#list-of-contributors">#</a>
</h1>
<p>According to git shortlog, the following 103 people contributed to the 1.3.0 release. Thank you to all contributors!</p>
<p>Addison Higham, Alexey Diomin, Aljoscha Krettek, Andrea Sella, Andrey Melentyev, Anton Mushin, barcahead, biao.liub, Bowen Li, Chen Qin, Chico Sokol, David Anderson, Dawid Wysakowicz, DmytroShkvyra, Fabian Hueske, Fabian Wollert, fengyelei, Flavio Pompermaier, FlorianFan, Fokko Driesprong, Geoffrey Mon, godfreyhe, gosubpl, Greg Hogan, guowei.mgw, hamstah, Haohui Mai, Hequn Cheng, hequn.chq, heytitle, hongyuhong, Jamie Grier, Jark Wu, jingzhang, Jinkui Shi, Jin Mingjian, Joerg Schad, Joshua Griffith, Jürgen Thomann, kaibozhou, Kathleen Sharp, Ken Geis, kkloudas, Kurt Young, lincoln-lil, lingjinjiang, liuyuzhong7, Lorenz Buehmann, manuzhang, Marc Tremblay, Mauro Cortellazzi, Max Kuklinski, mengji.fy, Mike Dias, mtunique, Nico Kruber, Omar Erminy, Patrick Lucas, paul, phoenixjiangnan, rami-alisawi, Ramkrishna, Rick Cox, Robert Metzger, Rodrigo Bonifacio, rtudoran, Seth Wiesman, Shaoxuan Wang, shijinkui, shuai.xus, Shuyi Chen, spkavuly, Stefano Bortoli, Stefan Richter, Stephan Ewen, Stephen Gran, sunjincheng121, tedyu, Till Rohrmann, tonycox, Tony Wei, twalthr, Tzu-Li (Gordon) Tai, Ufuk Celebi, Ventura Del Monte, Vijay Srinivasaraghavan, WangTaoTheTonic, wenlong.lwl, xccui, xiaogang.sxg, Xpray, zcb, zentol, zhangminglei, Zhenghua Gao, Zhijiang, Zhuoluo Yang, zjureel, Zohar Mizrahi, 士远, 槿瑜, 淘江, 金竹</p>
</p>
</article>
<div class="edit-this-page">
<p>
<a href="https://cwiki.apache.org/confluence/display/FLINK/Flink+Translation+Specifications">Want to contribute translation?</a>
</p>
<p>
<a href="//github.com/apache/flink-web/edit/asf-site/docs/content/posts/2017-06-01-release-1.3.0.md">
Edit This Page<i class="fa fa-edit fa-fw"></i>
</a>
</p>
</div>
</section>
<aside class="book-toc">
<nav id="TableOfContents"><h3>On This Page <a href="javascript:void(0)" class="toc" onclick="collapseToc()"><i class="fa fa-times" aria-hidden="true"></i></a></h3>
<ul>
<li><a href="#large-state-handlingrecovery">Large State Handling/Recovery</a></li>
<li><a href="#datastream-api">DataStream API</a></li>
<li><a href="#deployment-and-tooling">Deployment and Tooling</a></li>
<li><a href="#table-api--sql">Table API / SQL</a></li>
<li><a href="#connectors">Connectors</a></li>
<li><a href="#cep-library">CEP Library</a></li>
<li><a href="#gelly-library">Gelly Library</a></li>
<li><a href="#known-issues">Known Issues</a></li>
<li><a href="#list-of-contributors">List of Contributors</a></li>
</ul>
</nav>
</aside>
<aside class="expand-toc hidden">
<a class="toc" onclick="expandToc()" href="javascript:void(0)">
<i class="fa fa-bars" aria-hidden="true"></i>
</a>
</aside>
</main>
<footer>
<div class="separator"></div>
<div class="panels">
<div class="wrapper">
<div class="panel">
<ul>
<li>
<a href="https://flink-packages.org/">flink-packages.org</a>
</li>
<li>
<a href="https://www.apache.org/">Apache Software Foundation</a>
</li>
<li>
<a href="https://www.apache.org/licenses/">License</a>
</li>
<li>
<a href="/zh/">
<i class="fa fa-globe" aria-hidden="true"></i>&nbsp;中文版
</a>
</li>
</ul>
</div>
<div class="panel">
<ul>
<li>
<a href="/what-is-flink/security">Security</a-->
</li>
<li>
<a href="https://www.apache.org/foundation/sponsorship.html">Donate</a>
</li>
<li>
<a href="https://www.apache.org/foundation/thanks.html">Thanks</a>
</li>
</ul>
</div>
<div class="panel icons">
<div>
<a href="/posts">
<div class="icon flink-blog-icon"></div>
<span>Flink blog</span>
</a>
</div>
<div>
<a href="https://github.com/apache/flink">
<div class="icon flink-github-icon"></div>
<span>Github</span>
</a>
</div>
<div>
<a href="https://twitter.com/apacheflink">
<div class="icon flink-twitter-icon"></div>
<span>Twitter</span>
</a>
</div>
</div>
</div>
</div>
<hr/>
<div class="container disclaimer">
<p>The contents of this website are © 2024 Apache Software Foundation under the terms of the Apache License v2. Apache Flink, Flink, and the Flink logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p>
</div>
</footer>
</body>
</html>