Room 3.0

Room 2.x, Room 3.0 and the Kotlin Multiplatform Rewrite

Most Room 234 code online is Room 2.x (androidx.room). Room 3.0 (stable 1 July 2026, 3.0.3 on 9 September) is a Kotlin Multiplatform 25,990 rewrite under a new group and package, androidx.room3, so it can live beside Room 2.x, which WorkManager 234 (WorkManager) still uses internally. Room 2.x entered maintenance mode in March 2026, with bug-fix releases (2.8.5 is current) but no new features. BookNest uses Room 3.0.3.

What changed between Room 2.x and Room 3.0
Room 2.x (androidx.room) Room 3.0 (androidx.room3)
Code generation Java or Kotlin; KAPT, Java AP or KSP Kotlin only, KSP only
Database access SupportSQLiteDatabase, Cursor SQLiteDriver and SQLiteConnection
Blocking DAO functions Allowed off the main thread Not allowed: suspend or Flow
LiveData, RxJava, Paging Built in Separate artifacts, registered converters
Platforms Android, JVM, iOS (2.7+) Android, JVM, iOS, JS and Wasm

Porting from Room 2.x is mostly mechanical: change the imports, make every DAO function suspend or reactive, call setDriver(), rename the converter annotations, and rewrite migrate() bodies for SQLiteConnection. On the web targets, androidx.sqlite:sqlite-web keeps the database in the browser's Origin Private File System. Start new apps on Room 3.0, and move older ones when you next touch the data layer.