Skip to content

Upgrading built_value 7 to 8

Breaking7.1.0 → 8.13.0Breaking2Deprecated1New4Changed23Fixed3

Fetching 55 releases from GitHub…23 / 55
BreakingUpgrade verdict

2 breaking changes.

  • The generator no longer produces code for Dart versions older than 2.12, so projects on older Dart SDKs cannot use this version.
  • The generator now processes fewer files by default. Files that relied on indirect imports or other annotations will no longer be generated unless configured.
  • The @nullable annotation is now deprecated. It has no effect, so stop using it.
3 items need code or config changes

Dart SDK requirement changed in 8.8.1: >=2.3.0 <3.0.0 → >=3.0.0 <4.0.0.

Breaking2
Removes support for generating legacy pre-2.12 Dart code.
built_value now only runs on libraries that directly import package:built_value/built_value.dart or use an annotation called @SerializersFor.
package:built_value/built_value.dart@SerializersFor
Deprecated1
Marks @nullable deprecated because it does nothing and should not be used.
@nullable

Generated by DepDelta from published Dart source. Not mixed with prose notes.

  • changed: method BuiltListAsyncDeserializer.deserialize(Serializers serializers, Iterable serialized, {FullType specifiedType = …}): Stream<Object> → method BuiltListAsyncDeserializer.deserialize(Serializers serializers, Iterable serialized, {FullType specifiedType = …}): Stream<Object?>
  • changed: ctor BuiltValueField({this.compare, this.serialize, this.wireName}) → ctor BuiltValueField( {this.compare, this.serialize, this.wireName, this.nestedBuilder, this.autoCreateNestedBuilder})
  • changed: field BuiltValue.wireName: final String → field BuiltValue.wireName: final String?
  • changed: field BuiltValueEnum.wireName: final String → field BuiltValueEnum.wireName: final String?
  • changed: field BuiltValueEnumConst.wireName: final String → field BuiltValueEnumConst.wireName: final String?
  • changed: field BuiltValueEnumConst.wireNumber: final int → field BuiltValueEnumConst.wireNumber: final int?
  • changed: field BuiltValueField.compare: final bool → field BuiltValueField.compare: final bool?
  • changed: field BuiltValueField.serialize: final bool → field BuiltValueField.serialize: final bool?
  • changed: field BuiltValueField.wireName: final String → field BuiltValueField.wireName: final String?
  • changed: method Builder.update(Function(B) updates): void → method Builder.update(Function(B)? updates): void
  • changed: method BuiltValueToStringHelper.add(String field, Object value): void → method BuiltValueToStringHelper.add(String field, Object? value): void
  • changed: method FlatBuiltValueToStringHelper.add(String field, Object value): void → method FlatBuiltValueToStringHelper.add(String field, Object? value): void
  • changed: method IndentingBuiltValueToStringHelper.add(String field, Object value): void → method IndentingBuiltValueToStringHelper.add(String field, Object? value): void
  • added: class BuiltValueHook
  • added: ctor BuiltValueHook( {this.initializeBuilder = …, this.finalizeBuilder = …})
  • added: field BuiltValueField.autoCreateNestedBuilder: final bool?
  • added: field BuiltValueField.nestedBuilder: final bool?
  • added: field BuiltValueHook.finalizeBuilder: final bool
  • added: field BuiltValueHook.initializeBuilder: final bool
  • added: static method BuiltValueNullFieldError.checkNotNull<T>(T? value, String type, String field): T
  • changed: method Iso8601DateTimeSerializer.deserialize(Serializers serializers, Object serialized, {FullType specifiedType = …}): DateTime → method Iso8601DateTimeSerializer.deserialize(Serializers serializers, Object? serialized, {FullType specifiedType = …}): DateTime
  • changed: method Iso8601DurationSerializer.deserialize(Serializers serializers, Object serialized, {FullType specifiedType = …}): Duration → method Iso8601DurationSerializer.deserialize(Serializers serializers, Object? serialized, {FullType specifiedType = …}): Duration
  • changed: ctor JsonObject(Object value) → ctor JsonObject(Object? value)
  • changed: ctor ListJsonObject(List<Object> value) → ctor ListJsonObject(List<Object?> value)
  • changed: ctor MapJsonObject(Map<String, Object> value) → ctor MapJsonObject(Map<String, Object?> value)
  • changed: field ListJsonObject.value: final List<Object> → field ListJsonObject.value: final List<Object?>
  • changed: field MapJsonObject.value: final Map<String, Object> → field MapJsonObject.value: final Map<String, Object?>
  • changed: get ListJsonObject.asList: List<Object> → get ListJsonObject.asList: List<Object?>
  • changed: get MapJsonObject.asMap: Map<String, Object> → get MapJsonObject.asMap: Map<String, Object?>
  • changed: method BoolJsonObject.operator ==(dynamic other): bool → method BoolJsonObject.operator ==(Object other): bool
  • changed: method ListJsonObject.operator ==(dynamic other): bool → method ListJsonObject.operator ==(Object other): bool
  • changed: method MapJsonObject.operator ==(dynamic other): bool → method MapJsonObject.operator ==(Object other): bool
  • changed: method NumJsonObject.operator ==(dynamic other): bool → method NumJsonObject.operator ==(Object other): bool
  • changed: method StringJsonObject.operator ==(dynamic other): bool → method StringJsonObject.operator ==(Object other): bool
  • changed: ctor DeserializationError(Object json, FullType type, Error error) → ctor DeserializationError(Object? json, FullType type, Error error)
  • changed: field DeserializationError.json: final String → field DeserializationError.json: final String?
  • changed: field FullType.root: final Type → field FullType.root: final Type?
  • changed: method FullType.operator ==(dynamic other): bool → method FullType.operator ==(Object other): bool
  • changed: method SerializerPlugin.afterDeserialize(Object object, FullType specifiedType): Object → method SerializerPlugin.afterDeserialize(Object? object, FullType specifiedType): Object?
  • changed: method SerializerPlugin.afterSerialize(Object object, FullType specifiedType): Object → method SerializerPlugin.afterSerialize(Object? object, FullType specifiedType): Object?
  • changed: method SerializerPlugin.beforeDeserialize(Object object, FullType specifiedType): Object → method SerializerPlugin.beforeDeserialize(Object? object, FullType specifiedType): Object?
  • changed: method SerializerPlugin.beforeSerialize(Object object, FullType specifiedType): Object → method SerializerPlugin.beforeSerialize(Object? object, FullType specifiedType): Object?
  • changed: method Serializers.deserialize(Object serialized, {FullType specifiedType = …}): Object → method Serializers.deserialize(Object? serialized, {FullType specifiedType = …}): Object?
  • changed: method Serializers.deserializeWith<T>(Serializer<T> serializer, Object serialized): T → method Serializers.deserializeWith<T>(Serializer<T> serializer, Object? serialized): T?
  • changed: method Serializers.serialize(Object object, {FullType specifiedType = …}): Object → method Serializers.serialize(Object? object, {FullType specifiedType = …}): Object?
  • changed: method Serializers.serializeWith<T>(Serializer<T> serializer, T object): Object → method Serializers.serializeWith<T>(Serializer<T> serializer, T? object): Object?
  • changed: method Serializers.serializerForType(Type type): Serializer → method Serializers.serializerForType(Type type): Serializer?
  • changed: method Serializers.serializerForWireName(String wireName): Serializer → method Serializers.serializerForWireName(String wireName): Serializer?
  • changed: method StructuredSerializer.deserialize(Serializers serializers, Iterable serialized, {FullType specifiedType = …}): T → method StructuredSerializer.deserialize(Serializers serializers, Iterable<Object?> serialized, {FullType specifiedType = …}): T
  • changed: method StructuredSerializer.serialize(Serializers serializers, T object, {FullType specifiedType = …}): Iterable → method StructuredSerializer.serialize(Serializers serializers, T object, {FullType specifiedType = …}): Iterable<Object?>
  • added: ctor FullType.nullable(this.root, [this.parameters = …])
  • added: field FullType.nullable: final bool
  • added: get Serializers.serializerPlugins: Iterable<SerializerPlugin>
  • added: method FullType.withNullability(bool nullability): FullType
  • added: method Serializers.fromJson<T>(Serializer<T> serializer, String serialized): T?
  • added: method Serializers.toJson<T>(Serializer<T> serializer, T? object): String
  • changed: ctor StandardJsonPlugin({this.discriminator = …, this.valueKey = …}) → ctor StandardJsonPlugin({ this.discriminator = …, this.valueKey = …, Iterable<Type>? typesToLeaveAsList, })
  • changed: method StandardJsonPlugin.afterDeserialize(Object object, FullType specifiedType): Object → method StandardJsonPlugin.afterDeserialize(Object? object, FullType specifiedType): Object?
  • changed: method StandardJsonPlugin.afterSerialize(Object object, FullType specifiedType): Object → method StandardJsonPlugin.afterSerialize(Object? object, FullType specifiedType): Object?
  • changed: method StandardJsonPlugin.beforeDeserialize(Object object, FullType specifiedType): Object → method StandardJsonPlugin.beforeDeserialize(Object? object, FullType specifiedType): Object?
  • changed: method StandardJsonPlugin.beforeSerialize(Object object, FullType specifiedType): Object → method StandardJsonPlugin.beforeSerialize(Object? object, FullType specifiedType): Object?
  • added: field StandardJsonPlugin.typesToLeaveAsList: final BuiltSet<Type>