madiele / vod2pod-rss

Vod2Pod-RSS converts a YouTube or Twitch channel into a podcast with ease. It creates a podcast RSS that can be listened to directly inside any podcast client. VODs are transcoded to MP3 on the fly and no server storage is needed!
MIT License
199 stars 5 forks source link

Bump the rust-dependencies group with 3 updates #101

Closed dependabot[bot] closed 10 months ago

dependabot[bot] commented 10 months ago

Updates the requirements on serde_json, cached and chrono to permit the latest version. Updates serde_json to 1.0.106

Release notes

Sourced from serde_json's releases.

v1.0.106

Commits
  • 45f10ec Release 1.0.106
  • f346308 Elaborate on documentation of Number::as_str
  • f16cad6 Add cfg banner to documentation of Number::as_str
  • fc8dd13 Touch up PR 1067
  • 028b643 Merge pull request #1067 from chanced/add-as_str-to-number
  • db75c22 Fix unintended u8 link inferred by intra doc link
  • 11b603c Resolve rustdoc::redundant_explicit_links lint
  • 95c5d6c Fix documentation typo from PR 1069
  • 5a39516 Reorder Value::as_number after is_number
  • 6a5fef9 Wrap as_number documentation to 80 columns
  • Additional commits viewable in compare view


Updates cached to 0.45.1

Changelog

Sourced from cached's changelog.

[0.45.1] / [cached_proc_macro[0.18.0]]

Added

Changed

  • Release *_no_cache changes from 0.45.0. The change is in the proc macro crate which I forgot to release a new version of.

Removed

[0.45.0]

Added

  • Generate *_no_cache function for every cached function to allow calling the original function without caching. This is backwards incompatible if you have a function with the same name.

Changed

  • tokio dependency has been removed from proc_macro feature (originally unecessarily included).
  • async feature has been removed from the default feature. This is a backwards incompatible change. If you want to use async features, you need to enable async explicitly.
  • remove accidental #[doc(hidden)] on the stores module

Removed

[0.44.0] / [cached_proc_macro[0.17.0]]

Added

  • Option to enable redis multiplex-connection manager on AsyncRedisCache

Changed

  • Show proc-macro documentation on docs.rs

  • Document needed feature flags

  • Hide implementation details in documentation

  • Relax Cached trait's cache_get, cache_get_mut and cache_remove key parameter. Allow K: Borrow<Q> like std::collections::HashMap and friends. Avoids copies particularly on Cached<String, _> where now you can do cache.cache_get("key") and before you had to cache.cache_get("key".to_string()).

    Note: This is a minor breaking change for anyone manually implementing the Cached trait. The signatures of cache_get, cache_get_mut, and cache_remove must be updated to include the additional trait bound on the key type:

      fn cache_get<Q>(&mut self, key: &Q) -> Option<&V>
      where
          K: std::borrow::Borrow<Q>,
          Q: std::hash::Hash + Eq + ?Sized,
      {
    

Removed

  • Dependency to lazy_static and async_once are removed.

[0.43.0]

Added

Changed

  • Update redis 0.22.0 -> 0.23.0
  • Update serial_test 0.10.0 -> 2.0.0

Removed

[0.42.0] / [cached_proc_macro[0.16.0]]

... (truncated)

Commits


Updates chrono to 0.4.30

Release notes

Sourced from chrono's releases.

0.4.30

In this release, we have decided to swap out the chrono::Duration type (which has been a re-export of time 0.1 Duration type) with our own definition, which exposes a strict superset of the time::Duration API. This helps avoid warnings about the CVE-2020-26235 and RUSTSEC-2020-0071 advisories for downstream users and allows us to improve the Duration API going forward.

While this is technically a SemVer-breaking change, we expect the risk of downstream users experiencing actual incompatibility to be exceedingly limited (see our analysis of public code using a crater-like experiment), and not enough justification for the large ecosystem churn of a 0.5 release. If you have any feedback on these changes, please let us know in #1268.

Additions

  • Add NaiveDate::leap_year (#1261)

Documentation

Relation between chrono and time 0.1

Rust first had a time module added to std in its 0.7 release. It later moved to libextra, and then to a libtime library shipped alongside the standard library. In 2014 work on chrono started in order to provide a full-featured date and time library in Rust. Some improvements from chrono made it into the standard library; notably, chrono::Duration was included as std::time::Duration (rust#15934) in 2014.

In preparation of Rust 1.0 at the end of 2014 libtime was moved out of the Rust distro and into the time crate to eventually be redesigned (rust#18832, rust#18858), like the num and rand crates. Of course chrono kept its dependency on this time crate. time started re-exporting std::time::Duration during this period. Later, the standard library was changed to have a more limited unsigned Duration type (rust#24920, RFC 1040), while the time crate kept the full functionality with time::Duration. time::Duration had been a part of chrono's public API.

By 2016 time 0.1 lived under the rust-lang-deprecated organisation and was not actively maintained (time#136). chrono absorbed the platform functionality and Duration type of the time crate in chrono#478 (the work started in chrono#286). In order to preserve compatibility with downstream crates depending on time and chrono sharing a Duration type, chrono kept depending on time 0.1. chrono offered the option to opt out of the time dependency by disabling the oldtime feature (swapping it out for an effectively similar chrono type). In 2019, @​jhpratt took over maintenance on the time crate and released what amounts to a new crate as time 0.2.

Security advisories

In November of 2020 CVE-2020-26235 and RUSTSEC-2020-0071 were opened against the time crate. @​quininer had found that calls to localtime_r may be unsound (chrono#499). Eventually, almost a year later, this was also made into a security advisory against chrono as RUSTSEC-2020-0159, which had platform code similar to time.

On Unix-like systems a process is given a timezone id or description via the TZ environment variable. We need this timezone data to calculate the current local time from a value that is in UTC, such as the time from the system clock. time 0.1 and chrono used the POSIX function localtime_r to do the conversion to local time, which reads the TZ variable.

Rust assumes the environment to be writable and uses locks to access it from multiple threads. Some other programming languages and libraries use similar locking strategies, but these are typically not shared across languages. More importantly, POSIX declares modifying the environment in a multi-threaded process as unsafe, and getenv in libc can't be changed to take a lock because it returns a pointer to the data (see rust#27970 for more discussion).

Since version 4.20 chrono no longer uses localtime_r, instead using Rust code to query the timezone (from the TZ variable or via iana-time-zone as a fallback) and work with data from the system timezone database directly. The code for this was forked from the tz-rs crate by @​x-hgg-x. As such, chrono now respects the Rust lock when reading the TZ environment variable. In general, code should avoid modifying the environment.

... (truncated)

Changelog

Sourced from chrono's changelog.

ChangeLog for Chrono

This documents notable changes to Chrono up to and including version 0.4.19. For later releases, please review the release notes on GitHub.

0.4.19

  • Correct build on solaris/illumos

0.4.18

  • Restore support for x86_64-fortanix-unknown-sgx

0.4.17

  • Fix a name resolution error in wasm-bindgen code introduced by removing the dependency on time v0.1

0.4.16

Features

  • Add %Z specifier to the FromStr, similar to the glibc strptime (does not set the offset from the timezone name)

  • Drop the dependency on time v0.1, which is deprecated, unless the oldtime feature is active. This feature is active by default in v0.4.16 for backwards compatibility, but will likely be removed in v0.5. Code that imports time::Duration should be switched to import chrono::Duration instead to avoid breakage.

0.4.15

Fixes

0.4.14 YANKED

Features

  • Add day and week iterators for NaiveDate (@​gnzlbg & @​robyoung)
  • Add a Month enum (@​hhamana)
  • Add locales. All format functions can now use locales, see the documentation for the unstable-locales feature.
  • Fix Local.from_local_datetime method for wasm

Improvements

... (truncated)

Commits
  • 101ca7e Bump version to 0.4.30
  • eee59e3 Rewrite history sections for clarity and consistency
  • 7387fe7 Add history of chrono and time 0.1 to main documentation
  • 8509da4 Apply Clippy suggestions for duration module
  • 9d7fafe Remove mention of oldtime from documentation
  • 27ea7e9 Rename oldtime module to duration
  • 8f5becd Drop time 0.1 as optional dependency
  • f4aefc7 Clarify Timelike::num_seconds_from_midnight is a simple mapping
  • 1903778 Add NaiveDate::leap_year
  • 84334df Update readme
  • Additional commits viewable in compare view


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 commands and options
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 show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions