This is a bugfix release containing the following fixes:
Fixed an issue with diesel_cli generating incompatible type names for the generate_missing_sql_type_definitions feature on PostgreSQL
Fixed an issue how diesel_cli handles sqlite urls while checking if a given database exists
Fixed an issue with PgConnection becoming unusable after hitting a database error in certain situations
Fixed an issue with diesel generating invalid SQL for certain INSERT … ON CONFLICT queries
Fixed diesel_derives generating code that triggers the disabled by default unused_qualifications lint
This release includes updated versions of diesel, diesel_cli and diesel_derives
Diesel 2.0.0 contains the contributions of more than 130 people. More than 1700 commits were submitted
over a span of 3 years.
As part of this release we introduced numerous new features and rewrote large parts of the internal structure.
Check out our changelog for a complete list of changes. As this is a new major Diesel release it contains a number of breaking changes. Checkout our migration guide for details about how to handle those breaking changes.
This release contains the following parts:
diesel 2.0.0-rc.0
diesel_derives 2.0.0-rc.0
diesel_migrations 2.0.0-rc.0
diesel_cli 2.0.0-rc.0
diesel_dynamic_schema 0.2.0-rc.0
This release marks a first prerelease of the upcoming Diesel 2.0 release. We ask you for your help to finalise the release.
Checkout the "Timeline for a Diesel 2.0 release" section for details about how you can help us finishing the release.
Features
As a highlight Diesel 2.0.0 adds support for the following features:
Fully type checked GROUP BY support
Support for table aliasing
Support for defining select clauses via a corresponding type
Support for UNION/INTERSECT queries
Support for GROUP BY clauses
Diesel 2.0 adds support for GROUP BY clauses for select queries.
This means queries like the following one will just work.
Fixed an issue with diesel_cli generating incompatible type names for the generate_missing_sql_type_definitions feature on PostgreSQL
Fixed an issue how diesel_cli handles sqlite urls while checking if a given database exists
Fixed an issue with PgConnection becoming unusable after hitting a database error in certain situations
Fixed an issue with diesel generating invalid SQL for certain INSERT … ON CONFLICT queries
Fixed diesel_derives generating code that triggers the disabled by default unused_qualifications lint
[2.0.0] 2022-08-29
Added
MysqlConnection::establish is able to initiate an SSL connection while specifying certificate roots. The database URL should contain an ssl_ca parameter with a path pointing to the certificate roots. See docs if desired.
MysqlConnection::establish is able to initiate an SSL connection. The database URL should contain ssl_mode parameter with a value of the MySQL client command option --ssl-mode if desired.
Connection and SimpleConnection traits are implemented for a broader range
of r2d2::PooledConnection<M> types when the r2d2 feature is enabled.
Added DatabaseErrorKind::ReadOnlyTransaction to allow applications to
handle errors caused by writing when only allowed to read.
All expression methods can now be called on expressions of nullable types.
Added BoxedSqlQuery. This allows users to do a variable amount of .sql or
.bind calls without changing the underlying type.
Added .sql to SqlQuery and UncheckedBind to allow appending SQL code to
an existing query.
The MacAddr SQL type can now be used without enabling the network-address
feature.
Added support for SQLite's UPSERT.
You can use this feature above SQLite version 3.24.0.
Added ability to create custom aggregate functions in SQLite.
Multiple aggregate expressions can now appear together in the same select
clause. See the upgrade notes for details.
ValidGrouping has been added to represent whether an expression is valid for
a given group by clause, and whether or not it's aggregate. It replaces the
functionality of NonAggregate. See the upgrade
notes for details.
It is now possible to inspect the type of values returned from the database
in such a way to support constructing a dynamic value depending on this type.
... (truncated)
Commits
c163482 Insert the release date of 2.0.1 into the changelog
b1d030c Prepare a 2.0.1 release fixing various issues
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 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)
Bumps diesel from 1.4.5 to 2.0.1.
Release notes
Sourced from diesel's releases.
... (truncated)
Changelog
Sourced from diesel's changelog.
... (truncated)
Commits
c163482
Insert the release date of 2.0.1 into the changelogb1d030c
Prepare a 2.0.1 release fixing various issues0d77050
Fix indent8444d15
fix fmt7d512b8
fixed unused qualifications issue in insertable051f39f
Fix #333091a4f1e
Reenable diesel_async in benchmarks by using the crates.io release3455cfe
move table definition to relevant test methodc8f4e4f
clear connection after database error336e9a4
Verify that group_by expression is valid for the given tableDependabot 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 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)