Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jul 23, 2024

Updates the requirements on sqlx to permit the latest version.

Changelog

Sourced from sqlx's changelog.

0.8.0 - 2024-07-22

69 pull requests were merged this release cycle.

Breaking

  • [#2973]: Generic Associated Types in Database, replacing HasValueRef, HasArguments, HasStatement [[@​nitn3lav]]
  • [#2482]: chore: bump syn to 2.0 [[@​saiintbrisson]]
    • Deprecated type ascription syntax in the query macros was removed.
  • [#2736]: Fix describe on PostgreSQL views with rules [[@​tsing]]
    • Potentially breaking: nullability inference changes for Postgres.
  • [#2869]: Implement PgHasArrayType for all references [[@​tylerhawkes]]
    • Conflicts with existing manual implementations.
  • [#2940]: fix: Decode and Encode derives (#1031) [[@​benluelo]]
    • Changes lifetime obligations for field types.
  • [#3064]: Sqlite explain graph [[@​tyrelr]]
    • Potentially breaking: nullability inference changes for SQLite.
  • [#3123]: Reorder attrs in sqlx::test macro [[@​bobozaur]]
    • Potentially breaking: attributes on #[sqlx::test] usages are applied in the correct order now.
  • [#3126]: Make Encode return a result [[@​FSMaxB]]
  • [#3130]: Add version information for failed cli migration (#3129) [[@​FlakM]]
    • Breaking changes to MigrateError.
  • [#3181]: feat: no tx migration [[@​cleverjam]]
    • (Postgres only) migrations that should not run in a transaction can be flagged by adding -- no-transaction to the beginning.
    • Breaking change: added field to Migration
  • [#3184]: [BREAKING} fix(sqlite): always use i64 as intermediate when decoding [[@​abonander]]
    • integer decoding will now loudly error on overflow instead of silently truncating.
    • some usages of the query!() macros might change an i32 to an i64.
  • [#3252]: fix #[derive(sqlx::Type)] in Postgres [[@​abonander]]
    • Manual implementations of PgHasArrayType for enums will conflict with the generated one. Delete the manual impl or add #[sqlx(no_pg_array)] where conflicts occur.
    • Type equality for PgTypeInfo is now schema-aware.
  • [#3329]: fix: correct handling of arrays of custom types in Postgres [[@​abonander]]
    • Potential breaking change: PgTypeInfo::with_name() infers types that start with _ to be arrays of the un-prefixed type. Wrap type names in quotes to bypass this behavior.
  • [#3356]: breaking: fix name collision in FromRow, return Error::ColumnDecode for TryFrom errors [[@​abonander]]
    • Breaking behavior change: errors with #[sqlx(try_from = "T")] now return Error::ColumnDecode instead of Error::ColumnNotFound.
    • Breaking because #[sqlx(default)] on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs.
      • Instead, create a wrapper implementing From and apply the default explicitly.
  • [#3337]: allow rename with rename_all (close #2896) [[@​DirectorX]]
    • Changes the precedence of #[sqlx(rename)] and #[sqlx(rename_all)] to match the expected behavior (rename wins).
  • [#3285]: fix: use correct names for sslmode options [[@​lily-mosquitoes]]
    • Changes the output of ConnectOptions::to_url_lossy() to match what parsing expects.

Added

... (truncated)

Commits
  • da0ffd7 chore: bump version to 0.8.0
  • 9e1aa74 chore: prepare changelog entry for 0.8.0
  • c90a7ff fix: enable clock and std features of chrono for the workspace
  • c50572e fix: sqlite update_hook char types (#3288)
  • 940d9fb Add example on how to use Transaction as Executor (#3311)
  • eaad7b2 doc: Minor rust docs fixes (#3312)
  • 4fc5b30 breaking: fix name collision in FromRow, return Error::ColumnDecode for `...
  • b37b34b chore:added a testcase for sqlx migrate add ... (#3352)
  • 543395d fix: build script new line at eof (#3353)
  • 4683cc3 Add support for PostgreSQL HSTORE data type (#3343)
  • 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 <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @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)

Kitt3120 and others added 2 commits December 29, 2023 13:40
* Setup (#1)

 - Add tokio, serde and sqlx crates
 - Setup .gitignore
 - Setup Cargo.toml
 - Setup pipelines

* Enable Dependabot (#3)

Add dependabot.yml with daily cargo updates configured

* Fix staging pipelines (#4)

Fix staging pipelines not triggering on pull request

* Implement Cargo caching (#5)

Add Swatinem's Rust-Cache@v2 action to build, test and deploy pipelines

* Improve README.md (#6)

 - Add deployment badges
 - Add collaborating info (board + issues)
Updates the requirements on [sqlx](https://github.com/launchbadge/sqlx) to permit the latest version.
- [Changelog](https://github.com/launchbadge/sqlx/blob/main/CHANGELOG.md)
- [Commits](launchbadge/sqlx@v0.7.3...v0.8.0)

---
updated-dependencies:
- dependency-name: sqlx
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Jul 23, 2024
@Kitt3120 Kitt3120 changed the base branch from main to staging July 23, 2024 17:17
@Kitt3120 Kitt3120 enabled auto-merge (squash) July 23, 2024 17:21
@Kitt3120 Kitt3120 merged commit ee9110b into staging Jul 23, 2024
@Kitt3120 Kitt3120 deleted the dependabot/cargo/sqlx-0.8.0 branch July 23, 2024 17:37
Kitt3120 added a commit that referenced this pull request Oct 4, 2024
* Bump main to staging (#7)

* Setup (#1)

 - Add tokio, serde and sqlx crates
 - Setup .gitignore
 - Setup Cargo.toml
 - Setup pipelines

* Enable Dependabot (#3)

Add dependabot.yml with daily cargo updates configured

* Fix staging pipelines (#4)

Fix staging pipelines not triggering on pull request

* Implement Cargo caching (#5)

Add Swatinem's Rust-Cache@v2 action to build, test and deploy pipelines

* Improve README.md (#6)

 - Add deployment badges
 - Add collaborating info (board + issues)

* Update sqlx requirement from 0.7.3 to 0.8.0

Updates the requirements on [sqlx](https://github.com/launchbadge/sqlx) to permit the latest version.
- [Changelog](https://github.com/launchbadge/sqlx/blob/main/CHANGELOG.md)
- [Commits](launchbadge/sqlx@v0.7.3...v0.8.0)

---
updated-dependencies:
- dependency-name: sqlx
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* remove: empty line

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Torben Schweren <torben@schweren.dev>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Kitt3120 added a commit that referenced this pull request Oct 4, 2024
* Setup (#1)

- Add tokio, serde and sqlx crates
 - Setup .gitignore
 - Setup Cargo.toml
 - Setup pipelines

* Add config file (#14)

* Implement config

 - Add dirs crate
 - Implement ConfigHandler
 - Implement custom error types
 - Implement config struct
 - Load config on startup

* Use thiserror

 - Add thiserror crate
 - Refactor existing error types to use thiserror

* Reference Milestones in README.md (#15)

Update README.md

Add reference to Milestones page

* Add README.md portrait (#16)

* Add portrait image

* Add portrait image to README.md

* Add Service Framework (#21)

* Implement service framework

 - Make main async
 - Implement Status enum
 - Implement Priority enum
 - Implement ServiceInfo struct
 - Implement ServiceInternals trait
 - Implement Service trait

* Bot library

 - Add fern crate
 - Add humantime crate
 - Add log crate
 - Implement Bot
 - Implement BotBuilder
 - Refactor config Display trait implementation
 - Implement library is_debug() function
 - Implement library run(Bot) function
 - Implement log module (log::setup(), log::is_set_up() and log::get_min_log_level())
 - Adapt main to new changes

* WIP: Finish services framework

Just a lot of refactoring and fixing. No time to describe all this now. Happy new year! :)

* Finish services framework

Too much to describe. It's done, that's it. This was one hell of a ride.

* Refactor codebase (#23)

- Refined some derived traits
 - Refactor Service/ServiceInfo: Move some trait implementations from Service to ServiceInfo and refer to the implementations from Service
 - Compare ID instead of name in ServiceManagerBuilder

* Feature/discord service (#24)

* Add serenity

Add serenity as a dependency and use some extra features and the native TLS backend

* Implement Discord Service

 - Implement Discord Service
 - Add discordTimeout config variable
 - Add additional logger setup to mute unimportant messages introduced by serenity

* Refactor service framework (#25)

* Service framework improvements

 - Way better handling of mutable/immutable attributes
 - Less Mutexes
 - Better handling of passing references through the service framework's API
 - Reimplement get_service accepting a TypeId as a generic parameter for easier usage
 - Reimplement status_map and status_tree as a result of the above adaptations, resulting in way simpler versions

* More service framework improvements

 - Replace all Mutexes with RwLock
 - Remove status_map method of ServiceManager
 - Services vector in ServiceManager now wraps the Service trait objects in a RwLock to potentially make them available mutably through the public API of ServiceManager

* Implement get_service<T> method

 - Add downcast-rs crate
 - Implement get_service<T> method of ServiceManager

Had to use unsafe Rust for this. Tried it with safe Rust for 3 days and couldn't do it. With unsafe Rust, it's very easy. It's also still kinda safe, as the crash case is checked and prevented before going into the unsafe block.

* Finish refactor of service framework

 - ServiceManager now holds an Arc to itself
 - Self-Arc is now passed to services when initializing them, so they can access other services and copy Arcs to those for themselves
 - Implement SetLock<T> struct which is a wrapper around Option<T> for lazy-initialization
 - ServiceManagerBuilder handles the creation and injection of the Self-Arc of ServiceManager. That's why the build() method is now async and the From trait had to be removed. The From trait cannot be implemented async.
 - To keep everything consistent, the From trait has also been removed from the BotBuilder and the build() method becase async.

* Adapt Discord service

 - Adapt Discord service to new service framework and SetLock type

* Fix service framework (#31)

 - Fix deadlock when accessing the ServiceManager parameter in start() method of a Service
 - Known bug: Deadlock still happens when a service accesses itself through the ServiceManager on start

* Refactor/service-framework: start_wrapped and stop_wrapped (#32)

Refactor service

start_wrapped and stop_wrapped have been removed from the Service trait and the logic has been implemented in the Service Manager.

* Implement service startup/shutdown timeout (#33)

- Add hardcoded timeout of 10 seconds on service startup
 - Add hardcoded timeout of 10 seconds on service shutdown
 - Remove timeout implementation of Discord service, as it is now handled by the Service Manager.

* Service framework background tasks and watchdogs (#39)

* Service framework background task

 - Implement an optional background task for services that starts automatically on service start.
 - Implement a watchdog that updates the service's status when its task fails at runtime

* WIP: Partially implemented

 - Background task startup + watchdog implemented for service startup
 - Implementation for service shutdown missing
 - Handling of watchdog triggers of essential tasks missing

* Refactor of service framework

Split service framework into multiple submodules

* Implement Watchdog module

* Optimize Watchdog module

Make usage of Watchdog more flexible

* Refactor start_service

Refactor the giant block of cod e into smaller helper methods where possible

* Edit StartupError string representations

* Finish refactor of start_service method

* Refactor stop_service

 - Apply same refactoring to stop_service
 - Increase name placeholder space to 30 in logger

* Add Devcontainer (#40)

* added devcontainer

added postgresql and some nice to have extensions

* removed clang to fix pipelines

* Update .devcontainer/devcontainer.json

Co-authored-by: Torben Schweren <torben@schweren.dev>

* Update .devcontainer/docker-compose.yml

Co-authored-by: Torben Schweren <torben@schweren.dev>

---------

Co-authored-by: Torben Schweren <torben@schweren.dev>

* Update sqlx requirement from 0.7.3 to 0.8.0 (#49)

* Bump main to staging (#7)

* Setup (#1)

 - Add tokio, serde and sqlx crates
 - Setup .gitignore
 - Setup Cargo.toml
 - Setup pipelines

* Enable Dependabot (#3)

Add dependabot.yml with daily cargo updates configured

* Fix staging pipelines (#4)

Fix staging pipelines not triggering on pull request

* Implement Cargo caching (#5)

Add Swatinem's Rust-Cache@v2 action to build, test and deploy pipelines

* Improve README.md (#6)

 - Add deployment badges
 - Add collaborating info (board + issues)

* Update sqlx requirement from 0.7.3 to 0.8.0

Updates the requirements on [sqlx](https://github.com/launchbadge/sqlx) to permit the latest version.
- [Changelog](https://github.com/launchbadge/sqlx/blob/main/CHANGELOG.md)
- [Commits](launchbadge/sqlx@v0.7.3...v0.8.0)

---
updated-dependencies:
- dependency-name: sqlx
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* remove: empty line

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Torben Schweren <torben@schweren.dev>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Merge feature/service-status-events into staging (#55)

* Bump main to staging (#7)

* Setup (#1)

 - Add tokio, serde and sqlx crates
 - Setup .gitignore
 - Setup Cargo.toml
 - Setup pipelines

* Enable Dependabot (#3)

Add dependabot.yml with daily cargo updates configured

* Fix staging pipelines (#4)

Fix staging pipelines not triggering on pull request

* Implement Cargo caching (#5)

Add Swatinem's Rust-Cache@v2 action to build, test and deploy pipelines

* Improve README.md (#6)

 - Add deployment badges
 - Add collaborating info (board + issues)

* Clonable Status

 - Made Status clonable by not using BoxedErrors anymore but Strings for holding the error information
 - Add get_status() to Service
 - Made status property of Service private

* Adapt Service Manager to new Status enum

* Events

 - Implement Event<T>
 - Add status_changed Event to ServiceInfo

* Event improvements

 - Add name attribute to Event<T>
 - Unify Channel and Closure subscribers by using an Enum
 - Propagate errors when dispatching events
 - Add error log when errors occur while dispatching events
 - Subscribers are now removed from an event when they run into an error while dispatching

* Event improvements

Make the removal of Event subscribers on error optional

* Slight refactors

 - Refactors in service_manager.rs
 - Refactors in watchdog.rs

* WIP: Idk lol

I made these changes many months ago. Reviewed them for like half an hour, looks good. I know what I was working on. Will continue now :)

* add: allow clippy::multiple_bound_locations for service module

* add: observables

* refactor: use Mutex instead of RwLock everywhere

* refactor: make remove_on_error work on per-subscriber basis

* refactor: make subscribers identifiable

* refactor: move dispatch logic to Subscriber

* add: AsyncClosure Callback type

* WIP: EventRepeater

* add: EventRepeater

* refactor: event subscribe method names

* refactor: move subscription into own module

* add: AsRef<Event<T>>

* add: UUID, PartialEq/Eq, unsubscribe()

* add: event_repeater detach(), close()

* add: attach/deattach EventRepeater on start/stop of service

* add: service runtime failure handling

* fix: bump version to 0.2.1

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Marco Murawski <info@murasko.de>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants