CHANGELOG 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483
  1. Version 1.10.5 - October 2015
  2. =============================
  3. Resolved Issues:
  4. - Workaround an issue in the Swift compiler's handling of umbrella header
  5. module entries.
  6. Version 1.10.4 - October 2015
  7. =============================
  8. Resolved Issues:
  9. - Fixed a crash on iOS 9 when dismissing the place picker without a selection.
  10. - Fixed a crash when using both a GMSMapView and a UIWebView or WKWebView in the view
  11. hierarchy at the same time.
  12. - Recompiled with Xcode 7 to avoid raising failed to load optimized model log messages
  13. on iOS 9 devices.
  14. Version 1.10.3 - September 2015
  15. ===============================
  16. Features:
  17. - Google logos have been updated.
  18. Resolved Issues:
  19. - Framework now ships with the device version of bundles to pass Xcode 7 archive checks.
  20. Version 1.10.2 - August 2015
  21. ============================
  22. Resolved Issues:
  23. - Fixed a crash releasing a map view while in background.
  24. - Resolved a conflict with apps using gtm-session-fetcher resumable downloads.
  25. - Recompiled with Xcode 6.4 to avoid some bugs in Xcode 6.3 compiler.
  26. - Updated GoogleMaps.bundle info.plist to avoid triggering new checks in
  27. pre-submission verification.
  28. Version 1.10.1 - June 2015
  29. ==========================
  30. Resolved Issues:
  31. - Fixed an issue where instantiating GMSPlacesClient triggered a request to enable Bluetooth.
  32. - Miscellaneous improvements to the GMSPlacePicker UI.
  33. Version 1.10.0 - May 2015
  34. =========================
  35. Major Feature:
  36. - Places API is now bundled with the Google Maps SDK for iOS.
  37. Features:
  38. - New allowScrollGesturesDuringRotateOrZoom property on GMSUISettings controls whether
  39. the user can scroll by panning during multi-touch rotate or zoom gestures.
  40. - GMSPanoramaView now supports being used via storyboard.
  41. - GMSGeocoder now supports being used while the application is in the background.
  42. - GMSServices sharedServices can now be called while application is in the background. Note
  43. that if the first call to sharedServices is while application is in the background some
  44. async initialization work will be deferred until the first time a map is shown where it will
  45. be performed synchronously.
  46. - GMSMapView/GMSPanoramaView init messages can now be handled while the application is in
  47. background. This should remove the last case where GMSMapView/GMSPanoramaView could not
  48. be used in the background.
  49. - GMSMapView/GMSPanormaView delegate properties now support IBOutlet for easier use via
  50. storyboard.
  51. Resolved Issues:
  52. - mapView:didTapMyLocationButtonForMapView: is now correctly called even if no location is
  53. available.
  54. - GMSGroundOverlay now shows correctly when rotated if image aspect ratio doesn't match the
  55. selected ground region.
  56. - Fixed an issue resizing the map on iOS 8.
  57. - Fixed a rare crash under fast camera changes.
  58. - Map no longer hangs when adding a ground overlay with certain invalid bounds.
  59. - Fixed a crash when texture memory is exhausted by markers.
  60. - Correctly return the tapped GMSCircle to mapView:didTapOverlay: for tappable circles.
  61. - mapView:idleAtCameraPosition: will now be called even if there is an ongoing update of the
  62. my location dot.
  63. Notes:
  64. - Due to an ABI change in the Xcode compiler, Xcode 6.3 is now the only supported version for
  65. compiling against Google Maps SDK for iOS.
  66. - The minimum target iOS version for Google Maps SDK for iOS is now 7.0. Version 6.0 is no
  67. longer supported.
  68. Version 1.9.2 - February 2015
  69. =============================
  70. Resolved Issues:
  71. - Show correct characters for Myanmar place labels.
  72. - Fixed small memory leak related to font registration.
  73. - Fixed large memory leak in rare cases where My Location is enabled and the user rotates
  74. the screen.
  75. - Correctly show ground overlays defined by zoom level which extend across >180 degrees
  76. of longitude.
  77. - Allow selected marker to be set during mapView:didTapAtCoordinate:.
  78. - Throw exception rather than crash when map services are initialized while application is
  79. in background.
  80. - Raise mapView:willMove: and mapView:idleAtCameraPosition: even for swipe motions which
  81. last less than 30ms.
  82. - Correctly handle animations starting while a gesture is decelerating.
  83. - Always return an error from GMSPanoramaService callbacks if panorama is nil.
  84. - Don't attempt to navigate to empty panorama if moveNearCoordinate: resolves to nil.
  85. Version 1.9.1 - December 2014
  86. =============================
  87. Resolved Issues:
  88. - Added workaround for userEmail private selector false positive.
  89. - Improved handling of info windows for iPhone 6+ running applications in scaled mode.
  90. Version 1.9.0 - October 2014
  91. ============================
  92. Features:
  93. - Support for iOS 8
  94. - Support for iPhone 6/6+
  95. - Support for Swift
  96. - UI elements have been updated for material design
  97. Resolved Issues:
  98. - Fixed some memory reclamation issues
  99. - Improved handling of application background state transition
  100. Notes:
  101. ! In order to improve compatibility with Swift, two geometry library
  102. functions have been renamed to avoid function overloading
  103. The new names are GMSGeometryIsLocationOnPathTolerance and
  104. GMSStyleSpansOffset
  105. Version 1.8.1 - May 2014
  106. ========================
  107. Resolved Issues:
  108. - Resolved GMSTileLayer not displaying
  109. - Resolved a rare case where an app would crash when displaying polylines
  110. while accessibility features are enabled
  111. - mapView:willMove: is no longer called alongside a tap gesture
  112. - Resolved symbol collisions with the Protocol Buffer library
  113. Version 1.8.0 - May 2014
  114. ========================
  115. Resolved Issues:
  116. - Resolved threading deadlock prominent on iPhone 4 running iOS 7.1 or later
  117. - GMSMapView correctly releases some shared GL state previously causing
  118. memory leak
  119. - GMSPolyline no longer crashes in some cases where its path contained more
  120. than 1024 segments
  121. - The delegate method mapView:idleAtCameraPosition: is now only called once
  122. all user gestures are complete
  123. - The Google Maps SDK for iOS now includes fonts for languages currently
  124. unsupported by the iOS system, such as Khmer
  125. - These fonts may be safely removed from your GoogleMaps.framework if you
  126. have no interest in these regions, but some text may render as "[?]"
  127. Version 1.7.2 - March 2014
  128. ==========================
  129. Resolved Issues:
  130. - Heading will only appear on My Location dot when available
  131. - Better reduction of colors on gradient or colored polylines at low zoom
  132. - The search radius is now respected when retrieving a GMSPanorama object
  133. via GMSPanoramaService and on GMSPanoramaView construction or move
  134. - GMSPolyline is no longer grayscale on iOS 7.1
  135. Version 1.7.0 - February 2014
  136. =============================
  137. Features:
  138. - Styled polylines: additional color options via GMSPolyline, including
  139. gradients and colors per any number of polyline segments
  140. * Each polyline may be drawn with many GMSStyleSpan instances, configuring
  141. a unique color or gradient over an arbitrary number of segments
  142. * Gradient or color may be specified via a GMSStrokeStyle
  143. * GMSPath provides a helper category to determine distance along a path
  144. * GMSStyleSpans helper to apply repeated styles along a polyline
  145. - GMSGeocoder now provides structured addresses via GMSAddress, deprecating
  146. GMSReverseGeocodeResult
  147. - Added mutable version of GMSCameraPosition, GMSMutableCameraPosition
  148. - Delegate method for user tapping the My Location button
  149. - Added GMSMapPoint for linear interpolation between points in Mercator space
  150. on the Earth
  151. - My Location dot now shows compass arrow
  152. - 3D building data at many places on the Earth
  153. Resolved Issues:
  154. - GMSPolyline width is much closer to screen width
  155. - GMSPolyline performance and memory improvements
  156. - Reduced memory use of OpenGL textures
  157. - Floor picker is positioned correctly when My Location button is disabled
  158. - cameraForBounds:insets: on GMSMapView now correctly accounts for padding
  159. Notes:
  160. ! To align with other Google Maps APIs, GMSMapView no longer provides helper
  161. methods to retrieve previously added overlays, such as -markers, -polylines
  162. and -groundOverlays
  163. Version 1.6.2 - January 2014
  164. ============================
  165. Resolved Issues:
  166. - Resolved a gesture bug effecting full-screen maps on iOS 7
  167. - Resolved an issue where overlays were sometimes not initially tappable
  168. Version 1.6.1 - December 2013
  169. =============================
  170. Resolved Issues:
  171. - Resolved a memory leak involving vector tiles
  172. - Markers not immediately added to a GMSMapView no longer fail to appear
  173. when configured at a later point
  174. - GMSMapView/GMSPanoramaView will now continue to render while your
  175. application is resigned
  176. Version 1.6.0 - November 2013
  177. =============================
  178. Features:
  179. - The Google Maps SDK for iOS now supports 64-bit architectures
  180. - Added the ability to restrict min and max zoom on GMSMapView
  181. - Added opacity on GMSTileLayer
  182. - Added opacity on GMSMarker, which may be animated
  183. ! Updated types within the SDK and used float or double instead of CGFloat
  184. in cases where it was more appropriate
  185. ! Core Animation on GMSMapView now requires model values to be set
  186. Resolved Issues:
  187. - Marker info windows and tappable regions now rotate correctly with markers
  188. - Padding on a GMSMapView is no longer clamped to its bounds (useful if
  189. setting padding on an initially zero-sized map)
  190. - Copyright information now animates alongside changing GMSMapView size or
  191. padding
  192. - Info windows are removed if their GMSMarker is removed from a GMSMapView
  193. - My Location dot uses the last known information when enabled
  194. - Resolved two rare race conditions that were causing crashes
  195. - Resolved an issue where retain cycles were causing memory leaks on
  196. GMSMapView and GMSPanoramaView
  197. Version 1.5.0 - September 2013
  198. ==============================
  199. Features:
  200. ! This release officially supports iOS 7, and requires iOS 6.0 or later (iOS
  201. 5.1 is no longer supported).
  202. ! The 'animated' field on GMSMarker is now known as 'appearAnimation', and
  203. may be set to kGMSMarkerAnimationNone (default) or kGMSMarkerAnimationPop
  204. - The Google Maps SDK for iOS now ships with an armv7s slice
  205. - New features for GMSMarker instances
  206. * Markers can be made draggable using the draggable property, and new drag
  207. delegate methods have been added to GMSMapViewDelegate
  208. * Added GMSMarkerLayer, a custom CALayer subclass for GMSMarker that
  209. supports animation of marker position and rotation
  210. * Added support for markers that appear flat against the Earth's surface
  211. * Added rotation property to rotate markers around their ground anchor
  212. * The UIImage used by GMSMarker now supports the images and duration
  213. properties, and will animate images with multiple frames
  214. * The UIImage used by GMSMarker now supports alignmentRectInsets, and will
  215. adjust groundAnchor, infoWindowAnchor, and the tappable region
  216. - Added padding on GMSMapView, allowing you to indicate parts of the map that
  217. may be obscured by other views; setting padding re-positions the standard
  218. map controls, and the camera and camera updates will use the padded region
  219. - GMSPanoramaView and GMSPanoramaService now support searching for panoramas
  220. with custom radius
  221. - Added cameraForBounds:insets: to GMSMapView, allowing construction of a
  222. GMSCameraPosition for the map from a specified GMSCoordinateBounds
  223. Resolved Issues:
  224. - My Location button now clips within GMSMapView
  225. - Reduced memory usage of GMSMapView through less agressive tile caching
  226. - Reduced the time taken to obtain GMSServices by moving some startup tasks
  227. to a background thread; obtaining this object early in your application
  228. (before creating a GMSMapView or other objects) may improve performance
  229. - Polylines may now be drawn twice, as required, if they have very large
  230. longitudinal span
  231. - Resolved a rounding error with very small polygons far from latlng (0,0)
  232. Version 1.4.3 - August 2013
  233. ===========================
  234. Resolved Issues:
  235. - Resolved several causes of modifying markers that could cause 'ghost'
  236. markers to appear
  237. - Resolved excess texture use when modifying animated markers
  238. Version 1.4.2 - August 2013
  239. ===========================
  240. Resolved Issues:
  241. - Fixed a rare case where modifying an animated marker could cause 'ghost'
  242. markers to appear
  243. - Prioritized markers over other overlays for tappability
  244. Version 1.4.1 - August 2013
  245. ===========================
  246. Features:
  247. - Tappable markers inside GMSPanoramaView using the
  248. panoramaView:didTapMarker: delegate method on GMSPanoramaViewDelegate
  249. - Added GMSPanoramaLayer, a custom CALayer subclass for GMSPanoramaView that
  250. supports animation of the panorama camera
  251. - GMSPanoramaCamera supports custom field of view (FOV)
  252. - Programmatic access to the floor picker allows you to enable or disable the
  253. selector, and set which floor should be displayed
  254. - GMSTileLayer now supports high DPI tiles, for use on a Retina device
  255. - GMSMapView.camera is now observable via KVO
  256. - Added fitBounds:withEdgeInsets: to GMSCameraUpdate
  257. - The default behavior of a GMSMapView to consume all gestures within its
  258. bounds may now be disabled via consumesGesturesInView
  259. - Expanded GMSGeometryUtils to include additional helper methods
  260. - GMSServices may be held by applications to maintain cache and connection to
  261. Google; this can improve performance when creating and destroying many maps
  262. - Improved visuals when resizing a GMSMapView via UIView animation methods
  263. Resolved Issues:
  264. - Fixed crash bug during memory warning (related to indoor)
  265. - Fixed crash bug with indoor maps on iOS 5.1
  266. - Performance improvements when using hundreds of GMSMarkers
  267. - Reduced memory footprint of GMSMapView
  268. - Touch target for GMSMarkers matches the size and shape of the marker when
  269. the GMSMapView is tilted
  270. - GMSMapView will no longer render a single frame of black in some cases
  271. (noticable e.g., inside UISplitViewController on iPad)
  272. - Street View imagery is now adjusted correctly for tilted base data
  273. (e.g., data taken by a Street View car on a slope)
  274. - Geodesic interpolation has been tweaked to be more correct
  275. - Fixed incorrect GMSGroundOverlay sizing (regression in 1.4.0)
  276. - fitBounds:withPadding: on GMSCameraUpdate now correctly applies padding to
  277. all edges of the bounds; previously it used 1/2 padding on each edge
  278. Version 1.4.0 - July 2013
  279. =========================
  280. Features:
  281. - Support for Google Street View imagery, with coverage in 50+ countries
  282. * Added GMSPanoramaView, a viewer for Street View imagery, that enables
  283. both programmatic and user control
  284. * GMSMarkers can be shared between GMSMapView and GMSPanoramaView
  285. * GMSPanoramaService may be used to load panorama data ahead of display
  286. - Indoor floor plans and a floor selector control will now be displayed when
  287. available
  288. - Updated map design inspired by the new Google Maps
  289. - Info windows now show at 1:1 resolution on the screen regardless of tilt
  290. - Additional delegate methods on GMSMapView - mapView:willMove: and
  291. mapView:idleAtCameraPosition: - allow you to detect the start and
  292. end of camera movement, respectively
  293. - An improved look and feel for polylines and polygon stroke
  294. - Added a zIndex property on all overlays; z-indexes are calculated in two
  295. groups: GMSMarkers and all other overlays
  296. - Added GMSGeometryUtils methods for heading, distance, offset etc. with
  297. respect to points on the Earth
  298. Resolved Issues:
  299. - Improved the tappability of GMSPolygon
  300. - The compass now disappears when the map returns to zero bearing for any
  301. reason, including animation
  302. - Resolved crash issue when creating a zero-sized GMSPolygon
  303. - Resolved an issue where active gestures could cause a GMSMapView to not
  304. be released until deceleration completed
  305. - Info windows no longer allow taps to pass through them
  306. ! Accessibility elements on GMSMapView are now hidden by default; you can
  307. enable via accessibilityElementsHidden
  308. Notes:
  309. ! To align with other Google Maps APIs, GMSGroundOverlay no longer supports
  310. the zoomLevel property. You can use the helper method
  311. groundOverlayWithPosition:icon:zoomLevel: to migrate existing code
  312. Version 1.3.1 - June 2013
  313. =========================
  314. Resolved Issues:
  315. - Shows all tiles when animating across the antimeridian
  316. - Performance improvements while zooming
  317. - Touches are consumed more agressively by GMSMapView
  318. - Fixed constructing a GMSMutablePath via pathFromEncodedPath:
  319. - Restores OpenGL state correctly in GMSMapView in applications that also use
  320. GLKView
  321. Version 1.3.0 - May 2013
  322. ========================
  323. Features:
  324. - Support for custom tile overlays (image-based) via GMSTileLayer
  325. - Anti-aliasing for GMSPolyline and GMSPolygon stroke
  326. - Support for 'invisible' base map tiles via kGMSTypeNone
  327. - Basic support for CAAnimationGroup on GMSMapLayer
  328. Resolved Issues:
  329. - Performance improvements with large numbers of overlays
  330. - Resolved excessive memory use when device was locked/unlocked while an info
  331. window was displayed
  332. - Animations are stopped when a user performs a gesture
  333. - Animations stop any active gesture (e.g., a pan)
  334. - Resolved crash issue with setting/clearing My Location dot.
  335. - GMSPolyline and GMSPolygon now support greater precision at high zoom
  336. - GMSPolyline and GMSPolygon use the correct alpha values
  337. - Touches are consumed by GMSMapView, allowing use within e.g. a scroll view
  338. Version 1.2.2 - April 2013
  339. ==========================
  340. Resolved Issues:
  341. - Tappable regions for GMSMarker fixed.
  342. - Overlays are no longer able to render on half pixels.
  343. - Ground overlays appear underneath the My Location dot.
  344. - GMSPolyline 'strokeColor' is no longer erroneously deallocated.
  345. Version 1.2.0 - April 2013
  346. ==========================
  347. Features:
  348. ! Removed GMS...Options classes in favor of creating overlays directly
  349. and setting their 'map' property
  350. ! Map overlays (GMSMarker, GMSPolyline, others) now inherit from a shared
  351. GMSOverlay class
  352. ! GMSPolyline now has 'strokeWidth' and 'strokeColor' to match GMSPolygon,
  353. rather than 'width' and 'stroke'
  354. ! More helper methods on GMSCoordinateBounds, 'including' renamed to
  355. 'includingCoordinate', added 'includingBounds'
  356. - Added GMSPolygon and GMSCircle overlays
  357. - A GMSMarker may be animated when added to a map
  358. - Overlay types may now be subclassed
  359. - GMSCameraUpdate to create camera update objects, including operations to
  360. set a camera that presents a specified GMSCoordinateBounds
  361. - GMSUISettings may be used to add a compass or My Location button (disabled
  362. by default)
  363. - Non-marker overlay types may be tapped (see GMSMapViewDelegate)
  364. - Default marker changed to the Google Maps for iPhone marker
  365. - Added markerImageWithColor: to create tinted versions of the default marker
  366. - GMSMapLayer, the CALayer subclass for GMSMapView, now supports modification
  367. of its camera properties, allowing for advanced animation effects
  368. Resolved Issues:
  369. - visibleRegion now reports correctly sized region on Retina devices
  370. - Double-tap to zoom now centers around tapped point
  371. - Disabling pan via UISettings now prevents movement with zoom gestures
  372. - GMSPolyline performance is improved for large polylines
  373. - GMSMapView may be subclassed
  374. - My Location dot appears underneath markers
  375. - Performance improvements when using the My Location dot
  376. - Grayscale polylines now render correctly
  377. - Calling renderInContext: on the GMSMapView layer now renders correctly;
  378. this allows for snapshots and UI effects
  379. - The default behavior when a marker is tapped has been updated to also pan
  380. the camera to the marker's position
  381. - semaphore_wait_trap issue resolved
  382. Version 1.1.2 - March 2013
  383. ==========================
  384. Resolved Issues:
  385. ! Updated the SDK to use libc++ instead of libstdc++
  386. - Improved support for including a GMSMapView and GLKView in the same app
  387. Version 1.1.1 - March 2013
  388. ==========================
  389. Features:
  390. - Improved the messages that are logged to the console when a invalid key is
  391. used or a connection error occurs
  392. - Added multi-line snippet support for GMSMarker
  393. Resolved Issues:
  394. - GMSMapView could return a nil camera
  395. - Multiple GMSMapView instances no longer 'camera crosstalk.'
  396. - The SDK contained unresolved external references
  397. - A GMSMarker with an empty title and snippet no longer shows an empty
  398. info window.
  399. Version 1.1.0 - February 2013
  400. =============================
  401. Features:
  402. ! The points of a GMSPolyline (and GMSPolylineOptions) are now specified as
  403. a GMSPath and built via a GMSMutablePath, rather than addVertex: etc
  404. - GMSPolyline may now be specified as geodesic
  405. - animateToCameraPosition: method on GMSMapView
  406. - GMSProjection provides containsCoordinate: and visibleRegion helpers
  407. Resolved Issues:
  408. - GMSCameraPosition and animateToLocation: now clamp/wrap latitude/longitude
  409. respectively; similarly, bearing is clamped to 0 <= bearing < 360
  410. - GMSGroundOverlay may be modified after creation
  411. - The points of a GMSPoyline may be modified after creation
  412. - GMSPolyline may cross the antimeridian
  413. - Resolved a marker sorting issue
  414. Version 1.0.2 - January 2013
  415. ============================
  416. Features:
  417. ! GMSCamera (struct) has been dropped in favor of GMSCameraPosition * (objc
  418. class), supports finer control of bearing and viewing angle
  419. - Added GMSUISettings to control gesture availability
  420. - Added GMSGroundOverlay/GMSGroundOverlayOptions for basic ground overlay
  421. support
  422. - Removed requirement to call startRendering/stopRendering
  423. - Support for adding GMSMapView as a custom UIView in Interface Builder
  424. - Improved texture memory handling
  425. Resolved Issues:
  426. - Info windows now have highest tap priority
  427. - Selected markers are automatically brought to front
  428. - Polylines now render at constant size regardless of the zoom level
  429. Version 1.0.1 - December 2012
  430. =============================
  431. Initial release alongside Google Maps for iOS.
  432. Support for 3D maps, rotation, tilt, 3D buildings, markers, polylines,
  433. satellite and terrain tiles, traffic data, and other features.
  434. * Items denoted with an '!' may indicate a backwards incompatible change.