For more context, please read through the release notes.
To see all merged commits on the main branch that will be part of the next choreographer release, go to:
https://github.com/plotly/choreographer/compare/vX.Y.Z...main
where X.Y.Z is the semver of the most recent choreographer release.
- Add
enable_extensionsoption to control browser extension loading [#303], with thanks to @hirohira9119 for the contribution! - Add
proxy_serverbrowser configuration with aCHOREO_PROXY_SERVERenvironment fallback [#304], with thanks to @ColumbusLabs for the contribution! - Send
Runtime.callFunctionOncommands in chunks when they are too big for Chrome's 100MiB devtools buffer [#306]
- Improve platform architecture detection for arm on Linux and Windows [#290], with thanks to @juliabeliaeva for the contribution!
- Fix license file and add a valid SPDX identifier to project settings [#294], with thanks to @ecederstrand for the contribution!
- Fix out-of-date docstring on
get_browser_path[#300]
Rolls up the changes from the 1.3.0rc0–1.3.0rc2 release candidates.
- Add
--verify_localoption inchoreo_diagnose[#288]
- Check path validity for browser with
is_file()[#288] - Fix local reporting logic in
choreo_diagnose[#288]
- Look for both the old download path and the new download path when locating chrome [#286]
- Add
with_perfkeyword argument toSession.send_command/Target.send_commandto return timing information about browser write/read [#271] - Add a set of helper functions to await tab loading and send JavaScript [#279]
- Add
forceargument so chrome is not re-downloaded if the requested version already exists [#277]
- Switch to a process group for more reliable termination of multi-process chrome [#280]
- Update default chrome from 135.0.7011.0/1418433 to 144.0.7527.0/1544685 [#277]
- Change chrome download path to use the XDG cache directory [#277]
- Make
get_chromeverbose output print the whole JSON response [#277]
- Remove unused system inspection code [#278]
- Add a retry loop to populate targets, since newer chrome takes longer and doesn't populate targets right away [#282, #283]
- Add Roadmap
- Use a custom threadpool for functions that could run during shutdown. Python's stdlib threadpool isn't available during interpreter shutdown nor
atexit, so it cannot be started or shut down duringatexit, or relied upon at all. The custom threadpool is now used duringBrowser.open()as well asBrowser.close(), since some use patterns invokeopenduring shutdown [#267] - Improve
choreo_diagnose[#269] - Improve error messaging
- Reorganize functions internally
- Bump
logistrodependency
- Remove
sitedirectory [#270]
- Look for several chromium variants in all OSes by default [#243], with thanks to @hirohira9119 for the contribution!
- Replace
ThreadPoolExecutorwith a manually managed pool so it can be used insideatexitvia.close()[#260] - Upgrade
logistroto reduce side effects
- Delete zipfile after downloading [#257]
- Add lock to mark channel open, and an
is_readyfunction that checks open/close state [#239]
- Appease stricter typer
- Fix bad module access [#250]
Rolls up the changes from 1.1.0rc0 and 1.1.0rc1.
- Force custom JSON encoder to use the stdlib
jsonpackage [#249]
- Add option to register a custom JSON encoder [#244]
- Simple typing fixes [#241]
- Serializer now accepts unsigned ints [#232]
- Serializer better differentiates between
pandasandxarray[#232]
- Lower default logging verbosity [#228]
- Make the default download path public [#227]
- Revert ldd strategy to documentation rather than injecting deps [#227]
- Move some verbose logging from
DEBUGtoDEBUG2[#226]
- Package chromium deps and use them if
lddshows they are needed [#223] - Add
LDD_FAILenv var and--ldd_failflag to always fail if deps are needed [#223] - Add
FORCED_PACKAGED_DEPSenv var and--forced-packaged-depsflag [#223]
- Fix some API bugs in
choreo_diagnose[#223]
- Add
Browser.is_isolated()returning whether/tmpis sandboxed [#219]
- Fetch the latest known chrome version, not the latest version [#214]
- Improve logging
- Remove many CLI commands
- Fix syntax to make compatible with Python 3.8 [#200]
No functional changes; noop release.
- Improve error messages and add some type checking for user experience
- Add option for whole new window in
create_tab
- Increase wait when checking regular close
- Decrease freeze for manual bad-close cleanup
- Improve parallelization by disabling site-per-process
- General logging improvements
- Squash race condition