- AndroidX migration (thanks @Shusshu!)
- Support incremental annotation processing (thanks @bejibx!)
- Fix incorrect proguard rules for for paperparcel-kotlin
- Synchronize the write method cache
- Stricter consumer proguard rules for paperparcel-kotlin
- Fix: setter method name matching for properties that start with 'has'
- Add optional Lombok support (thanks to @ayanyev and @InviaTravel)
- Fix: compile issue when passing Parcelable creators of a generic type
- Fix: internal properties in kotlin
- Fix: resolve generic field types for fields contained in subclasses
- Fix: crash when a superclass and a subclass have a field with the same name
- Fix: broken build using kotlin 1.1.2.
- Fix: error message for non-writable types would sometimes tell you a field was private when it wasn't.
- Fix: Java keywords could not be used as property names as of Kotlin 1.1.0.
- Remove RegisterAdapter. ProcessorConfig should be used instead.
- Undeprecate PaperParcel.Options.
- Consolidate ProcessorConfig API and PaperParcel.Options as they share many of the same APIs.
- Favours local options over global options.
- More descriptive error messages.
- Allow PaperParcel class inheritance.
- Allow java.lang.Object adapters.
- Fix: Jack compilation.
- Fix: property method matching when variables start with 'is'
- Added
ProcessorConfig
API for adding customTypeAdapter
s and configuring other options in the processor. - Deprecated
RegisterAdapter
API in favour ofProcessorConfig
- Deprecated
PaperParcel.Options
API in favour ofProcessorConfig
- Re-added
Serializable
support - Performance improvements in the compiler and in the generated code
- Fix: allow use of "new" as a variable name in kotlin (as it isn't a kotlin keyword)
- Validate kapt version and give a helpful error message if the wrong version is being used
- Fix: allow use of contravariant generic types
- Greatly improve type matching system. This allows for adapters to handle complex generic types, including intersection types.
- Change package name from
nz.bradcampbell.paperparcel
to justpaperparcel
TypeAdapter
s can now list otherTypeAdapter
s orClass
es as constructor parameters to allow for adding proper support for non-standard container and types (and more).- Removed "wrapper" types. Each wrapper is replaced with a
Parcelable.Creator
and awriteToParcel
implementation for classes to manually use/call in their model objects. - Removed the
TypedParcelable
interface as wrappers no longer exist - Removed
PaperParcels
class and all reflection calls - Removed Mapping file
- Removed support for
Serializable
out of the box. Users can opt-in to usingSerializable
via explicitTypeAdapter
s - Removed
AccessorName
API - Renamed
DefaultAdapter
toRegisterAdapter
and removed all other types of adapter scoping (field and class scopes) as they served no purpose - Force annotated classes to implement
Parcelable
as wrappers have been removed - Greatly improve usage from Java
- Add a more powerful abstraction for excluding fields
- Package paperparcel as an AAR (includes proguard rules)
- Adapter instances are defined as static constants to reduce the amount of allocations when
parcelling. All built-in
TypeAdapter
s are singleton instances where they can be. - Method count of output greatly reduced (as well as output being cleaner and easier to understand)
- Improved error messaging
- Fix: multi module builds
- Release now on jcenter and maven central instead of jitpack
- Fix: Can't reference
CREATOR
oncom.google.android.gms.maps.model.LatLng
- Initial release.