Skip to content

Commit 8b6b9a0

Browse files
committed
Release v0.99.0 (It's basically 1.0 except it's not)
This release is by far the largest Diesel has ever had. It serves 2 purposes. You can consider this release to be a beta for 1.0. However, 1.0 will have an important significant difference. Anything that is deprecated as of this release will not be present in the 1.0 release. This includes functions which were newly deprecated in 0.99. We know this may introduce a migration burden for some people, so we will continue to support the 0.99 line with bug fixes as long as there is demand and it is reasonable to do so. Headline Features ---- This release is mainly focused on ergonomics. Our main new feature is the [`sql_query`][] function. This is a new API which behaves similarly to [`sql`][], but it is entirely focused on cases where you want to write the *entire* query yourself. The main difference from `sql` is that you do not need to specify the return type of the query, and values are fetched by name rather than by index. This feature is still early, and there's a lot of features still to come (specifically evolving `#[derive(QueryableByName)]`, but we think this feature will ease a lot of pains for cases where Diesel doesn't quite do what you need. [`sql_query`]: http://docs.diesel.rs/diesel/fn.sql_query.html [`sql`]: http://docs.diesel.rs/diesel/sql/fn.sql.html Additionally, you can now use tuples for inserts the same as you can for updates. If you've ever wanted to insert a row with just 1 or 2 values, and been annoyed that you needed a struct that you're only using in this one place, this feature will make you happy. We'll have new guides highlighting this feature soon. Additionally, this release comes with a ton of quality of life features. Many of these changes are focused around making it easier to introduce line breaks naturally in your code. For example, `.filter` is now implemented on `UpdateStatement`, meaning you can write `update(foo).filter(bar)` instead of `update(foo.filter(bar))`. We've also introduced new APIs for `insert` and PG upsert which will have similar readability improvements. Breaking Changes ---- This release includes more deprecations than any release prior. In particular, `insert` has been deprecated, along with our entire PG upsert API. All deprecations in this release have direct replacements, which will lead to code which formats much more nicely. It should be a mostly mechanical replacement for most apps. See [the CHANGELOG file][] for details. [the CHANGELOG file]: https://github.com/diesel-rs/diesel/blob/v0.99.0/CHANGELOG.md Growing the Team ---- With this release, we'd like to welcome several new members to the Diesel committer team. @weiznich, @notryanb, and @katrinabrock you've all done excellent work and we're very excited to officially welcome you to the team! Additional Thanks ---- In addition to the Diesel core and committer teams, 10 people contributed to this release. A huge thank you to: - Adam Perry - Alex Kitchens - Alexey Zabelin - Arnar Mar Sig - Bob - Jordan - Lauri Apple - Maxime “pep” Buquet - William Murphy - bippityboppity Our only remaining blockers from this release and 1.0 are documentation changes, and having this tested in the wild. Thank you to every one of our users for your support, and we look forward to Diesel 1.0 by the end of the year!
1 parent 9195811 commit 8b6b9a0

File tree

23 files changed

+61
-56
lines changed

23 files changed

+61
-56
lines changed

CHANGELOG.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,10 @@ All user visible changes to this project will be documented in this file.
44
This project adheres to [Semantic Versioning](http://semver.org/), as described
55
for Rust libraries in [RFC #1105](https://github.com/rust-lang/rfcs/blob/master/text/1105-api-evolution.md)
66

7-
## Unreleased
7+
## [0.99.0] - 2017-11-28
88

99
### Added
1010

11-
* Implement `DISTINCT ON()`/`.distinct_on()` for postgresql
12-
1311
* The `.for_update()` method has been added to select statements, allowing
1412
construction of `SELECT ... FOR UPDATE`.
1513

@@ -51,6 +49,9 @@ for Rust libraries in [RFC #1105](https://github.com/rust-lang/rfcs/blob/master/
5149

5250
* Added a way to rename a table in the `table!` macro with `#[sql_name="the_table_name"]`
5351

52+
* Added support for PostgreSQL's `DISTINCT ON`. See
53+
[`.distinct_on()`][0.99.0-distinct-on] for more details
54+
5455
### Changed
5556

5657
* The signatures of `QueryId`, `Column`, and `FromSqlRow` have all changed to
@@ -68,7 +69,7 @@ for Rust libraries in [RFC #1105](https://github.com/rust-lang/rfcs/blob/master/
6869
`diesel_infer_schema` to `Cargo.toml`, and `#[macro_use] extern crate
6970
diesel_infer_schema` to `src/lib.rs`
7071

71-
* Code using `embed_migraitons!` must now add `diesel_migrations` to `Cargo.toml`,
72+
* Code using `embed_migrations!` must now add `diesel_migrations` to `Cargo.toml`,
7273
and `#[macro_use] extern crate diesel_migrations` to `src/lib.rs`
7374

7475
* The `migrations` module has been moved out of `diesel` and into
@@ -126,6 +127,8 @@ for Rust libraries in [RFC #1105](https://github.com/rust-lang/rfcs/blob/master/
126127
now handle any value that is in a format documented as valid for SQLite's
127128
`strftime` function except for the string `'now'`.
128129

130+
[0.99.0-distinct-on]: http://docs.diesel.rs/diesel/query_dsl/trait.DistinctOnDsl.html#tymethod.distinct_on
131+
129132
## [0.16.0] - 2017-08-24
130133

131134
### Added
@@ -1117,3 +1120,4 @@ for Rust libraries in [RFC #1105](https://github.com/rust-lang/rfcs/blob/master/
11171120
[0.15.1]: https://github.com/diesel-rs/diesel/compare/v0.15.0...v0.15.1
11181121
[0.15.2]: https://github.com/diesel-rs/diesel/compare/v0.15.1...v0.15.2
11191122
[0.16.0]: https://github.com/diesel-rs/diesel/compare/v0.15.2...v0.16.0
1123+
[0.99.0]: https://github.com/diesel-rs/diesel/compare/v0.16.0...v0.99.0

Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,6 @@ members = [
2525
]
2626

2727
[replace]
28-
"diesel:0.16.0" = { path = "diesel" }
29-
"diesel_derives:0.16.0" = { path = "diesel_derives" }
30-
"diesel_infer_schema:0.16.0" = { path = "diesel_infer_schema" }
28+
"diesel:0.99.0" = { path = "diesel" }
29+
"diesel_derives:0.99.0" = { path = "diesel_derives" }
30+
"diesel_infer_schema:0.99.0" = { path = "diesel_infer_schema" }

diesel/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "diesel"
3-
version = "0.16.0"
3+
version = "0.99.0"
44
authors = ["Sean Griffin <[email protected]>"]
55
license = "MIT OR Apache-2.0"
66
description = "A safe, extensible ORM and Query builder"
@@ -13,7 +13,7 @@ categories = ["database"]
1313

1414
[dependencies]
1515
byteorder = "1.0"
16-
diesel_derives = { version = "0.16.0", path = "../diesel_derives/" }
16+
diesel_derives = { version = "0.99.0" }
1717
chrono = { version = "0.4", optional = true }
1818
clippy = { optional = true, version = "=0.0.162" }
1919
libc = { version = "0.2.0", optional = true }

diesel_cli/Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "diesel_cli"
3-
version = "0.16.0"
3+
version = "0.99.0"
44
authors = ["Sean Griffin <[email protected]>"]
55
license = "MIT OR Apache-2.0"
66
description = "Provides the CLI for the Diesel crate"
@@ -17,11 +17,11 @@ path = "src/main.rs"
1717
[dependencies]
1818
chrono = "0.4"
1919
clap = ">=2.27.0"
20-
diesel = { version = "0.16.0", default-features = false }
20+
diesel = { version = "0.99.0", default-features = false }
2121
dotenv = ">=0.8, <0.11"
22-
infer_schema_internals = { version = "0.16.0", path = "../diesel_infer_schema/infer_schema_internals" }
22+
infer_schema_internals = { version = "0.99.0" }
2323
clippy = { optional = true, version = "=0.0.162" }
24-
migrations_internals = { version = "0.16.0", path = "../diesel_migrations/migrations_internals" }
24+
migrations_internals = { version = "0.99.0" }
2525

2626
[dev-dependencies]
2727
difference = "1.0"

diesel_compile_tests/Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ authors = ["Sean Griffin <[email protected]>"]
66
[workspace]
77

88
[dependencies]
9-
diesel = { version = "0.16.0", features = ["extras", "sqlite", "postgres", "mysql"] }
9+
diesel = { version = "0.99.0", features = ["extras", "sqlite", "postgres", "mysql"] }
1010
compiletest_rs = "0.3"
1111

1212
[replace]
13-
"diesel:0.16.0" = { path = "../diesel" }
14-
"diesel_derive:0.16.0" = { path = "../diesel_derive" }
15-
"diesel_infer_schema:0.16.0" = { path = "../diesel_infer_schema" }
13+
"diesel:0.99.0" = { path = "../diesel" }
14+
"diesel_derive:0.99.0" = { path = "../diesel_derive" }
15+
"diesel_infer_schema:0.99.0" = { path = "../diesel_infer_schema" }

diesel_derives/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "diesel_derives"
3-
version = "0.16.0"
3+
version = "0.99.0"
44
authors = ["Sean Griffin <[email protected]>"]
55
license = "MIT OR Apache-2.0"
66
description = "Custom derive and procedural macros for Diesel"

diesel_infer_schema/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "diesel_infer_schema"
3-
version = "0.16.0"
3+
version = "0.99.0"
44
authors = ["Sean Griffin <[email protected]>"]
55
license = "MIT OR Apache-2.0"
66
description = "Provides functionality to infer the schema of a database"
@@ -10,11 +10,11 @@ repository = "https://github.com/diesel-rs/diesel"
1010
keywords = ["orm", "database", "postgres", "postgresql", "sql"]
1111

1212
[dependencies]
13-
infer_schema_macros = { path = "./infer_schema_macros", version = "0.16.0" }
13+
infer_schema_macros = { version = "0.99.0" }
1414
clippy = { optional = true, version = "=0.0.162" }
1515

1616
[dev-dependencies]
17-
diesel = "0.16.0"
17+
diesel = "0.99.0"
1818
dotenv = ">= 0.8, <0.11"
1919
cfg-if = "0.1.0"
2020

diesel_infer_schema/infer_schema_internals/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "infer_schema_internals"
3-
version = "0.16.0"
3+
version = "0.99.0"
44
authors = ["Sean Griffin <[email protected]>"]
55
license = "MIT OR Apache-2.0"
66
description = "Provides functionality to infer the schema of a database"
@@ -10,7 +10,7 @@ repository = "https://github.com/diesel-rs/diesel"
1010
keywords = ["orm", "database", "postgres", "postgresql", "sql"]
1111

1212
[dependencies]
13-
diesel = { version = "0.16.0", default-features = false }
13+
diesel = { version = "0.99.0", default-features = false }
1414
clippy = { optional = true, version = "=0.0.162" }
1515

1616
[dev-dependencies]

diesel_infer_schema/infer_schema_macros/Cargo.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
[package]
22
name = "infer_schema_macros"
3-
version = "0.16.0"
3+
version = "0.99.0"
44
authors = ["Sean Griffin <[email protected]>"]
55
license = "MIT OR Apache-2.0"
6+
description = "This crate is internal to diesel_infer_schema and should not be used directly"
67

78
[dependencies]
89
syn = { version = "0.11.4", features = ["aster"] }
910
quote = "0.3.12"
1011
dotenv = { version = ">=0.8, <0.11", optional = true, default-features = false }
11-
diesel = { version = "0.16.0", default-features = false }
12-
infer_schema_internals = { version = "0.16.0", default-features = false, path = "../infer_schema_internals" }
12+
diesel = { version = "0.99.0", default-features = false }
13+
infer_schema_internals = { version = "0.99.0", default-features = false }
1314
clippy = { optional = true, version = "=0.0.162" }
1415

1516
[dev-dependencies]

diesel_migrations/Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "diesel_migrations"
3-
version = "0.16.0"
3+
version = "0.99.0"
44
authors = ["Sean Griffin <[email protected]>"]
55
license = "MIT OR Apache-2.0"
66
description = "Migratation managment for diesel"
@@ -10,11 +10,11 @@ homepage = "http://diesel.rs"
1010

1111
[dependencies]
1212
clippy = { optional = true, version = "=0.0.162" }
13-
migrations_internals = { version = "0.16.0", path = "./migrations_internals" }
14-
migrations_macros = { version = "0.16.0", path = "./migrations_macros" }
13+
migrations_internals = { version = "0.99.0" }
14+
migrations_macros = { version = "0.99.0" }
1515

1616
[dev-dependencies]
17-
diesel = { version = "0.16.0", features = ["sqlite", "postgres", "mysql"] }
17+
diesel = { version = "0.99.0", features = ["sqlite", "postgres", "mysql"] }
1818
dotenv = ">=0.8, <0.11"
1919
cfg-if = "0.1.0"
2020

0 commit comments

Comments
 (0)