Skip to content

Latest commit

 

History

History
166 lines (138 loc) · 4.77 KB

CHANGELOG.md

File metadata and controls

166 lines (138 loc) · 4.77 KB

Changelog

4.0.1

  • fix issue #74, Default(ofStatement = ...) can now correctly be used with generic classes
  • fix issue #77, get rid of PreferenceManager since it's deprecated in Android 11

4.0.0

  • Changed default getter/putter naming scheme. Methods need a get/set prefix now. The prefence name is determined by the string after get/set changing the first letter to lowercase. Example: getStringPreference leads to a preference key named stringPreference
  • Add @Get/@Put annotations to be able to use arbitrary named methods.
  • Methods with runtime defaults don't need a Suffix anymore since the name is unique now
  • Add possibility to use boolean return type for collection actions that propagate the result of add/remove back to the caller
  • Removed support for reflection in the processor. That means that all used interfaces must be in the same compilation unit. (not in a binary library dependency)

3.0.3

  • fix #73
  • update Jackson because of security issue

3.0.2

  • fix large Heap on build by not retaining ProcessingEnvironment
  • update Jackson because of security issue

3.0.1

  • suppress "unchecked" warnings in generated code
  • update Jackson because of security issue

3.0.0

  • complete overhaul of processor structure, split into 3 seperate processor artifacts:
    • esperandro-preference-gen The default processor that generates implementations for interfaces annotated with @SharedPreferences. This one is incremental.
    • esperandro-resources-gen A processor that generates a resource file for accessing the names of the preferences in other resource files via @string/... This is not incremental.
    • esperandro-keys-gen A processor that generates a Java class with the same name as the preference interface plus Keys suffix. This contains string constants for all defined preferences if string based access is still needed. This one is incremental.
  • removed deprecated values
  • moved @GenerateStringResources and @Cached from experimental package
  • incorporated UnsafeActions into SharedPreferenceActions
  • update dependencies
  • ability to choose LruCache implementation from support, androidx or framework

2.7.1

  • fix ofStatement default for serialized preferences

2.7.0

  • fix 51
  • add ofStatement definition to @Default annotation

2.6.0

  • fix #48
  • fix #47, use same visibility for generated preferences as interface
  • add char and byte support
  • update dependencies

2.5.2

  • simple set and get methods via name of preference
  • Add support for Arrays

2.5.1

  • class default for complex types (proved class will be instantiated with default constructor)

2.5.0

  • internal refactoring
  • generate String constants of preference names
  • possibility to add and remove values from Collection types via $Add and $Remove prefixes

2.4.1

  • fix warning message
  • automatic cache size

2.4.0

  • fix #41, #38
  • add resetCache method on CacheActions
  • fix NullPointerException in cache
  • warn when caching default SharedPreferences
  • experimental String resource generation

2.3.1

  • fix #37
  • update dependencies

2.3.0

  • generated container classes implement the Serializable interface
  • caching via @Cached annotation

2.2.0

  • fix for issue #29: search JacksonSerializer automatically on classpath
  • do not generate API Level checks
  • dropped complete support for API < 9
  • update dependencies

2.1.0

  • fix for issue #23 by wrapping generics into a container
  • bumped dependency versions (this fixes #25)
  • new SharedPreferenceActions action to clear only values that were explicitly defined in the interface

2.0.0

  • Allow getter with a runtime default by appending the $Default suffix
  • Add Jackson Serializer plugin

1.1.2

  • small follow-up bugfix regarding #16

1.1.1

  • fix #16
  • add prefix for esperandro compiler messages
  • update dependencies

1.1

  • changed default file system sync of preferences from commit() to apply(). Reduces load on the UI Thread.
  • added support for setters with boolean return type. Those still use commit() to be able to tell about the success of the operation
  • added action "initDefaults". Can be used to initialize default values for immediate access in PreferenceActivities
  • circumvent exception when using maven and robolectric

1.0

  • updated JavaWriter to 2.1.2
  • added remove functionality in SharedPreferenceActions
  • minor bugfix when using generics as serializable Objects

0.13

  • allow storing and accessing of serializable Objects into the preferences
  • fixed interface inheritance for library projects in eclipse and for super interfaces in jars

0.12

  • added interface inheritance

0.11

  • bugfixes

0.10

  • bugfixes

0.9

  • intial release