--- /dev/null
+<html><head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+
+ <title>Ext Release Notes for 3.1.0</title>
+ <style>
+ * {
+ font-family: 'helvetica', tahoma, verdana, sans-serif;
+ font-size: 12px;
+ }
+ body { padding: 20px; }
+ h1 { font-size: 18px; }
+ h2 { font-size: 16px; }
+ h3 { font-size: 14px; }
+ li { padding: 2px 0; }
+ .doc { color: blue; }
+ .change { color: red; }
+ .new { color: green; }
+ </style>
+</head><body>
+
+<h1>Release Notes for Ext 3.1.0</h1>
+
+<p>
+ Release Date: Dec 14, 2009<br>
+
+ Current Version: 3.1.0 (rev 5770-119) <br>
+ Previous Version: 3.0.0 (rev 4747)
+</p>
+
+<h2>Overview</h2>
+<ul>
+<li>Bug fixes.</li>
+<li>Enhancements.</li>
+</ul>
+
+<h2 class="change">Changes</h2>
+
+<ul><li>Ext.DatePicker<ul>
+ <li>
+Fixed the first set of days when the startDay was not 0
+ </li>
+</ul></li></ul>
+
+<ul><li>Ext.menu.Menu<ul>
+ <li>
+Only cascade the menu hiding up when the menus are floating
+ </li>
+ <li>
+Moved the beforeshow event to showAt inside the menu, since show either always calls the superclass show method, or calls showAt
+ </li>
+ <li>
+Use the getItemId methods instead of referring to the itemId
+ </li>
+</ul></li></ul>
+
+<ul><li>Ext.form.HtmlEditor<ul>
+ <li>
+Used insertHTML because it's supported in Safari and Chrome
+ </li>
+</ul></li></ul>
+
+<ul><li>Ext.Panel<ul>
+ <li>
+Have onLayout method respect force to ensure that toolbars are laid out when force is passed
+ </li>
+ <li>
+Only add animation classes if we're actually animating. Helps resolve DOM reflow issues in FF
+ </li>
+ <li>
+Fixed the panel so that tools aren't created too early. A header will
+now be properly created when specifying tools (collapsible: true
+creates tool).
+It may be necessary to now explicitly set @cfg header:false in some
+situations (e.g. setting collapsible will now correctly create a
+header) </li>
+</ul></li></ul>
+
+<ul><li>Ext.MessageBox<ul>
+ <li>
+Fixed an issue where MessageBox width is calculated differently depending on the previous content
+ </li>
+</ul></li></ul>
+
+<ul><li>Ext.data.DirectProxy<ul>
+ <li>
+Remove idProperty being written in DataWriter. This was unnecessary
+information since all info required by server to perform some CRUD
+action is in the request "root." The examples were updated also. </li>
+</ul></li></ul>
+
+<ul><li>Ext.Window<ul>
+ <li>
+Changed the window animations event to not be blocked. This resolved
+the issue specified in the thread without having to modify the core
+code </li>
+</ul></li></ul>
+
+<ul><li>Ext.Component<ul>
+ <li>
+Add note to config: itemCls that it is only relevant when the Component is being rendered by a FormLayout layout manager
+ </li>
+ <li>
+Remove redundant config option
+ </li>
+ <li>
+Add a flag to ensure a component may only be destroyed once. This will
+fix a series of issues, but also fixes the one mentioned in the ticket </li>
+ <li>
+Components now have an onAdded and onRemoved method and are aware of
+when they are added/removed to their respective Container. They will
+fire an added and removed event. References are properly cleaned up
+after removing a component from its owning container. References are
+established at add time rather than at render time </li>
+ <li>
+Added tpl, tplWriteMode and data configurations to Ext.Component. Added
+an update method which accepts data for a template or an html
+fragment/domhelper configuration to update the content area of a
+component </li>
+</ul></li></ul>
+
+<ul><li>Ext.ux.StatusBar<ul>
+ <li>
+ Encapsulate the class under one folder (examples/ux/statusbar)
+ </li>
+ <li>
+ Correction to the animated hide of the element since the statusElement changed from an Ext.Element to a toolbar item
+ </li>
+ <li>
+ Correction to initial iconCls not being removed when the icon was updated
+ </li>
+</ul></li></ul>
+
+<ul><li>Ext.grid.ColumnDD<ul>
+ <li>
+Fix for columnmove event firing twice. The event for columnmove is now
+fired in onColumnMove in the GridView, which means the event in
+ColumnDD is now redundant </li>
+</ul></li></ul>
+
+<ul><li>Ext.tree.TreePanel, Ext.tree.TreeNodeUI, Ext.tree.TreeNode<ul>
+ <li>
+Added a beforedblclick event
+ </li>
+</ul></li></ul>
+
+<ul><li>Ext.util.CSS<ul>
+ <li>
+When interrogating rules in IE, elements are written in caps (eg DIV). This caused issues when retrieving the rules
+ </li>
+</ul></li></ul>
+
+<ul><li>Ext.form.Field, Ext.form.TextField<ul>
+ <li>
+Make validation more efficient if the validation event is set to blur.
+Prior behavior when setting validationEvent to 'blur' would cause an
+additional blur event handler to be attached, even though there was one
+already attached </li>
+</ul></li></ul>
+
+<ul><li>Ext.grid.Column, Ext.grid.ColumnModel<ul>
+ <li>
+Change to the 2.x behavior where column's that do not specify an id
+will use the ordinal position of the column to generate the id, instead
+of autogenerating unique id's for every column </li>
+</ul></li></ul>
+
+<ul><li>Ext.grid.GridView, Ext.grid.GroupingView, Ext.list.ListView, Ext Core<ul>
+ <li>
+Due to various factors, the scroll bars on the operating system can
+differ (theme, font size). As such, a static value isn't always
+appropriate. This adds a method to dynamically calculate this </li>
+</ul></li></ul>
+
+<ul><li>Ext.TabPanel, Et.form.Field, Ext.form.Form, AccordionLayout, ContainerLayout, FormLayout, Container<ul>
+ <li>Several modifications to fix issues with form layout:<ul>
+ <li>Added the ability to hide and show field labels with the Field</li>
+ <li>Added new template methods for when an item is added to and removed from a Container</li>
+ <li>Added a method to allow layouts to clean up after themselves</li>
+ <li>Form layouts can now be dynamic (moving fields to another form)</li>
+ </ul></li>
+</ul></li></ul>
+
+<ul><li>Ext.tree.TreeSelectionModel<ul>
+ <li>
+Fixed an issue where hidden tree nodes are visited when using keyboard
+navigation. The behaviour now is that they are skipped over properly </li>
+</ul></li></ul>
+
+<ul><li>Ext.data.Api, Ext.data.DataProxy<ul>
+ <li>
+Added 3 hook functions in Ext.data.Api for listening to proxy-events
+'beforewrite', 'write' and 'exception'. Since all proxies are run
+through Ext.data.Api#prepare, this was easily done automatically. These
+hooks are great places for devs to implement user-feedback messages.
+Also had to move a small block of code (The call to
+Ext.data.Api#prepare) in DataProxy to *after* the call to super
+(Observable), which will cause no problems </li>
+</ul></li></ul>
+
+<ul><li>Ext.Editor, Ext.form.Field, Ext.form.TriggerField,
+Ext.grid.GridPanel, Ext.form.TextField, Ext.grid.CellSelectionModel,
+Ext.grid.EditorGrid, Ext.form.Combo, Ext.grid.RowSelectionModel,
+Ext.util.KeyNav<ul>
+ <li>
+General overhaul of the key handling system to make events, especially
+in the editor grid, more consistent across browser and operating system
+</li>
+</ul></li></ul>
+
+<ul><li>Ext.data.DataWriter, Ext.data.JsonWriter, Ext.data.XmlWriter<ul>
+ <li>
+XmlWriter now renders XML using Ext.XTemplate. If users have a problem
+with the XML schema, they can provide their own template to XmlWriter
+constructor. Also made DataWriter#toHash a bit smarter dealing with
+meta.idProperty </li>
+</ul></li></ul>
+
+<ul><li>Ext.form.HtmlEditor<ul>
+ <li>
+Added a fix to stop the default value of the editor being posted to the server because it can cause encoding issues
+ </li>
+</ul></li></ul>
+
+<ul><li>jQuery Adapter, YUI Adapter, prototype Adapter<ul>
+ <li>
+ Fixed an issue where firefox would erroneously report elements as existing. Very old bug in FF, still not fixed
+ </li>
+</ul></li></ul>
+
+<h2 class="new">New</h2>
+
+<ul>
+ <li>Significant IE6-8 memory improvments</li>
+ <li><a href="http://www.extjs.com/deploy/ext-3.1.0/examples/grid/ColumnHeaderGroup.html" target="_blank">Grouping GridView</a></li>
+ <li><a href="http://www.extjs.com/deploy/ext-3.1.0/examples/grid/locking-grid.html" target="_blank">Locking Grid Column</a></li>
+ <li><a href="http://www.extjs.com/deploy/ext-3.1.0/examples/treegrid/treegrid.html" target="_blank">TreeGrid</a></li>
+ <li><a href="http://www.extjs.com/deploy/ext-3.1.0/examples/form/vbox-form.html" target="_blank">VBox Form</a></li>
+ <li><a href="http://www.extjs.com/deploy/ext-3.1.0/examples/grid-filtering/grid-filter-local.html" target="_blank">Grid Filtering</a></li>
+ <li><a href="http://www.extjs.com/deploy/ext-3.1.0/examples/simple-widgets/editor.html" target="_blank">Editor</a></li>
+</ul>
+
+<h2 class="new">Documentation Improvements</h2>
+
+<ul>
+ <li>Ext.grid.RowSelectionModel</li>
+ <li>Ext.grid.CheckboxSelectionModel</li>
+ <li>Ext.grid.GridView</li>
+ <li>Ext.grid.Column</li>
+ <li>Ext.Panel</li>
+ <li>Ext.XTemplate</li>
+ <li>Ext.form.Action</li>
+ <li>Ext.util.MixedCollection</li>
+ <li>Ext.tree.TreeNode</li>
+ <li>Ext.form.TextField</li>
+
+</ul>
+
+</body></html>
\ No newline at end of file