Current section

86 Versions

Jump to

Compare versions

4 files changed
+15 additions
-6 deletions
  @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
7 7
8 8 ## [Unreleased][unreleased]
9 9
10 + ## [0.35.1] - 2023-10-16
11 +
12 + ### Fixed
13 +
14 + - Fix a small regression of the mochiweb parser that was breaking when a
15 + malformed HTML was used. For more details, see the original issue:
16 + https://github.com/philss/floki/issues/492
17 +
10 18 ## [0.35.0] - 2023-10-13
11 19
12 20 ### Added
  @@ -690,7 +698,8 @@ of the parent element inside HTML.
690 698
691 699 - Elixir version requirement from "~> 1.0.0" to ">= 1.0.0".
692 700
693 - [unreleased]: https://github.com/philss/floki/compare/v0.35.0...HEAD
701 + [unreleased]: https://github.com/philss/floki/compare/v0.35.1...HEAD
702 + [0.35.1]: https://github.com/philss/floki/compare/v0.35.0...v0.35.1
694 703 [0.35.0]: https://github.com/philss/floki/compare/v0.34.3...v0.35.0
695 704 [0.34.3]: https://github.com/philss/floki/compare/v0.34.2...v0.34.3
696 705 [0.34.2]: https://github.com/philss/floki/compare/v0.34.1...v0.34.2
  @@ -33,4 +33,4 @@
33 33 {<<"Sponsor">>,<<"https://github.com/sponsors/philss">>}]}.
34 34 {<<"name">>,<<"floki">>}.
35 35 {<<"requirements">>,[]}.
36 - {<<"version">>,<<"0.35.0">>}.
36 + {<<"version">>,<<"0.35.1">>}.
  @@ -3,7 +3,7 @@ defmodule Floki.Mixfile do
3 3
4 4 @description "Floki is a simple HTML parser that enables search for nodes using CSS selectors."
5 5 @source_url "https://github.com/philss/floki"
6 - @version "0.35.0"
6 + @version "0.35.1"
7 7
8 8 def project do
9 9 [
  @@ -254,16 +254,16 @@ tree([{doctype, _} | Rest], Stack, Opts) ->
254 254 tree(Rest, Stack, Opts).
255 255
256 256 norm({Tag, Attrs}, Opts) ->
257 - Attrs = [{norm(K, Opts), iolist_to_binary(V)} || {K, V} <- Attrs],
257 + Attrs0 = [{norm(K, Opts), iolist_to_binary(V)} || {K, V} <- Attrs],
258 258 case lists:keyfind(attributes_as_maps, 1, Opts) of
259 259 {attributes_as_maps, true} ->
260 260 % The HTML specs says we should ignore duplicated attributes and keep the first
261 261 % occurence of a given key.
262 262 % Since `maps:from_list/1` does the opposite, we need to reverse the attributes.
263 263 % See https://github.com/philss/floki/pull/467#discussion_r1225548333
264 - {norm(Tag, Opts), maps:from_list(lists:reverse(Attrs)), []};
264 + {norm(Tag, Opts), maps:from_list(lists:reverse(Attrs0)), []};
265 265 _ ->
266 - {norm(Tag, Opts), Attrs, []}
266 + {norm(Tag, Opts), Attrs0, []}
267 267 end;
268 268 norm(Tag, _Opts) when is_binary(Tag) ->
269 269 Tag;