From c3dcb3de429de875fa11b2d40f110ed033b3c352 Mon Sep 17 00:00:00 2001 From: Billy Chan Date: Thu, 23 Mar 2023 12:45:44 +0800 Subject: [PATCH] CHANGELOG --- CHANGELOG.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3835e795..5abfb244 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,12 +55,51 @@ assert_eq!(migration.status(), MigrationStatus::Pending); * Upgrade `sea-query-binder` to `0.4` https://github.com/SeaQL/sea-orm/pull/1562 * Upgrade `sea-schema` to `0.12` https://github.com/SeaQL/sea-orm/pull/1562 +### Bug Fixes + +* Fixed `DeriveActiveEnum` throwing errors because `string_value` consists non-UAX#31 compliant characters https://github.com/SeaQL/sea-orm/pull/1374 + +For example, +```rust +#[derive(Clone, Debug, PartialEq, EnumIter, DeriveActiveEnum)] +#[sea_orm(rs_type = "String", db_type = "String(None)")] +pub enum StringValue { + #[sea_orm(string_value = "")] + Member1, + #[sea_orm(string_value = "$")] + Member2, + #[sea_orm(string_value = "$$")] + Member3, + #[sea_orm(string_value = "AB")] + Member4, + #[sea_orm(string_value = "A_B")] + Member5, + #[sea_orm(string_value = "A$B")] + Member6, + #[sea_orm(string_value = "0 123")] + Member7, +} +``` +will now produce the following Variant Enum: +```rust +pub enum StringValueVariant { + __Empty, + _0x24, + _0x240x24, + Ab, + A0x5Fb, + A0x24B, + _0x300x20123, +} +``` + ### Breaking changes * Supports for partial select of `Option` model field. A `None` value will be filled when the select result does not contain the `Option` field without throwing an error. https://github.com/SeaQL/sea-orm/pull/1513 * Added `derive` and `strum` features to `sea-orm-macros` * Replaced `sea-strum` dependency with `strum` in `sea-orm` * Re-exported `sea_orm_macros::EnumIter` instead of `strum::EnumIter` on the root of `sea-orm` +* The Variant Enum generated by `DeriveActiveEnum` will properly escape non-UAX#31 compliant characters ## 0.11.2 - Pending