{
 "id": "sea-orm",
 "name": "SeaORM",
 "url": "https://dev-news.anonyfox.com/sea-orm/",
 "site": "https://www.sea-ql.org/SeaORM/",
 "ecosystem": "rust",
 "title": "SeaORM release history: 43 candidates to 2.0",
 "description": "Every SeaORM release since 2024 from crates.io, the 43 release candidates before 2.0 drawn as a staircase against 1.0's seven, and what came of the Rust ORM stories dev-news covered.",
 "lede": {
  "date": "2026-10-24",
  "paragraphs": [
   "SeaORM 2.0.0 reached crates.io on 19 July 2026 after 43 release candidates spread over a year, from rc.1 in July 2025 to rc.43 four days before the final. Three of them went out on 29 December 2025. SeaORM 1.0 needed seven. Four 2.0 patches have followed, the latest on 27 September.",
   "In August 2021 the team's release-model post said that after 1.0 \"a major release will be rolled out every year. So you will probably be expecting a 2.0 in 2023.\" 1.0 arrived in August 2024 and 2.0 just under two years after it."
  ]
 },
 "latest": {
  "version": "2.0.4",
  "date": "2026-09-27",
  "url": "https://github.com/SeaQL/sea-orm/releases/tag/2.0.4",
  "summary": "Add selectexcept to select all columns except the given ones https://github.com/SeaQL/sea-orm/pull/3211"
 },
 "stable_releases_since_2024": 32,
 "prereleases_since_2024": 54,
 "releases": [
  {
   "version": "2.0.4",
   "date": "2026-09-27",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/2.0.4",
   "summary": "Add selectexcept to select all columns except the given ones https://github.com/SeaQL/sea-orm/pull/3211"
  },
  {
   "version": "2.0.3",
   "date": "2026-09-13",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/2.0.3",
   "summary": "Fix panics when using selectalso / selectboth with a column that requires a cast on select #3194"
  },
  {
   "version": "2.0.2",
   "date": "2026-08-12",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/2.0.2",
   "summary": "Add requireone to fetch exactly one row, erroring if none: a non-optional counterpart to one() that returns the item directly and yields…"
  },
  {
   "version": "2.0.1",
   "date": "2026-08-02",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/2.0.1",
   "summary": "Add setpage to Paginator to set the current page https://github.com/SeaQL/sea-orm/pull/2963"
  },
  {
   "version": "2.0.0",
   "date": "2026-07-19",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/2.0.0",
   "summary": "Expression methods like .eq(), .like(), .contains() now require"
  },
  {
   "version": "1.1.20",
   "date": "2026-03-31",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.20",
   "summary": "Add exists method to PaginatorTrait https://github.com/SeaQL/sea-orm/discussions/730"
  },
  {
   "version": "1.1.19",
   "date": "2025-11-11",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.19",
   "summary": "Add findlinkedrecursive method to ModelTrait https://github.com/SeaQL/sea-orm/pull/2480"
  },
  {
   "version": "1.1.18",
   "date": "2025-11-10",
   "url": "https://crates.io/crates/sea-orm/1.1.18",
   "summary": null
  },
  {
   "version": "1.1.17",
   "date": "2025-10-09",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.17",
   "summary": "Added mapsqlxmysqlopts, mapsqlxpostgresopts, mapsqlxsqliteopts to ConnectOptions https://github.com/SeaQL/sea-orm/pull/2731"
  },
  {
   "version": "1.1.16",
   "date": "2025-09-11",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.16",
   "summary": "Fix enum casting in DerivePartialModel https://github.com/SeaQL/sea-orm/pull/2719 https://github.com/SeaQL/sea-orm/pull/2720"
  },
  {
   "version": "1.1.15",
   "date": "2025-08-31",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.15",
   "summary": "Allow DerivePartialModel to have nested aliases https://github.com/SeaQL/sea-orm/pull/2686"
  },
  {
   "version": "1.1.14",
   "date": "2025-07-21",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.14",
   "summary": "[sea-orm-cli] Mask sensitive ENV values https://github.com/SeaQL/sea-orm/pull/2658"
  },
  {
   "version": "1.1.13",
   "date": "2025-06-29",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.13",
   "summary": "[sea-orm-cli] New --frontend-format flag to generate entities in pure Rust https://github.com/SeaQL/sea-orm/pull/2631"
  },
  {
   "version": "1.1.12",
   "date": "2025-05-27",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.12",
   "summary": "Make sea-orm-cli & sea-orm-migration dependencies optional https://github.com/SeaQL/sea-orm/pull/2367"
  },
  {
   "version": "1.1.11",
   "date": "2025-05-07",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.11",
   "summary": "Added ActiveModelTrait::defaultvalues"
  },
  {
   "version": "1.1.10",
   "date": "2025-04-14",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.10",
   "summary": "Upgrade sqlx to 0.8.4 https://github.com/SeaQL/sea-orm/pull/2562"
  },
  {
   "version": "1.1.9",
   "date": "2025-04-13",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.9",
   "summary": "[sea-orm-macros] Use fully-qualified syntax for ActiveEnum associated type https://github.com/SeaQL/sea-orm/pull/2552"
  },
  {
   "version": "1.1.8",
   "date": "2025-03-30",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.8",
   "summary": "Implement DeriveValueType for enum strings"
  },
  {
   "version": "1.1.7",
   "date": "2025-03-02",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.7",
   "summary": "Support nested entities in FromQueryResult https://github.com/SeaQL/sea-orm/pull/2508"
  },
  {
   "version": "1.1.6",
   "date": "2025-02-23",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.6",
   "summary": "Support PgVector (under feature flag postgres-vector) https://github.com/SeaQL/sea-orm/pull/2500"
  },
  {
   "version": "1.1.5",
   "date": "2025-02-14",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.5",
   "summary": "Added Schema::jsonschemafromentity to construct a schema description in json for the given Entity"
  },
  {
   "version": "1.1.4",
   "date": "2025-01-10",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.4",
   "summary": "Allow modifying the connection in migrations https://github.com/SeaQL/sea-orm/pull/2397"
  },
  {
   "version": "1.1.3",
   "date": "2024-12-24",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.3",
   "summary": "[sea-orm-codegen] register seaography entity modules & active enums https://github.com/SeaQL/sea-orm/pull/2403"
  },
  {
   "version": "1.1.2",
   "date": "2024-12-02",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.2",
   "summary": "Added ColumnTrait::enumtypename() to signify enum types https://github.com/SeaQL/sea-orm/pull/2415"
  },
  {
   "version": "1.1.1",
   "date": "2024-11-04",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.1",
   "summary": "[sea-orm-macros] impl From<Model> for ActiveModel instead of impl From<<Entity as seaorm::EntityTrait>::Model> for ActiveModel…"
  },
  {
   "version": "1.1.0",
   "date": "2024-10-15",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.1.0",
   "summary": "[sea-orm-macros] Call EnumIter::get using fully qualified syntax https://github.com/SeaQL/sea-orm/pull/2321"
  },
  {
   "version": "1.0.1",
   "date": "2024-08-27",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.0.1",
   "summary": "Added ConnectOptions::connectlazy for creating DB connection pools without establishing connections up front https://github.com/SeaQL/sea-orm/pull/2268"
  },
  {
   "version": "1.0.0",
   "date": "2024-08-02",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/1.0.0",
   "summary": "Introduce PrimaryKeyArity with ARITY constant https://github.com/SeaQL/sea-orm/pull/2185"
  },
  {
   "version": "0.12.15",
   "date": "2024-03-15",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/0.12.15",
   "summary": "DerivePartialModel macro attribute entity now supports syn::Type https://github.com/SeaQL/sea-orm/pull/2137"
  },
  {
   "version": "0.12.14",
   "date": "2024-02-05",
   "url": "https://github.com/SeaQL/sea-orm/releases/tag/0.12.14",
   "summary": "Added feature flag sqlite-use-returning-for-335 to use SQLite's returning https://github.com/SeaQL/sea-orm/pull/2070"
  }
 ],
 "log": [],
 "then": [
  {
   "date": "2021-08-30",
   "title": "SeaQL's release model",
   "source": "https://www.sea-ql.org/blog/2021-08-30-release-model/",
   "old_url": "https://dev-news.anonyfox.com/articles/seaql-s-agile-release-model-explained",
   "next": [
    "The post planned weekly releases and 0.9 by April 2022; 0.9.0 came in July 2022. It expected 2.0 in 2023, and 2.0 shipped in July 2026."
   ]
  },
  {
   "date": "2024-04-08",
   "title": "What's new in SeaORM 1.0-rc.x",
   "source": "https://www.sea-ql.org/blog/2024-04-08-whats-new-in-seaorm-1.0-rc.x/",
   "old_url": "https://dev-news.anonyfox.com/articles/new-features-and-improvements-in-seaorm-1-0-rc-x",
   "next": [
    "Seven candidates in all; 1.0.0 followed in August 2024, and the 1.1 line ran to 1.1.20 in March 2026."
   ]
  },
  {
   "date": "2024-05-28",
   "title": "Building a REST backend using Loco and SeaORM",
   "source": "https://www.sea-ql.org/blog/2024-05-28-getting-started-with-loco-seaorm/",
   "old_url": "https://dev-news.anonyfox.com/articles/building-a-rest-backend-using-loco-seaorm",
   "next": [
    "Loco reached 1.0 on 29 July 2026, ten days after SeaORM 2.0, and its headline change was the move to SeaORM 2.0."
   ]
  }
 ],
 "coverage": {
  "ok": true,
  "expected": 86,
  "present": 86,
  "checked_at": "2026-10-24T17:23:21.434Z",
  "since": "2024-01-01T00:00:00.000Z"
 },
 "sources": {
  "releases": {
   "type": "crates",
   "id": "sea-orm"
  },
  "github": {
   "repo": "SeaQL/sea-orm",
   "tag_filter": "^v?\\d"
  }
 },
 "feed": "https://dev-news.anonyfox.com/sea-orm/feed.xml",
 "markdown": "https://dev-news.anonyfox.com/sea-orm.md"
}
