Skip to content

Conversation

@chileung-b4b
Copy link

@chileung-b4b chileung-b4b commented Oct 29, 2024

User description

Description

Relax the selenium-webdriver gem dependency on base64 version constraint, including previous versions down to v0.1.1

Motivation and Context

To be able to specify the webdriver binary path i.e SE_CHROMEDRIVER environment variable, we want to use the 4.25.0 version at least of the gem which includes these changes

Version v0.2.0 of base64 has no functional differences with previous versions and some gems still require a previous version of base64.

Sometimes it's hard and/or time consuming to update the other gems depending on a specific base64 version and as both v0.1.1, v0.1.2 and v0.2.0 have no functional differences, I think selenium-webdriver should allow using a lower version of base64:

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • I have read the contributing document.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed (I could only run the small and medium tests correctly locally).

PR Type

Bug fix, Enhancement


Description

  • Relaxed the base64 gem dependency version in selenium-webdriver.gemspec to allow versions from 0.1.1 to below 0.3.
  • This change addresses compatibility issues with other gems that require earlier versions of base64, while maintaining functionality.
  • Ensures that the selenium-webdriver gem can work with a wider range of base64 versions without functional differences.

PRDescriptionHeader.CHANGES_WALKTHROUGH

Relevant files
Dependencies
selenium-webdriver.gemspec
Relax base64 dependency version constraints                           

rb/selenium-webdriver.gemspec

  • Relaxed the version constraint for the base64 dependency.
  • Changed from requiring ~> 0.2 to allowing versions >= 0.1.1 and < 0.3.

  • +1/-1     

    💡 PR-Agent usage: Comment /help "your question" on any pull request to receive relevant information

    @CLAassistant
    Copy link

    CLAassistant commented Oct 29, 2024

    CLA assistant check
    All committers have signed the CLA.

    @qodo-merge-pro
    Copy link
    Contributor

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    ⏱️ Estimated effort to review: 1 🔵⚪⚪⚪⚪
    🧪 No relevant tests
    🔒 No security concerns identified
    ⚡ Recommended focus areas for review

    Dependency Change
    The PR relaxes the version requirement for the 'base64' gem. Verify if this change could potentially introduce compatibility issues with other dependencies or the project's functionality.

    @qodo-merge-pro
    Copy link
    Contributor

    qodo-merge-pro bot commented Oct 29, 2024

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Score
    Best practice
    Tighten the upper bound of the 'base64' dependency version range

    Consider using a more specific upper bound for the 'base64' dependency to ensure
    compatibility with future versions while allowing for minor updates.

    rb/selenium-webdriver.gemspec [50]

    -s.add_dependency 'base64', ['>= 0.1.1', '< 0.3']
    +s.add_dependency 'base64', ['>= 0.1.1', '< 0.2.1']
    • Apply this suggestion
    Suggestion importance[1-10]: 8

    Why: The suggestion to tighten the upper bound of the 'base64' dependency version range is valid and important. It helps ensure compatibility with future versions by preventing potential breaking changes in versions above 0.2.1, while still allowing for minor updates.

    8

    💡 Need additional feedback ? start a PR chat

    @chileung-b4b chileung-b4b force-pushed the relax-ruby-base64-dependency-version branch from 57a4e8f to 78123a6 Compare October 30, 2024 09:14
    @chileung-b4b chileung-b4b changed the title [rb] Relax base64 dependency version [rb] Relax base64 dependency version constraint Oct 30, 2024
    @chileung-b4b chileung-b4b force-pushed the relax-ruby-base64-dependency-version branch from 758fbbb to 31da166 Compare November 1, 2024 09:26
    @aguspe aguspe added the C-rb Ruby Bindings label Jan 23, 2025
    @aguspe
    Copy link
    Contributor

    aguspe commented Feb 6, 2025

    @chileung-b4b could you fix the conflicts? thank you so much!

    @chileung-b4b chileung-b4b force-pushed the relax-ruby-base64-dependency-version branch 4 times, most recently from a0cb596 to 184d940 Compare February 8, 2025 12:10
    Version 0.2.0 of base64 has no functional differences with previous versions and
    some gems still require a previous version of base64.
    @chileung-b4b chileung-b4b force-pushed the relax-ruby-base64-dependency-version branch from 184d940 to 572ee8c Compare February 8, 2025 21:40
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Labels

    Projects

    None yet

    Development

    Successfully merging this pull request may close these issues.

    3 participants