- Check PROGRAMFILES and PROGRAMFILES(X86) to find out browser versions in Windows (issue #351)
- Support for Edge driver 76 (issue #338 and #347)
- Remove Edge 77 key from versions.properties for release (it will be maintained online)
- Update edgedriver version 76.0.183.0 for Edge 76 in versions.properties
- Update edgedriver version 75.0.139.20 for Edge 75 in versions.properties
- Update chromedriver version 76.0.3809.68 for Chrome 76 in versions.properties
- Update chromedriver version 75.0.3770.140 for Chrome 75 in versions.properties
- Special case to find out Chromium version instead of Chrome (issue #348)
- Support for Edge driver 76 (issue #338 and #347)
- Read chromedriver LATEST_RELEASE page when not using useBetaVersions() (issues #333, #341, #342)
- Enable Edge Dev test (issue #337)
- Increase default value of TTL to 86400 seconds (i.e. one day)
- Change changelog format to Markdown (issue #331)
- Support for msedgedriver (Edge based on Chromium)
- Allow WDM_ARCHITECTURE environment values (32, 64) in addition to the new ones (issue #334)
- Set msedgedriver version 75.0.137.0 for Edge 75 in versions.properties
- Set chromedriver version 75.0.3770.8 for Chrome 75 in versions.properties
- Fix Edge support, broken due to changes in web page (issues #335 #338 #339)
- Rename version for Edge 44 as pre-installed
- Allow global configuration with method globalConfig() (issue #313)
- Include clearCache() method in WebDriverManager API to clear cache
- Set chromedriver version 73.0.3683.68 for Chrome 73 in versions.properties
- Set chromedriver version 74.0.3729.6 for Chrome 74 in versions.properties
- Improve logging when driver version in unknown
- Force using mirror when first exception happens, e.g. 403 error (issue #302)
- Include version.properties URL as configuration key
- Set chromedriver version 2.46 for Chrome 71, 72, and 73 in versions.properties
- Include geckodriver version 0.24.0 for Firefox 65 in versions.properties
- Include operadriver version 2.42 for Opera 58 in versions.properties
- Improve cache handling for retries
- Update versions.properties: Chrome 72; Firefox 64; Opera 57
- Use single configuration instance per driver manager singleton
- Read beta versions for driver from versions.properties
- Read also https_proxy (in lower case) from environemnt variables (issue #292)
- Add method to clear preferences in WebDriverManagager API
- Fix issue #296 (Chrome version not being detected on Windows)
- Change preference key format to browser name plus version (e.g. chrome69)
- Use local (online if not found) versions.properties for stable and online (always) for beta versions
- Update versions.properties: Opera 57
- Bug-fix: browser binary path for Linux and Mac was not correctly set
- Store resolved latest versions as Java preferences with a time to live (ttl, by default 60 seconds)
- Reading versions.properties from GitHub if browser version not found in local
- Read Windows program file env depending on the platform (32|64 bits)
- Implement manager to download selenium-server-standalone jar files
- Support for Edge 44 (insiders)
- New API methods: ttl(), browserPath()
- Include clear-preferences option in CLI
- Update versions.properties: Chrome 68, 69, 70, 71; Firefox 63; Opera 56; Edge 44
- Using default properties is some value is missing
- Auto driver check for Chrome in Window, Linux, and Mac
- Auto driver check for Firefox in Window, Linux, and Mac
- Auto driver check for Opera in Window, Linux, and Mac
- Auto driver check for Edge in Window
- WebDriverManager Server
- Set minimum Java compatibility version to 1.8
- Drop compatibility with 1.x API, i.e. DriverManager.getInstance()
- Use a unique name for driver name (deprecate the use of wires for Firefox)
- Bug-fix: logic for checking drivers in cache (issue #232)
- Improve cache logic (issue #229)
- Bug-fix: Filter by driver name when seeking binaries in cache (issue #223)
- Bug-fix: Avoid filtering by OS in the case of IEDriverServer
- Bug-fix: Update EdgeDriverManager due to changes in web repository
- Improve cache handling (issue #216)
- Remove unnecessary reverse of URL lists (issue #206)
- Exclude logback-classic from compile scope (issue #202)
- Force architecture filtering when explicit setup (issue #200)
- Keep latest version value by manager instance (issue #197)
- Clean Downloader logic and logging
- Rename operativeSystem() method to operatingSystem() (issue #196)
- Move post downloader logic for Edge binary into the proper manager
- Configuration manager: WebDriverManager.config()
- Interactive mode #1: mvn exec:java -Dexec.args="browserName"
- Interactive mode #2: java -jar webdrivermanager.jar browserName
- Create fat-jar from source code: mvn compile assembly:single
- Method getVersions() to get all driver versions available (issue #191)
- Bug-fix: intermittently fails to download driver when running in parallel (issue #186)
- Bug-fix: Improve exit condition looking for binary file in post download logic (issues #193 and #194)
- Bug-fix: honor forceDownload() option (related to issue #186)
- Remove envs WDM_GIT_HUB_TOKEN_NAME and WDM_GIT_HUB_TOKEN_SECRET (use WDM_GITHUBTOKENNAME and WDM_GITHUBTOKENSECRET instead)
- Include class diagram using ObjectAid
- Use multiton pattern (WebDriverManager class) to provide unique access point
- Keep getInstance() method for backwards compatibility, e.g. ChromeDriverManager.getInstance().setup();
- Rename forceOperativeSystem() method to operativeSystem()
- Rename useTaobaoMirror() method by useMirror()
- Remove logback.xml from packaged jar (issue #181 and #184)
- Change configuration key wdm.forceOs by wdm.os
- Include configuration key wdm.forceOs to force operative system
- Include configuration keys wdm.proxy, wdm.proxyUser, and wdm.proxyPass for proxy settings
- Include configuration key wdm.useTaobaoMirror to use Taobao mirror
- Configuration keys (wdm.*) are now optional (default values: false, "", 0)
- New method in BrowserManager API: forceOperativeSystem(OperativeSystem operativeSystem)
- New method in BrowserManager API: ignoreVersions(String... versions)
- Use logback instead of simplelogger for logging
- Use SonarCloud to keep a good level of internal code quality
- Use Codecov to keep a good level of code coverage
- Reset state of browser managers after setup
- Relicense to Apache 2.0
- Stop using tyepsafe config library for handling properties
- Override configuration values with environmental variables (e.g. WDM_TARGETPATH)
- Improve management of proxy
- Upgrade to Selenium 3.7 for end-to-end tests
- Improve test performance
- Remove deprecated methods from version 1.x (MarionetteDriverManager, etc)
- Add wdm.architecture configuration key (issue #154)
- Read properties values from system environment as fallback to properties
- Use NTCredentials for NTLM AuthSchemes (PR #149 from andrew-sumner)
- Avoid throwing exception in the case of non supported managers (e.g. RemoteWebDriver)
- Improve support for new versions of operadriver (e.g. 2.27 and 2.29)
- Automatic retry forcing the use of cache on exception (issue #125)
- Skip beta versions by default (issue #127 and #136)
- Added getBinaryPath() method to BrowserManager API
- Prevent non-executable files being picked as driver executables (PR #133 from Konfuzzyus)
- Bug-fix: added connection manager shared (PR #140 from tharakadesilva)
- Bug-fix: Improve support for Edge (issue #135)
- Bug-fix: Support for latest version of operadriver (issues #134 and #146)
- Format code with spaces instead of tabs
- Remove guava, commons-codec dependencies
- New method in BrowserManager API: forceDownload()
- Support proxy server with authentication (isee #118, PR #120 by kazuki43zoo)
- Checking that binary files are actually executable (issue #114 and #121)
- Bug-fix: issue #115 number format exception due to IEDriver beta
- Bug-fix: issue #116 Ensure files aren't folders to check distro name
- Downgrade com.typesafe:config to 1.2.1 (for Java 7 compliance)
- Ignore Taobao test due to connection reset error
- New method in BrowserManager API: proxy()
- Bug-fix: forceCache() method was not working properly
- Support for taobao.org mirror in FirefoxDriverManager
- Support for taobao.org mirror in ChromeDriverManager
- Expose BrowserManager API following the builder pattern
- New methods in BrowserManager API: version(), forceCache(), architecture(Architecture), arch32(), arch64(), useTaobaoMirror(), driverRepositoryUrl(URL)
- Deprecate setup method with parameters (now builder pattern is used)
- Allow running in separate classloader (PR #83 from phillcunnington)
- Improve download internal logic (add pre/post download methods)
- Bug-fix: update EdgeDriverManager (PR #87 from oscarcarlsson)
- Bug-fix: support for PhantomJS 2.5.0-beta (issue #96)
- Change default URL for PhantomJS from npm.taobao.org to bitbucket.org
- Change default URL for PhantomJS from npm.taobao.org to bitbucket.org
- Issue #77: bug-fix for phantomjs 32-bit artifact
- Change default name of properties file to webdrivermanager.properties
- Use of Selenium 3 in internal tests
- Deprecate MarionetteDriverManager (use instead FirefoxDriverManager)
- Compatibility with Selenium 3
- Support for taobao mirror for chromedriver and (wdm.chromeDriverUrl=https://npm.taobao.org/mirrors/chromedriver/)
- Support for taobao mirror for operadriver (wdm.operaDriverUrl=https://npm.taobao.org/mirrors/operadriver/)
- Issue #61: Support HTTP proxy by means of env var HTTP_PROXY or HTTPS_PROXY (PR #62 from Sebl29)
- Stop using htmlunit to download edge binaries (jsoup instead)
- Issue #52: Force the use of cache when network is not available
- Add Travis support (thanks to PR #57, #58, #59 by hennr)
- Bug-fix issue #19 (regression): getDriverName returns a list of string
- Issue #40 and #56: Replace bitbucket PhantomJS source by mirror using jsoup instead HtmlUnit
- Bug-fix issue #51: Determine correct geckodriver to download (PR #48 from phillcunnington)
- Bug-fix issue #44: Fixed PhantomJS downloads page change (PR #45 from ndtreviv)
- Handle exceptions when parsing URLs, reading next if necessary
- Use unTarGz method if needed
- Support for multiple binary names (caused by geckodriver)
- Key wdm.forceCache to force using the latest version of binaries in cache
- Bug-fix: correct support for Marionette in generic manager
- Improve the way of handling the version number of Edge driver
- Include several HTTP headers to connect with server in downloads
- Include token/secret configuration keys for GitHub credentials
- Exception for seeking PhantomJS in the binary cache
- Check that repository target folder exits (otherwise create)
- Honor property (wdm.*Url) if available for driver version
- Bug-fix issue #24: search driver in cache by architecture
- Bug-fix issue #19: WDM is unable to download the 64-bit IEDriverServer
- Bug-fix issue #20: PhantomJsDriverManager exception
- Change URL to download Edge driver (exe instead of msi)
- Improve compatibility with Microsoft Windows and Mac OS X
- Improve test coverage
- Add PhantomJS support (pull request #13 from wilx/master-phantomjs)
- Add Marionette support (pull request #14 from rosolko:master)
- Improve tests
- Check that existing binaries are valid before exporting variable
- Retries when seeking remote URL to find out latest version of binaries
- Change log level of important messages to INFO
- Support for Microsoft Edge
- Assess that binary exists in cache to avoid seeking remote server
- Bug-fix: redirection of setup call to the proper method
- Improved automatic discover of latest version to be downloaded (GitHub issue #5)
- Improved test coverage
- Changed log level to DEBUG
- Added getter to read the downloaded version
- Improved driver version management
- Thread safe download. Pull request thanks to Ivan Gracia (izanmail@gmail.com)
- Manager classes as singlentons
- Added provided scope to slf4j-simple
- Bug-fix: store binary in path using version instead of LATEST
- Added parameter to force the use of a concrete WebDriver binary version
- Changed log dependency from slf4j-log4j12 to slf4j-simple
- Changed setup from static method to instantiation of DriverManager
- Bug-fix: Wrong chromedriver version downloaded (GitHub issue #1)
- Automated download of WebDriver binaries
- Automated export of WebDriver binaries path
- Supported WebDriver binaries: Chrome, Opera, Internet Explorer
- Customizable configuration parameters using Java system properties
- Capability to force WebDriver binary architecture (32/64 bits)