Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency adblock-rs to ^0.9.0 #109

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jun 12, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
adblock-rs ^0.7.18 -> ^0.9.0 age adoption passing confidence

Release Notes

brave/adblock-rust (adblock-rs)

v0.9.2

Compare Source

v0.9.1

Compare Source

v0.9.0

Compare Source

v0.8.12

Compare Source

v0.8.11

Compare Source

v0.8.10

Compare Source

v0.8.9

Compare Source

v0.8.8

Compare Source

v0.8.7

Compare Source

v0.8.6

Compare Source

v0.8.5

Compare Source

v0.8.4

Compare Source

v0.8.3

Compare Source

v0.8.2

Compare Source

v0.8.1

Compare Source

v0.8.0

Compare Source

v0.7.19

Compare Source


Configuration

📅 Schedule: Branch creation - "* 0-4 * * 3" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Copy link

[puLL-Merge] - brave/[email protected]

Here is my review of the PR:

Description

This PR updates adblock-rust to version 0.8.0, making several breaking changes:

  • Removes support for the legacy gzip-compressed data format
  • Redesigns the resource storage API to unify redirect and scriptlet resources
  • Refactors the Engine and Blocker APIs, including making Request construction infallible
  • Makes other miscellaneous API improvements and bug fixes

The motivation for these changes seems to be cleaning up technical debt, improving performance, and providing a better API for library users.

Possible Issues

The breaking changes in this release may require significant updates for downstream users to migrate. However, the changes overall seem beneficial for the long-term maintainability and usability of the library.

Dropping support for the legacy data format may cause issues for users still relying on it, but the PR description provides instructions on how to convert using the previous 0.7.x release.

Changes

Changes

  • Cargo.lock, Cargo.toml:

    • Updates version to 0.8.0
    • Updates some dependencies
    • Removes some unused dependencies
  • benches/*:

    • Updates benchmarks to use new APIs
    • Removes unused metrics feature
  • examples/*:

    • Updates examples to use new APIs
  • src/blocker.rs:

    • Refactors Blocker to take ResourceStorage in check methods
    • Removes SerializationError and DeserializationError
    • Makes other miscellaneous API improvements
  • src/cosmetic_filter_cache.rs:

    • Updates to use new ResourceStorage API
    • Refactors internal HostnameRuleDb representation
  • src/engine.rs:

    • Makes Request construction infallible
    • Removes ability to serialize to legacy format
    • Renames some methods and makes other API improvements
  • src/filters/cosmetic.rs:

    • Adds support for :remove(), :remove-attr() and :remove-class() actions
    • Allows :has() as a native CSS feature
  • src/filters/network.rs:

    • Refactors internals and improves documentation
  • src/lists.rs:

    • Adds PermissionMask support when parsing filter lists
    • Makes add_filters generic over AsRef<str>
  • src/resources/*:

    • Redesigns resource storage to unify redirect and scriptlet resources
    • Adds PermissionMask to control scriptlet access
    • Removes RedirectResourceStorage and RedirectResource
  • src/request.rs:

    • Makes Request construction infallible
    • Removes ability to construct without fully parsing URLs
    • Replaces is_first_party and is_third_party with single is_third_party field
  • tests/*:

    • Updates tests to use new APIs
    • Extracts common test utilities to separate module

Overall, while introducing breaking changes, this PR makes adblock-rust more efficient, ergonomic and maintainable. The new unified resource handling and Request APIs seem much cleaner. Excellent work!

@renovate renovate bot changed the title Update dependency adblock-rs to ^0.8.0 Update dependency adblock-rs to ^0.9.0 Sep 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants