| Version 29 (modified by euzuro, 5 years ago) |
|---|
OpenLayers 2.7 Release Notes
As of 2.7-RC1, the OpenLayers 2.7 release closes 183 outstanding tickets.
- Release wiki: Release/2.7
- Milestone: 2.7 Release
- Resolved Tickets
Major features of this new release are:
- Vector-Behavior (Strategies, Protocols, Filters, etc)
- Improved Vector rendering for better performance
- Canvas rendering class
- Z-Ordering and Y-Ordering for Vector layers
- New OpenLayers.Request interface for AJAX
- Smarter Popups
... and tons of other new features and bug fixes are all listed below.
New features
- New XMLHTTPRequest interface: OpenLayers.Request makes doing all the AJAX calls (GET,POST,PUT,DELETE,OPTIONS,HEAD) simpler and more intuitive. See Request for detailed information. (r7335 / #1565)
- Class-management functions added to OpenLayers.Element class: hasClass(), addClass(), removeClass(), and toggleClass() all make it easier for users to manage/manipulate the css classes attributed to DOMElements. (r7579 / #1607)
- ZoomPanel and PanPanel controls: Essentially these are new css-ified versions of the PanZoom control, making it infinitely easier for users to add their own, customized panning and zooming controls (#1400)
- Keyboard handler works in Safari (#1292)
- Added new Basic Measurement Control (#1241)
- NavigationHistory control now uses css sprites technique for rendering (#1555)
- Added a 'beforefeatureselected' event to the vector layer (#1427)
- Overview map now supports different projections. (#1620)
- Events:
- Feature.Vector:
- Added move() APIMethod to the Feature.Vector class to easily allow for the displacement of vector features. (#1362)
- Format:
- New! Format.GPX class allows for parsing of GPX-formatted files into linear features. (#1272)
- Format.GML:
- Format.SLD:
- Format.WMC:
- Languages:
- Handler.Feature: Made more robust to things that are related to changing layer order on the map. (#1628)
- Sketch Handler: Added 'persist' and 'multi' properties. (#1698)
- Layer:
- Added a 'moveend' event to the Layer's events list. (#1678)
- Added 'alwaysInRange' property to allow layers to never turn off based on the zoom level. See below for change from 2.6 that this implies.(#987)
- Layer.GeoRSS now stores the title and description attributes on the created OpenLayers.Feature object for later access by applications. (#1485)
- Layer.VirtualEarth: We now support the latest versions (5, 6.1) of the API. (#1540)
- Layer.Vector:
- Map
- Added 'olMap' and 'olMapViewPort' css class name with default 0 zIndex/padding/margin and 'text-align: left' (respectively) to ensure proper behaviour. See below for change from 2.6 that this implies. (#1635) (#1179) (#1116)
- panTo() now uses tween if new center is in the current bounds + a ratio (#1341)
- 'closest' parameter exposed in zoomToExtent() and zoomToScale(). (#1250)
- Added getUnits() method. (#1591)
- Added scale() method to OpenLayers.Bounds" (takes a ratio and an optional center). (#1341)
- Popup:
- Renderer:
- New Renderer.Canvas class! (#1512)
- New vector rendering for better performance and less renderer specific limitations. (#1675, #1656, #1631, #1431, #1709)
- Z-Ordering and Y-Ordering of vector elements! (#1357)
- Added new graphicName symbolizer property, which allows to render well-known graphic symbols named "square", "cross", "x" and "triangle", in addition to the existing "circle". (#1398)
- Implemented rotation of externalGraphic vector point features. (#1433)
- Util:
- Tile.WFS: support non-XML vector formats. (#1575)
- Image Loading: Can now be configured to use different server when IMAGE_RELOAD_ATTEMPTS > 1 (#1291)
- Control.Permalink: Made more configurable by adding an argParserClass property and decomposed the logic for generating the key-value pairs from the div and link generation. (#1489)
- Moved all alert()s in the library to a single OpenLayers.Console.userError() function, allowing for easy overriding of this function to report errors at an application level (or hiding them entirely). (#1651)
- Add OpenLayers.String.isNumeric method. (#1441)
- StyleMap: context can now be given as argument in addUniqueValueRules() allowing user to access to properties that are not part of the feature attributes. (#1548)
Bugs Fixed
- No more duplicate DOMElement id's for controls. All controls' divs' ids are set according to their control id's (#1396). Also, those control id's can now have a custom id specified in the 'options' parameter (#1687).
- Cursor is 'move' instead of 'default' when dragging a feature. (#1637)
- Modify feature control now silently removes features/vertices. (#1562)
- Fix linestring editing when two points are at the same position. (#1533)
- register() method no longer failing on OpenLayers.Events object if Array.prototype is overloaded by 3rd party library. (#1502)
- Vector features with no geometries are now cloneable. (#1557)
- Format:
- Format.GeoJSON now parses features with null geometries. (#1145)
- Format.GeoRSS :
- Format.SLD: PointSymbolizer Size is no longer misinterpreted. (#1545)
- Format.WKT: No longer reprojects geometrycollection components twice. (#1554)
- Format.XML: No longer depend on exceptions for parsing. 3x speed up of parsing in FF. (#1642)
- Format.KML: KML styles no longer extracted when extractStyles is false. (#1576)
- Clear bounds of geometries when reprojecting. (#1658)
- Handler:
- Handler.Box:
- Handler.RegularPolygon: New RegularPolygon features can now be invisible. (#1577)
- Handler.Feature:
- Layer:
- 'minScale' and 'maxScale' properties no longer ignored if 'scales' array set on map. (#1199)
- Layers subclassing FixedZoomLevels (Google, Yahoo, VE, etc) now take into account the 'maxZoomLevel' property. (#1182)
- Layer.GeoRSS: No longer triggers 'loadstart' twice. (#1580)
- Layer.Google: ow displays in correct position when it was originally loaded as the not default layer, or if the map is resized while the google layer is hidden. (#830)
- Layer.Grid: uses layer's 'maxExtent' instead of the maps in laying out the tiles. (#1552)
- Layer.MapGuide:
- Layer.Text:
- Layer.Vector:
- Fixed typo in destroy(). (#1659)
- Fixed flicker in SVG in FF2. (#1390)
- Allow destroy() to be called twice without failing. (#1697)
- Now destroys itself before its parent. (#1536)
- Fixed bug where feature redrawn offscreen stays invisible by handling of unrenderedFeatures from moveTo to drawFeature. (#1723)
- Fixed VML rendering's drawing of geometries when coordinate numbers are very high (#1732)
- Layer.VirtualEarth:
- Added missing VE zoom level. (#1181)
- Layer.WFS: SRS sent with WFS requests now matches projection of requested extents. (#1537)
- Layer.TMS: Added missing @requires statement for Tile/Image.js (#1733)
- Map:
- Renderer:
- Renderer.Elements:
- Renderer.SVG: Changed the default cursor for vector features from "" to "inherit" because FF3 complains about "". (#1595)
- Renderer.VML:
- Tile.Image: Refactored backBuffer tile code out of generic Tile base class into Tile.Image to make it nicer when subclassing Tile for other needs. (#1645)
- Util:
- Control.Panel: Redraws when toggle controls are activated. (#895)
- Patched Test.AnotherWay to use importNode in html_eq. (#1376)
- Popup: Fixed the auto-sizing feature that was causing them to expand and expand each time opened. (#1586)
- General: Adding missing 'px' in various places throughout the code. (#1582)
- Ajax: Fixing an obvious bug in Ajax.js: when we upgraded Prototype, we missed a pair -> extras. (#1559)
- For great speediness, we now (whenever possible) cache array length instead of accessing it with each iteration. (#1636)
Changes to existing applications from previous versions
- The OpenLayers.Events object no longer automatically includes the 'xy' property on all browser events. This is from (r7615 / #1459) and if it is causing you issues, you can override it by adding the following line to your code:
OpenLayers.Events.prototype.includeXY = true;
- On the SelectFeature control hover can no longer be set on the SelectFeature control after the control has been initialized: must be passed at initialize time. (r7682 / #1655)
- Overlays with no scale/resolution properties set are now visible at all resolution levels (r/#)
- Map divs which previously had a 'padding' or 'margin' or 'text-align' css property set... those properties are now overridden by style.css. (#1179) (#1116)
