docs(README): update mac installation
<!-- Please describe your changes on the following line: -->
This clarifies the mac installation instructions.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [x] These changes fix#22905
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it's a change to the `README`
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Update bincode, reduce code size of `script` by ~11%
… as measured in lines of unoptimized LLVM IR by
```
cargo llvm-lines --manifest-path ports/winit/Cargo.toml \
-p script --features layout-2013 | head -n 30
```
… with https://github.com/dtolnay/cargo-llvm-lines
CC https://github.com/servo/servo/issues/26713
One of the top functions (in lines contribution) was a `Visitor::visit_enum` method generated by `serde_derive` for deserializing `keyboard_types:🔑:Key`, which is an enum with many variants. I had filed https://github.com/serde-rs/serde/issues/1824 to discuss this, and dtolnay proposed https://github.com/pyfisch/keyboard-types/pull/6 manually implementing `Deserialize` for that enum instead of deriving it.
However another point of note is that this function had four copies with monomorphization. I could reproduce this in a program that does nothing but deserialize an enum with bincode: https://github.com/serde-rs/serde/issues/1824#issuecomment-641244476 This suggests that bincode uses instanciates the `Deserialize` impls with four different `Deserializer` types which is three more than necessary.
https://dos.cafe/blog/bincode-1.3.html mentions changes to `Deserializer` types in a new version of bincode. And sure enough, this issue is now fixed.
Before:
```
Lines Copies Function name
----- ------ -------------
7022161 (100%) 180367 (100%) (TOTAL)
178816 (2.5%) 15437 (8.6%) core::ptr::drop_in_place
151022 (2.2%) 6634 (3.7%) core::ops::function::FnOnce::call_once
122012 (1.7%) 1000 (0.6%) <<&mut bincode:🇩🇪:Deserializer<R,O> as serde:🇩🇪:Deserializer>::deserialize_tuple::Access<R,O> as serde:🇩🇪:SeqAccess>::next_element_seed
101731 (1.4%) 1627 (0.9%) core::option::Option<T>::map
83196 (1.2%) 1192 (0.7%) core::result::Result<T,E>::map
51215 (0.7%) 6111 (3.4%) core::ops::function::FnOnce::call_once{{vtable.shim}}
47048 (0.7%) 4 (0.0%) <keyboard_types:🔑:_IMPL_DESERIALIZE_FOR_Key::<impl serde:🇩🇪:Deserialize for keyboard_types:🔑:Key>::deserialize::__Visitor as serde:🇩🇪:Visitor>::visit_enum
45388 (0.6%) 296 (0.2%) <&mut bincode:🇩🇪:Deserializer<R,O> as serde:🇩🇪:Deserializer>::deserialize_enum::<impl serde:🇩🇪:EnumAccess for &mut bincode:🇩🇪:Deserializer<R,O>>::variant_seed
44973 (0.6%) 647 (0.4%) core::result::Result<T,E>::map_err
39185 (0.6%) 516 (0.3%) std:🧵:local::LocalKey<T>::try_with
39130 (0.6%) 215 (0.1%) alloc::raw_vec::RawVec<T,A>::grow_amortized
35334 (0.5%) 867 (0.5%) alloc::alloc::box_free
34788 (0.5%) 609 (0.3%) crossbeam_channel::context::Context::with::{{closure}}
33810 (0.5%) 646 (0.4%) core::ptr::swap_nonoverlapping_one
33610 (0.5%) 552 (0.3%) core::result::Result<T,E>::unwrap_or_else
32144 (0.5%) 392 (0.2%) <*const T as core::fmt::Pointer>::fmt
32062 (0.5%) 782 (0.4%) script::dom::bindings::root::Root<T>::new
31589 (0.4%) 600 (0.3%) core::result::Result<T,E>::expect
29364 (0.4%) 116 (0.1%) <<script_traits::webdriver_msg::_IMPL_DESERIALIZE_FOR_WebDriverScriptCommand::<impl serde:🇩🇪:Deserialize for script_traits::webdriver_msg::WebDriverScriptCommand>::deserialize::__Visitor as serde:🇩🇪:Visitor>::visit_enum::__Visitor as serde:🇩🇪:Visitor>::visit_seq
26996 (0.4%) 346 (0.2%) core::option::Option<T>::map_or
26168 (0.4%) 92 (0.1%) <<script_traits::_IMPL_DESERIALIZE_FOR_ConstellationControlMsg::<impl serde:🇩🇪:Deserialize for script_traits::ConstellationControlMsg>::deserialize::__Visitor as serde:🇩🇪:Visitor>::visit_enum::__Visitor as serde:🇩🇪:Visitor>::visit_seq
25996 (0.4%) 388 (0.2%) script::dom::bindings::root::Root<script::dom::bindings::root::MaybeUnreflectedDom<T>>::reflect_with
25833 (0.4%) 641 (0.4%) core::result::Result<T,E>::unwrap
25180 (0.4%) 4 (0.0%) <keyboard_types::code::_IMPL_DESERIALIZE_FOR_Code::<impl serde:🇩🇪:Deserialize for keyboard_types::code::Code>::deserialize::__Visitor as serde:🇩🇪:Visitor>::visit_enum
24751 (0.4%) 197 (0.1%) core::iter::traits::iterator::Iterator::try_fold
22216 (0.3%) 376 (0.2%) bincode::internal::deserialize_seed
22185 (0.3%) 145 (0.1%) hashbrown::raw::RawTable<T>::find
```
After:
```
Lines Copies Function name
----- ------ -------------
6239581 (100%) 169803 (100%) (TOTAL)
178770 (2.9%) 15434 (9.1%) core::ptr::drop_in_place
151022 (2.4%) 6634 (3.9%) core::ops::function::FnOnce::call_once
101146 (1.6%) 1618 (1.0%) core::option::Option<T>::map
76938 (1.2%) 1090 (0.6%) core::result::Result<T,E>::map
51215 (0.8%) 6111 (3.6%) core::ops::function::FnOnce::call_once{{vtable.shim}}
44973 (0.7%) 647 (0.4%) core::result::Result<T,E>::map_err
39185 (0.6%) 516 (0.3%) std:🧵:local::LocalKey<T>::try_with
39130 (0.6%) 215 (0.1%) alloc::raw_vec::RawVec<T,A>::grow_amortized
35334 (0.6%) 867 (0.5%) alloc::alloc::box_free
34788 (0.6%) 609 (0.4%) crossbeam_channel::context::Context::with::{{closure}}
33810 (0.5%) 646 (0.4%) core::ptr::swap_nonoverlapping_one
33610 (0.5%) 552 (0.3%) core::result::Result<T,E>::unwrap_or_else
32144 (0.5%) 392 (0.2%) <*const T as core::fmt::Pointer>::fmt
32062 (0.5%) 782 (0.5%) script::dom::bindings::root::Root<T>::new
31589 (0.5%) 600 (0.4%) core::result::Result<T,E>::expect
30069 (0.5%) 250 (0.1%) <<&mut bincode:🇩🇪:Deserializer<R,O> as serde:🇩🇪:Deserializer>::deserialize_tuple::Access<R,O> as serde:🇩🇪:SeqAccess>::next_element_seed
26996 (0.4%) 346 (0.2%) core::option::Option<T>::map_or
25996 (0.4%) 388 (0.2%) script::dom::bindings::root::Root<script::dom::bindings::root::MaybeUnreflectedDom<T>>::reflect_with
25833 (0.4%) 641 (0.4%) core::result::Result<T,E>::unwrap
24751 (0.4%) 197 (0.1%) core::iter::traits::iterator::Iterator::try_fold
22185 (0.4%) 145 (0.1%) hashbrown::raw::RawTable<T>::find
22000 (0.4%) 80 (0.0%) hashbrown::raw::RawTable<T>::rehash_in_place
20808 (0.3%) 289 (0.2%) core::alloc::layout::Layout::array
20031 (0.3%) 308 (0.2%) core::option::Option<T>::ok_or_else
19732 (0.3%) 2 (0.0%) html5ever::tree_builder::TreeBuilder<Handle,Sink>::step
18951 (0.3%) 1014 (0.6%) core::ptr::read
17261 (0.3%) 201 (0.1%) core::iter::traits::iterator::Iterator::fold
```
That `visit_enum` for `Key` is not in the first 30 lines, I find it after changing the filtering command to `head -n 60`:
```
11762 (0.2%) 1 (0.0%) <keyboard_types:🔑:_IMPL_DESERIALIZE_FOR_Key::<impl serde:🇩🇪:Deserialize for keyboard_types:🔑:Key>::deserialize::__Visitor as serde:🇩🇪:Visitor>::visit_enum
```
It has one copy / instantiation instead of four, and contributes exactly four times fewer lines of IR.
The crate total reduced by ~782k lines, a lot more than ~35k for this `visit_enum` function. We also see that `next_element_seed` (also for bincode deserialization) now has 250 copies instead of 1000. So it looks like *everything* bincode-related was reduced by 4×
… as measured in lines of unoptimized LLVM IR by
```
cargo llvm-lines --manifest-path ports/winit/Cargo.toml \
-p script --features layout-2013 | head -n 30
```
… with https://github.com/dtolnay/cargo-llvm-lines
CC https://github.com/servo/servo/issues/26713
One of the top functions (in lines contribution) was a
`Visitor::visit_enum` method generated by `serde_derive` for deserializing
`keyboard_types:🔑:Key`, which is an enum with many variants.
I had filed https://github.com/serde-rs/serde/issues/1824 to discuss this,
and dtolnay proposed https://github.com/pyfisch/keyboard-types/pull/6
manually implementing `Deserialize` for that enum instead of deriving it.
However another point of note is that this function had four copies with
monomorphization. I could reproduce this in a program that does nothing
but deserialize an enum with bincode:
https://github.com/serde-rs/serde/issues/1824#issuecomment-641244476
This suggests that bincode uses instanciates the `Deserialize` impls
with four different `Deserializer` types which is three more than necessary.
https://dos.cafe/blog/bincode-1.3.html mentions changes to `Deserializer`
types in a new version of bincode. And sure enough, this issue is now fixed.
Before:
```
Lines Copies Function name
----- ------ -------------
7022161 (100%) 180367 (100%) (TOTAL)
178816 (2.5%) 15437 (8.6%) core::ptr::drop_in_place
151022 (2.2%) 6634 (3.7%) core::ops::function::FnOnce::call_once
122012 (1.7%) 1000 (0.6%) <<&mut bincode:🇩🇪:Deserializer<R,O> as serde:🇩🇪:Deserializer>::deserialize_tuple::Access<R,O> as serde:🇩🇪:SeqAccess>::next_element_seed
101731 (1.4%) 1627 (0.9%) core::option::Option<T>::map
83196 (1.2%) 1192 (0.7%) core::result::Result<T,E>::map
51215 (0.7%) 6111 (3.4%) core::ops::function::FnOnce::call_once{{vtable.shim}}
47048 (0.7%) 4 (0.0%) <keyboard_types:🔑:_IMPL_DESERIALIZE_FOR_Key::<impl serde:🇩🇪:Deserialize for keyboard_types:🔑:Key>::deserialize::__Visitor as serde:🇩🇪:Visitor>::visit_enum
45388 (0.6%) 296 (0.2%) <&mut bincode:🇩🇪:Deserializer<R,O> as serde:🇩🇪:Deserializer>::deserialize_enum::<impl serde:🇩🇪:EnumAccess for &mut bincode:🇩🇪:Deserializer<R,O>>::variant_seed
44973 (0.6%) 647 (0.4%) core::result::Result<T,E>::map_err
39185 (0.6%) 516 (0.3%) std:🧵:local::LocalKey<T>::try_with
39130 (0.6%) 215 (0.1%) alloc::raw_vec::RawVec<T,A>::grow_amortized
35334 (0.5%) 867 (0.5%) alloc::alloc::box_free
34788 (0.5%) 609 (0.3%) crossbeam_channel::context::Context::with::{{closure}}
33810 (0.5%) 646 (0.4%) core::ptr::swap_nonoverlapping_one
33610 (0.5%) 552 (0.3%) core::result::Result<T,E>::unwrap_or_else
32144 (0.5%) 392 (0.2%) <*const T as core::fmt::Pointer>::fmt
32062 (0.5%) 782 (0.4%) script::dom::bindings::root::Root<T>::new
31589 (0.4%) 600 (0.3%) core::result::Result<T,E>::expect
29364 (0.4%) 116 (0.1%) <<script_traits::webdriver_msg::_IMPL_DESERIALIZE_FOR_WebDriverScriptCommand::<impl serde:🇩🇪:Deserialize for script_traits::webdriver_msg::WebDriverScriptCommand>::deserialize::__Visitor as serde:🇩🇪:Visitor>::visit_enum::__Visitor as serde:🇩🇪:Visitor>::visit_seq
26996 (0.4%) 346 (0.2%) core::option::Option<T>::map_or
26168 (0.4%) 92 (0.1%) <<script_traits::_IMPL_DESERIALIZE_FOR_ConstellationControlMsg::<impl serde:🇩🇪:Deserialize for script_traits::ConstellationControlMsg>::deserialize::__Visitor as serde:🇩🇪:Visitor>::visit_enum::__Visitor as serde:🇩🇪:Visitor>::visit_seq
25996 (0.4%) 388 (0.2%) script::dom::bindings::root::Root<script::dom::bindings::root::MaybeUnreflectedDom<T>>::reflect_with
25833 (0.4%) 641 (0.4%) core::result::Result<T,E>::unwrap
25180 (0.4%) 4 (0.0%) <keyboard_types::code::_IMPL_DESERIALIZE_FOR_Code::<impl serde:🇩🇪:Deserialize for keyboard_types::code::Code>::deserialize::__Visitor as serde:🇩🇪:Visitor>::visit_enum
24751 (0.4%) 197 (0.1%) core::iter::traits::iterator::Iterator::try_fold
22216 (0.3%) 376 (0.2%) bincode::internal::deserialize_seed
22185 (0.3%) 145 (0.1%) hashbrown::raw::RawTable<T>::find
```
After:
```
Lines Copies Function name
----- ------ -------------
6239581 (100%) 169803 (100%) (TOTAL)
178770 (2.9%) 15434 (9.1%) core::ptr::drop_in_place
151022 (2.4%) 6634 (3.9%) core::ops::function::FnOnce::call_once
101146 (1.6%) 1618 (1.0%) core::option::Option<T>::map
76938 (1.2%) 1090 (0.6%) core::result::Result<T,E>::map
51215 (0.8%) 6111 (3.6%) core::ops::function::FnOnce::call_once{{vtable.shim}}
44973 (0.7%) 647 (0.4%) core::result::Result<T,E>::map_err
39185 (0.6%) 516 (0.3%) std:🧵:local::LocalKey<T>::try_with
39130 (0.6%) 215 (0.1%) alloc::raw_vec::RawVec<T,A>::grow_amortized
35334 (0.6%) 867 (0.5%) alloc::alloc::box_free
34788 (0.6%) 609 (0.4%) crossbeam_channel::context::Context::with::{{closure}}
33810 (0.5%) 646 (0.4%) core::ptr::swap_nonoverlapping_one
33610 (0.5%) 552 (0.3%) core::result::Result<T,E>::unwrap_or_else
32144 (0.5%) 392 (0.2%) <*const T as core::fmt::Pointer>::fmt
32062 (0.5%) 782 (0.5%) script::dom::bindings::root::Root<T>::new
31589 (0.5%) 600 (0.4%) core::result::Result<T,E>::expect
30069 (0.5%) 250 (0.1%) <<&mut bincode:🇩🇪:Deserializer<R,O> as serde:🇩🇪:Deserializer>::deserialize_tuple::Access<R,O> as serde:🇩🇪:SeqAccess>::next_element_seed
26996 (0.4%) 346 (0.2%) core::option::Option<T>::map_or
25996 (0.4%) 388 (0.2%) script::dom::bindings::root::Root<script::dom::bindings::root::MaybeUnreflectedDom<T>>::reflect_with
25833 (0.4%) 641 (0.4%) core::result::Result<T,E>::unwrap
24751 (0.4%) 197 (0.1%) core::iter::traits::iterator::Iterator::try_fold
22185 (0.4%) 145 (0.1%) hashbrown::raw::RawTable<T>::find
22000 (0.4%) 80 (0.0%) hashbrown::raw::RawTable<T>::rehash_in_place
20808 (0.3%) 289 (0.2%) core::alloc::layout::Layout::array
20031 (0.3%) 308 (0.2%) core::option::Option<T>::ok_or_else
19732 (0.3%) 2 (0.0%) html5ever::tree_builder::TreeBuilder<Handle,Sink>::step
18951 (0.3%) 1014 (0.6%) core::ptr::read
17261 (0.3%) 201 (0.1%) core::iter::traits::iterator::Iterator::fold
```
That `visit_enum` for `Key` is not in the first 30 lines, I find it after
changing the filtering command to `head -n 60`:
```
11762 (0.2%) 1 (0.0%) <keyboard_types:🔑:_IMPL_DESERIALIZE_FOR_Key::<impl serde:🇩🇪:Deserialize for keyboard_types:🔑:Key>::deserialize::__Visitor as serde:🇩🇪:Visitor>::visit_enum
```
It has one copy / instantiation instead of four, which contributes exactly
four times fewer lines of IR.
The crate total reduced by ~782k lines, a lot more than ~35k for this
`visit_enum` function. We see that `next_element_seed` (also for bincode
deserialization) now has 250 copies instead of 1000. So it looks like
*everything* bincode related was reduced by 4×
Document a GStreamer plugin workaround
<!-- Please describe your changes on the following line: -->
Based on conversation in Issue #27013 this documents a workaround in the gstreamer CLI for a failure of the GStreamer plugin to find usable a GL context without a downstream glimagesink
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #___ (GitHub issue number if applicable)
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it's a document change
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
build(deps): bump crossbeam-queue from 0.2.1 to 0.2.3
Bumps [crossbeam-queue](https://github.com/crossbeam-rs/crossbeam) from 0.2.1 to 0.2.3.
<details>
<summary>Commits</summary>
<ul>
<li><a href="149a3c9389"><code>149a3c9</code></a> Release crossbeam-queue 0.2.3</li>
<li><a href="18363b5b3e"><code>18363b5</code></a> Merge <a href="https://github-redirect.dependabot.com/crossbeam-rs/crossbeam/issues/476">#476</a></li>
<li><a href="e32c891f37"><code>e32c891</code></a> Release new versions</li>
<li><a href="6d6591a0e1"><code>6d6591a</code></a> Merge <a href="https://github-redirect.dependabot.com/crossbeam-rs/crossbeam/issues/474">#474</a></li>
<li><a href="528c3caadb"><code>528c3ca</code></a> Undo bump of rand as it bumps MSRV</li>
<li><a href="78043c7b11"><code>78043c7</code></a> Bump crossbeam to 0.7.4</li>
<li><a href="640cec2f4b"><code>640cec2</code></a> Bump crossbeam-deque to 0.7.3</li>
<li><a href="e962784d97"><code>e962784</code></a> Bump crossbeam-queue to 0.2.2</li>
<li><a href="64ad929c5d"><code>64ad929</code></a> Bump crossbeam-epoch to 0.8.1</li>
<li><a href="909edf53da"><code>909edf5</code></a> Bump crossbeam-channel to 0.4.1</li>
<li>Additional commits viewable in <a href="https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-queue-0.2.1...crossbeam-queue-0.2.3">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=crossbeam-queue&package-manager=cargo&previous-version=0.2.1&new-version=0.2.3)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
</details>
build(deps): bump gif from 0.10.0 to 0.10.3
Bumps [gif](https://github.com/image-rs/image-gif) from 0.10.0 to 0.10.3.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/image-rs/image-gif/commits/v0.10.3">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=gif&package-manager=cargo&previous-version=0.10.0&new-version=0.10.3)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
</details>
build(deps): bump addr2line from 0.12.1 to 0.12.2
Bumps [addr2line](https://github.com/gimli-rs/addr2line) from 0.12.1 to 0.12.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/gimli-rs/addr2line/blob/master/CHANGELOG.md">addr2line's changelog</a>.</em></p>
<blockquote>
<h2>0.12.2 (2020/06/21)</h2>
<h3>Fixed</h3>
<ul>
<li>Avoid linear search for <code>DW_FORM_ref_addr</code>.
<a href="https://github-redirect.dependabot.com/gimli-rs/addr2line/pull/175">#175</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="6812d68678"><code>6812d68</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/gimli-rs/addr2line/issues/177">#177</a> from philipc/release</li>
<li><a href="84d27010c9"><code>84d2701</code></a> Bump version to 0.12.2</li>
<li><a href="d25f7b3ddc"><code>d25f7b3</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/gimli-rs/addr2line/issues/175">#175</a> from philipc/issue-171</li>
<li><a href="8e0b99b089"><code>8e0b99b</code></a> Avoid linear search for DW_FORM_ref_addr</li>
<li><a href="a8757e5275"><code>a8757e5</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/gimli-rs/addr2line/issues/173">#173</a> from philipc/issue-169</li>
<li><a href="ce518c6ab1"><code>ce518c6</code></a> Rename aux to auxiliary</li>
<li>See full diff in <a href="https://github.com/gimli-rs/addr2line/compare/0.12.1...0.12.2">compare view</a></li>
</ul>
</details>
<br />
[](https://dependabot.com/compatibility-score/?dependency-name=addr2line&package-manager=cargo&previous-version=0.12.1&new-version=0.12.2)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
</details>
build(deps): bump gstreamer-app from 0.15.3 to 0.15.6
Bumps gstreamer-app from 0.15.3 to 0.15.6.
[](https://dependabot.com/compatibility-score/?dependency-name=gstreamer-app&package-manager=cargo&previous-version=0.15.3&new-version=0.15.6)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
</details>