100 Commits
Author SHA1 Message Date
Martin Angers ed4759bcec Merge pull request #617 from sean0407/codex/docs-single-matcher-subtrees-616
Clarify Single matcher selection scope
2026-10-19 10:36:47 -04:00
Martin Angers 58380a33b6 Merge pull request #615 from AdamMagued/fix-fragment-cache-form-ancestor
fix: account for form ancestor context in HTML fragment cache
2026-10-12 09:24:27 -04:00
Martin Angers 4d9f4847eb Merge pull request #611 from x0Lazarus/fix/class-form-feed-whitespace
Recognize form feeds between HTML classes
2026-10-05 10:20:05 -04:00
Martin Angers 8b55f38673 Merge pull request #612 from sergioperezcheco/fix/class-ascii-token-boundaries
Fix class helpers splitting non-ASCII whitespace class names
2026-10-05 10:17:27 -04:00
Martin Angers 0ac714270a Small tweak to the new constructor documentation 2026-09-30 13:43:55 -04:00
Martin Angers 21bd64ed78 Merge pull request #602 from dualfroz/dualfroz/parse-options
Expose html parse options (addresses #139, noscript)
2026-09-30 13:41:03 -04:00
Martin Angers 73a43325a0 Merge pull request #610 from x0Lazarus/fix/class-operations-non-element-nodes
Fix class and attribute updates on non-element nodes
2026-09-27 13:08:25 -04:00
Martin Angers bcca4a34f8 Merge pull request #609 from agammann/fix-clone-node-namespaces
Preserve SVG and MathML namespaces when cloning nodes
2026-09-22 11:23:20 -04:00
Martin Angers 5ee0843df1 Merge pull request #604 from PuerkitoBio/dependabot/go_modules/github.com/andybalholm/cascadia-1.3.5
build(deps): bump github.com/andybalholm/cascadia from 1.3.4 to 1.3.5
2026-09-08 11:15:24 -04:00
Martin Angers ef5f2ddf71 Merge pull request #600 from udf2457/manipulateNodes
Clone and reverse nodes slice for safe manipulation
2026-09-07 11:13:08 -04:00
Martin Angers 3d22a4dd10 Merge pull request #603 from dualfroz/dualfroz/fix-removeclass-duplicates
RemoveClass leaves a class behind when the source repeats it
2026-09-07 10:29:11 -04:00
Martin Angers 738783cbc3 Merge pull request #597 from udf2457/master
Refactor IsMatcher to use slices.ContainsFunc
2026-09-04 11:11:08 -04:00
Martin Angers 4a4f1326fa Linkify github usernames 2026-08-27 09:17:53 -04:00
Martin Angers e47f3848de Add new version to readme to prepare 1.13 release 2026-08-27 09:15:43 -04:00
Martin Angers 80a9b7fb55 Run CI on go1.27 (+1.26) 2026-08-27 09:09:59 -04:00
Martin Angers ad18e5a957 Merge pull request #596 from ChrisJr404/text-toplevel-func
Add top-level Text function for BeautifulSoup-style text extraction
2026-08-27 09:08:42 -04:00
Martin Angers 105f3990ac Merge pull request #595 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.58.0
build(deps): bump golang.org/x/net from 0.57.0 to 0.58.0
2026-08-17 09:17:03 -04:00
Martin Angers 53a9b37ea8 Merge pull request #586 from jvoisin/cachephwc
cleanup: extract cachedParse helper for parse-result reuse
2026-07-31 10:27:25 -04:00
Martin Angers 50e9856dda Merge pull request #593 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.57.0
build(deps): bump golang.org/x/net from 0.56.0 to 0.57.0
2026-07-17 16:17:28 -04:00
Martin Angers 3a8dfd5b5f Merge pull request #592 from PuerkitoBio/dependabot/github_actions/actions/checkout-7
build(deps): bump actions/checkout from 6 to 7
2026-07-16 13:44:18 -04:00
Martin Angers 91fa5c4527 Merge pull request #594 from PuerkitoBio/dependabot/github_actions/actions/setup-go-7
build(deps): bump actions/setup-go from 6 to 7
2026-07-16 13:30:13 -04:00
Martin Angers a81d5bb195 Merge pull request #590 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.56.0
build(deps): bump golang.org/x/net from 0.55.0 to 0.56.0
2026-06-11 08:58:19 -04:00
Martin Angers 2bab3fcead Merge pull request #589 from jvoisin/attror
cleanup: inline getAttributeValue into Attr, delegate AttrOr
2026-06-10 09:00:51 -04:00
Martin Angers ad7e3a5a32 Merge pull request #588 from jvoisin/deadparam
refactor: remove a dead param in getClassesAndAttr
2026-06-10 08:58:14 -04:00
Martin Angers e66583975d Merge pull request #585 from jvoisin/winnow_cleanup
cleanup: thread []*html.Node through winnow, drop temp Selection
2026-06-10 08:56:49 -04:00
Martin Angers dfcd45f03f Merge pull request #584 from jvoisin/phwc
cleanup: factor parseHtml through parseHtmlWithContext
2026-06-10 08:53:27 -04:00
Martin Angers 6a3f1a4508 Merge pull request #583 from jvoisin/nocon
cleanup: drop redundant FirstChild nil-check in textHelper
2026-06-10 08:51:31 -04:00
Martin Angers 88920eaad4 Merge pull request #569 from jvoisin/specialized
perf: probe with MatchFirst in HasMatcher to avoid slice allocation
2026-06-04 10:23:08 -04:00
Martin Angers 65a48d3886 Merge pull request #575 from jvoisin/nodedup
test: cover children traversals with duplicate source nodes
2026-06-04 10:17:21 -04:00
Martin Angers b8d1127ab1 Merge pull request #574 from jvoisin/preact
perf: presize the result slice in Empty()
2026-06-04 09:57:10 -04:00
Martin Angers 939767f12c Merge pull request #582 from PuerkitoBio/dependabot/go_modules/github.com/andybalholm/cascadia-1.3.4
build(deps): bump github.com/andybalholm/cascadia from 1.3.3 to 1.3.4
2026-06-04 09:41:47 -04:00
Martin Angers 2955b8bf81 Merge pull request #568 from jvoisin/grnkgnr
perf: collect parent nodes inline in getParentNodes
2026-06-01 11:35:56 -04:00
Martin Angers 57abc1b153 Merge pull request #565 from jvoisin/prez
perf: presize set in appendWithoutDuplicates to final expected size
2026-06-01 11:32:54 -04:00
Martin Angers feced993c3 Merge pull request #567 from jvoisin/precize
perf: presize result slice in getChildrenWithSiblingType
2026-06-01 11:10:34 -04:00
Martin Angers fa0370e85c Merge pull request #564 from jvoisin/hasm
perf: probe subtrees directly in Has / HasMatcher
2026-05-29 13:17:41 -04:00
Martin Angers 7a46fb40e9 Merge pull request #563 from jvoisin/precise
perf: presize node-set maps in mapNodes, ClosestNodes and winnowNodes
2026-05-28 10:31:02 -04:00
Martin Angers bd4f51414c Merge branch 'master' into precise 2026-05-28 10:21:55 -04:00
Martin Angers 59eb2061a0 Merge pull request #561 from jvoisin/noclosure
perf: speed up Selection.Text by outlining recursion
2026-05-28 10:19:23 -04:00
Martin Angers 7f540a45a4 Merge pull request #560 from jvoisin/if
perf: pre-check raw class attribute in HasClass
2026-05-28 10:17:55 -04:00
Martin Angers d260d2936f Merge pull request #558 from jvoisin/has-nodes-direct
perf: walk s.Nodes directly in HasNodes
2026-05-28 10:15:26 -04:00
Martin Angers b2b7542bc5 Merge pull request #557 from jvoisin/winnow-nodes-direct
perf: drop grep/closure indirection in winnowNodes
2026-05-28 10:09:16 -04:00
Martin Angers c38303d8bf Merge pull request #550 from jvoisin/nomap
perf: skip dedup map in mapNodes for single-node selections
2026-05-28 10:05:55 -04:00
Martin Angers 32e5d34ae4 Merge pull request #547 from jvoisin/idx
perf: replace Index() PrevAll traversal with direct sibling walk
2026-05-28 10:03:04 -04:00
Martin Angers 69b9b29a1f Merge pull request #559 from jvoisin/is-matcher-early-return
perf: short-circuit IsMatcher on the first match
2026-05-28 09:52:50 -04:00
Martin Angers e2468fa06d Merge pull request #552 from jvoisin/spaceclass
perf: replace regex+Split with strings.Fields in getClassesSlice
2026-05-26 09:12:25 -04:00
Martin Angers 5350c00a95 Merge branch 'master' into spaceclass 2026-05-26 09:11:05 -04:00
Martin Angers af20c4b0a0 Merge pull request #553 from jvoisin/slyce
perf: call Match/isInSlice directly in Until traversal helpers
2026-05-26 09:00:57 -04:00
Martin Angers b27992034a Merge pull request #551 from jvoisin/nore
perf: replace rxClassTrim regexp with strings.Replacer
2026-05-26 08:59:19 -04:00
Martin Angers 67dec88260 Merge pull request #548 from jvoisin/shortcircuit
perf: short-circuit IsFunction, IsSelection, and IsNodes
2026-05-26 08:53:05 -04:00
Martin Angers cb1755d318 Merge pull request #554 from jvoisin/gpn
perf: drop per-parent Selection allocation in getParentsNodes
2026-05-26 08:49:01 -04:00
Martin Angers 83a0a8bbd8 Merge pull request #545 from jvoisin/nog
perf: avoid per-node Selection allocation in winnow Not path
2026-05-24 10:19:43 -04:00
Martin Angers cb2cc9d25e Merge pull request #549 from jvoisin/lack_of_class
perf: skip regex in getClassesAndAttr when no \t\r\n present
2026-05-24 10:07:42 -04:00
Martin Angers 33466f5bcd Merge pull request #544 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.55.0
Bump golang.org/x/net from 0.54.0 to 0.55.0
2026-05-22 08:52:45 -04:00
Martin Angers 8c2d01c469 Merge pull request #543 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.54.0
Bump golang.org/x/net from 0.53.0 to 0.54.0
2026-05-13 21:34:12 -04:00
Martin Angers c92c45163d Merge pull request #542 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.53.0
Bump golang.org/x/net from 0.52.0 to 0.53.0
2026-04-11 09:47:15 -04:00
Martin Angers 401642b253 Update readme to prepare for 1.12 release 2026-03-15 12:26:31 -04:00
Martin Angers afd9326761 Merge pull request #540 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.52.0 2026-03-15 12:25:04 -04:00
Martin Angers 805d7b1d5c Update CI to 1.25 and 1.26 2026-03-15 12:19:53 -04:00
Martin Angers 7dc7e6463b Merge pull request #538 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.50.0 2026-02-13 10:10:41 -05:00
Martin Angers ee4bcdb889 Merge pull request #537 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.49.0
Bump golang.org/x/net from 0.48.0 to 0.49.0
2026-01-17 10:29:26 -05:00
Martin Angers 0f22828bca Merge pull request #536 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.48.0
Bump golang.org/x/net from 0.47.0 to 0.48.0
2025-12-23 09:13:59 -05:00
Martin Angers 8ef6c9c294 Merge pull request #535 from PuerkitoBio/dependabot/github_actions/actions/checkout-6
Bump actions/checkout from 5 to 6
2025-11-21 16:01:03 -05:00
Martin Angers d3e3ce5663 Merge pull request #534 from PuerkitoBio/mna-prepare-1.11
Update readme for 1.11 release
2025-11-16 11:05:17 -05:00
Martin Angers 9841a36e8f Update readme for 1.11 release 2025-11-16 11:04:18 -05:00
Martin Angers 469d4eab16 Merge pull request #533 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.47.0
Bump golang.org/x/net from 0.43.0 to 0.47.0
2025-11-16 11:00:17 -05:00
Martin Angers faf16ca2df Merge pull request #523 from PuerkitoBio/dependabot/github_actions/actions/checkout-5
Bump actions/checkout from 4 to 5
2025-11-16 10:56:22 -05:00
Martin Angers 4c1c718c62 Update test matrix to run on Go 1.24 and 1.25 2025-11-16 10:54:17 -05:00
Martin Angers e3142812ec Merge pull request #525 from PuerkitoBio/dependabot/github_actions/actions/setup-go-6
Bump actions/setup-go from 5 to 6
2025-09-04 10:07:26 -04:00
Martin Angers 695fbfd142 Merge pull request #522 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.43.0
Bump golang.org/x/net from 0.42.0 to 0.43.0
2025-08-08 11:27:15 -04:00
Martin Angers 37bfcfb2ff Merge pull request #520 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.42.0
Bump golang.org/x/net from 0.41.0 to 0.42.0
2025-07-11 09:55:20 -04:00
Martin Angers 26759cf6df Merge pull request #519 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.41.0 2025-06-07 10:51:20 -04:00
Martin Angers 250e47114e Merge pull request #518 from apocelipes/stringsreplaceall
Use strings.ReplaceAll to silence golangci-lint warnings
2025-05-23 09:47:45 -04:00
Martin Angers 32ce829020 Merge pull request #517 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.40.0
Bump golang.org/x/net from 0.39.0 to 0.40.0
2025-05-08 09:43:27 -04:00
Martin Angers 9c6a69cd4d Prepare for v1.10.3 2025-04-11 14:15:50 -04:00
Martin Angers 80f14c7111 Merge pull request #516 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.39.0
Bump golang.org/x/net from 0.38.0 to 0.39.0
2025-04-10 09:48:46 -04:00
Martin Angers aadb1cdadc Merge pull request #515 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.38.0
Bump golang.org/x/net from 0.37.0 to 0.38.0
2025-03-28 12:15:05 -04:00
Martin Angers fa93633a0f Merge pull request #514 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.37.0 2025-03-05 21:35:54 -05:00
Martin Angers 858507ff1b Run go mod tidy 2025-03-05 21:32:02 -05:00
Martin Angers c2d1a0902f Merge pull request #512 from myxzlpltk/master
increase performance by migrating from bytes.Buffer to strings.Builder
2025-02-27 21:31:04 -05:00
Martin Angers e8b5d743a8 Prepare for 1.10.2 2025-02-13 09:41:22 -05:00
Martin Angers a2ae60f048 Add go1.24 to test matrix 2025-02-13 09:35:55 -05:00
Martin Angers 6d0ed2a352 Merge pull request #510 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.35.0
Bump golang.org/x/net from 0.34.0 to 0.35.0
2025-02-13 09:34:32 -05:00
Martin Angers 4128600425 Merge pull request #505 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.34.0
Bump golang.org/x/net from 0.33.0 to 0.34.0
2025-01-11 11:35:10 -05:00
Martin Angers 1da3b302d3 Merge pull request #503 from iamleot/prepare-for-v1.10.1 2024-12-26 17:12:12 -05:00
Martin Angers b995434ce7 Merge pull request #502 from PuerkitoBio/dependabot/go_modules/github.com/andybalholm/cascadia-1.3.3
Bump github.com/andybalholm/cascadia from 1.3.2 to 1.3.3
2024-12-20 09:54:21 -05:00
Martin Angers 69f0ce22d3 Merge pull request #501 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.33.0
Bump golang.org/x/net from 0.32.0 to 0.33.0
2024-12-19 10:54:47 -05:00
Martin Angers 13c6a0c3d9 Merge pull request #499 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.32.0
Bump golang.org/x/net from 0.31.0 to 0.32.0
2024-12-05 08:57:55 -05:00
Martin Angers 3d8242fe5e Merge pull request #496 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.31.0 2024-11-14 12:16:25 -05:00
Martin Angers 53e7498d1b Merge pull request #491 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.30.0
Bump golang.org/x/net from 0.29.0 to 0.30.0
2024-10-08 20:20:17 -04:00
Martin Angers 7d37930884 Update readme to prepare 1.10 version 2024-09-06 10:34:28 -04:00
Martin Angers 9551ee516e Merge pull request #489 from PuerkitoBio/amikai-itereach-pr
Support EachIter based on Go's 1.23 iterator.
2024-09-06 10:28:29 -04:00
Martin Angers 291e2cf4e3 Merge branch 'master' into amikai-itereach-pr 2024-09-06 10:25:21 -04:00
Martin Angers 7019296f03 Update CI to target go1.23+ 2024-09-06 10:21:11 -04:00
Martin Angers eec8e87fed Revert "Re-orangize code for compitable"
This reverts commit 6802fc5555.
2024-09-06 10:14:32 -04:00
Martin Angers 957a864443 Prepare 1.9.3 release 2024-09-06 10:05:29 -04:00
Martin Angers 34d91dbc67 Merge pull request #488 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.29.0
Bump golang.org/x/net from 0.28.0 to 0.29.0
2024-09-06 10:00:00 -04:00
Martin Angers fbfb78c352 Merge pull request #487 from Kiyo510/fix_ci_test
Resolve WARNING in CI of github actions.
2024-08-12 18:08:05 -04:00
Martin Angers 90131ce208 Merge pull request #485 from PuerkitoBio/dependabot/go_modules/golang.org/x/net-0.28.0
Bump golang.org/x/net from 0.27.0 to 0.28.0
2024-08-07 21:04:20 -04:00
Martin Angers 466380eec7 Update test.yml (another attempt to use the go1.23 rc version) 2024-07-23 10:08:48 -04:00
Martin Angers 0f5ed94072 Update test.yml to use go1.23rc2 2024-07-23 10:04:34 -04:00