Room 2.4.0-beta02

2.4.0-beta02
Added 2
  • Support for SparseArray and LongSparseArray in @MapInfo
  • A new TypeConverter analyzer that takes nullability information in types into account, turned on by default in KSP and disabled by passing room.useNullAwareTypeAnalysis=false to the annotation processor
Fixed 4
  • Room failing to compile with a SQL error when an FTS entity declares the ICU tokenizer
  • Auto migrations failing when a new column is added to an embedded Entity between versions
  • Relational query return types in LEFT JOIN queries including invalid value objects in the collection returned for a key when they are not found in the cursor; a key with no valid values is now mapped to an empty collection
  • Auto migrations failing to escape SQLite keywords in column names

From Room

We’ve added support for SparseArray and LongSparseArray in @MapInfo. ( Ic91a2 b/138910317) We've added a new TypeConverter analyzer that takes nullability information in types into account. As this information is only available in KSP, it is turned on by default only in KSP. If it causes any issues, you can turn it off by passing room.useNullAwareTypeAnalysis=false to the annotation processor. If that happens, please a file bug as this flag will be removed in the future. With this new TypeConverter analyzer, it is suggested to only provide non-null receiving TypeConverters as the new analyzer has the ability to wrap them with a null check. Note that this has no impact for users using KAPT or Java as the annotation processors (unlike KSP), don't have nullability information in types. ( Ia88f9, b/193437407) Fix a bug where Room would fail to compile with a SQL error when an FTS entity declared to use the ICU tokenizer. ( I00db9, b/201753224) Resolved issue in auto migrations regarding a new column added to an embedded Entity between versions. ( I5fcb1 b/193798291) We have resolved an issue regarding the relational query method return types in LEFT JOIN queries. With these changes, in the case where a 1-many mapping is present, the collection returned for a key will not include the invalid value object if it is not found in the cursor. If no valid values are found, then a key will be mapped to an empty collection. ( Id5552 b/201946438) Resolved the auto migration issue where SQLite keywords failed to be escaped in column names. ( Idbed4 b/197133152)

View original

Upgraded? How did it go?

Discussion