Skip to content

Commit 561f135

Browse files
authored
Release v0.38.2 (#694)
* Release v0.38.2 * OTP 29 @ CI
1 parent 8d76085 commit 561f135

3 files changed

Lines changed: 36 additions & 5 deletions

File tree

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ jobs:
1515
fail-fast: false
1616
matrix:
1717
elixir: ["1.19", "1.16"]
18-
otp: ["28.4", "25.3"]
18+
otp: ["29", "25.3"]
1919
parser: [fast_html, html5ever, mochiweb]
2020
exclude:
2121
- elixir: "1.19"
2222
otp: "25.3"
2323

2424
- elixir: "1.16"
25-
otp: "28.4"
25+
otp: "29"
2626

2727
steps:
2828
- uses: actions/checkout@v6

CHANGELOG.md

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,36 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
77

88
## [Unreleased][unreleased]
99

10+
## [0.38.2] - 2026-05-18
11+
12+
### Performance
13+
14+
This is another juicy patch version with performance improvements made by [@preciz](https://github.com/preciz).
15+
16+
* [Optimize multiple selectors deduping - #667](https://github.com/philss/floki/pull/667)
17+
* [Optimize DeepText by using plain recursion - #668](https://github.com/philss/floki/pull/668)
18+
* [Optimize get_descendant_ids by removing Enum.reverse calls - #669](https://github.com/philss/floki/pull/669)
19+
* [Optimize HTMLTree.to_tuple_list/1 using tail recursion - #670](https://github.com/philss/floki/pull/670)
20+
* [Optimize Floki.TextExtractor by removing Enum iterations - #675](https://github.com/philss/floki/pull/675)
21+
* [Simplify class attribute matching - #677](https://github.com/philss/floki/pull/677)
22+
* [Refactor attribute_values to use for comprehension with pattern matching - #679](https://github.com/philss/floki/pull/679)
23+
* [Optimize CSS class matching to avoid list subtraction - #680](https://github.com/philss/floki/pull/680)
24+
* [Optimize iodata by avoiding empty separators in DeepText and FlatText - #682](https://github.com/philss/floki/pull/682)
25+
* [Simplify HTMLTree.build/1 by avoiding redundant build_tree calls - #683](https://github.com/philss/floki/pull/683)
26+
* [Optimize Floki.text/2 by extracting text in a single pass - #684](https://github.com/philss/floki/pull/684)
27+
* [Optimize HTMLTree updates and deletions - #687](https://github.com/philss/floki/pull/687)
28+
* [Refactor attribute retrieval functions for a 1.2-1.5x speedup - #689](https://github.com/philss/floki/pull/689)
29+
* [Optimize case-insensitive attribute includes match - #690](https://github.com/philss/floki/pull/690)
30+
* [Optimize selector traversal - #611](https://github.com/philss/floki/pull/691)
31+
32+
Please check the pull requests to see the improvements.
33+
34+
### Fixed
35+
36+
- Fix compiler warnings for the upcoming Elixir v1.20.
37+
- Fix typespecs of `Floki.attribute/3`.
38+
- Fix documentation for some functions.
39+
1040
## [0.38.1] - 2026-03-17
1141

1242
### Performance
@@ -920,7 +950,8 @@ of the parent element inside HTML.
920950

921951
- Elixir version requirement from "~> 1.0.0" to ">= 1.0.0".
922952

923-
[unreleased]: https://github.com/philss/floki/compare/v0.38.1...HEAD
953+
[unreleased]: https://github.com/philss/floki/compare/v0.38.2...HEAD
954+
[0.38.2]: https://github.com/philss/floki/compare/v0.38.1...v0.38.2
924955
[0.38.1]: https://github.com/philss/floki/compare/v0.38.0...v0.38.1
925956
[0.38.0]: https://github.com/philss/floki/compare/v0.37.1...v0.38.0
926957
[0.37.1]: https://github.com/philss/floki/compare/v0.37.0...v0.37.1

mix.exs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ defmodule Floki.Mixfile do
33

44
@description "Floki is a simple HTML parser that enables search for nodes using CSS selectors."
55
@source_url "https://github.com/philss/floki"
6-
@version "0.38.1"
6+
@version "0.38.2"
77

88
def project do
99
[
1010
app: :floki,
1111
name: "Floki",
1212
version: @version,
1313
description: @description,
14-
elixir: "~> 1.16",
14+
elixir: "~> 1.15",
1515
package: package(),
1616
erlc_paths: ["src", "gen"],
1717
compilers: [:leex | Mix.compilers()],

0 commit comments

Comments
 (0)