tag:devcenter.heroku.com,2005:/changelog/feedHeroku ChangelogHeroku2024-03-13T09:19:44Ztag:devcenter.heroku.com,2005:ChangelogItem/28462024-03-13T09:19:44Z2024-03-13T09:19:44ZChange in default `WEB_CONCURRENCY` for Python apps<p>We changed the default <code>WEB_CONCURRENCY</code> value for dynos running Python apps to more closely reflect the performance characteristics of the <a href="https://devcenter.heroku.com/articles/dyno-types">dyno type</a>.</p>
<p>When a Python app boots, if it’s not already set, the Python buildpack automatically sets the <code>WEB_CONCURRENCY</code> environment variable to a suitable default value based on the dyno type. Some Python web servers, such as Gunicorn or Uvicorn, use this value to set the number of child processes launched to serve requests.</p>
<p>Here are the default <code>WEB_CONCURRENCY</code> values set by the Python buildpack:</p>
<h4 id="common-runtime">Common Runtime</h4>
<table>
<thead>
<tr><th>Dyno Type</th><th>Old Default <code>WEB_CONCURRENCY</code></th><th>New Default <code>WEB_CONCURRENCY</code></th></tr>
</thead>
<tbody>
<tr><td>Eco, Basic, Standard-1X</td><td>2</td><td>2 (unchanged)</td></tr>
<tr><td>Standard-2X</td><td>4</td><td>4 (unchanged)</td></tr>
<tr><td>Performance-M</td><td>8</td><td><b>5</b></td></tr>
<tr><td>Performance-L</td><td>11</td><td><b>17</b></td></tr>
</tbody>
</table>
<h4 id="private-spaces-and-shield-private-spaces">Private Spaces and Shield Private Spaces</h4>
<table>
<thead>
<tr><th>Dyno Type</th><th>Old Default <code>WEB_CONCURRENCY</code></th><th>New Default <code>WEB_CONCURRENCY</code></th></tr>
</thead>
<tbody>
<tr><td>Private-S / Shield-S</td><td>4</td><td>4 (unchanged)</td></tr>
<tr><td>Private-M / Shield-M</td><td>8</td><td><b>5</b></td></tr>
<tr><td>Private-L / Shield-L</td><td>11</td><td><b>17</b></td></tr>
</tbody>
</table>
<p>These changes take effect the next time your app builds and deploys.</p>
<p>In addition, the Python buildpack now outputs the chosen concurrency value to the app’s startup logs, for <code>web</code> dyno types only, to aid debugging:</p>
<pre><code>2024-03-12T16:36:36 app[web.1]: Python buildpack: Defaulting WEB_CONCURRENCY to 5 based on the number of CPU cores.
</code></pre>
<p>To override these new default values, set <code>WEB_CONCURRENCY</code> as an explicit config var on your app to its previous value.</p>
<p>For example, to set an app using Performance-M web dynos to the previous concurrency level, use:</p>
<pre class="language-term"><code class="language-term">$ heroku config:set WEB_CONCURRENCY=8
</code></pre>
<p>The <code>web</code> dyno logs shows that manually setting the value prevents the default values from getting configured when the app boots:</p>
<pre><code>2024-03-12T16:36:51 app[web.1]: Python buildpack: Skipping automatic configuration of WEB_CONCURRENCY since it's already set.
</code></pre>
<p>For more information, see <a href="https://devcenter.heroku.com/articles/python-concurrency">Optimizing Python Application Concurrency</a>.</p>tag:devcenter.heroku.com,2005:ChangelogItem/28452024-03-12T12:23:03Z2024-03-12T12:23:03ZNode.js 21.7.1 now available<p>Node.js version 21.7.1 has been made available for builds on Heroku. For additional information, please see our article on <a href="https://devcenter.heroku.com/articles/nodejs-support">Node.js Support</a>.</p>tag:devcenter.heroku.com,2005:ChangelogItem/28442024-03-11T18:46:29Z2024-03-11T18:46:29ZHeroku-20 and Heroku-22 stacks updated<p>We have updated the <code>heroku-20</code> and <code>heroku-22</code> <a href="https://devcenter.heroku.com/articles/stack">stacks</a> to pick up
security fixes in upstream packages. The new base images for each stack will be rolled out automatically
to the <a href="https://devcenter.heroku.com/articles/dyno-runtime#common-runtime">Common Runtime</a> over the next 48 hours,
followed by <a href="https://devcenter.heroku.com/articles/dyno-runtime#private-spaces-runtime">Private Spaces</a>.</p>
<p>If you are using Heroku’s default <a href="https://devcenter.heroku.com/articles/buildpacks">buildpack</a>-powered build system/stacks you do not need
to redeploy your app to pick up these changes, since your application’s <a href="https://devcenter.heroku.com/articles/slug-compiler">slug</a>
is applied on top of the most recent base image for the stack each time a dyno starts. Currently running dynos will be
<a href="https://devcenter.heroku.com/articles/dynos#automatic-dyno-restarts">automatically restarted</a>, so there is no need to manually restart
your app.</p>
<p>If your app instead uses Heroku’s <code>container</code> stack (<a href="https://devcenter.heroku.com/articles/stack#viewing-which-stack-your-app-is-using">most apps do not</a>),
you will need to rebuild your app’s Docker image in order to pick up any updates in the base image
specified in your <code>Dockerfile</code>.</p>
<p>See <a href="https://devcenter.heroku.com/articles/stack-packages">this Dev Center article</a> for an overview of the packages
available in each stack’s base image.</p>
<h2 id="changelog-of-packages">Changelog of packages</h2>
<h3 id="stack-heroku-20">Stack: heroku-20</h3>
<ul>
<li>Updated <code>bind9-dnsutils</code> from version <code>1:9.16.1-0ubuntu2.16</code> to <code>1:9.16.48-0ubuntu0.20.04.1</code></li>
<li>Updated <code>bind9-host</code> from version <code>1:9.16.1-0ubuntu2.16</code> to <code>1:9.16.48-0ubuntu0.20.04.1</code></li>
<li>Updated <code>bind9-libs</code> from version <code>1:9.16.1-0ubuntu2.16</code> to <code>1:9.16.48-0ubuntu0.20.04.1</code></li>
<li>Updated <code>binutils</code> from version <code>2.34-6ubuntu1.8</code> to <code>2.34-6ubuntu1.9</code></li>
<li>Updated <code>binutils-common</code> from version <code>2.34-6ubuntu1.8</code> to <code>2.34-6ubuntu1.9</code></li>
<li>Updated <code>binutils-x86-64-linux-gnu</code> from version <code>2.34-6ubuntu1.8</code> to <code>2.34-6ubuntu1.9</code></li>
<li>Updated <code>dnsutils</code> from version <code>1:9.16.1-0ubuntu2.16</code> to <code>1:9.16.48-0ubuntu0.20.04.1</code></li>
<li>Updated <code>less</code> from version <code>551-1ubuntu0.1</code> to <code>551-1ubuntu0.2</code></li>
<li>Updated <code>libbinutils</code> from version <code>2.34-6ubuntu1.8</code> to <code>2.34-6ubuntu1.9</code></li>
<li>Updated <code>libctf-nobfd0</code> from version <code>2.34-6ubuntu1.8</code> to <code>2.34-6ubuntu1.9</code></li>
<li>Updated <code>libctf0</code> from version <code>2.34-6ubuntu1.8</code> to <code>2.34-6ubuntu1.9</code></li>
<li>Updated <code>libssl1.1</code> from version <code>1.1.1f-1ubuntu2.21</code> to <code>1.1.1f-1ubuntu2.22</code></li>
<li>Updated <code>libtiff5</code> from version <code>4.1.0+git191117-2ubuntu0.20.04.11</code> to <code>4.1.0+git191117-2ubuntu0.20.04.12</code></li>
<li>Updated <code>libuv1</code> from version <code>1.34.2-1ubuntu1.3</code> to <code>1.34.2-1ubuntu1.5</code></li>
<li>Updated <code>libxml2</code> from version <code>2.9.10+dfsg-5ubuntu0.20.04.6</code> to <code>2.9.10+dfsg-5ubuntu0.20.04.7</code></li>
<li>Updated <code>linux-libc-dev</code> from version <code>5.4.0-171.189</code> to <code>5.4.0-173.191</code></li>
<li>Updated <code>openssl</code> from version <code>1.1.1f-1ubuntu2.21</code> to <code>1.1.1f-1ubuntu2.22</code></li>
<li>Updated <code>tzdata</code> from version <code>2023d-0ubuntu0.20.04</code> to <code>2024a-0ubuntu0.20.04</code></li>
</ul>
<h4 id="stack-heroku-20-updates-to-packages-available-at-build-time-only">Updates to packages available at build time only</h4>
<ul>
<li>Updated <code>libssl-dev</code> from version <code>1.1.1f-1ubuntu2.21</code> to <code>1.1.1f-1ubuntu2.22</code></li>
<li>Updated <code>libtiff-dev</code> from version <code>4.1.0+git191117-2ubuntu0.20.04.11</code> to <code>4.1.0+git191117-2ubuntu0.20.04.12</code></li>
<li>Updated <code>libtiffxx5</code> from version <code>4.1.0+git191117-2ubuntu0.20.04.11</code> to <code>4.1.0+git191117-2ubuntu0.20.04.12</code></li>
<li>Updated <code>libunbound8</code> from version <code>1.9.4-2ubuntu1.4</code> to <code>1.9.4-2ubuntu1.5</code></li>
<li>Updated <code>libuv1-dev</code> from version <code>1.34.2-1ubuntu1.3</code> to <code>1.34.2-1ubuntu1.5</code></li>
<li>Updated <code>libxml2-dev</code> from version <code>2.9.10+dfsg-5ubuntu0.20.04.6</code> to <code>2.9.10+dfsg-5ubuntu0.20.04.7</code></li>
</ul>
<h3 id="stack-heroku-22">Stack: heroku-22</h3>
<ul>
<li>Updated <code>binutils</code> from version <code>2.38-4ubuntu2.5</code> to <code>2.38-4ubuntu2.6</code></li>
<li>Updated <code>binutils-common</code> from version <code>2.38-4ubuntu2.5</code> to <code>2.38-4ubuntu2.6</code></li>
<li>Updated <code>binutils-x86-64-linux-gnu</code> from version <code>2.38-4ubuntu2.5</code> to <code>2.38-4ubuntu2.6</code></li>
<li>Updated <code>dpkg</code> from version <code>1.21.1ubuntu2.2</code> to <code>1.21.1ubuntu2.3</code></li>
<li>Updated <code>less</code> from version <code>590-1ubuntu0.22.04.1</code> to <code>590-1ubuntu0.22.04.2</code></li>
<li>Updated <code>libbinutils</code> from version <code>2.38-4ubuntu2.5</code> to <code>2.38-4ubuntu2.6</code></li>
<li>Updated <code>libctf-nobfd0</code> from version <code>2.38-4ubuntu2.5</code> to <code>2.38-4ubuntu2.6</code></li>
<li>Updated <code>libctf0</code> from version <code>2.38-4ubuntu2.5</code> to <code>2.38-4ubuntu2.6</code></li>
<li>Updated <code>libcups2</code> from version <code>2.4.1op1-1ubuntu4.7</code> to <code>2.4.1op1-1ubuntu4.8</code></li>
<li>Updated <code>libde265-0</code> from version <code>1.0.8-1ubuntu0.1</code> to <code>1.0.8-1ubuntu0.3</code></li>
<li>Updated <code>libssl3</code> from version <code>3.0.2-0ubuntu1.14</code> to <code>3.0.2-0ubuntu1.15</code></li>
<li>Updated <code>libtiff5</code> from version <code>4.3.0-6ubuntu0.7</code> to <code>4.3.0-6ubuntu0.8</code></li>
<li>Updated <code>libuv1</code> from version <code>1.43.0-1</code> to <code>1.43.0-1ubuntu0.1</code></li>
<li>Updated <code>libxml2</code> from version <code>2.9.13+dfsg-1ubuntu0.3</code> to <code>2.9.13+dfsg-1ubuntu0.4</code></li>
<li>Updated <code>linux-libc-dev</code> from version <code>5.15.0-94.104</code> to <code>5.15.0-100.110</code></li>
<li>Updated <code>openssl</code> from version <code>3.0.2-0ubuntu1.14</code> to <code>3.0.2-0ubuntu1.15</code></li>
<li>Updated <code>tzdata</code> from version <code>2023d-0ubuntu0.22.04</code> to <code>2024a-0ubuntu0.22.04</code></li>
</ul>
<h4 id="stack-heroku-22-updates-to-packages-available-at-build-time-only">Updates to packages available at build time only</h4>
<ul>
<li>Updated <code>cmake</code> from version <code>3.22.1-1ubuntu1.22.04.1</code> to <code>3.22.1-1ubuntu1.22.04.2</code></li>
<li>Updated <code>cmake-data</code> from version <code>3.22.1-1ubuntu1.22.04.1</code> to <code>3.22.1-1ubuntu1.22.04.2</code></li>
<li>Updated <code>dpkg-dev</code> from version <code>1.21.1ubuntu2.2</code> to <code>1.21.1ubuntu2.3</code></li>
<li>Updated <code>libde265-dev</code> from version <code>1.0.8-1ubuntu0.1</code> to <code>1.0.8-1ubuntu0.3</code></li>
<li>Updated <code>libdpkg-perl</code> from version <code>1.21.1ubuntu2.2</code> to <code>1.21.1ubuntu2.3</code></li>
<li>Updated <code>libssl-dev</code> from version <code>3.0.2-0ubuntu1.14</code> to <code>3.0.2-0ubuntu1.15</code></li>
<li>Updated <code>libtiff-dev</code> from version <code>4.3.0-6ubuntu0.7</code> to <code>4.3.0-6ubuntu0.8</code></li>
<li>Updated <code>libtiffxx5</code> from version <code>4.3.0-6ubuntu0.7</code> to <code>4.3.0-6ubuntu0.8</code></li>
<li>Updated <code>libunbound8</code> from version <code>1.13.1-1ubuntu5.3</code> to <code>1.13.1-1ubuntu5.4</code></li>
<li>Updated <code>libuv1-dev</code> from version <code>1.43.0-1</code> to <code>1.43.0-1ubuntu0.1</code></li>
<li>Updated <code>libxml2-dev</code> from version <code>2.9.13+dfsg-1ubuntu0.3</code> to <code>2.9.13+dfsg-1ubuntu0.4</code></li>
</ul>tag:devcenter.heroku.com,2005:ChangelogItem/27882024-03-08T19:13:38Z2024-03-08T19:13:38ZHeroku Postgres xml2 extension deprecated<p>We deprecated the <code>xml2</code> PostgreSQL extension on all Heroku Postgres databases. The <a href="https://www.postgresql.org/docs/current/xml2.html#XML2-DEPRECATION">PostgreSQL project deprecated the <code>xml2</code> extension in version 8.3</a> in February 2008. If you currently use the extension, you can use the <a href="https://www.postgresql.org/docs/current/functions-xml.html">built-in XML functions</a>, the <a href="https://www.postgresql.org/docs/current/datatype-xml.html">built-in xml type</a>, and <a href="https://wiki.postgresql.org/wiki/PostgreSQL_vs_SQL/XML_Standards">SQL/XML standards support</a> instead. These functions are available on all Heroku Postgres databases.</p>
<p>If your app or database uses any of the following deprecated functions, you must update the app or database to use the built-in PostgreSQL XML functionality. If you haven’t updated your app or database, any queries, stored procedures, or PL/PGSQL using the deprecated functions fail. Future database migrations and upgrades also won’t complete, leaving the database in an unusable state.</p>
<table><thead>
<tr>
<th>Deprecated functions</th>
<th>Supported functions</th>
</tr>
</thead><tbody>
<tr>
<td><a href="https://www.postgresql.org/docs/current/xml2.html#XML2-FUNCTIONS"><code>xml_valid</code></a></td>
<td><a href="https://www.postgresql.org/docs/current/functions-xml.html#XML-IS-WELL-FORMED"><code>xml_is_well_formed</code></a></td>
</tr>
<tr>
<td><a href="https://www.postgresql.org/docs/current/xml2.html#XML2-FUNCTIONS"><code>xpath_string</code></a>, <a href="https://www.postgresql.org/docs/current/xml2.html#XML2-FUNCTIONS"><code>xpath_number</code></a>, <a href="https://www.postgresql.org/docs/current/xml2.html#XML2-FUNCTIONS"><code>xpath_bool</code></a></td>
<td><a href="https://www.postgresql.org/docs/current/functions-xml.html#FUNCTIONS-XML-PROCESSING-XPATH"><code>xpath</code></a>, possibly in combination with <code>xpath</code> functions: <a href="https://developer.mozilla.org/en-US/docs/Web/XPath/Functions/string"><code>string()</code></a>, <a href="https://developer.mozilla.org/en-US/docs/Web/XPath/Functions/number"><code>number()</code></a>, <a href="https://developer.mozilla.org/en-US/docs/Web/XPath/Functions/boolean"><code>bool()</code></a></td>
</tr>
<tr>
<td><a href="https://www.postgresql.org/docs/current/xml2.html#XML2-FUNCTIONS"><code>xpath_nodeset</code></a></td>
<td><a href="https://www.postgresql.org/docs/current/functions-xml.html#FUNCTIONS-XML-PROCESSING-XPATH"><code>xpath</code></a></td>
</tr>
<tr>
<td><a href="https://www.postgresql.org/docs/current/xml2.html#XML2-FUNCTIONS"><code>xpath_list</code></a></td>
<td><a href="https://www.postgresql.org/docs/current/functions-xml.html#FUNCTIONS-XML-PROCESSING-XPATH"><code>xpath</code></a></td>
</tr>
<tr>
<td><a href="https://www.postgresql.org/docs/current/xml2.html#XML2-XPATH-TABLE"><code>xpath_table</code></a></td>
<td><a href="https://www.postgresql.org/docs/current/functions-xml.html#FUNCTIONS-XML-PROCESSING-XMLTABLE"><code>xmltable</code></a></td>
</tr>
</tbody></table>
<p>If you haven’t removed the extension, Heroku will force-drop it starting on April 19, 2024. After migrating away from the deprecated functions, drop the <code>xml2</code> extension from each database by running the command in a <a href="https://devcenter.heroku.com/articles/managing-heroku-postgres-using-cli#pg-psql"><code>psql</code> session</a>:</p>
<pre class="language-term"><code class="language-term">DROP EXTENSION xml2;
</code></pre>
<p>For more information on extensions, see <a href="https://devcenter.heroku.com/articles/heroku-postgres-extensions-postgis-full-text-search">Extensions, PostGIS, and Full Text Search Dictionaries on Heroku Postgres</a>.</p>tag:devcenter.heroku.com,2005:ChangelogItem/28432024-03-07T15:45:53Z2024-03-07T15:45:53ZNode.js 21.7.0 now available<p>Node.js version 21.7.0 has been made available for builds on Heroku. For additional information, please see our article on <a href="https://devcenter.heroku.com/articles/nodejs-support">Node.js Support</a>.</p>tag:devcenter.heroku.com,2005:ChangelogItem/28422024-03-07T00:26:07Z2024-03-07T00:26:07ZUpcoming changes to OAuth access tokens<p>Starting March 20, 2024, we’ll prefix all newly granted Heroku OAuth access tokens with <code>HRKU-</code>.</p>
<p>Current token example: <code>"57dce771-afad-4c41-a8a5-d10b7fbc743c"</code><br>
Prefixed token example: <code>"HRKU-57dce771-afad-4c41-a8a5-d10b7fbc743c"</code></p>
<p>Token behavior remains the same. All current tokens will continue to work and remain unchanged until they’re regenerated. This change allows us to enable additional security features in the future.</p>tag:devcenter.heroku.com,2005:ChangelogItem/28072024-03-04T19:10:43Z2024-03-04T19:10:43ZNew Heroku Postgres Essential-tier plans (Public Beta)<p>New Heroku Postgres Essential-tier plans are now available in public beta. You can <a href="https://devcenter.heroku.com/articles/postgres-essential-tier#provision-the-database">provision a new database</a> or <a href="https://devcenter.heroku.com/articles/upgrading-heroku-postgres-databases#upgrading-with-pg-copy">migrate data from an existing database using <code>pg:copy</code></a> to these new plans. On improved infrastructure, we removed row limits and added support for <a href="https://devcenter.heroku.com/articles/heroku-postgres-extensions-postgis-full-text-search#pgvector"><code>pgvector</code></a>. Here are all the beta and GA <a href="https://devcenter.heroku.com/articles/heroku-postgres-plans#essential-tier">Essential-tier</a> plans:</p>
<table><thead>
<tr>
<th>Product</th>
<th>Provisioning Name</th>
<th>Disk</th>
<th>Connections</th>
<th>Limits</th>
<th>Status</th>
</tr>
</thead><tbody>
<tr>
<td>Essential-0</td>
<td><code>heroku-postgresql:essential-0</code></td>
<td>1 GB</td>
<td>20</td>
<td>4,000 tables</td>
<td>Beta</td>
</tr>
<tr>
<td>Mini</td>
<td><code>heroku-postgresql:mini</code></td>
<td>1 GB</td>
<td>20</td>
<td>10,000 rows</td>
<td>GA</td>
</tr>
<tr>
<td>Essential-1</td>
<td><code>heroku-postgresql:essential-1</code></td>
<td>10 GB</td>
<td>20</td>
<td>4,000 tables</td>
<td>Beta</td>
</tr>
<tr>
<td>Basic</td>
<td><code>heroku-postgresql:basic</code></td>
<td>10 GB</td>
<td>20</td>
<td>10,000,000 rows</td>
<td>GA</td>
</tr>
<tr>
<td>Essential-2</td>
<td><code>heroku-postgresql:essential-2</code></td>
<td>32 GB</td>
<td>40</td>
<td>4,000 tables</td>
<td>Beta</td>
</tr>
</tbody></table>
<p>For more details, see <a href="https://devcenter.heroku.com/articles/postgres-essential-tier">Heroku Postgres Essential Tier (Public Beta)</a>.</p>tag:devcenter.heroku.com,2005:ChangelogItem/28412024-02-29T23:05:10Z2024-02-29T23:05:10ZFebruary 2024 PHP updates<p>The following new <a href="https://devcenter.heroku.com/articles/php-support#available-versions">PHP runtime versions</a> are now available:</p>
<ul>
<li><a href="https://www.php.net/ChangeLog-8.php#8.2.16">PHP 8.2.16</a></li>
<li><a href="https://www.php.net/ChangeLog-8.php#8.3.3">PHP 8.3.3</a></li>
</ul>
<p>The following <a href="https://devcenter.heroku.com/articles/php-support#extensions">PHP extensions</a> have been added or updated:</p>
<ul>
<li><code>ext-blackfire</code> 1.92.10</li>
<li><code>ext-event</code> 3.1.3</li>
<li><code>ext-newrelic</code> 10.17.0.7</li>
<li><code>ext-phalcon</code> 5.6.1</li>
<li><code>ext-pq</code> 2.2.3</li>
</ul>
<p>The following new <a href="https://devcenter.heroku.com/articles/php-support#available-composer-versions">Composer versions</a> are now available <a href="https://devcenter.heroku.com/articles/php-support#installation-of-dependencies">for use during builds</a>:</p>
<ul>
<li><a href="https://getcomposer.org/changelog/2.2.23">Composer 2.2.23</a></li>
<li><a href="https://getcomposer.org/changelog/2.7.1">Composer 2.7.1</a></li>
</ul>
<p>The <code>blackfire</code> CLI agent program used by <code>ext-blackfire</code> has been updated to version 2.25.0.</p>tag:devcenter.heroku.com,2005:ChangelogItem/28092024-02-28T22:39:16Z2024-02-28T22:39:16ZRuby applications without a `RUBY VERSION` in the Gemfile.lock may receive a default Ruby version<p>Previously, it was possible to specify a full version of Ruby in the <code>Gemfile</code> even if it was not present in the <code>Gemfile.lock</code>. The Ruby directive in the <code>Gemfile</code> was parsed by bundler and emitted via the command <code>bundle --platform ruby</code>. This behavior has changed with bundler <code>2.4+</code>, so only ruby versions listed in the <code>RUBY VERSION</code> key of the <code>Gemfile.lock</code> will be returned. If your application uses bundler 2.4+ and does not have a <code>RUBY VERSION</code> specified in the <code>Gemfile.lock</code>, it will receive a default version of Ruby.</p>
<p>It is strongly recommended that you have both a <code>RUBY VERSION</code> and <code>BUNDLED WITH</code> version listed in your <code>Gemfile.lock</code>. If you do not have those values, you can generate them and commit them to git:</p>
<pre><code>$ bundle update --ruby
$ git add Gemfile.lock
$ git commit -m "Update Gemfile.lock"
</code></pre>
<p>Applications without these values specified in the <code>Gemfile.lock</code> may break unexpectedly when the defaults change.</p>
<p>If your app relies on specifying the ruby version in the <code>Gemfile</code> but not the <code>Gemfile.lock</code> and it is not yet using Bundler 2.4+, you may preserve this behavior by not upgrading the bundler version in your <code>Gemfile.lock</code>, however, this behavior is deprecated. It will be removed at a future date. It is recommended you lock your Ruby version now to avoid an unexpected breakage in the future. <a href="https://devcenter.heroku.com/articles/ruby-support">Ruby support article</a></p>tag:devcenter.heroku.com,2005:ChangelogItem/28082024-02-28T22:38:13Z2024-02-28T22:38:13ZBundler versions 2.4.22 and 2.5.6 are now available for Ruby applications<p>The <a href="https://devcenter.heroku.com/articles/ruby-support#libraries">Ruby Buildpack</a> now installs a version of bundler based on the major and minor version listed in the <code>Gemfile.lock</code> under the <code>BUNDLED WITH</code> key. Previously, it only used the major version. Now, this logic will be used:</p>
<ul>
<li><code>BUNDLED WITH</code> 1.x will receive bundler <code>1.17.3</code></li>
<li><code>BUNDLED WITH</code> 2.0.x to 2.3.x will receive bundler <code>2.3.25</code></li>
<li><code>BUNDLED WITH</code> 2.4.x will receive bundler <code>2.4.22</code></li>
<li><code>BUNDLED WITH</code> 2.5.x and above will receive bundler <code>2.5.6</code></li>
</ul>
<p>It is strongly recommended that you have both a <code>RUBY VERSION</code> and <code>BUNDLED WITH</code> version listed in your <code>Gemfile.lock</code>. If you do not have those values, you can generate them and commit them to git:</p>
<pre><code>$ bundle update --ruby
$ git add Gemfile.lock
$ git commit -m "Update Gemfile.lock"
</code></pre>
<p>Applications without these values specified in the <code>Gemfile.lock</code> may break unexpectedly when the defaults change.</p>
<div class="note">
<p>If your application errors with the message <code>bundler-2.5.6 requires ruby version >= 3.0.0</code> and you are using Ruby 2.7.x and Bundler 2.4, please <a href="https://github.com/heroku/heroku-repo?tab=readme-ov-file#reset">purge your build cache</a> and try re-deploying.</p>
</div>tag:devcenter.heroku.com,2005:ChangelogItem/28062024-02-28T16:29:42Z2024-02-28T16:29:42ZDefault Go version is now go1.20.14<p>We’ve updated the default version for Go applications to <code>go1.20.14</code>. This change applies to Go apps that do not specify a Go version.</p>
<p>Go apps that specify a Go version via <code>go.mod</code>, <code>vendor/vendor.json</code>, <code>Godeps/Godeps.json</code>, or the <code>GOVERSION</code> environment variable will <em>not</em> be affected.</p>
<p>We highly suggest specifying a Go version to prevent default changes like these from disrupting your workflow. Please read our <a href="https://devcenter.heroku.com/articles/go-support#go-versions">Heroku Go Support Article</a> if you would like to do that.</p>tag:devcenter.heroku.com,2005:ChangelogItem/28042024-02-19T17:40:19Z2024-02-19T17:40:19ZHeroku-20 and Heroku-22 stacks updated<p>We have updated the <code>heroku-20</code> and <code>heroku-22</code> <a href="https://devcenter.heroku.com/articles/stack">stacks</a> to pick up
security fixes in upstream packages. The new base images for each stack will be rolled out automatically
to the <a href="https://devcenter.heroku.com/articles/dyno-runtime#common-runtime">Common Runtime</a> over the next 48 hours,
followed by <a href="https://devcenter.heroku.com/articles/dyno-runtime#private-spaces-runtime">Private Spaces</a>.</p>
<p>If you are using Heroku’s default <a href="https://devcenter.heroku.com/articles/buildpacks">buildpack</a>-powered build system/stacks you do not need
to redeploy your app to pick up these changes, since your application’s <a href="https://devcenter.heroku.com/articles/slug-compiler">slug</a>
is applied on top of the most recent base image for the stack each time a dyno starts. Currently running dynos will be
<a href="https://devcenter.heroku.com/articles/dynos#automatic-dyno-restarts">automatically restarted</a>, so there is no need to manually restart
your app.</p>
<p>If your app instead uses Heroku’s <code>container</code> stack (<a href="https://devcenter.heroku.com/articles/stack#viewing-which-stack-your-app-is-using">most apps do not</a>),
you will need to rebuild your app’s Docker image in order to pick up any updates in the base image
specified in your <code>Dockerfile</code>.</p>
<p>See <a href="https://devcenter.heroku.com/articles/stack-packages">this Dev Center article</a> for an overview of the packages
available in each stack’s base image.</p>
<h2 id="changelog-of-packages">Changelog of packages</h2>
<h3 id="stack-heroku-20">Stack: heroku-20</h3>
<ul>
<li>Updated <code>libpq5</code> from version <code>16.1-1.pgdg20.04+1</code> to <code>16.2-1.pgdg20.04+1</code></li>
<li>Updated <code>linux-libc-dev</code> from version <code>5.4.0-170.188</code> to <code>5.4.0-171.189</code></li>
<li>Updated <code>login</code> from version <code>1:4.8.1-1ubuntu5.20.04.4</code> to <code>1:4.8.1-1ubuntu5.20.04.5</code></li>
<li>Updated <code>passwd</code> from version <code>1:4.8.1-1ubuntu5.20.04.4</code> to <code>1:4.8.1-1ubuntu5.20.04.5</code></li>
<li>Updated <code>postgresql-client-15</code> from version <code>15.5-1.pgdg20.04+1</code> to <code>15.6-1.pgdg20.04+1</code></li>
<li>Updated <code>postgresql-client-common</code> from version <code>256.pgdg20.04+1</code> to <code>257.pgdg20.04+1</code></li>
<li>Updated <code>unzip</code> from version <code>6.0-25ubuntu1.1</code> to <code>6.0-25ubuntu1.2</code></li>
</ul>
<h4 id="stack-heroku-20-updates-to-packages-available-at-build-time-only">Updates to packages available at build time only</h4>
<ul>
<li>Updated <code>libpq-dev</code> from version <code>16.1-1.pgdg20.04+1</code> to <code>16.2-1.pgdg20.04+1</code></li>
<li>Updated <code>postgresql-common</code> from version <code>256.pgdg20.04+1</code> to <code>257.pgdg20.04+1</code></li>
<li>Updated <code>postgresql-server-dev-15</code> from version <code>15.5-1.pgdg20.04+1</code> to <code>15.6-1.pgdg20.04+1</code></li>
</ul>
<h3 id="stack-heroku-22">Stack: heroku-22</h3>
<ul>
<li>Updated <code>base-files</code> from version <code>12ubuntu4.5</code> to <code>12ubuntu4.6</code></li>
<li>Updated <code>bind9-dnsutils</code> from version <code>1:9.18.18-0ubuntu0.22.04.1</code> to <code>1:9.18.18-0ubuntu0.22.04.2</code></li>
<li>Updated <code>bind9-host</code> from version <code>1:9.18.18-0ubuntu0.22.04.1</code> to <code>1:9.18.18-0ubuntu0.22.04.2</code></li>
<li>Updated <code>bind9-libs</code> from version <code>1:9.18.18-0ubuntu0.22.04.1</code> to <code>1:9.18.18-0ubuntu0.22.04.2</code></li>
<li>Updated <code>coreutils</code> from version <code>8.32-4.1ubuntu1</code> to <code>8.32-4.1ubuntu1.1</code></li>
<li>Updated <code>dnsutils</code> from version <code>1:9.18.18-0ubuntu0.22.04.1</code> to <code>1:9.18.18-0ubuntu0.22.04.2</code></li>
<li>Updated <code>language-pack-en</code> from version <code>1:22.04+20230801</code> to <code>1:22.04+20240212</code></li>
<li>Updated <code>language-pack-en-base</code> from version <code>1:22.04+20230801</code> to <code>1:22.04+20240212</code></li>
<li>Updated <code>libde265-0</code> from version <code>1.0.8-1</code> to <code>1.0.8-1ubuntu0.1</code></li>
<li>Updated <code>libip4tc2</code> from version <code>1.8.7-1ubuntu5.1</code> to <code>1.8.7-1ubuntu5.2</code></li>
<li>Updated <code>libpq5</code> from version <code>16.1-1.pgdg22.04+1</code> to <code>16.2-1.pgdg22.04+1</code></li>
<li>Updated <code>libxtables12</code> from version <code>1.8.7-1ubuntu5.1</code> to <code>1.8.7-1ubuntu5.2</code></li>
<li>Updated <code>linux-libc-dev</code> from version <code>5.15.0-92.102</code> to <code>5.15.0-94.104</code></li>
<li>Updated <code>login</code> from version <code>1:4.8.1-2ubuntu2.1</code> to <code>1:4.8.1-2ubuntu2.2</code></li>
<li>Updated <code>passwd</code> from version <code>1:4.8.1-2ubuntu2.1</code> to <code>1:4.8.1-2ubuntu2.2</code></li>
<li>Updated <code>postgresql-client-15</code> from version <code>15.5-1.pgdg22.04+1</code> to <code>15.6-1.pgdg22.04+1</code></li>
<li>Updated <code>postgresql-client-common</code> from version <code>256.pgdg22.04+1</code> to <code>257.pgdg22.04+1</code></li>
<li>Updated <code>unzip</code> from version <code>6.0-26ubuntu3.1</code> to <code>6.0-26ubuntu3.2</code></li>
</ul>
<h4 id="stack-heroku-22-updates-to-packages-available-at-build-time-only">Updates to packages available at build time only</h4>
<ul>
<li>Updated <code>libde265-dev</code> from version <code>1.0.8-1</code> to <code>1.0.8-1ubuntu0.1</code></li>
<li>Updated <code>libpq-dev</code> from version <code>16.1-1.pgdg22.04+1</code> to <code>16.2-1.pgdg22.04+1</code></li>
</ul>tag:devcenter.heroku.com,2005:ChangelogItem/28032024-02-15T19:24:20Z2024-02-15T19:24:20ZNode.js 21.6.2, 20.11.1, and 18.19.1 now available<p>Node.js versions 21.6.2, 20.11.1, and 18.19.1 have been made available for builds on Heroku. For additional information, please see our article on <a href="https://devcenter.heroku.com/articles/nodejs-support">Node.js Support</a>.</p>tag:devcenter.heroku.com,2005:ChangelogItem/28022024-02-13T18:08:36Z2024-02-13T18:08:36ZHeroku Headers are now supported by Router 2.0<p><a href="https://devcenter.heroku.com/articles/http-routing#heroku-headers">Heroku Headers</a>, also supported by our current production router, are now available in the <a href="https://devcenter.heroku.com/articles/heroku-runtime-router-2-0">public beta for Router 2.0.</a></p>
<p>See this <a href="https://devcenter.heroku.com/articles/heroku-runtime-router-2-0#current-and-future-state">table</a> to find the entire list of current and upcoming features in the public beta.</p>tag:devcenter.heroku.com,2005:ChangelogItem/27972024-02-13T06:55:37Z2024-02-13T06:55:37ZHeroku Connect now supports Salesforce API v60.0<p>Heroku Connect now defaults to version 60.0 of the Salesforce API, the latest version available in the Spring ‘24 release. Learn how to specify the API version at connection creation on the <a href="https://devcenter.heroku.com/articles/heroku-connect">Heroku Dev Center</a>.</p>tag:devcenter.heroku.com,2005:ChangelogItem/28012024-02-08T19:47:19Z2024-02-08T19:47:19ZGo 1.22.0, 1.21.7, 1.20.14 now available on Heroku<p>Go versions 1.22.0, 1.21.7, and 1.20.14 have been made available on Heroku.</p>
<p>With these new releases, go1.22 now defaults to go1.22.0, go1.21 defaults to go1.21.7, and go 1.20 defaults to 1.20.14.</p>
<p>For more information, see our page on <a href="https://devcenter.heroku.com/articles/go-support">Go Support</a>.</p>tag:devcenter.heroku.com,2005:ChangelogItem/27912024-02-08T19:39:22Z2024-02-08T19:39:22ZManual certificate uploads for Eco dynos with Heroku SSL<p>You can now <a href="https://devcenter.heroku.com/articles/ssl#manually-upload-certificates">manually upload certificates</a> for apps using Eco dynos. While <a href="https://devcenter.heroku.com/articles/automated-certificate-management">Automated Certificate Management</a> is available for all dynos, you now also have the option to use a wildcard certificate or a different certificate authority for your application instead. Run this command to manually upload your certificate:</p>
<pre class="language-term"><code class="language-term">$ heroku certs:add server.crt server.key
</code></pre>
<p>For more info, see <a href="https://devcenter.heroku.com/articles/ssl">Heroku SSL</a>.</p>tag:devcenter.heroku.com,2005:ChangelogItem/27992024-02-07T10:42:34Z2024-02-07T10:42:34ZPython 3.11.8 and 3.12.2 are now available<ul>
<li>Python 3.11.8 and 3.12.2 are now available</li>
<li>The default Python version for new apps is now Python 3.12.2 instead of 3.12.1.</li>
</ul>
<p>For more information, see our page on <a href="https://devcenter.heroku.com/articles/python-support">Python Support</a>.</p>tag:devcenter.heroku.com,2005:ChangelogItem/27982024-02-06T14:11:36Z2024-02-06T14:11:36ZHeroku-20 and Heroku-22 stacks updated<p>We have updated the <code>heroku-20</code> and <code>heroku-22</code> <a href="https://devcenter.heroku.com/articles/stack">stacks</a> to pick up
security fixes in upstream packages. The new base images for each stack will be rolled out automatically
to the <a href="https://devcenter.heroku.com/articles/dyno-runtime#common-runtime">Common Runtime</a> over the next 48 hours,
followed by <a href="https://devcenter.heroku.com/articles/dyno-runtime#private-spaces-runtime">Private Spaces</a>.</p>
<p>If you are using Heroku’s default <a href="https://devcenter.heroku.com/articles/buildpacks">buildpack</a>-powered build system/stacks you do not need
to redeploy your app to pick up these changes, since your application’s <a href="https://devcenter.heroku.com/articles/slug-compiler">slug</a>
is applied on top of the most recent base image for the stack each time a dyno starts. Currently running dynos will be
<a href="https://devcenter.heroku.com/articles/dynos#automatic-dyno-restarts">automatically restarted</a>, so there is no need to manually restart
your app.</p>
<p>If your app instead uses Heroku’s <code>container</code> stack (<a href="https://devcenter.heroku.com/articles/stack#viewing-which-stack-your-app-is-using">most apps do not</a>),
you will need to rebuild your app’s Docker image in order to pick up any updates in the base image
specified in your <code>Dockerfile</code>.</p>
<p>See <a href="https://devcenter.heroku.com/articles/stack-packages">this Dev Center article</a> for an overview of the packages
available in each stack’s base image.</p>
<h2 id="changelog-of-packages">Changelog of packages</h2>
<h3 id="stack-heroku-20">Stack: heroku-20</h3>
<ul>
<li>Updated <code>libldap-2.4-2</code> from version <code>2.4.49+dfsg-2ubuntu1.9</code> to <code>2.4.49+dfsg-2ubuntu1.10</code></li>
<li>Updated <code>libldap-common</code> from version <code>2.4.49+dfsg-2ubuntu1.9</code> to <code>2.4.49+dfsg-2ubuntu1.10</code></li>
<li>Updated <code>libmysqlclient21</code> from version <code>8.0.35-0ubuntu0.20.04.1</code> to <code>8.0.36-0ubuntu0.20.04.1</code></li>
<li>Updated <code>libssl1.1</code> from version <code>1.1.1f-1ubuntu2.20</code> to <code>1.1.1f-1ubuntu2.21</code></li>
<li>Updated <code>linux-libc-dev</code> from version <code>5.4.0-169.187</code> to <code>5.4.0-170.188</code></li>
<li>Updated <code>openssl</code> from version <code>1.1.1f-1ubuntu2.20</code> to <code>1.1.1f-1ubuntu2.21</code></li>
</ul>
<h4 id="stack-heroku-20-updates-to-packages-available-at-build-time-only">Updates to packages available at build time only</h4>
<ul>
<li>Updated <code>libldap2-dev</code> from version <code>2.4.49+dfsg-2ubuntu1.9</code> to <code>2.4.49+dfsg-2ubuntu1.10</code></li>
<li>Updated <code>libmysqlclient-dev</code> from version <code>8.0.35-0ubuntu0.20.04.1</code> to <code>8.0.36-0ubuntu0.20.04.1</code></li>
<li>Updated <code>libssl-dev</code> from version <code>1.1.1f-1ubuntu2.20</code> to <code>1.1.1f-1ubuntu2.21</code></li>
</ul>
<h3 id="stack-heroku-22">Stack: heroku-22</h3>
<ul>
<li>Updated <code>libldap-2.5-0</code> from version <code>2.5.16+dfsg-0ubuntu0.22.04.1</code> to <code>2.5.16+dfsg-0ubuntu0.22.04.2</code></li>
<li>Updated <code>libmysqlclient21</code> from version <code>8.0.35-0ubuntu0.22.04.1</code> to <code>8.0.36-0ubuntu0.22.04.1</code></li>
<li>Updated <code>libssl3</code> from version <code>3.0.2-0ubuntu1.12</code> to <code>3.0.2-0ubuntu1.14</code></li>
<li>Updated <code>linux-libc-dev</code> from version <code>5.15.0-91.101</code> to <code>5.15.0-92.102</code></li>
<li>Updated <code>openssl</code> from version <code>3.0.2-0ubuntu1.12</code> to <code>3.0.2-0ubuntu1.14</code></li>
</ul>
<h4 id="stack-heroku-22-updates-to-packages-available-at-build-time-only">Updates to packages available at build time only</h4>
<ul>
<li>Updated <code>libldap-dev</code> from version <code>2.5.16+dfsg-0ubuntu0.22.04.1</code> to <code>2.5.16+dfsg-0ubuntu0.22.04.2</code></li>
<li>Updated <code>libldap2-dev</code> from version <code>2.5.16+dfsg-0ubuntu0.22.04.1</code> to <code>2.5.16+dfsg-0ubuntu0.22.04.2</code></li>
<li>Updated <code>libmysqlclient-dev</code> from version <code>8.0.35-0ubuntu0.22.04.1</code> to <code>8.0.36-0ubuntu0.22.04.1</code></li>
<li>Updated <code>libssl-dev</code> from version <code>3.0.2-0ubuntu1.12</code> to <code>3.0.2-0ubuntu1.14</code></li>
</ul>tag:devcenter.heroku.com,2005:ChangelogItem/27872024-02-05T18:49:31Z2024-02-05T18:49:31ZDeprecating Heroku Postgres extension xml2<p>We’re deprecating the <code>xml2</code> PostgreSQL extension on all Heroku Postgres databases on March 8, 2024. The <a href="https://www.postgresql.org/docs/current/xml2.html#XML2-DEPRECATION">PostgreSQL project deprecated the <code>xml2</code> extension in version 8.3</a> in February 2008. If you currently use the extension, you can use the <a href="https://www.postgresql.org/docs/current/functions-xml.html">built-in XML functions</a>, the <a href="https://www.postgresql.org/docs/current/datatype-xml.html">built-in xml type</a>, and <a href="https://wiki.postgresql.org/wiki/PostgreSQL_vs_SQL/XML_Standards">SQL/XML standards support</a> instead. These functions are available on all Heroku Postgres databases.</p>
<p>If your app or database uses any of the following deprecated functions, you must update the app or database to use the built-in PostgreSQL XML functionality. If you don’t update your app or database, any queries, stored procedures, or PL/PGSQL using the deprecated functions will fail beginning on March 8, 2024. In addition, future database migrations and upgrades won’t complete, leaving the database in an unusable state.</p>
<table><thead>
<tr>
<th>Deprecated functions</th>
<th>Supported functions</th>
</tr>
</thead><tbody>
<tr>
<td><a href="https://www.postgresql.org/docs/current/xml2.html#XML2-FUNCTIONS"><code>xml_valid</code></a></td>
<td><a href="https://www.postgresql.org/docs/current/functions-xml.html#XML-IS-WELL-FORMED"><code>xml_is_well_formed</code></a></td>
</tr>
<tr>
<td><a href="https://www.postgresql.org/docs/current/xml2.html#XML2-FUNCTIONS"><code>xpath_string</code></a>, <a href="https://www.postgresql.org/docs/current/xml2.html#XML2-FUNCTIONS"><code>xpath_number</code></a>, <a href="https://www.postgresql.org/docs/current/xml2.html#XML2-FUNCTIONS"><code>xpath_bool</code></a></td>
<td><a href="https://www.postgresql.org/docs/current/functions-xml.html#FUNCTIONS-XML-PROCESSING-XPATH"><code>xpath</code></a>, possibly in combination with <code>xpath</code> functions: <a href="https://developer.mozilla.org/en-US/docs/Web/XPath/Functions/string"><code>string()</code></a>, <a href="https://developer.mozilla.org/en-US/docs/Web/XPath/Functions/number"><code>number()</code></a>, <a href="https://developer.mozilla.org/en-US/docs/Web/XPath/Functions/boolean"><code>bool()</code></a></td>
</tr>
<tr>
<td><a href="https://www.postgresql.org/docs/current/xml2.html#XML2-FUNCTIONS"><code>xpath_nodeset</code></a></td>
<td><a href="https://www.postgresql.org/docs/current/functions-xml.html#FUNCTIONS-XML-PROCESSING-XPATH"><code>xpath</code></a></td>
</tr>
<tr>
<td><a href="https://www.postgresql.org/docs/current/xml2.html#XML2-FUNCTIONS"><code>xpath_list</code></a></td>
<td><a href="https://www.postgresql.org/docs/current/functions-xml.html#FUNCTIONS-XML-PROCESSING-XPATH"><code>xpath</code></a></td>
</tr>
<tr>
<td><a href="https://www.postgresql.org/docs/current/xml2.html#XML2-XPATH-TABLE"><code>xpath_table</code></a></td>
<td><a href="https://www.postgresql.org/docs/current/functions-xml.html#FUNCTIONS-XML-PROCESSING-XMLTABLE"><code>xmltable</code></a></td>
</tr>
</tbody></table>
<p>If you don’t remove the extension by the deprecation date, Heroku will force-drop the extension. After migrating away from the deprecated functions, drop the <code>xml2</code> extension from each database by running the command in a <a href="https://devcenter.heroku.com/articles/managing-heroku-postgres-using-cli#pg-psql"><code>psql</code> session</a>:</p>
<pre class="language-term"><code class="language-term">DROP EXTENSION xml2;
</code></pre>
<p>For more information on extensions, see <a href="https://devcenter.heroku.com/articles/heroku-postgres-extensions-postgis-full-text-search">Extensions, PostGIS, and Full Text Search Dictionaries on Heroku Postgres</a>.</p>tag:devcenter.heroku.com,2005:ChangelogItem/27952024-02-05T13:50:05Z2024-02-05T13:50:05ZUpdated Node.js Language Metrics plugin<p>We changed how <a href="https://devcenter.heroku.com/articles/language-runtime-metrics-nodejs">Node.js Language Metrics</a> are gathered by applications. We deprecated our native add-on for collecting these metrics in favor of a plugin that uses performance APIs built directly into Node.js.</p>
<p>If an app using Node.js <code>>= 14.10.0</code> has <a href="https://devcenter.heroku.com/articles/language-runtime-metrics-nodejs#getting-started">Node.js Language Metrics enabled</a>, this change takes effect on the next build and deploy.</p>
<div class="note">
<p>The time series plots for Aggregate Time Spent in Garbage Collection, Aggregate Garbage Collections, Event Loop Latency, and Event Loop Usage can display some noticeable differences after this change takes effect for an app. These differences are expected as the Node.js performance APIs have more precision than our native add-on.</p>
</div>
<p>To use the deprecated native metrics plugin instead, set the config var <code>HEROKU_LEGACY_NODE_PLUGIN</code> to <code>true</code> and rebuild your app.</p>tag:devcenter.heroku.com,2005:ChangelogItem/27842024-02-01T16:29:00Z2024-02-01T16:29:00ZDisk size enforcement on forked Heroku Postgres databases<p>Starting today, forked Heroku Postgres databases must have enough disk space to contain the data from the parent database. If the data in the parent database exceeds the disk size of the forked database plan, you can’t fork the database.</p>
<p>For more information, see <a href="https://devcenter.heroku.com/articles/heroku-postgres-fork#create-a-fork">Forking Your Heroku Postgres Database</a>.</p>tag:devcenter.heroku.com,2005:ChangelogItem/27942024-01-24T18:50:25Z2024-01-24T18:50:25ZNode.js 21.6.1 now available<p>Node.js version 21.6.1 has been made available for builds on Heroku. For additional information, please see our article on <a href="https://devcenter.heroku.com/articles/nodejs-support">Node.js Support</a>.</p>tag:devcenter.heroku.com,2005:ChangelogItem/27932024-01-24T18:01:41Z2024-01-24T18:01:41ZHeroku-20 and Heroku-22 stacks updated<p>We have updated the <code>heroku-20</code> and <code>heroku-22</code> <a href="https://devcenter.heroku.com/articles/stack">stacks</a> to pick up
security fixes in upstream packages. The new base images for each stack will be rolled out automatically
to the <a href="https://devcenter.heroku.com/articles/dyno-runtime#common-runtime">Common Runtime</a> over the next 48 hours,
followed by <a href="https://devcenter.heroku.com/articles/dyno-runtime#private-spaces-runtime">Private Spaces</a>.</p>
<p>If you are using Heroku’s default <a href="https://devcenter.heroku.com/articles/buildpacks">buildpack</a>-powered build system/stacks you do not need
to redeploy your app to pick up these changes, since your application’s <a href="https://devcenter.heroku.com/articles/slug-compiler">slug</a>
is applied on top of the most recent base image for the stack each time a dyno starts. Currently running dynos will be
<a href="https://devcenter.heroku.com/articles/dynos#automatic-dyno-restarts">automatically restarted</a>, so there is no need to manually restart
your app.</p>
<p>If your app instead uses Heroku’s <code>container</code> stack (<a href="https://devcenter.heroku.com/articles/stack#viewing-which-stack-your-app-is-using">most apps do not</a>),
you will need to rebuild your app’s Docker image in order to pick up any updates in the base image
specified in your <code>Dockerfile</code>.</p>
<p>See <a href="https://devcenter.heroku.com/articles/stack-packages">this Dev Center article</a> for an overview of the packages
available in each stack’s base image.</p>
<h2 id="changelog-of-packages">Changelog of packages</h2>
<h3 id="stack-heroku-20">Stack: heroku-20</h3>
<ul>
<li>Updated <code>base-files</code> from version <code>11ubuntu5.7</code> to <code>11ubuntu5.8</code></li>
<li>Updated <code>binutils</code> from version <code>2.34-6ubuntu1.7</code> to <code>2.34-6ubuntu1.8</code></li>
<li>Updated <code>binutils-common</code> from version <code>2.34-6ubuntu1.7</code> to <code>2.34-6ubuntu1.8</code></li>
<li>Updated <code>binutils-x86-64-linux-gnu</code> from version <code>2.34-6ubuntu1.7</code> to <code>2.34-6ubuntu1.8</code></li>
<li>Updated <code>iputils-tracepath</code> from version <code>3:20190709-3</code> to <code>3:20190709-3ubuntu1</code></li>
<li>Updated <code>libbinutils</code> from version <code>2.34-6ubuntu1.7</code> to <code>2.34-6ubuntu1.8</code></li>
<li>Updated <code>libctf-nobfd0</code> from version <code>2.34-6ubuntu1.7</code> to <code>2.34-6ubuntu1.8</code></li>
<li>Updated <code>libctf0</code> from version <code>2.34-6ubuntu1.7</code> to <code>2.34-6ubuntu1.8</code></li>
<li>Updated <code>libgnutls-openssl27</code> from version <code>3.6.13-2ubuntu1.9</code> to <code>3.6.13-2ubuntu1.10</code></li>
<li>Updated <code>libgnutls30</code> from version <code>3.6.13-2ubuntu1.9</code> to <code>3.6.13-2ubuntu1.10</code></li>
<li>Updated <code>libgnutlsxx28</code> from version <code>3.6.13-2ubuntu1.9</code> to <code>3.6.13-2ubuntu1.10</code></li>
<li>Updated <code>libpam-modules</code> from version <code>1.3.1-5ubuntu4.6</code> to <code>1.3.1-5ubuntu4.7</code></li>
<li>Updated <code>libpam-modules-bin</code> from version <code>1.3.1-5ubuntu4.6</code> to <code>1.3.1-5ubuntu4.7</code></li>
<li>Updated <code>libpam-runtime</code> from version <code>1.3.1-5ubuntu4.6</code> to <code>1.3.1-5ubuntu4.7</code></li>
<li>Updated <code>libpam0g</code> from version <code>1.3.1-5ubuntu4.6</code> to <code>1.3.1-5ubuntu4.7</code></li>
<li>Updated <code>libsqlite3-0</code> from version <code>3.31.1-4ubuntu0.5</code> to <code>3.31.1-4ubuntu0.6</code></li>
<li>Updated <code>libssh-4</code> from version <code>0.9.3-2ubuntu2.4</code> to <code>0.9.3-2ubuntu2.5</code></li>
<li>Updated <code>libsystemd0</code> from version <code>245.4-4ubuntu3.22</code> to <code>245.4-4ubuntu3.23</code></li>
<li>Updated <code>libudev1</code> from version <code>245.4-4ubuntu3.22</code> to <code>245.4-4ubuntu3.23</code></li>
<li>Updated <code>openssh-client</code> from version <code>1:8.2p1-4ubuntu0.10</code> to <code>1:8.2p1-4ubuntu0.11</code></li>
<li>Updated <code>openssh-server</code> from version <code>1:8.2p1-4ubuntu0.10</code> to <code>1:8.2p1-4ubuntu0.11</code></li>
<li>Updated <code>openssh-sftp-server</code> from version <code>1:8.2p1-4ubuntu0.10</code> to <code>1:8.2p1-4ubuntu0.11</code></li>
<li>Updated <code>tzdata</code> from version <code>2023c-0ubuntu0.20.04.2</code> to <code>2023d-0ubuntu0.20.04</code></li>
</ul>
<h4 id="stack-heroku-20-updates-to-packages-available-at-build-time-only">Updates to packages available at build time only</h4>
<ul>
<li>Updated <code>libgnutls-dane0</code> from version <code>3.6.13-2ubuntu1.9</code> to <code>3.6.13-2ubuntu1.10</code></li>
<li>Updated <code>libgnutls28-dev</code> from version <code>3.6.13-2ubuntu1.9</code> to <code>3.6.13-2ubuntu1.10</code></li>
<li>Updated <code>libpam0g-dev</code> from version <code>1.3.1-5ubuntu4.6</code> to <code>1.3.1-5ubuntu4.7</code></li>
<li>Updated <code>libsystemd-dev</code> from version <code>245.4-4ubuntu3.22</code> to <code>245.4-4ubuntu3.23</code></li>
<li>Updated <code>libudev-dev</code> from version <code>245.4-4ubuntu3.22</code> to <code>245.4-4ubuntu3.23</code></li>
</ul>
<h3 id="stack-heroku-22">Stack: heroku-22</h3>
<ul>
<li>Updated <code>base-files</code> from version <code>12ubuntu4.4</code> to <code>12ubuntu4.5</code></li>
<li>Updated <code>binutils</code> from version <code>2.38-4ubuntu2.4</code> to <code>2.38-4ubuntu2.5</code></li>
<li>Updated <code>binutils-common</code> from version <code>2.38-4ubuntu2.4</code> to <code>2.38-4ubuntu2.5</code></li>
<li>Updated <code>binutils-x86-64-linux-gnu</code> from version <code>2.38-4ubuntu2.4</code> to <code>2.38-4ubuntu2.5</code></li>
<li>Updated <code>libbinutils</code> from version <code>2.38-4ubuntu2.4</code> to <code>2.38-4ubuntu2.5</code></li>
<li>Updated <code>libc-bin</code> from version <code>2.35-0ubuntu3.5</code> to <code>2.35-0ubuntu3.6</code></li>
<li>Updated <code>libc-dev-bin</code> from version <code>2.35-0ubuntu3.5</code> to <code>2.35-0ubuntu3.6</code></li>
<li>Updated <code>libc6</code> from version <code>2.35-0ubuntu3.5</code> to <code>2.35-0ubuntu3.6</code></li>
<li>Updated <code>libc6-dev</code> from version <code>2.35-0ubuntu3.5</code> to <code>2.35-0ubuntu3.6</code></li>
<li>Updated <code>libctf-nobfd0</code> from version <code>2.38-4ubuntu2.4</code> to <code>2.38-4ubuntu2.5</code></li>
<li>Updated <code>libctf0</code> from version <code>2.38-4ubuntu2.4</code> to <code>2.38-4ubuntu2.5</code></li>
<li>Updated <code>libgnutls-openssl27</code> from version <code>3.7.3-4ubuntu1.3</code> to <code>3.7.3-4ubuntu1.4</code></li>
<li>Updated <code>libgnutls30</code> from version <code>3.7.3-4ubuntu1.3</code> to <code>3.7.3-4ubuntu1.4</code></li>
<li>Updated <code>libgnutlsxx28</code> from version <code>3.7.3-4ubuntu1.3</code> to <code>3.7.3-4ubuntu1.4</code></li>
<li>Updated <code>libpam-modules</code> from version <code>1.4.0-11ubuntu2.3</code> to <code>1.4.0-11ubuntu2.4</code></li>
<li>Updated <code>libpam-modules-bin</code> from version <code>1.4.0-11ubuntu2.3</code> to <code>1.4.0-11ubuntu2.4</code></li>
<li>Updated <code>libpam-runtime</code> from version <code>1.4.0-11ubuntu2.3</code> to <code>1.4.0-11ubuntu2.4</code></li>
<li>Updated <code>libpam0g</code> from version <code>1.4.0-11ubuntu2.3</code> to <code>1.4.0-11ubuntu2.4</code></li>
<li>Updated <code>libsqlite3-0</code> from version <code>3.37.2-2ubuntu0.1</code> to <code>3.37.2-2ubuntu0.3</code></li>
<li>Updated <code>libssh-4</code> from version <code>0.9.6-2ubuntu0.22.04.2</code> to <code>0.9.6-2ubuntu0.22.04.3</code></li>
<li>Updated <code>libsystemd0</code> from version <code>249.11-0ubuntu3.11</code> to <code>249.11-0ubuntu3.12</code></li>
<li>Updated <code>libudev1</code> from version <code>249.11-0ubuntu3.11</code> to <code>249.11-0ubuntu3.12</code></li>
<li>Updated <code>locales</code> from version <code>2.35-0ubuntu3.5</code> to <code>2.35-0ubuntu3.6</code></li>
<li>Updated <code>openssh-client</code> from version <code>1:8.9p1-3ubuntu0.5</code> to <code>1:8.9p1-3ubuntu0.6</code></li>
<li>Updated <code>openssh-server</code> from version <code>1:8.9p1-3ubuntu0.5</code> to <code>1:8.9p1-3ubuntu0.6</code></li>
<li>Updated <code>openssh-sftp-server</code> from version <code>1:8.9p1-3ubuntu0.5</code> to <code>1:8.9p1-3ubuntu0.6</code></li>
<li>Updated <code>systemd</code> from version <code>249.11-0ubuntu3.11</code> to <code>249.11-0ubuntu3.12</code></li>
<li>Updated <code>tzdata</code> from version <code>2023c-0ubuntu0.22.04.2</code> to <code>2023d-0ubuntu0.22.04</code></li>
</ul>
<h4 id="stack-heroku-22-updates-to-packages-available-at-build-time-only">Updates to packages available at build time only</h4>
<ul>
<li>Updated <code>libgnutls-dane0</code> from version <code>3.7.3-4ubuntu1.3</code> to <code>3.7.3-4ubuntu1.4</code></li>
<li>Updated <code>libgnutls28-dev</code> from version <code>3.7.3-4ubuntu1.3</code> to <code>3.7.3-4ubuntu1.4</code></li>
<li>Updated <code>libpam0g-dev</code> from version <code>1.4.0-11ubuntu2.3</code> to <code>1.4.0-11ubuntu2.4</code></li>
<li>Updated <code>libsystemd-dev</code> from version <code>249.11-0ubuntu3.11</code> to <code>249.11-0ubuntu3.12</code></li>
<li>Updated <code>libudev-dev</code> from version <code>249.11-0ubuntu3.11</code> to <code>249.11-0ubuntu3.12</code></li>
</ul>tag:devcenter.heroku.com,2005:ChangelogItem/27922024-01-24T12:10:01Z2024-01-24T12:10:01ZJanuary 2024 PHP updates<p>The following new <a href="https://devcenter.heroku.com/articles/php-support#available-versions">PHP runtime versions</a> are now available:</p>
<ul>
<li><a href="https://www.php.net/archive/2024.php#2024-01-18-2">PHP 8.2.15</a></li>
<li><a href="https://www.php.net/archive/2024.php#2024-01-18-1">PHP 8.3.2</a></li>
</ul>
<p>The following <a href="https://devcenter.heroku.com/articles/php-support#extensions">PHP extensions</a> have been added or updated:</p>
<ul>
<li><code>ext-amqp</code> 2.1.2</li>
<li><code>ext-blackfire</code> 1.92.8</li>
<li><code>ext-event</code> 3.1.1</li>
<li><code>ext-phalcon</code> 5.6.0</li>
</ul>
<p>The <code>blackfire</code> CLI agent program used by <code>ext-blackfire</code> has been updated to version 2.24.4.</p>