Skip to content

Release 1.6.0: shared attr-normalization refactor + changelog for merged fixes - #179

Merged
vedaant00 merged 2 commits into
mainfrom
vs-001
Aug 27, 2026
Merged

Release 1.6.0: shared attr-normalization refactor + changelog for merged fixes#179
vedaant00 merged 2 commits into
mainfrom
vs-001

Conversation

@vedaant00

Copy link
Copy Markdown
Collaborator

Cuts the 1.6.0 release. A small internal refactor plus the CHANGELOG for the contributor fixes merged since 1.5.9.

Refactor

The ::attr() fix (#167 via #175) left selector.py importing adaptive.py's private _attr_str, coupling the selector to the adaptive module's internals (a rename there would silently break the selector). Moved the normalization helpers to a shared pyscrappy.generic._attrs module (attr_to_str / attr_to_list); both adaptive.py and selector.py import from it. No API or behavior change.

CHANGELOG (1.6.0)

Records the contributor fixes already merged to main since 1.5.9:

Version

Bumped to 1.6.0 across all four sites (pyproject, __init__, server.json x2). Patch was at .9, so this rolls to the next minor.

Testing

  • Full suite: 579 passed, ruff check + format clean.
  • Verified the refactor: ::attr(class) still returns "x y", adaptive no longer exposes _attr_str, adaptive+selector tests green.

The ::attr() fix (#167/#175) had selector.py importing adaptive.py's private
_attr_str, coupling the selector to the adaptive module's internals. Move the
normalization helpers to pyscrappy.generic._attrs (attr_to_str / attr_to_list);
adaptive.py and selector.py both import from there. No API or behavior change.
@vedaant00
vedaant00 merged commit 1826308 into main Aug 27, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant