blob: 9c9d8ab84fff3418e97dcfd0487af61330112a99 (
plain) (
tree)
|
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
<title>Nine Nines: Migrating from Ranch 1.x</title>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
<link href="/css/99s.css?r=2" rel="stylesheet">
<link rel="shortcut icon" href="/img/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
<link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
</head>
<body class="">
<header id="page-head">
<div id="topbar" class="container">
<div class="row">
<div class="span2">
<h1 id="logo"><a href="/" title="99s">99s</a></h1>
</div>
<div class="span10">
<div id="side-header">
<nav>
<ul>
<li><a title="Hear my thoughts" href="/articles">Articles</a></li>
<li><a title="Watch my talks" href="/talks">Talks</a></li>
<li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
<li><a title="Request my services" href="/services">Consulting & Training</a></li>
</ul>
</nav>
<ul id="social">
<li>
<a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
</li>
<li>
<a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
</li>
</ul>
</div>
</div>
</div>
</div>
</header>
<div id="contents" class="two_col">
<div class="container">
<div class="row">
<div id="docs" class="span9 maincol">
<h1 class="lined-header"><span>Migrating from Ranch 1.x</span></h1>
<p>The changelog for Ranch releases before 1.6 can be found in this section.</p>
<h2 id="_1_5_0">1.5.0</h2>
<ul><li>Add transport functions getopts/2, getstat/1 and getstat/2
</li>
<li>Fix ranch:info/0 and ranch:procs/2 in embedded mode
</li>
<li>Prevent ranch_conns_sup from stopping on unexpected messages
</li>
</ul>
<h2 id="_1_4_0">1.4.0</h2>
<ul><li>Add new transport option num_acceptor
</li>
<li>Deprecate ranch:start_listener/6 in favor of start_listener/5
</li>
<li>Deprecate ranch:child_spec/6 in favor of child_spec/5
</li>
</ul>
<h2 id="_1_3_0">1.3.0</h2>
<p>The version numbers 1.3.1 and 1.3.2 were later made to fix small mistakes made during the 1.3.0 release process. They do not include code changes.</p>
<ul><li>Tested with OTP R16B+ on Linux, FreeBSD, OSX and Windows
</li>
<li>Add ssl to the list of dependencies
</li>
<li>Add ranch:info/0 and ranch:procs/2 to retrieve Ranch state information
</li>
<li>Allow configuring a listener with only SNI, without a default certificate
</li>
<li>Blacklist transport options instead of whitelist
<ul><li>Unknown options are now allowed, but will result in a Dialyzer warning
</li>
</ul>
</li>
<li>Add many transport options typespecs and documentation
</li>
<li>Don't silently drop the accept rate when running out of fds
</li>
<li>Prevent a race condition when stopping listeners
</li>
<li>Improve reporting for common errors, for example eaddrinuse
</li>
<li>Fix double removal of connections bug
<ul><li>The number of active connections should now be exact
</li>
</ul>
</li>
<li>Fix stuck acceptor bug when controlling_socket returned errors
</li>
<li>Numerous documentation and examples improvements
</li>
</ul>
<h2 id="_1_2_1">1.2.1</h2>
<ul><li>Fix bug preventing node shutdown when SSL is used with OTP 17.1+
</li>
<li>Tune restart intensity in all supervisors
</li>
</ul>
<h2 id="_1_2_0">1.2.0</h2>
<ul><li>Allow the supervised process and the process owning the socket to be different
</li>
<li>Add many transport options (please refer to the documentation)
</li>
<li>Add function ranch:get_addr/1 to retrieve both IP and port of listener
</li>
<li>Don't pass Ranch-specific options down to transports
<ul><li>Should make Dialyzer happy in user projects
</li>
<li>New types ranch:opt(), ranch_tcp:opt(), ranch_ssl:ssl_opt() and ranch_ssl:opt()
</li>
</ul>
</li>
<li>Fix crash when filtering unknown options out
</li>
<li>Print a warning for each option filtered out
</li>
<li>Handle Transport:controlling_socket/2 errors and close the socket
</li>
<li>Handle Protocol:start_link/4 crashes to avoid killing all active connections
</li>
<li>Use Asciidoc for documentation
</li>
<li>Test Ranch across 14 Erlang versions on CircleCI
</li>
<li>Improve and document test suites with recent ct_helper improvements
</li>
<li>Fix a number of intermittent test issues
</li>
</ul>
<h2 id="_1_1_0">1.1.0</h2>
<ul><li>Add Transport:secure/0
</li>
<li>Add SSL partial_chain option
</li>
<li>Stop reporting errors on {error, closed} in accept_ack
</li>
</ul>
<h2 id="_1_0_0">1.0.0</h2>
<ul><li>Initial release
</li>
</ul>
<nav style="margin:1em 0">
<a style="float:left" href="https://ninenines.eu/docs/en/ranch/1.7/guide/migrating_from_1.5/">
Migrating from Ranch 1.5 to 1.6
</a>
</nav>
</div>
<div class="span3 sidecol">
<h3>
Ranch
1.7
User Guide
</h3>
<ul>
<li><a href="/docs/en/ranch/1.7/guide">User Guide</a></li>
<li><a href="/docs/en/ranch/1.7/manual">Function Reference</a></li>
</ul>
<h4 id="docs-nav">Navigation</h4>
<h4>Version select</h4>
<ul>
<li><a href="/docs/en/ranch/1.7/guide">1.7</a></li>
<li><a href="/docs/en/ranch/1.6/guide">1.6</a></li>
<li><a href="/docs/en/ranch/1.5/guide">1.5</a></li>
<li><a href="/docs/en/ranch/1.4/guide">1.4</a></li>
<li><a href="/docs/en/ranch/1.3/guide">1.3</a></li>
<li><a href="/docs/en/ranch/1.2/guide">1.2</a></li>
</ul>
</div>
</div>
</div>
</div>
<footer>
<div class="container">
<div class="row">
<div class="span6">
<p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
<nav>
<ul>
<li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
</ul>
</nav>
</div>
<div class="span6 credits">
<p><img src="/img/footer_logo.png"></p>
<p>Copyright © Loïc Hoguin 2012-2018</p>
</div>
</div>
</div>
</footer>
<script src="/js/custom.js"></script>
</body>
</html>
|