1.3.1:
  - Migrate from android.support to androidx library
  - Add a default close() method
  - Support for long arrays as parameters
  - Use newer Notification methods for Android O and above
  - Various minor fixes

1.3.0:
  - Support for RPC scheduling
  - Support for custom converters of non-primitive types
  - Support for JSONArray parsing of parameters
  - Various minor fixes and cleanups

1.2.0:
  - New startup protocol:
    - Snippet protocol is now versionated and reported to instrumentation output
    - Snippet startup progress can now be monitored via output
    - Server port can now be allocated on device and reported via output
  - Improvements to help() output
  - Allow close() methods to throw exceptions

1.1.0:
  - Support for asynchronous RPCs
  - Add an optional annotation to cause RPCs to be invoked on the main thread
  - Log tags are now configurable in the manifest

1.0.1:
  - Ignore regular JUnit tests linked into the snippet lib
  - Improved exception handling and reporting

1.0.0: Initial release of Mobly Snippet Lib with some examples
