Skip to content

Conversation

@jhy
Copy link
Owner

@jhy jhy commented Dec 21, 2025

TagSet copies no longer pull through from the mutable template; they copy existing tags and only use the template’s fallback (the HTML defaults) for lazy lookups. This keeps parser/session tagsets independent and prevents cross-thread mutation that can lead to ConcurrentModificationException.

This keeps the use of the HTML default tagset sparse in memory.

TagSet copies no longer pull through from the mutable template; they copy existing tags and only use the template’s fallback (the HTML defaults) for lazy lookups. This keeps parser/session tagsets independent and prevents cross-thread mutation that can lead to ConcurrentModificationException.

This keeps the use of the HTML default tagset sparse in memory.
@jhy jhy added the bug A confirmed bug, that we should fix label Dec 21, 2025
@jhy jhy merged commit 0e99fd9 into master Dec 21, 2025
21 checks passed
@jhy jhy deleted the tagset-mutate branch December 21, 2025 03:26
@jhy jhy added the fixed An {bug|improvement} that has been {fixed|implemented} label Dec 21, 2025
@jhy jhy added this to the 1.22.1 milestone Dec 21, 2025
@jhy
Copy link
Owner Author

jhy commented Dec 21, 2025

Was seeing occasional CI breaks in SessionIT (e.g. https://github.com/jhy/jsoup/actions/runs/20250357192/job/58140769255), this aims to fix those.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug A confirmed bug, that we should fix fixed An {bug|improvement} that has been {fixed|implemented}

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants