Open
Conversation
5b24c5b to
66d6269
Compare
66d6269 to
4d39d39
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
~> 0.36.2→~> 0.38.0Release Notes
philss/floki (floki)
v0.38.1Compare Source
Performance
This version contains major performance improvements in the following functions:
Floki.filter_out/2.Floki.find/2- with some improvements to specific selectors, like classesand attribute selectors.
Floki.text/2.Those functions are not only faster, but are now using less memory. Please check
the PRs related to this release if you want to better understand the numbers.
do_classes_matches?- #649filter_outfaster - #650HTMLTree.to_tupleconversion usingEnum.reduce- #657Finder.get_descendant_ids/2memory usage and speed - #660Finder.get_siblings/2memory usage and speed - #663FlatText.get/3memory usage and speed - #664Floki.Selector- #665All the improvements in this version were made by Barna Kovacs - @preciz,
so shout out and thanks to him!
Fixed
Remove a warning about an unused
require Loggerthat pops up when using Elixir v1.20.v0.38.0Compare Source
Added
This version adds initial support for the
:haspseudo-selector.It is a great addition that enables finding elements containing
matching children.
Examples for selectors:
"div:has(h1)""div:has(h1, p, span)""div:has(p.foo)""div:has(img[src='https://example.com'])""tr:has(*:fl-contains('TEST'))"Note that combinators like
">"are not allowed yet.Thank you @bvobart for this feature!
Fixed
Add
:styleoption documentation toFloki.text/2.Thanks @s3cur3 for the fix.
Fix deprecation warnings for upcoming Elixir 1.19.
Prevent from crashing when selector is an empty string.
Removed
Remove support for Elixir 1.14 and OTP 23.
Remove deprecated functions and function clauses
that were accepting strings (binaries).
Affected functions:
parse/1- removed functionmap/2- removed functionattr/4- removed clausefind/2- removed clausetext/3- removed clausetext/3- removed clauseattribute/2- removed clausefilter_out/2- removed clauseHTML must be parsed before searching. Functions like
Floki.find/2,Floki.attribute/2, and other HTML manipulation functions no longer workdirectly with HTML strings. The HTML must be parsed first using
Floki.parse_fragment/2orFloki.parse_document/2.Before:
After:
v0.37.1Compare Source
Fixed
This is a fix to be compatible with the upcoming OTP 28.
v0.37.0Compare Source
Added
Floki.css_escape/1- thanks @SteffenDE.Fixed
raw_html/2- thanks @andyleclair.Removed
v0.36.3Compare Source
This release contains some performance improvements, thanks to @ypconstante.
Fixed
Stop
Floki.get_by_id/2traversal on first match. Thanks @ypconstante.Remove extra whitespaces from nodes without attributes on
Floki.raw_html/1.Thank you @ypconstante.
Fix
Floki.raw_html/1typespecs. Thanks @davydog187.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.