Since 2009, Nokogiri has configured libxml2 to use ruby_xmalloc et al for memory management. This has provided benefits for memory management, but comes with a performance penalty.
Users can now opt into using system malloc for libxml2 memory management by setting an environment variable:
# "default" here means "libxml2's default" which is system malloc
NOKOGIRI_LIBXML_MEMORY_MANAGEMENT=default
Benchmarks show that this setting will significantly improve performance, but be aware that the tradeoff may involve poorer memory management including bloated heap sizes and/or OOM conditions.
[CRuby] The libxml2 update fixes an encoding regression when push-parsing UTF-8 sequences. [#2882, upstream issue and commit]
1.15.0 / 2023-05-15
Notes
Ability to opt into system malloc and free
Since 2009, Nokogiri has configured libxml2 to use ruby_xmalloc et al for memory management. This has provided benefits for memory management, but comes with a performance penalty.
Users can now opt into using system malloc for libxml2 memory management by setting an environment variable:
# "default" here means "libxml2's default" which is system malloc
NOKOGIRI_LIBXML_MEMORY_MANAGEMENT=default
Benchmarks show that this setting will significantly improve performance, but be aware that the tradeoff may involve poorer memory management including bloated heap sizes and/or OOM conditions.
Encoding objects may now be passed to serialization methods like #to_xml, #to_html, #serialize, and #write_to to specify the output encoding. Previously only encoding names (strings) were accepted. [#2774, #2798] (Thanks, @ellaklara!)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the Security Alerts page.
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.6 to 1.15.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/sparklemotion/nokogiri/releases">nokogiri's releases</a>.</em></p>
<blockquote>
<h2>1.15.1 / 2023-05-19</h2>
<h3>Dependencies</h3>
<ul>
<li>[CRuby] Vendored libxml2 is updated to v2.11.4 from v2.11.3. For details please see <a href="https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.4">https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.4</a></li>
</ul>
<h3>Fixed</h3>
<ul>
<li>[CRuby] The libxml2 update fixes an encoding regression when push-parsing UTF-8 sequences. [<a href="https://redirect.github.com/sparklemotion/nokogiri/issues/2882">#2882</a>, upstream <a href="https://gitlab.gnome.org/GNOME/libxml2/-/issues/542">issue</a> and <a href="https://gitlab.gnome.org/GNOME/libxml2/-/commit/e0f3016f71297314502a3620a301d7e064cbb612">commit</a>]</li>
</ul>
<hr />
<p>sha256 checksums:</p>
<pre><code>a5d622a36d67c5296cf892871501abf0ca168056276d6c52519254cc05e2ed8e nokogiri-1.15.1-aarch64-linux.gem
ccc3b40e1f75e683107c78d0c77503df6520c614a0ea145743e929e492459662 nokogiri-1.15.1-arm-linux.gem
6d2ea3421f05dbd761017de1a16eae0fd83fbacf344310050796e674598ad711 nokogiri-1.15.1-arm64-darwin.gem
123c0c2f8e4bdb5b4bb42a2048ac3683b11b37d1778b804e4cb71c8fc7422d00 nokogiri-1.15.1-java.gem
bf7e93658c7ec590ccbcbf67793a12fd229c806568fdbbe4c67f03c057f0ffbe nokogiri-1.15.1-x64-mingw-ucrt.gem
accc1d3815c92fab56b54bc0ec2512b0cd8c7c0c2aeb57f2aafcdd012565600b nokogiri-1.15.1-x64-mingw32.gem
6f43de41616d627a2b1262f09c062f475aff0b9ed67df68f4b06eb8209fdb797 nokogiri-1.15.1-x86-linux.gem
b3b3b5c4e9315463496b4af94446a0b5b26c7cf8fbe26fd3ddd35cdcbdd60710 nokogiri-1.15.1-x86-mingw32.gem
3a2fbb7a1d641f30d06293683d6baf80183de6e0250a807061ed97a4ba4a8e52 nokogiri-1.15.1-x86_64-darwin.gem
f7992293b0a85932fed1932cf6074107e81c4e84344efbdbaf8eccc9b891dbaa nokogiri-1.15.1-x86_64-linux.gem
68d511e3cffde00225fbbf0e7845a906581b598bf6656f9346649b05e6b7f583 nokogiri-1.15.1.gem
</code></pre>
<h2>1.15.0 / 2023-05-15</h2>
<h3>Notes</h3>
<h4>Ability to opt into system <code>malloc</code> and <code>free</code></h4>
<p>Since 2009, Nokogiri has configured libxml2 to use <code>ruby_xmalloc</code> et al for memory management. This has provided benefits for memory management, but comes with a performance penalty.</p>
<p>Users can now opt into using system <code>malloc</code> for libxml2 memory management by setting an environment variable:</p>
<pre lang="sh"><code># "default" here means "libxml2's default" which is system malloc
NOKOGIRI_LIBXML_MEMORY_MANAGEMENT=default
</code></pre>
<p>Benchmarks show that this setting will significantly improve performance, but be aware that the tradeoff may involve poorer memory management including bloated heap sizes and/or OOM conditions.</p>
<p>You can read more about this in the decision record at <a href="https://github.com/sparklemotion/nokogiri/blob/HEAD/adr/2023-04-libxml-memory-management.md"><code>https://github.com/sparklemotion/nokogiri/blob/HEAD/adr/2023-04-libxml-memory-management.md</code></a>.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md">nokogiri's changelog</a>.</em></p>
<blockquote>
<h2>1.15.1 / 2023-05-19</h2>
<h3>Dependencies</h3>
<ul>
<li>[CRuby] Vendored libxml2 is updated to v2.11.4 from v2.11.3. For details please see <a href="https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.4">https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.4</a></li>
</ul>
<h3>Fixed</h3>
<ul>
<li>[CRuby] The libxml2 update fixes an encoding regression when push-parsing UTF-8 sequences. [<a href="https://redirect.github.com/sparklemotion/nokogiri/issues/2882">#2882</a>, upstream <a href="https://gitlab.gnome.org/GNOME/libxml2/-/issues/542">issue</a> and <a href="https://gitlab.gnome.org/GNOME/libxml2/-/commit/e0f3016f71297314502a3620a301d7e064cbb612">commit</a>]</li>
</ul>
<h2>1.15.0 / 2023-05-15</h2>
<h3>Notes</h3>
<h4>Ability to opt into system <code>malloc</code> and <code>free</code></h4>
<p>Since 2009, Nokogiri has configured libxml2 to use <code>ruby_xmalloc</code> et al for memory management. This has provided benefits for memory management, but comes with a performance penalty.</p>
<p>Users can now opt into using system <code>malloc</code> for libxml2 memory management by setting an environment variable:</p>
<pre lang="sh"><code># "default" here means "libxml2's default" which is system malloc
NOKOGIRI_LIBXML_MEMORY_MANAGEMENT=default
</code></pre>
<p>Benchmarks show that this setting will significantly improve performance, but be aware that the tradeoff may involve poorer memory management including bloated heap sizes and/or OOM conditions.</p>
<p>You can read more about this in the decision record at <a href="https://github.com/sparklemotion/nokogiri/blob/main/adr/2023-04-libxml-memory-management.md"><code>https://github.com/sparklemotion/nokogiri/blob/main/adr/2023-04-libxml-memory-management.md</code></a>.</p>
<h3>Dependencies</h3>
<ul>
<li>[CRuby] Vendored libxml2 is updated to v2.11.3 from v2.10.4. For details please see:
<ul>
<li><a href="https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.0">https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.0</a></li>
<li><a href="https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.1">https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.1</a></li>
<li><a href="https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.2">https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.2</a></li>
<li><a href="https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.3">https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.3</a></li>
</ul>
</li>
<li>[CRuby] Vendored libxslt is updated to v1.1.38 from v1.1.37. For details please see:
<ul>
<li><a href="https://gitlab.gnome.org/GNOME/libxslt/-/releases/v1.1.38">https://gitlab.gnome.org/GNOME/libxslt/-/releases/v1.1.38</a></li>
</ul>
</li>
</ul>
<h3>Added</h3>
<ul>
<li><code>Encoding</code> objects may now be passed to serialization methods like <code>#to_xml</code>, <code>#to_html</code>, <code>#serialize</code>, and <code>#write_to</code> to specify the output encoding. Previously only encoding names (strings) were accepted. [<a href="https://redirect.github.com/sparklemotion/nokogiri/issues/2774">#2774</a>, <a href="https://redirect.github.com/sparklemotion/nokogiri/issues/2798">#2798</a>] (Thanks, <a href="https://github.com/ellaklara"><code>@ellaklara</code></a>!)</li>
<li>[CRuby] Users may opt into using system <code>malloc</code> for libxml2 memory management. For more detail, see note above or <a href="https://github.com/sparklemotion/nokogiri/blob/main/adr/2023-04-libxml-memory-management.md"><code>https://github.com/sparklemotion/nokogiri/blob/main/adr/2023-04-libxml-memory-management.md</code></a>.</li>
</ul>
<h3>Changed</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/sparklemotion/nokogiri/commit/25b21668a8604539ddbccc24c28f7405d898ced0"><code>25b2166</code></a> version bump to v1.15.1</li>
<li><a href="https://github.com/sparklemotion/nokogiri/commit/a37327ee47350d24b7821c572d5cfb21db4d864f"><code>a37327e</code></a> Merge pull request <a href="https://redirect.github.com/sparklemotion/nokogiri/issues/2883">#2883</a> from sparklemotion/flavorjones-upgrade-libxml2-2.11.4</li>
<li><a href="https://github.com/sparklemotion/nokogiri/commit/93fd5ecd6c89b2147d9bf781d91a1198bfc65954"><code>93fd5ec</code></a> dep: update libxml2 to v2.11.4</li>
<li><a href="https://github.com/sparklemotion/nokogiri/commit/d84fe0738204bf97e1d297261104a7d5349d999d"><code>d84fe07</code></a> Merge pull request <a href="https://redirect.github.com/sparklemotion/nokogiri/issues/2879">#2879</a> from sparklemotion/flavorjones-dep-ruby_memcheck-1.3.2</li>
<li><a href="https://github.com/sparklemotion/nokogiri/commit/a7eac53898022fd765abd390ce295c59710a1316"><code>a7eac53</code></a> dep: update ruby_memcheck to 1.3.2</li>
<li><a href="https://github.com/sparklemotion/nokogiri/commit/e4593e3c7db3dddc58f109f13e4b8dc2d375588e"><code>e4593e3</code></a> Merge pull request <a href="https://redirect.github.com/sparklemotion/nokogiri/issues/2877">#2877</a> from sparklemotion/dependabot/bundler/rubocop-1.51.0</li>
<li><a href="https://github.com/sparklemotion/nokogiri/commit/ebb9eca43b59ce42567b14f9f2d12ea41192f6f7"><code>ebb9eca</code></a> version bump to v1.15.0</li>
<li><a href="https://github.com/sparklemotion/nokogiri/commit/5a02e12bffe1af52a7f0570225c733c0fdf65af5"><code>5a02e12</code></a> build(deps-dev): update rubocop requirement from 1.50.2 to 1.51.0</li>
<li><a href="https://github.com/sparklemotion/nokogiri/commit/0bf048ec4ff993ba20c0d6bb23585afced609b94"><code>0bf048e</code></a> doc: update changelog with libxslt version</li>
<li><a href="https://github.com/sparklemotion/nokogiri/commit/32c754317c4f3c70395a294ae91aaac58dde0f8f"><code>32c7543</code></a> Merge pull request <a href="https://redirect.github.com/sparklemotion/nokogiri/issues/2866">#2866</a> from sparklemotion/flavorjones-upgrade-libxml2-2.11.0</li>
<li>Additional commits viewable in <a href="https://github.com/sparklemotion/nokogiri/compare/v1.13.6...v1.15.1">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/bit-badger/PrayerTracker/network/alerts).
</details>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Bumps nokogiri from 1.13.6 to 1.15.1.
Release notes
Sourced from nokogiri's releases.
... (truncated)
Changelog
Sourced from nokogiri's changelog.
... (truncated)
Commits
25b2166version bump to v1.15.1a37327eMerge pull request #2883 from sparklemotion/flavorjones-upgrade-libxml2-2.11.493fd5ecdep: update libxml2 to v2.11.4d84fe07Merge pull request #2879 from sparklemotion/flavorjones-dep-ruby_memcheck-1.3.2a7eac53dep: update ruby_memcheck to 1.3.2e4593e3Merge pull request #2877 from sparklemotion/dependabot/bundler/rubocop-1.51.0ebb9ecaversion bump to v1.15.05a02e12build(deps-dev): update rubocop requirement from 1.50.2 to 1.51.00bf048edoc: update changelog with libxslt version32c7543Merge pull request #2866 from sparklemotion/flavorjones-upgrade-libxml2-2.11.0Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)You can disable automated security fix PRs for this repo from the Security Alerts page.
Looks like nokogiri is up-to-date now, so this is no longer needed.
Pull request closed