# Release Notes for Ext 2.2.0

Release Date: August 4, 2008
Current Version: 2.2.0 (rev 2547)
Previous Version: 2.1.0 (rev 2042)

## Overview

- Full Firefox 3.0 support
- Added Ext.History component and sample
- Completely refactored Checkbox and Radio controls
- Added CheckboxGroup and RadioGroup components and sample
- Added MultiSelect and ItemSelector extensions and sample
- Added FileUploadField extension and sample
- Added XMLTreeLoader extension and sample
- Added several new Drag-and-Drop samples
- Added GMapPanel extension and sample
- Grid performance improvements
- Many general improvements and bug fixes
- Extensive documentation improvements
- Various locale file updates

## Change Log

- Adapters

- Ext Base

- Added UTF-8 to defaultPostHeader to support international char sets properly

- Ext.core

- Ext

- New properties for isGecko2 and isGecko3
- Updated useShims property to be Gecko2-only on Mac
- Fix for isArray and array check fix in Ext.each

- Ext.Element

- Event registration improvements
- Updated Gecko/Mac overflow auto fix to be scoped to Gecko2 only
- Shim border fix for IE8

- Ext.EventManager

- Event handler registration logic refactored to fix DOM leak issues

- Ext.Updater

- Now extends Ext.util.Observable
- New overrideable getDefaultRenderer method
- Fix in update method to preserve passed in config options correctly

- Ext.data

- Ext.data.Connection

- New disableCachingParam config

- Ext.data.Record

- Fixed type coercion bug in isModified

- Ext.data.Tree

- New Node.isExpandable method

- Ext.util

- Ext.util.ClickRepeater

- Fixed scope issue when unregistering interal event handlers

- Ext.util.Date

- Various date format fixes

- Ext.util.Format

- Fix in htmlDecode to handle ampersands correctly
- New nl2br (newline to BR) function

- Ext.util.History

- New component

- Ext.util.KeyMap

- Added stopEvent as a valid config option for the addBinding method

- Ext.widgets

- Ext.Button

- Fixes to minimize mouse handlers created on buttons

- Ext.Component

- New initPlugin method for more flexible plugin initialization
- Fix to ignore state events if stateful=false

- Ext.Container

- Updated onDestroy to call destroy on the container's layout if available
- Fixed default scope passed to the cascaded function in Container.cascade

- Ext.DatePicker

- Marked constrainToViewport config as deprecated (it's not currently used)
- Changed disabledDaysText and disabledDatesText to default to "Disabled" instead of ""
- New configs for minDate, maxDate, disabledDays, disabledDaysRE and disabledDates
- New methods setDisabledDates, setDisabledDays, setMinDate and setMaxDate
- New showToday config to show/hide the Today button and footer
- Fixed selectToday to check for disabled Today button before changing the date

- Ext.DataView

- New mouseenter and mouseleave events
- New trackOver config to enable mouse events
- Fix in getNodes to calculate the end node correctly

- Ext.Editor

- New canceledit event
- Fixed issue with TriggerField editors not blurring correctly on key navigation
- Fixed editor wrapper element scrollbar issue in FF2/Opera

- Ext.PagingToolbar

- Added beforechange and change events and changePage method
- Fixed handling of 0 entered into the page field

- Ext.Panel

- Change to set ownerCt on buttons added to panels
- Fix for FF2/Mac scroll bar issue on contained items
- Fix panel disabling support in IE
- Fixed in destruction order of internal components

- Ext.ProgressBar

- Fix to only attempt progress updates if rendered
- Added support for the text config in the wait method
- Fix for preserving the proper progress width in ratio to the value on resize

- Ext.QuickTips

- Added autoRender support to fix initial display issues

- Ext.Resizable

- Change to render the resize proxy to the document body instead of as a sibling to its element so it doesn't interfere with Component position calculations

- Ext.Slider

- New dragging property and changecomplete event
- Fixes for slider with minValue != 0
- Fix for preserving the proper thumb position in ratio to the value on resize

- Ext.StatusBar

- Fix for setting the proper default icon on clear

- Ext.TabPanel

- Fix to position the tab strip spacer element correctly for tabPosition bottom
- Fix for FF3 to raise the contextmenu event correctly on tab strip right-click

- Ext.Tip

- Fixed IE7 repaint bug on initial show

- Ext.Toolbar

- Fix in addField to add the fields to the items collection rather than the Toolbar items

- Ext.Window

- Added doLayout call on resize

- Ext.dd.DDCore

- Fixed null error in isValidHandleChild

- Ext.dd.ScrollManager

- Fix to enable overriding scroll frequency in the scroll config object

- Ext.dd.StatusProxy

- Fix to remove float style from ghost elements when adding them to the proxy to prevent proxy box collapse

- Ext.form.Checkbox

- Completely refactored to support new visual styles

- Ext.form.CheckboxGroup

- New component

- Ext.form.DateField

- New showToday config to show/hide the Today button and footer on the associated DatePicker
- New methods setDisabledDates, setDisabledDays, setMinValue and setMaxValue

- Ext.form.Field

- Fix to prevent initializing the data value to emptyText
- Fix to preserve the originalValue on init
- Fix for odd FF/Win issue when changing OS window focus that disabled editing
- Change to default error messages to basic tooltips if no field container el is available

- Ext.form.FormPanel

- Change to make the form tag into the panel's body element

- Ext.form.HtmlEditor

- Scoped disabling the font, link, lists and source edit buttons to Safari2 only (Safari3 is OK)
- Various fixes to improve initialization
- Fix to prevent multiple event handlers from being setup (resolved double line break issue in IE)
- Fixed issue of IE allowing toolbar commands to apply to content outside the editor body

- Ext.form.Label

- Added setText method

- Ext.form.TextArea

- Fixed onKeyUp not calling its superclass method

- Ext.form.TimeField

- Fix for broken field on DST boundary dates

- Ext.form.TriggerField

- Fix for trigger icon alignment to field in IE
- Fixed missing scope to properly remove the document mousedown handler after mimicing blur

- Ext.form.Radio

- Completely refactored to support new visual styles

- Ext.form.RadioGroup

- New component

- Ext.form.TextField

- Fix for selectOnFocus support
- Fixed broken key filtering when using maskRe in non-FF browsers

- Ext.grid.ColumnModel

- Fixed configchange event declaration name typo

- Ext.grid.EditorGrid

- Fix to align editors correctly with mixed-height row content
- Fixed bug in preEditValue that prevented html decoding when needed
- Added onDestroy method to clean up column model's editors on destroy

- Ext.grid.GridPanel

- New deferRowRender config

- Ext.grid.GridView

- New configs for controlling cell and row selector class and depth
- Fixes to sync the invisible focus element on row add/remove actions
- Moved some rendering logic to afterRender (improved performance)

- Ext.layout.BorderLayout

- Added destroy method to clean up splitbars created by layout

- Ext.layout.ColumnLayout

- Target size calculation fix for IE

- Ext.layoutContainerLayout

- Added support for subclass destroy functions

- Ext.menu.Item

- Improved tolerance for mousing from a menu to its submenu without dismissing the submenu too quickly while passing over other menu items

- Ext.menu.Menu

- New ignoreParentClicks config to ignore clicks on menu items with child menus

- Ext.menu.TextItem

- Updated constructor to support config object in addition to just text

- Ext.tree.TreeDragZone

- Fix to honor the hlDrop config on invalid drop repair

- Ext.tree.TreeDropZone

- Fixed highlight calls to check enableFx first to avoid possible errors

- Ext.tree.TreeEditor

- Fixed editor alignment to node when autoScroll is on and the node is outside the scroll area

- Ext.tree.TreeLoader

- Fixed type coercion bug in isLoading
- Updated createNode to support new TreePanel.nodeTypes

- Ext.tree.TreeNode

- New getLoader method
- Fixed null error in destroy when no child nodes present

- Ext.tree.TreeNodeUI

- Refactored internal support for Ext.data.Node.isExpandable

- Ext.tree.TreePanel

- Ability to specify dataUrl or a TreeLoader config in addition to a TreeLoader instance
- New nodeTypes support for more flexible node declaration and creation