Android 6.0 support and the removal of Apache Http Client as a dependency

Rotation gestures now has reduced jitter

Can now set the HTTP User Agent for all HTTP connections

BREAKING CHANGES!!

The API structure for IArchiveFile has changed. If you have a custom one, it can now be registered by file extension via ArchiveFileFactory.registerArchiveFileProvier(Class, file extension). IArchiveFile should also provide a list of named tile sources.

The API structure ITileSource and everything related to it has changed. All methods that required a ResourceProxy.string value were modified to no longer require the ResourceProxy.string value. It wasn't really used anywhere, was unnecessary and only added confusion.

Apache Http Client removed

Rotation Gesture detector is now included in osmdroid-android@aar and is in a new name space

4.3

Fixing issue #22: MapController.setCenter not centering when used in onCreate (and more generally: all actions on mapView positionning done in onCreate).

Fixing issues related to high density screens.

4.2

Note - breaking changes

We have made a number of changes to the maps that may require some changes for users that write their own Overlays.

The Projection class is the singular authority for lat/long <-> pixel conversions. Do NOT use TileSystem unless you really know what you're doing.

The Projection methods have been simplified and now strictly follow the Google Maps v1 API. One major change is that toMapPixels() is now correctly called toPixels(). Redundant and confusing methods were removed.

The Projection class is broken out into its own class. It can be extended to add additional functionality by users. Override MapView.getProjection() to pass back your own instance.

The "Safe" canvas classes have been eliminated. All "Safe" classes can be reverted back to their normal counterparts - so SafePaint can be reverted to Paint, SafeCanvas to Canvas, etc...

We have implemented an OsmPath which behaves similarly to the old SafePath class. By calling onDrawCycle() in the draw() method of your overlay, it will adjust the location of the path so as to avoid having to recalculate the points on every draw.