saucelabs / sauce_whisk

ActiveRecord style client for the Sauce Labs RESTful API
https://opensource.saucelabs.com/sauce_whisk/
MIT License
20 stars 17 forks source link

Loosen dependencies so apps can drive dependency resolution #56

Closed jeremy closed 7 years ago

jeremy commented 7 years ago

Strict deps on teeny versions leaves little leeway for apps to upgrade. Prefer to stick to minor versions for most libraries (at some risk of rare breakage!) and use very loose minimum bounds for very common libraries with rare API changes, like Rake and JSON.

Currently, bringing SauceWhisk into a project causes cascading downgrades of the libraries it depends on and causes downgrades of the libraries that depend on those. For example, the strict dep on rest-client results in a strict dep on old mime-types, disallowing use of mime-types 3 and later.

This sort of unanticipated cascade effect is a good reason for libraries to err on the liberal side with their own dependencies, avoiding lock-in when multiple libraries get very specific with their deps, leaving little room for drift.

DylanLacey commented 7 years ago

Excellent points!