MechanicalSoup/MechanicalSoup (MechanicalSoup)
### [`v1.3.0`](https://togithub.com/MechanicalSoup/MechanicalSoup/releases/tag/v1.3.0): Version 1.3.0
[Compare Source](https://togithub.com/MechanicalSoup/MechanicalSoup/compare/v1.2.0...v1.3.0)
## Breaking changes
- To prevent malicious web servers from reading arbitrary files from the client, files must now be opened explicitly by the user in order to upload their contents in form submission. For example, instead of:
```python
browser["upload"] = "/path/to/file"
```
you would now use:
```python
browser["upload"] = open("/path/to/file", "rb")
```
This remediates [CVE-2023-34457](https://togithub.com/MechanicalSoup/MechanicalSoup/security/advisories/GHSA-x456-3ccm-m6j4). Our thanks to [@e-c-d](https://togithub.com/e-c-d) for reporting and helping to fix the vulnerability!
## Main changes
- Added support for Python 3.11.
- Allow submitting a form with no submit element. This can be achieved by passing `submit=False` to `StatefulBrowser.submit_selected`. Thanks [@alexreg](https://togithub.com/alexreg)! \[[#480](https://togithub.com/MechanicalSoup/MechanicalSoup/pull/411)]
### [`v1.2.0`](https://togithub.com/MechanicalSoup/MechanicalSoup/releases/tag/v1.2.0): Version 1.2.0
[Compare Source](https://togithub.com/MechanicalSoup/MechanicalSoup/compare/v1.1.0...v1.2.0)
## Main changes
- Added support for Python 3.10.
- Added support for HTML form-associated elements (i.e. input elements that are associated with a form by a `form` attribute, but are not a child element of the form). \[[#380](https://togithub.com/MechanicalSoup/MechanicalSoup/issues/380)]
## Bug fixes
- When uploading a file, only the filename is now submitted to the server. Previously, the full file path was being submitted, which exposed more local information than users may have been expecting. \[[#375](https://togithub.com/MechanicalSoup/MechanicalSoup/issues/375)]
### [`v1.1.0`](https://togithub.com/MechanicalSoup/MechanicalSoup/releases/tag/v1.1.0): Version 1.1.0
[Compare Source](https://togithub.com/MechanicalSoup/MechanicalSoup/compare/v1.0.0...v1.1.0)
## Main changes
- Dropped support for EOL Python versions: 2.7 and 3.5.
- Increased minimum version requirement for requests from 2.0 to 2.22.0 and beautifulsoup4 from 4.4 to 4.7.
- Use encoding from the HTTP request when no HTML encoding is specified. \[[#355](https://togithub.com/MechanicalSoup/MechanicalSoup/issues/355)]
- Added the `put` method to the `Browser` class. This is a light wrapper around `requests.Session.put`. \[[#359](https://togithub.com/MechanicalSoup/MechanicalSoup/issues/359)]
- Don't override `Referer` headers passed in by the user. \[[#364](https://togithub.com/MechanicalSoup/MechanicalSoup/issues/364)]
- `StatefulBrowser` methods `follow_link` and `download_link` now support passing a dictionary of keyword arguments to `requests`, via `requests_kwargs`. For symmetry, they also support passing Beautiful Soup args in as `bs4_kwargs`, although any excess `**kwargs` are sent to Beautiful Soup as well, just as they were previously. \[[#368](https://togithub.com/MechanicalSoup/MechanicalSoup/issues/368)]
Many thanks to the contributors who made this release possible!
### [`v1.0.0`](https://togithub.com/MechanicalSoup/MechanicalSoup/releases/tag/v1.0.0): Version 1.0.0
[Compare Source](https://togithub.com/MechanicalSoup/MechanicalSoup/compare/v0.12.0...v1.0.0)
This is the last release that will support Python 2.7. Thanks to the many contributors that made this release possible!
## Main changes:
- Added support for Python 3.8 and 3.9.
- `StatefulBrowser` has new properties `page`, `form`, and `url`, which can be used in place of the methods `get_current_page`, `get_current_form` and `get_url` respectively (e.g. the new `x.page` is equivalent to `x.get_current_page()`). These methods may be deprecated in a future release. \[[#175](https://togithub.com/MechanicalSoup/MechanicalSoup/issues/175)]
- `StatefulBrowser.form` will raise an `AttributeError` instead of returning `None` if no form has been selected yet. Note that `StatefulBrowser.get_current_form()` still returns `None` for backward compatibility.
## Bug fixes
- Decompose `
Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» Rebasing: Whenever PR becomes conflicted, 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 has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
==0.11.0
->==1.3.0
Release Notes
MechanicalSoup/MechanicalSoup (MechanicalSoup)
### [`v1.3.0`](https://togithub.com/MechanicalSoup/MechanicalSoup/releases/tag/v1.3.0): Version 1.3.0 [Compare Source](https://togithub.com/MechanicalSoup/MechanicalSoup/compare/v1.2.0...v1.3.0) ## Breaking changes - To prevent malicious web servers from reading arbitrary files from the client, files must now be opened explicitly by the user in order to upload their contents in form submission. For example, instead of: ```python browser["upload"] = "/path/to/file" ``` you would now use: ```python browser["upload"] = open("/path/to/file", "rb") ``` This remediates [CVE-2023-34457](https://togithub.com/MechanicalSoup/MechanicalSoup/security/advisories/GHSA-x456-3ccm-m6j4). Our thanks to [@e-c-d](https://togithub.com/e-c-d) for reporting and helping to fix the vulnerability! ## Main changes - Added support for Python 3.11. - Allow submitting a form with no submit element. This can be achieved by passing `submit=False` to `StatefulBrowser.submit_selected`. Thanks [@alexreg](https://togithub.com/alexreg)! \[[#480](https://togithub.com/MechanicalSoup/MechanicalSoup/pull/411)] ### [`v1.2.0`](https://togithub.com/MechanicalSoup/MechanicalSoup/releases/tag/v1.2.0): Version 1.2.0 [Compare Source](https://togithub.com/MechanicalSoup/MechanicalSoup/compare/v1.1.0...v1.2.0) ## Main changes - Added support for Python 3.10. - Added support for HTML form-associated elements (i.e. input elements that are associated with a form by a `form` attribute, but are not a child element of the form). \[[#380](https://togithub.com/MechanicalSoup/MechanicalSoup/issues/380)] ## Bug fixes - When uploading a file, only the filename is now submitted to the server. Previously, the full file path was being submitted, which exposed more local information than users may have been expecting. \[[#375](https://togithub.com/MechanicalSoup/MechanicalSoup/issues/375)] ### [`v1.1.0`](https://togithub.com/MechanicalSoup/MechanicalSoup/releases/tag/v1.1.0): Version 1.1.0 [Compare Source](https://togithub.com/MechanicalSoup/MechanicalSoup/compare/v1.0.0...v1.1.0) ## Main changes - Dropped support for EOL Python versions: 2.7 and 3.5. - Increased minimum version requirement for requests from 2.0 to 2.22.0 and beautifulsoup4 from 4.4 to 4.7. - Use encoding from the HTTP request when no HTML encoding is specified. \[[#355](https://togithub.com/MechanicalSoup/MechanicalSoup/issues/355)] - Added the `put` method to the `Browser` class. This is a light wrapper around `requests.Session.put`. \[[#359](https://togithub.com/MechanicalSoup/MechanicalSoup/issues/359)] - Don't override `Referer` headers passed in by the user. \[[#364](https://togithub.com/MechanicalSoup/MechanicalSoup/issues/364)] - `StatefulBrowser` methods `follow_link` and `download_link` now support passing a dictionary of keyword arguments to `requests`, via `requests_kwargs`. For symmetry, they also support passing Beautiful Soup args in as `bs4_kwargs`, although any excess `**kwargs` are sent to Beautiful Soup as well, just as they were previously. \[[#368](https://togithub.com/MechanicalSoup/MechanicalSoup/issues/368)] Many thanks to the contributors who made this release possible! ### [`v1.0.0`](https://togithub.com/MechanicalSoup/MechanicalSoup/releases/tag/v1.0.0): Version 1.0.0 [Compare Source](https://togithub.com/MechanicalSoup/MechanicalSoup/compare/v0.12.0...v1.0.0) This is the last release that will support Python 2.7. Thanks to the many contributors that made this release possible! ## Main changes: - Added support for Python 3.8 and 3.9. - `StatefulBrowser` has new properties `page`, `form`, and `url`, which can be used in place of the methods `get_current_page`, `get_current_form` and `get_url` respectively (e.g. the new `x.page` is equivalent to `x.get_current_page()`). These methods may be deprecated in a future release. \[[#175](https://togithub.com/MechanicalSoup/MechanicalSoup/issues/175)] - `StatefulBrowser.form` will raise an `AttributeError` instead of returning `None` if no form has been selected yet. Note that `StatefulBrowser.get_current_form()` still returns `None` for backward compatibility. ## Bug fixes - Decompose `Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.