+ <ul>
+ <li>
+ <a href="examples/view/multisort/multisort.html">MultiSort DataView</a>
+ </li>
+ </ul>
+ <ul>
+ <li>
+ <a href="examples/grid-filtering/grid-filter-local.html">Locally Filtered Grid</a>
+ </li>
+ </ul>
+ <ul>
+ <li>
+ <a href="examples/restful/restful.html">RESTful Store with GridPanel and RowEditor</a>
+ </li>
+ </ul>
+ <ul>
+ <li>
+ <a href="examples/locale/dutch-form.html">Localization (static)</a>
+ </li>
+ </ul>
+ <ul>
+ <li>
+ <a href="examples/locale/multi-lang.html">Localization (dynamic)</a>
+ </li>
+ </ul>
+ <ul>
+ <li>
+ <a href="examples/state/state.html">Browser State</a>
+ </li>
+ </ul>
+ <ul>
+ <li>
+ <a href="examples/writer/writer.html">Data.writer</a>
+ </li>
+ </ul>
+ </div>
+</li>
+<li>Bug Fixes
+ <ul>
+ <li>Fixed an issue where menu items would not respect the cls property
+ </li>
+ <li>Fixed improper variable in RemotingProvider
+ </li>
+ <li>Fixed param logic in DirectProxy
+ </li>
+ <li>Fixed an issue when reloading stores with different data sets
+ </li>
+ <li>Added a finite check for a DrawComponent's bounding box
+ </li>
+ <li>Pass the correct parameter to ServerProxy.afterRequest
+ </li>
+ <li>Fix indexOf reference in ListMenu
+ </li>
+ <li>When a date is chosen for a date filter, hide its parent menu
+ </li>
+ <li>Add autocomplete="off" to Button template to prevent Firefox from remembering its disabled state between
+ page reloads
+ </li>
+ <li>Prevent NumericFilter's menu fields from getting focused when mousing over them
+ </li>
+ <li>Fix form submission when using direct
+ </li>
+ <li>Fixed an issue where phantom records were being duplicated in the store when returned from a remote data
+ source
+ </li>
+ <li>Fixed an issue when clearing a client data proxy
+ </li>
+ <li>Fixed Model dependencies
+ </li>
+ <li>Removed redundant requires in Component
+ </li>
+ <li>Fix to make sure initExtCss always executes after Ext.supports.init
+ </li>
+ <li>Fix an issues where the expander icons are hidden when lines: false is used
+ </li>
+ <li>Ensure that the grid doesn't trigger a sort on the store when it renders
+ </li>
+ <li>Fix setValue method and initial value config on HtmlEditor
+ </li>
+ <li>Fixed recursive cloning of a non "plain" object (the constructor of which is !== Object)
+ </li>
+ <li>Ensure a layout isn't triggered if the container is destroying
+ </li>
+ <li>Fixed the styling of forms in a toolbar
+ </li>
+ <li>Fixed Window restore issue
+ </li>
+ <li>Fixed Grid dependencies
+ </li>
+ <li>Fix Accordion layout when initially layed out with no child items
+ </li>
+ <li>Updating $font-size dynamic variable's to use ceil to fix sub-pixel (ex: 10.4px) font-sizes
+ </li>
+ <li>Fixed multiple issues with rotated labels on category axis
+ </li>
+ <li>Fix TabPanel dependencies
+ </li>
+ <li>Fix typo in alternateClassName definitions
+ </li>
+ <li>If the panel has a re-expander, make sure the title is set when setTitle is called
+ </li>
+ <li>Fix an issue where panels would not be collapsed initially when not in a container
+ </li>
+ <li>Allow the combo store to be bound using a single flat array
+ </li>
+ <li>Fix autoCreated Store setup in StoreManager
+ </li>
+ <li>Fix unreachable code in Ext.getDom
+ </li>
+ <li>Properly clear managedListeners array in Observable
+ </li>
+ <li>Fix problem with the animate config option replacing the animate method
+ </li>
+ <li>Fixed grid scroll options 'horizontal' and 'none'
+ </li>
+ <li>Fix problem with autoHeighting TabPanels by their child items
+ </li>
+ <li>Fix menu box overflow handler on IE
+ </li>
+ <li>Fixed stacked bar chart axis calculation issue
+ </li>
+ <li>Fix scaling re-calculation issue for Bar, Line, Scatter series
+ </li>
+ <li>Fire change event when ComboBox value is changed
+ </li>
+ <li>Update alignment of ComboBox dropdown when its content changes, so it can flip from below to above or vice
+ versa as the user types
+ </li>
+ <li>Clear selection in ComboBox.BoundList if it no longer matches the value in the field, so that the old value
+ can be re-selected
+ </li>
+ <li>Fix bug with ComboBox where the value in the field would be blanked out while the user was typing with
+ typeAhead:true
+ </li>
+ <li>Fix ComboBox scrolling selected item into view when list is expanded
+ </li>
+ <li>Set ComboBox selection in list when it is first created, if the ComboBox has an initial 'value' config
+ </li>
+ <li>Fix Scatter series shadow issue
+ </li>
+ <li>Don't reinsert a node into the NodeStore if its new parent is not part of the NodeStore
+ </li>
+ <li>Fixed issue with Element.destroy not being properly called resulting in memory problems for IE
+ </li>
+ <li>Fixed Ext.require() not firing callbacks after a failure
+ </li>
+ <li>Fixed Ext.Loader.getPath() not returning properly value for unknown namespace
+ </li>
+ <li>Forced setting the Axis minimum and maximum values specified by the configuration
+ </li>
+ <li>Fixed cropped window titles in various browsers
+ </li>
+ <li>Firefox fix for getNextId method in WebStorageProxy
+ </li>
+ <li>Fixed an issue with the id not being sent when calling load directly on the model
+ </li>
+ <li>Fixed a bug in previousNode and nextNode. They were not being checked before walking up the hierarchy and
+ therefore triggered a cousin to always be returned
+ </li>
+ <li>Fixed discontinuous tree selection
+ </li>
+ <li>Field component onLayout was being run while the field was hidden but not after, so trigger width was always
+ calcualted as zero. Changed order so layout occurs after show
+ </li>
+ <li>Fix reset method on sliders
+ </li>
+ <li>Fix application of emptyText in IE when ComboBox value is set
+ </li>
+ <li>Fix the setTitle text in windows with vertical headers
+ </li>
+ <li>Make empty ComboBox list item hoverable/clickable in IE quirks mode
+ </li>
+ <li>Fixes Sprite item Bounding Box offset in Opera
+ </li>
+ <li>Fix "Member not found" error in IE by preventing native event object from getting passed and used across the
+ specialkey buffered listener
+ </li>
+ <li>Fix individual record update in Ext.grid.GroupingFeature
+ </li>
+ <li>Surface has now the ability to add in instances of Sprite and configuration objects
+ </li>
+ <li>Ensure datachanged event is fired when filtering the Store without sorters
+ </li>
+ <li>Adjust alignment styles for checkboxes and radios to match Ext3
+ </li>
+ <li>Fixed checkbox spacing + positioning in IE
+ </li>
+ <li>Fixed a bug in DataView Draggable where items in the ghost dataview would not be correctly removed
+ </li>
+ <li>Fix vertical clipping of CheckboxGroup columns without fixed widths in IE quirks mode
+ </li>
+ <li>Fix bug with Radial Axis scaling
+ </li>
+ <li>Fix an issue when retrieving the previous sibling of a component
+ </li>
+ <li>Fix sorter issue with DirectProxy
+ </li>
+ <li>Fix setReadOnly method in HtmlEditor
+ </li>
+ <li>Fix issue with looking up a store by id
+ </li>
+ <li>Fix problem hiding modal mask after modal window hide
+ </li>
+ <li>Fix support for passing a dom element as a target to an animation
+ </li>
+ </ul>
+</li>
+<li>Enhancements
+ <ul>
+ <li>Locking GridPanel implemtented
+ </li>
+ <li>Accessibility theme added
+ </li>
+ <li>Numeric Axis majorTickSteps added to set the number of major ticks between a `maximum` and a `minimum` value
+ </li>
+ <li>Implement the animate configuration option on TreePanel
+ </li>
+ <li>Implement singleExpand on TreePanel
+ </li>
+ <li>Store aggregation functions moved to the prototype
+ </li>
+ <li>Implemented checked field in NodeInterface. Have renderer add a checkbox if a value other then null is set
+ in checked
+ </li>
+ <li>Implemented state support as a mixin
+ </li>
+ <li>Added html to each tab in the history example to make it clearer which tab is currently activated
+ </li>
+ <li>Refactored the GridFilters plugin UX as FiltersFeature, a Ext.grid.Feature subclass, and ported it to work
+ with the new Ext4 grid architecture. Reworked the grid-filters example to match
+ </li>
+ <li>Inject the TableView instance into each grid filter, even if it is an already instantiated Filter rather
+ than a filter config object
+ </li>
+ <li>Allow month picker items to wrap properly when inside components with white-space:nowrap like menus
+ </li>
+ <li>Refactoring a Theming so it is easier to customize
+ </li>
+ <li>Updated the themes example to include more components
+ </li>
+ <li>Added HTTP error info to the data operation when a request fails
+ </li>
+ <li>Added load event in preference of read event on TreeStore
+ </li>
+ <li>Grid headers now support grouping in which a header may be configured with a nested headers config object as
+ well as a text/header string
+ </li>
+ <li>The Ext 3.x class ActionColumn has been implemented in 4.x as ActionHeader
+ </li>
+ <li>Cleaned all locale packages files
+ </li>
+ <li>Introduced a new getAssociatedData method on Model to make it easier to aggregate model data
+ </li>
+ <li>Added window state management
+ </li>
+ <li>Added state support for border layout
+ </li>
+ <li>Removed extraneous layout in Card.setActiveItem
+ </li>
+ <li>Made Ext.override proxy to Ext.Base.override if the class was created with Ext.define
+ </li>
+ <li>added Ext.Base.getName method
+ </li>
+ <li>Add animateTarget to show/hide of floating Components (such as Windows and Tooltips, or anything else that
+ floats
+ </li>
+ <li>Allow the aggregation function to be called with the grouped parameter for consistency
+ </li>
+ <li>Added total summary and group summary support for the grid
+ </li>
+ <li>Fix combos example to make getInnerTpl work properly - now must be part of listConfig
+ </li>
+ <li>Implemented Ext.form.File, a custom field widget for file uploads
+ </li>
+ <li>Properly set class on field error quicktips
+ </li>
+ <li>Added grid state support
+ </li>
+ <li>Relay view and tree events to the TreePanel and TreeStore
+ </li>
+ <li>Added a new LocalStorage state provider
+ </li>
+ <li>Allow the model to be defined in the store prototype
+ </li>
+ <li>Implemented Sutherland–Hodgman algorithm and use it for our render label axis implementation
+ </li>
+ <li>Implemented animate config option
+ </li>
+ <li>Styled invalid form qtips
+ </li>
+ <li>Implemented Tree sorting
+ </li>
+ <li>Add additional check in setStyle to ensure the dom node still exists before setting style on it
+ </li>
+ <li>FocusManager enhancements to support Containers being able to subscribe for keyboard navigation
+ </li>
+ <li>Implemented Ext.menu.DatePicker class
+ </li>
+ <li>Implemented Ext.menu.ColorPicker class
+ </li>
+ <li>Cleanup FocusManager's handling of component add/destroy when enabled
+ </li>
+ <li>Convert TabBar to use FocusManager.subscribe instead of its own KeyNav
+ </li>
+ <li>Grid Header needs to give visual indication when it is focused, which will show the menu trigger. This
+ supports key navigation on grid headers and the ability to press down to open the header menu. The menu
+ needs the trigger to be shown since it aligns itself to the trigger
+ </li>
+ <li>Add deep copy operation to NodeInterface
+ </li>
+ <li>Allow Ext.form.Basic#markInvalid to accept a Ext.data.Errors object
+ </li>
+ <li>Added logic to reduce/increase the number of columns in the shadowCt to match the number of items if
+ columns:'auto'
+ </li>
+ <li>Updated MVC to work with dynamic loading
+ </li>
+ <li>Implemented CheckBox selection for Trees
+ </li>
+ <li>Prevent ComboBox from querying and expanding list on keyup if readOnly=true.
+ </li>
+ <li>HeaderDropZone will intelligently move a Header within the same container rather than add/remove, which will
+ perform better as well as prevent add/remove events from firing unnecessarily on the HeaderContainer
+ </li>
+ <li>Trigger fields no longer reserve space for trigger when it is hidden due to readOnly=true
+ </li>
+ <li>Number field value can no longer be modified by up/down arrows or mousewheel when readOnly=true
+ </li>
+ <li>Implemented scrolling while dragging
+ </li>
+ <li>Implemented Grid Editing support as a plugin
+ </li>
+ <li>Clean html entities when setting text to an Surface Sprite
+ </li>
+ <li>Enhanced htmlDecode and htmlEncode methods in Ext.String
+ </li>
+ <li>Scatter and Line series now skip records with undefined yValues
+ </li>
+ <li>ComboBox now automatically set queryMode='local' for auto-generated array stores
+ </li>
+ <li>Ext.form.BaseField now rewraps the browser event object when firing the specialkey event, to prevent issues
+ with buffered specialkey listeners
+ </li>
+ <li>Extended the useNull option to apply to boolean/string types for data stores
+ </li>
+ <li>Added deferredRender back to Card Layout (currently defaulted to true for TabPanel)
+ </li>
+ <li>Updated FeedViewer to be smarter about how it opened many tabs at once
+ </li>
+ <li>Modify Proxy so batching is configurable
+ </li>
+ <li>Allow a store configuration to be passed to data bound objects
+ </li>
+ <li>Add beginEdit/cancelEdit/endEdit functionality to Model
+ </li>
+ <li>Added isValid to Model for a shortcut
+ </li>
+ <li>Added autoSave support for Data writers
+ </li>
+ <li>Ensure writer always passes the id if we have a non phantom
+ </li>
+ <li>Made Tips constrain within their zIndexManager's client element. Change the constrain default to true
+ </li>
+ <li>Button will now use an anchor element when configured with an href
+ </li>
+ <li>Make Ext.form.Field.resetOriginalValue update the field's dirty state to match
+ </li>
+ <li>Automatically convert objects into records with NodeInterface
+ </li>
+ <li>Make ComboBox.getValue return the raw text field value if it does not match the display value from the last
+ list selection or setValue call. Allows submitting values that do not appear in the store
+ </li>
+ <li>Enhance the appendChild, removeChild, insertBefore code on the NodeInterface with suppressEvents
+ capabilities. This optimizes the performance of the initial Tree rendering drastically
+ </li>
+ <li>Implemented Grid RowEditing
+ </li>
+ <li>Basic.updateRecord() will now use the actual field data for updating the Model fields rather than the
+ submit-friendly string equivalent of the form field data. Certain string encodings are not compatible with
+ Model field covert methods if they are not in the exact/proper format, e.g. Date fields
+ </li>
+ <li>Remove Canvas support as it is not ready for release. SVG/VML still covers all desktop platforms.
+ </li>
+ </ul>
+</li>
+<li>API Changes
+ <ul>
+ <li>Moved methods slated for deprecation to the compat layer
+ </li>
+ <li>Added a new ElementLoader class that is the superclass of ComponentLoader. The purpose of this class is to
+ replace Ext.Updater. Updater is removed and the load method now points to the new loader
+ </li>
+ <li>Move model creation into the model itself, essentially deprecates regModel
+ </li>
+ <li>Time axis now works with Dates and not formatted strings
+ </li>
+ <li>Move Ext.util.Date methods over to Ext.Date. Changed all references to Ext.Date in code, examples and tests
+ </li>
+ <li>Add workaround to Ext.core.Element#getWidth to avoid Gecko bug where it returns an offsetWidth that rounds
+ down the actual width due to <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=458617" target="_blank">subpixel
+ font rendering</a>. This logic was previously in a couple of components, this commit moves that up to
+ Element.getWidth
+ </li>
+ <li>Fix AbstractPanel.bodyCls to also support array values
+ </li>
+ <li>Created an AbstractMixedCollection which MixedCollection extends from
+ </li>
+ <li>Sortable refactored as a mixin
+ </li>
+ <li>Refactored Sorting on MixedCollection, TreeStore, and TreePanel to use the new Sortable mixin
+ </li>
+ <li>Absolute Layout will now always use setItemSize even if an anchor property isn't specified
+ </li>
+ <li>Ensure the page parameter gets sent on remote data loading
+ </li>
+ <li>Remove any trace of applyTo throughout the framework
+ </li>
+ <li>Updating the BoundList selection on setValue for ComboBox is now the default behavior
+ </li>
+ <li>Selection models are now consistent: Moved grid/CellSelectionModel.js to selection/CellModel.js,
+ grid/RowSelectionModel.js to selection/RowModel.js, and grid/CheckBoxSelectionModel to
+ selection/CheckBoxModel.js. Namespace moved to Ext.selection as well
+ </li>
+ <li>Set AjaxProxy as the default proxy
+ </li>
+ <li>Normalize store aliases to be store.name. Added the ability to specify a store configuration when creating a
+ data bound class. Note that this requires all of the stores to be looked up using StoreManager.lookup so
+ that we can determine whether we have received an id, a config or an instance
+ </li>
+ <li>Enhance DataView UI event handling
+ </li>
+ <li>Remove dependency of CellEditing on CellSelectionModel
+ </li>
+ </ul>
+</li>
+<li>Compatibility Changes
+ <ul>
+ <li>Implemented compat layer for PagingToolbar and MemoryProxy
+ </li>
+ <li>Significant update to AbstractStore compat layer to handle different store/proxy/reader config setups
+ </li>
+ <li>Updates to compat layer for AbstractStore and MemoryProxy to support filtering correctly
+ </li>
+ <li>Aliased row[de]select to [de]select
+ </li>
+ <li>Tweaked message formatting in compat layer for deprecating events
+ </li>
+ <li>The bodyStyle config types from 3.x are all now fully supported on Panel
+ </li>
+ <li>Compat code was using Array.indexOf, which did not agree with IE6. Switched to use Ext.Array.indexOf
+ </li>
+ <li>Alias Panel.bodyCssClass config to bodyCls
+ </li>
+ <li>Added Slider compat override to convert the SliderTip plugin to tipText config
+ </li>
+ </ul>
+</li>
+<li>Documentation Changes
+ <ul>
+ <li>Updated Ext.Date
+ </li>
+ <li>Fix the link to Ext Direct specification
+ </li>
+ <li>Correct spelling of 'resizable' and not 'resizeable'
+ </li>
+ <li>Updated Controller
+ </li>
+ <li>Updated Advanced DataView
+ </li>
+ <li>Update Ext.Window
+ </li>
+ <li>Added ActionHeader
+ </li>
+ <li>Added Ext.Base.override
+ </li>
+ <li>Updated AbstractDataView
+ </li>
+ <li>Updated Draw.Component
+ </li>
+ <li>Fix ComboBox docs error
+ </li>
+ </ul>
+</li>
+<li>Known Issues
+ <ul>
+ <li>Various styling fixes are ongoing
+ </li>
+ <li>Buttons are not part of the focusable items in a form
+ </li>
+ <li>Shadows to be implemented in the next release
+ </li>
+ <li>Tree Filtering and Editing to be implemented in the next release
+ </li>
+ <li>Performance and memory optimizations to be implemented in the next release
+ </li>
+ <li>Cleanup of API naming conventions to be implemented in the next release
+ </li>
+ <li>IE9 is not detected as supporting CSS3BorderRadius, which it only does in strict mode.
+ </li>
+ </ul>
+</li>
+</ul>
+</div>
+<div class="release">
+<h1>
+ Release Notes for Ext JS 4 PR5
+</h1>
+
+<p class="notes">
+ Release Date: March 18, 2011<br>
+ Version Number: 4.0.0pr5
+</p>
+
+<h2>
+ New In This Release
+</h2>
+<ul>
+<li>New Examples
+ <div style="margin-left: 2em">
+ <ul>
+ <li>
+ <a href="examples/direct/named-arguments.html">Ext.Direct Named Arguments</a>
+ </li>
+ <li>
+ <a href="examples/form/registration.html">Registration Form</a>
+ </li>
+ <li>
+ <a href="examples/statusbar/statusbar-advanced.html">StatusBar</a>
+ </li>
+ <li>
+ <a href="examples/statusbar/statusbar-demo.html">Advanced StatusBar</a>
+ </li>
+ <li>
+ <a href="examples/tree/reorder.html">Tree Reporder</a>
+ </li>
+ <li>
+ <a href="examples/tree/xml-tree.html">XML Tree</a>
+ </li>
+ <li>
+ <a href="examples/tree/treegrid.html">TreeGrid</a>
+ </li>
+ </ul>
+ </div>
+</li>
+<li>Bug Fixes
+ <ul>
+ <li>Fix bug on FF for Mac where an initial layout of boxes causes the innerCt to scroll, and it becomes stuck at
+ the scrollPosition. Manifesting in layout-browser example
+ </li>
+ <li>Fix the problem in IE where the margin-bottom of the last item was not being included in the "auto" height
+ of its Container
+ </li>
+ <li>Fix issue where dragging a child to become the last child in a folder would insert it in the wrong position
+ </li>
+ <li>Fix an issue where the sortType was not being honored when local sorting in a grid
+ </li>
+ <li>Fix issue when calling setProxy on a model subclass
+ </li>
+ <li>Fix Ext.panel.Table hideHeaders configuration option
+ </li>
+ <li>Fix button layout in IE7 when minWidth is set
+ </li>
+ <li>Fix minButtonWidth in FormPanels
+ </li>
+ <li>Fix bug where StoreManager would not be able to create a Store from a store config object
+ </li>
+ <li>Fix layout/alignment issues in fieldset legends with IE
+ </li>
+ <li>Fix for IE6 repaint bug on right edge of framed panel
+ </li>
+ <li>Fix display of tooltip anchor arrow
+ </li>
+ <li>Fix scope for custom validator method
+ </li>
+ <li>Fix icon position of grid header when align:right
+ </li>
+ <li>Fix issue with dateRenderer when dealing with null values
+ </li>
+ <li>Fix issue with masking in IE6-9 Quirks and IE6 strict
+ </li>
+ <li>Fix problem with Panel's initial collapse state setting, and subsequent expansion by the Accordion layout
+ </li>
+ <li>Fix ComboBox setValue to handle empty values
+ </li>
+ <li>Fix issue with Line Series shadows which weren't refreshed when animations were not enabled on
+ </li>
+ </ul>
+</li>
+<li>Enhancements
+ <ul>
+ <li>Refactored the Tree code. Working features as of this point are Tree rendering, expanding & collapsing,
+ drag and drop, loading a tree from memory, have multiple columns, keyboard navigation and selection model
+ </li>
+ <li>Added support for named arguments in Ext.Direct methods
+ </li>
+ <li>Every Record registers itself with the ModelManager
+ </li>
+ <li>Implemented Tree collapse and expand animations
+ </li>
+ <li>Implement loading nodes in a sorted TreeStore
+ </li>
+ <li>Added a lastframe event to the animation that only fires when the animation actually reaches its end
+ </li>
+ <li>Define getters for getting the computed height and width from an animations target to use as the from values
+ </li>
+ <li>Refactor Tree collapse and expand animations. This fixes quickly collapsing and expanding nodes
+ </li>
+ <li>Added a new transform option for Sorter
+ </li>
+ <li>Panel's getDockedItems now accepts a ComponentQuery selector string
+ </li>
+ <li>Add setSrc method to ImageComponent for changing the image src after initialization
+ </li>
+ <li>Added 'none' as a possible value for msgTarget, to prevent all error message rendering. Only fire
+ errorchange event when the error message actually changes
+ </li>
+ <li>Add hideGroupedHeader support to Ext.grid.GroupingFeature
+ </li>
+ <li>FormPanel and FieldContainer both contained logic to handle the addition and removal of Labelable and Field
+ instances within their items subtree; factored that common logic out into a FieldAncestor mixin for both to
+ use. The new mixin also adds new events 'fieldvaliditychange' and 'fielderrorchange' that allow listening
+ for changes at the parent container level
+ </li>
+ <li>Allow checkbox fields to display errors
+ </li>
+ <li>All the old config properties that controlled the dropdown list have been removed in favor of a single
+ listConfig object, which gets passed along to the BoundList's config. This is much simpler and provides
+ total control over all aspects of the list
+ </li>
+ <li>Implemented valueNotFoundText
+ </li>
+ <li>Enhanced BoundList layout to handle min/max for both width and height
+ </li>
+ <li>Implement ComboBox pageSize option
+ </li>
+ <li>elasticOut and bounceIn easing added for animations
+ </li>
+ <li>Added support for rootVisible. Also moved the creation of the NodeStore from TreeStore to the TreeView
+ </li>
+ <li>Added support for the 'root' configuration option on TreeStore. It supports the 3.3 way of specifying root
+ and children. Automatically figures out whether to load children on expand from the server or memory. Also
+ removed requirement to specify a proxy on a TreeStore. Removed requirement to specify store on TreePanel and
+ support the 'root' config option on TreePanel automatically creating a TreeStore
+ </li>
+ <li>Modified TreeView so that it expands the root node if it's not visible
+ </li>
+ <li>Modified getSourceFiles to include support for writing XML documents
+ </li>
+ <li>Moved additional class for VML from javascript into the stylesheet
+ </li>
+ <li>Add in support for icon and iconCls on tree nodes
+ </li>
+ <li>Support loading flat json data while still loading children from the root property
+ </li>
+ </ul>
+</li>
+<li>API Changes
+ <ul>
+ <li>Refactored Tree to be able to decorate records with a Node API
+ </li>
+ <li>Reimplemented TreeStore and created new class called NodeStore
+ </li>
+ <li>Border layout is now responsible for performing a mini-collapse of a child Panel
+ </li>
+ <li>Panel now performs a collapse to leave its header (or a newly generated, injected header) visible. It does
+ not perform a mini-collapse
+ </li>
+ <li>Renamed FlatTreeView to TreeView
+ </li>
+ <li>Correct getRefItems implementation in light of ComponentQuery selector being available in getDockedItems
+ </li>
+ <li>Add boxLabelEl as render selector for checkbox fields
+ </li>
+ <li>Ext.data.Model.id now assigns the new id to the record
+ </li>
+ </ul>
+</li>
+<li>Compatibility Changes
+ <ul>
+ <li>Added an alias for Ext.data.Field
+ </li>
+ <li>Added an alert when there are compat errors and no console
+ </li>
+ <li>Added compat code for GridView & JsonStore
+ </li>
+ <li>Modified paging example to switch getRowClass to PreviewPlugin
+ </li>
+ <li>Added internal Ext 3 > 4 class mapping utility
+ </li>
+ </ul>
+</li>
+<li>Documentation Refactors
+ <ul>
+ <li>Charting overview document
+ </li>
+ <li>Ext3 Legacy
+ </li>
+ <li>Ext.form.TextArea
+ </li>
+ <li>Ext.form.Checkbox
+ </li>
+ <li>Ext.form.Radio
+ </li>
+ <li>Ext.form.Field
+ </li>
+ <li>Ext.form.FieldContainer
+ </li>
+ <li>Ext.form.FieldSet
+ </li>
+ <li>Ext.form.Panel
+ </li>
+ <li>Ext.form.Labelable
+ </li>
+ <li>Ext.Base
+ </li>
+ <li>Ext.Button
+ </li>
+ <li>Ext.Component#draggable
+ </li>
+ <li>Ext.ComponentDragger
+ </li>
+ <li>Ext.Loader
+ </li>
+ <li>Ext.Array
+ </li>
+ <li>Ext.TabPanel
+ </li>
+ <li>Ext.TabPanel
+ </li>
+ <li>Ext.form.BaseField
+ </li>
+ <li>Ext.form.ComboBox
+ </li>
+ <li>Ext.form.Text
+ </li>
+ <li>Ext.form.Basic
+ </li>
+ <li>Ext.Toolbar
+ </li>
+ <li>Ext.data.SortTypes
+ </li>
+ <li>Ext.data.StoreManager
+ </li>
+ <li>Ext.state.Manager
+ </li>
+ <li>Ext.util.Animate
+ </li>
+ <li>Ext.form.Date
+ </li>
+ <li>Ext.form.Label
+ </li>
+ <li>Ext.form.Number
+ </li>
+ <li>Ext.Viewport
+ </li>
+ <li>Ext.Window
+ </li>
+ <li>Ext.ComponentQuery
+ </li>
+ <li>Ext.Panel
+ </li>
+ <li>Ext.form.FieldAncestor
+ </li>
+ <li>Ext.Container
+ </li>
+ <li>Ext.Component
+ </li>
+ <li>Ext.grid.ViewDDPlugin
+ </li>
+ </ul>
+</li>
+<li>Known Issues
+ <ul>
+ <li>Portal example not correct in IE6
+ </li>
+ <li>Toolbar menu overflow not styled in IE6
+ </li>
+ <li>Charts do not render properly in Safari 3.2
+ </li>
+ <li>Menu links (anchor tags) need styling
+ </li>
+ <li>Minor clipping of panel header text in Opera and IE6/7
+ </li>
+ </ul>
+</li>
+</ul>
+</div>
+<div class="release">
+<h1>
+ Release Notes for Ext JS 4 Preview Release 4
+</h1>
+
+<p class="notes">
+ Release Date: March 15, 2011<br>
+ Version Number: 4.0.0pr4
+</p>
+
+<h2>
+ New In This Release
+</h2>
+<ul>
+<li>New Examples
+ <div style="margin-left: 2em">
+ <ul>
+ <li>Miscellaneous
+ <ul>
+ <li>
+ <a href="examples/charts/FormDashboard.html">Grid/Form/Chart Combo</a>
+ </li>
+ <li>
+ <a href="examples/charts/TipsChart.html">Rich tooltips (Chart/Grid)</a>
+ </li>
+ <li>
+ <a href="examples/key-feed-viewer/feed-viewer.html">Accessible Feed Viewer using keyboard
+ navigation</a>
+ </li>
+ <li>
+ <a href="examples/keynav/keynav.html">Key Nav</a>
+ </li>
+ </ul>
+ </li>
+ <li>Drag and Drop
+ <ul>
+ <li>
+ <a href="examples/dd/dnd_grid_to_formpanel.html">Grid to form DnD</a>
+ </li>
+ <li>
+ <a href="examples/dd/field-to-grid-dd.html">Field to grid cell DnD</a>
+ </li>
+ <li>
+ <a href="examples/dd/dnd_grid_to_grid.html">Grid to Grid DnD</a>
+ </li>
+ <li>
+ <a href="examples/dd/dragdropzones.html">DataView to grid DnD</a>
+ </li>
+ </ul>
+ </li>
+ <li>Forms
+ <ul>
+ <li>
+ <a href="examples/form/contact-form.html">A common "contact us" popup form</a>
+ </li>
+ <li>
+ <a href="examples/form/checkout.html">A shopping cart checkout form</a>
+ </li>
+ <li>
+ <a href="examples/form/adv-vtypes.html">Advanced validations</a>
+ </li>
+ </ul>
+ </li>
+ <li>Toolbars
+ <ul>
+ <li>
+ <a href="examples/menu/menus.html">Simple toolbar with menus</a>
+ </li>
+ <li>
+ <a href="examples/toolbar/reorderable.html">Reorderable toolbar items</a>
+ </li>
+ </ul>
+ </li>
+ <li>Layouts
+ <ul>
+ <li>
+ <a href="examples/layout/accordion.html">Accordion layout example</a>
+ </li>
+ <li>
+ <a href="examples/layout/vbox.html">VBox layout manager examples</a>
+ </li>
+ </ul>
+ </li>
+ <li>Ext.Direct
+ <ul>
+ <li>
+ <a href="examples/direct/direct.html">Simple generic Direct example</a>
+ </li>
+ <li>
+ <a href="examples/direct/direct-form.html">Form submission using Direct</a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+</li>
+<li>Bug Fixes
+ <ul>
+ <li>Fix error in slideIn/slideOut when optional duration is not specified
+ </li>
+ <li>Fix and issue that can happen if only a single axis point is used in a bar chart
+ </li>
+ <li>Ensure lastFocused is reset when refreshing the selection model
+ </li>
+ <li>Fix EventManager issues with mouseenter/mouseleave events
+ </li>
+ <li>Fix {memberExpression} selector parsing
+ </li>
+ <li>Fix up alias for ArrayStore
+ </li>
+ <li>Fix currency function to accept and convert a numeric String input value
+ </li>
+ <li>Fix an issue where legend items don't remember their state between reload
+ </li>
+ <li>Fix up allowEl option for within, it should be used as a fallback if the element isn't contained within the
+ parent
+ </li>
+ <li>Fix a highlighting issues with Pie
+ </li>
+ <li>Correct use of "float" keyword as object property name
+ </li>
+ <li>Fix buttons with noLinearGradients
+ </li>
+ <li>Change how field layout handles horizontal sizing when no set width is specified It now uses the
+ shrink-wrapped natural size of its body content plus label, rather than the width of the outermost element.
+ This fixes layout issues when fields are used as hbox items, since the outer element has zero width during
+ initial layout. It also prevents fields from expanding to the full width of their container by default,
+ which is more consistent with the Ext3 behavior
+ </li>
+ <li>Fix Box layout for when margins are specified in object for, but without all 4 properties. Default to zero
+ </li>
+ <li>Remove extraneous quote in GroupingFeature template
+ </li>
+ <li>Fix an issue when using autoHide and delegate with ToolTip
+ </li>
+ <li>Fix Combo hiding when using the scroller in FireFox
+ </li>
+ <li>Fix specificity of .x-form-invalid-field selector for textareas so the proper styling is shown
+ </li>
+ <li>Fixed width of slider tips, and tips in general, in IE quirks mode. Switches tips to use the table framing
+ so they don't expand to full viewport width. Removes the bad width-setting logic from Ext.slider.Tip so it
+ is properly handled by the layout class
+ </li>
+ <li>Fix box layout to correctly calculate middle alignment
+ </li>
+ <li>Correctly autosize the innerCt according to max component size (now takes innerCt's borders into account)
+ </li>
+ <li>Fix an issue when using a defaultValue with Boolean fields
+ </li>
+ <li>Fix an issue when saving/loading a model and the request fails
+ </li>
+ <li>Fix for improper font measurement in VML. Vertical header text should display more reliably. Still some work
+ to do on adjusting for the font baseline.
+ </li>
+ <li>Ensure button does not show mouseover when disabled
+ </li>
+ <li>Fix call to cloneNode so it happens on the raw HTMLELement
+ </li>
+ <li>Fix up a typo in the RemotingProvider
+ </li>
+ <li>Fix an issue with form submissions with uploads
+ </li>
+ <li>Fix typo that caused file uploads to fail
+ </li>
+ <li>An autosized Panel which has been collapsed should now expand back properly
+ </li>
+ <li>Fix an issue where the store would not reload when filters are cleared while using remoteFilter
+ </li>
+ <li>Fix an issue where Model.setProxy would not accept a Proxy instance
+ </li>
+ <li>Fix a problem in the ZIndexManager where if a modal Window showed another floating Component (such as the
+ BoundList of a Picker Field), the modal mask is hidden during the period that the Window is not at the
+ topmost position in the z-index stack. Now the modal mask is only hidden when there are no Modal floating
+ Components (usually modal Windows) displayed
+ </li>
+ <li>Fixed some IE 6/7/8 styles in Menu. IE6 had a "slit" in the item separator that is no longer there. Browsers
+ without linear gradient support now use a nice looking background image for active items
+ </li>
+ <li>Fix for Menu in Opera 10, which does not report an element's width if it is not a part of a render box. We
+ have to temporarily add it to the body to perform a measurement
+ </li>
+ <li>Change ReloadChart example to bind to the correct (left) axis
+ </li>
+ <li>Fix issue where the bounding box cache in VML was not getting cleared when it's path changes
+ </li>
+ <li>Fix toolbar button spacing in IE7 strict mode
+ </li>
+ <li>Fix an issue with split buttons where the arrow wasn't completely clickable
+ </li>
+ <li>Fix some issues with state track in Model
+ </li>
+ <li>Fix Box Layout calculation effecting margins
+ </li>
+ <li>Fix endDrag call to afterBoxReflow
+ </li>
+ <li>Fix an issue rendering bar chart categories in the wrong order
+ </li>
+ <li>Fix an issue when trying to position a floating component at 0,0
+ </li>
+ <li>Fix a chart display issue when using a single series in a vertical legend
+ </li>
+ <li>Fix an issue where the chart legend would move on redraw when using position: float
+ </li>
+ <li>Ensure hidden fields don't have any effect on form display
+ </li>
+ <li>Fix vertical alignment of paging toolbar number field
+ </li>
+ <li>Fix a problem where Windows do no display an icon when configured with a valid iconCls
+ </li>
+ <li>Fix bug in ComponentQuery, when using {expression} matching. Only the first {expression} used would ever be
+ matched resulting in incorrect results.
+ </li>
+ <li>Fix styling of fieldset legends
+ </li>
+ <li>Fix height of text/trigger fields in IE quirks mode
+ </li>
+ <li>Fix spinner button sprite states when field is focused
+ </li>
+ <li>Fix an issue where viewports in IE6/7 would show a scrollbar by default
+ </li>
+ <li>Fix dependencies for Border Layout and Splitter classes
+ </li>
+ <li>Fix an issue when using non-string values in combo
+ </li>
+ <li>Fix an issue when using a belongsTo association and loading the parent object
+ </li>
+ <li>Fix an issue where RestProxy requests were being batched
+ </li>
+ <li>Fix sizes of Buttons in ButtonGroup
+ </li>
+ <li>Fix an issue when using an itemId in a border layout region
+ </li>
+ <li>Fix an issue where space was being reserved in IE7 for side error icon when there is no error
+ </li>
+ <li>Fix typo in throw error message in initframe
+ </li>
+ </ul>
+</li>
+</ul>
+<ul>
+<li>Enhancements
+ <ul>
+ <li>Introduced a TreePanel capable of supporting multiple headers. Abstracted shared logic between the Tree and
+ Grid into a TablePanel class.
+ </li>
+ <li>Tab overflow implemented
+ </li>
+ <li>Menu overflow implemented
+ </li>
+ <li>Drag and Drop for Dataviews implemented
+ </li>
+ <li>Implemented Tree and Grid drag and drop
+ </li>
+ <li>FocusManager implemented (Jarred ELABORATE)
+ </li>
+ <li>HTMLEditor implemented
+ </li>
+ <li>Ext Direct implemented, with a new DirectProxy
+ </li>
+ <li>Add support to ComponentQuery to accept member expression selectors in pseudo-class selectors
+ </li>
+ <li>Support member expression selectors for ComponentQuery in the same way as attribute selectors, by allowing
+ them to occur anywhere within a single selector chain to further filter the working group of items
+ </li>
+ <li>Added inheritable statics for Classes
+ </li>
+ <li>Refactor cleanup for Scatter Series
+ </li>
+ <li>Ensure doLayout doesn't run a layout that is already in progress
+ </li>
+ <li>Implement pruneRemoved for Ext.selection.Model
+ </li>
+ <li>Ensure selection model is refreshed when DataView is refreshed or records are added
+ </li>
+ <li>Create a reference to the Ext sandbox instance in generated functions
+ </li>
+ <li>Increment snap ends `to` argument properly
+ </li>
+ <li>Add feed viewer icon
+ </li>
+ <li>Box layout. Correct allocation of spare space to non-flexed items after a shortfall has caused a reduction
+ to minSize
+ </li>
+ <li>Button layout: Now sets the outer element width if a numeric width passed
+ </li>
+ <li>Added "focusable: false" to menu & toolbar separators so they are not candidates for gaining focus
+ </li>
+ <li>Updated Ext.menu.* to play nicely with Ext.FocusManager when enabled
+ </li>
+ <li>Menu: Constrain to within browser viewport and use box layout scroll overflow handler
+ </li>
+ <li>Implement disabled style for horizontal scroller
+ </li>
+ <li>Implement Ext.selection.TreeModel handling for left/right in the flattreeview. Turn it on in the TreePanel
+ </li>
+ <li>Enforce that user clicks expander to toggle a record
+ </li>
+ <li>Ensure that collapsed region placeholders are z-indexed above slide-ins
+ </li>
+ <li>Border layout now honors the floatable: false config
+ </li>
+ <li>Menus no longer access elements that are not rendered
+ </li>
+ <li>MenuManager now uses Ext.Array.remove instead of calling remove on the Array instance
+ </li>
+ <li>Ensure a region isn't floated if floatable: false is specified.
+ </li>
+ <li>DataView now ensures the selections get refreshed when the view does
+ </li>
+ <li>Implemented button as a link when an href/url is configured
+ </li>
+ <li>Implementes initial collapse state to collapse when the outermost Container (usually a Viewport) has been
+ layed out, or, if no Container, on first component layout
+ </li>
+ <li>Removed legacy images file
+ </li>
+ <li>The framing method for non-CSS3 browsers which uses a table is necessary for proper width of floated
+ components in IE quirks mode. Some floated components, such as Tip, have Dock layout which requires being
+ able to insert docked items directly into the outermost element; this was failing when the outermost element
+ was the table element. Changed to have a div as the outermost element with the table as an immediate child
+ </li>
+ <li>Prevent validation when initializing the field value, rather than validating but then clearing errors
+ </li>
+ <li>Apply correct CSS classes to Panel headers within collapsed Panels so that bordering can be kept consistent
+ </li>
+ <li>Add rule for column layout child items. They must float:left
+ </li>
+ <li>Implement 3.x style Column layout where child items float across the Container (Note this API is not
+ finalized and may change)
+ </li>
+ <li>Labels for vertical axis are now hidden when they're too close to each other (or overlapping)
+ </li>
+ <li>Implemented weighting on docked items by returning a sorted array based on a weight property in
+ AbstractPanel's getDockedItems method. Default weight is 0
+ </li>
+ <li>Addition code to ensure the data proxy gets its params correctly
+ </li>
+ <li>A parent menu's hide timer (on mouse leave) will be cancelled when hovering over a submenu
+ </li>
+ <li>Add x-quirks to when we're in quirks mode (!Ext.isStrict), useful for CSS that must know whether or not in
+ quirks mode, as x-border-box is applied on all browsers that aren't IE6/7 in both quirks and strict modes
+ </li>
+ <li>Implemented hideHeaders and provide backwards compat layer for preventHeaders
+ </li>
+ <li>Implement fill:false in Accordion layout which means that expanded child Panels are not fitted within the
+ accordion Container, but assume their natural height. Implement multi:true which allows multiple items to be
+ opened at once when using fill:true. The opened Panels share available space by using the Box layout flex
+ config
+ </li>
+ <li>Implement a Component click event in Header. This is for use by Panel's titleCollapse configuration
+ </li>
+ <li>Accordion layout now propagates its Panel-specific configurations to child Panels
+ </li>
+ <li>Implement titleCollapse for Panel
+ </li>
+ <li>Added writeAllFields method to the data writers
+ </li>
+ <li>Add beforeselect event to DataViewModel
+ </li>
+ <li>Restored original fonts and font-weights in the default theme to be the same as of 3.3
+ </li>
+ <li>Class.override now adds an owner reference to methods that didn't exist in the superclass yet
+ </li>
+ <li>Users can now override the sortParam used when sorting a particular Header
+ </li>
+ <li>Ensure we use the browser normalized array methods for DataView
+ </li>
+ <li>Add a findLayoutController method which goes up the ownerCt chain to find the highest currently active
+ layout so that afterlayout events may be tracked to fire when a final size has been arrived at
+ </li>
+ <li>Card layout now calls afterLayout on the card Container after card activation
+ </li>
+ <li>Refactor getWidth, getHeight, and getViewSize to account for IE quirks mode measurement issues when a
+ container is overflowed
+ </li>
+ <li>TabBar now scrolls the active tab into view upon set of active tab
+ </li>
+ <li>Added new isIEQuirks flag
+ </li>
+ <li>Tweak bar/column chart starting points so they don't overlap the axis
+ </li>
+ <li>Ensure box layout takes border space of the innerCt into account when centering
+ </li>
+ <li>Tooltips no longer get focus when they call toFront()
+ </li>
+ <li>Users may now provide their own CSS rules for enabling overflow on other box layout Containers. Currently we
+ support Menu, Toolbar and TabBar overflowing.
+ </li>
+ <li>Window will now force the header creation if draggable is set to true
+ </li>
+ <li>Added a new Body Component layout for Components which maintain an inner body element which must synchronize
+ its size with the encapsulating element
+ </li>
+ <li>FieldSet now uses a Component layout to synchronize the size of its body element with the size available
+ within its main, encapsulating element
+ </li>
+ <li>Due to the use of the descendant selector for setting float/etc on field labels, fields nested within a
+ FieldContainer would always get the styles corresponding to the container's labelAlign, even if their own
+ labelAlign was different. Changed it so the label alignment className is now given directly to the label
+ element rather than the parent, so the CSS no longer has to use descendant selectors
+ </li>
+ <li>The Trigger component layout was setting the height of the input field based on the incoming requested
+ height; single-line input fields should always get their height from the CSS and ignore the layout's height
+ </li>
+ <li>Made AbstractDataView less strict in the type of parameter it accepts as a target for getRecord. It may now
+ be an HtmlElement or an Ext.Element
+ </li>
+ <li>Added a frameHeader config which turns on/off framing on the Panel Header
+ </li>
+ <li>Added a ComponentLayout for Editor
+ </li>
+ <li>Ensure formBind is updated when the form is first created & when items are added/removed
+ </li>
+ <li>Added the ability to assign a custom reader for reading associations
+ </li>
+ </ul>
+</li>
+<li>API Changes
+ <ul>
+ <li>Added destroy method to Model
+ </li>
+ <li>Move getItemForPoint up to Series and implement isItemInPoint in each series
+ </li>
+ <li>Added static methods for DataView
+ </li>
+ <li>Containers calls to doLayout will call ComponentLayout instead of ContainerLayout when they don't have
+ dimensions (autosized)
+ </li>
+ <li>Change ComponentQuery's member expression filter function to use an "items" argument rather then accessing
+ arguments.callee.caller.arguments, to be ES5/strict compliant and more straightforward
+ </li>
+ <li>Remove the use of arguments.callee from EventManager.createListenerWrap, and instead give a named reference
+ to the return function. ES5/strict compliant, and works in all browsers
+ </li>
+ <li>Ensure DataView uses getItemSelector() when firing events
+ </li>
+ <li>Changed $prefix in scss to include `x-` not just `x`
+ </li>
+ <li>Remove box scroller subclasses. There's only one now which handles perpendicular/parallel
+ </li>
+ <li>Box layouts: new properties for use by box layout overflow handlers
+ </li>
+ <li>All box layout overflow scrolling is handled by a single class: Scroller
+ </li>
+ <li>TabBar now removes header text item and tool spacer. Use scroller overflow handler
+ </li>
+ <li>Added a new preventDefault option to button
+ </li>
+ <li>Remove HorizontalMenu class. There is only one Menu overflow handler
+ </li>
+ <li>Move scroll-specific methods out of overflow handler base class into the Scroll handler
+ </li>
+ <li>Added extra menu-active cls with btn.ui into menuShow
+ </li>
+ <li>Added menu-active cls to css
+ </li>
+ <li>Add slider layout class as dependency
+ </li>
+ <li>Not all floating components should be automatically focused when they are brought to the front; this adds a
+ focusOnToFront config to control that behavior on a class or instance basis. Defaults to true, but is
+ overridden to false in Tip and in the BoundList instances created by ComboBox and Time fields, to prevent
+ losing field focus
+ </li>
+ <li>Ext.grid.View renamed to Ext.view.Table
+ </li>
+ <li>Throw an error message when trying to bind to an event handler that doesn't exist
+ </li>
+ <li>Add a border to collapsed panel headers depending on their docked position
+ </li>
+ <li>Renamed the legacySortMode config to simpleSortMode
+ </li>
+ <li>Added new API config for Server proxy and subclasses
+ </li>
+ <li>Removed Class.extend method (not to be confused with Ext.extend)
+ </li>
+ <li>Removed unused getHead method from Ext.data
+ </li>
+ <li>Ext.Date.parseDate changed to Ext.Date.parse. Add deprecaton for the older parseDate API.
+ </li>
+ <li>Unified Element and Element.static addUnits method which checks for a valid number or unitized String and
+ throws a wraning message if a NaN is passed
+ </li>
+ <li>Changed "operation-complete" event in Batch to "operationcomplete"
+ </li>
+ </ul>
+</li>
+<li>Compatibility Changes
+ <ul>
+ <li>Added Ext.lib.Ajax compat
+ </li>
+ <li>Added Ext.reg / ComponentManager.regiserType aliases
+ </li>
+ <li>Fixed editor example's Panel.header reference
+ </li>
+ <li>Include css for message box example
+ </li>
+ <li>Alias Ext.lib.Dom.* to Element
+ </li>
+ <li>Fixed registerType/reg aliases, added registerPlugin/preg
+ </li>
+ <li>Moved legacy-only fx methods to compat file
+ </li>
+ <li>Moved Component overrides from core-compat to compat
+ </li>
+ <li>Added console msg about setting showErrors flag
+ </li>
+ <li>Compat fix for loading stores with an inline data object
+ </li>
+ <li>Moved xtype aliases from core-compat to compat
+ </li>
+ <li>Added additional non-Core JS object prototype aliases
+ </li>
+ <li>Ext.Date compat overrides
+ </li>
+ <li>Additional msg for instance methods becoming statics
+ </li>
+ <li>Added Ext.extend to the compat file, fixed a null error if members arg is not passed
+ </li>
+ <li>Added Store.setDefaultSort compat override
+ </li>
+ <li>Added GridPanel and Model compat overrides
+ </li>
+ <li>Added applyTo message to Ext.Component
+ </li>
+ <li>Added Ext.Compat.breaking() to show breaking changes
+ </li>
+ <li>Added appropriate messaging for most of the compat configs
+ </li>
+ <li>Moved compat items from combobox into the compat file
+ </li>
+ <li>Renamed Ext.Base.extend -> Ext.Base.addStatics, deprecated Ext.Base.implement for Ext.Base.extend. In
+ short, from now on, use MyClass.addStatics for statics members, MyClass.extend for prototype members
+ </li>
+ <li>Fixed tpl alias to implement the getInnerTpl method correctly
+ </li>
+ <li>Added isDef checks where needed to log messages only for defined configs
+ </li>
+ <li>Add compatibility for overriding Ext.form.Field.prototype.msgTarget
+ </li>
+ <li>Add compatibility handler for old implicit column containers in the CheckboxGroup/RadioGroup items
+ </li>
+ <li>AbstractStore and Store overrides for reconfiguring reader/proxy config if needed
+ </li>
+ <li>Aliased store.url support
+ </li>
+ <li>Reader support for optional recordType 2nd arg to constructor
+ </li>
+ <li>XmlReader constructor override to alias configs
+ </li>
+ </ul>
+</li>
+<li>Known Issues
+ <ul>
+ <li>Portal example not correct in IE6
+ </li>
+ <li>Toolbar menu overflow not styled in IE6
+ </li>
+ <li>Charts do not render properly in Safari 3.2
+ </li>
+ <li>Minor styling issues with forms/tabs/buttons (primarily in IE6/7)
+ </li>
+ <li>Menu links still need styling
+ </li>
+ <li>Minor clipping of panel header text in Opera and IE6/7
+ </li>
+ </ul>
+</li>
+</ul>
+</div>
+<div class="release">
+<h1>
+ Release Notes for Ext JS 4 PR3
+</h1>
+
+<p class="notes">
+ Release Date: March 3, 2011<br>
+ Version Number: 4.0.0pr3
+</p>
+
+<h2>
+ New In This Release
+</h2>
+<ul>
+<li>Bug Fixes
+ <ul>
+ <li>Across the board documentation updates and fixes
+ </li>
+ <li>Fix and implement CycleButton
+ </li>
+ <li>Detect that getAttributeNS is only available in IE9 when it is in IE9 standards mode
+ </li>
+ <li>Fix type in formatContainsHourInfo
+ </li>
+ <li>Fix shrinking problem on the y axis with line charts
+ </li>
+ <li>Fixed sandboxing for EventManager createListenerWrap, reported from
+ </li>
+ <li>Replaced all "new Function(...)" with Ext.functionFactory(...), which solves the sandboxing issues
+ </li>
+ <li>Fix reload of legends and hiding of pie slices shadows when changing the number of pie slices
+ </li>
+ <li>Fix bug in stateful where changes were not being tracked
+ </li>
+ <li>Fixed up slideIn and slideOut animation
+ </li>
+ <li>The code to get viewport width had been changed incorrectly while looking at another layout issue. It's been
+ reverted to how it was before
+ </li>
+ <li>Various fixes for synchronous dynamic loading
+ </li>
+ <li>For data validations, fix inclusion and exclusion method by replacing array indexOf method that is not
+ supported in IE by Ext.Array.indexOf
+ </li>
+ <li>Fix that allow to run Dispatcher spec without context, more precisely without Ext.History object
+ </li>
+ <li>IE fix for Ext.data.store, use Ext.Array.indexOf instead of indexOf native Array method which is not
+ supported by IE
+ </li>
+ <li>IE fix for Ext.Number.toFixed
+ </li>
+ <li>Fix mouseenter and mouseleave events for SVG
+ </li>
+ <li>Specialized IE removeNode now specific to IE6 and IE7
+ </li>
+ <li>Fixed the zero gap issue for barchart as well as a anti-aliasing in the legend
+ </li>
+ <li>Fix framing for components with no bottom or top corners
+ </li>
+ <li>Improved Ext.extend backwards compatibility
+ </li>
+ <li>Fix XHR bug with timeout requests
+ </li>
+ <li>Fix a bug that only allows string values to be used with the {.} operator
+ </li>
+ <li>Fixed a bug with onAvailable in AbstractManager
+ </li>
+ <li>Fixed a bug in HashMap detecting an existing key when adding a new item
+ </li>
+ <li>Ext.Array.merge now properly acts like a true union set operation
+ </li>
+ <li>Fix padding on toolbar-text
+ </li>
+ <li>Fix css issues with tabs
+ </li>
+ <li>Fix css issues with grid
+ </li>
+ <li>Fix accordion header styling to match 3.x
+ </li>
+ <li>Fix portal example to use recently implemented accordion layout
+ </li>
+ <li>Set the collapsed flag before re-layouting the fieldset, so it can be used in isVisible calculations
+ </li>
+ <li>Fix date picker when using dynamic loading
+ </li>
+ <li>Fix welcome html files
+ </li>
+ <li>Fix border styling for DatePicker
+ </li>
+ <li>Fix class definition to set prototype properties when the Ext.Date class has been loaded in DatePicker
+ </li>
+ <li>Fix tag error in the RotateText example
+ </li>
+ <li>Fix styling of MenuItems' icons, checked/unchecked style rules target the *icon*, not the element
+ </li>
+ <li>Fix defaultFocus config when a number
+ </li>
+ <li>Fix incorrect expand icon in header of collapsed Panel in Accordion layout
+ </li>
+ <li>Fix bug in Time field's parsing
+ </li>
+ <li>Fix ComponentQuery member expression feature (e.g. '{isHidden()}' ) so it works as expected
+ </li>
+ <li>Fix framed panels header when collapsed
+ </li>
+ <li>Fix bottom tabsplit height with IE browsers
+ </li>
+ <li>Fix button padding when the icon is to the right
+ </li>
+ <li>Fix the width of grid sort indicators so they don't wrap as easily
+ </li>
+ <li>Fix arrow bottom buttons
+ </li>
+ <li>Fix form and triggerfield styling
+ </li>
+ <li>Fix styling issues with form/checkboxgroup
+ </li>
+ <li>Fix a bug with button, now using neutral color and not base
+ </li>
+ <li>Fix differently scaled buttons in a toolbar
+ </li>
+ <li>Fix cross browser issues with paging toolbar
+ </li>
+ <li>Fix for IE Ext.Array.toArray
+ </li>
+ <li>Fix Component.animate to ensure the component is returned and optimize when not animating height or width
+ </li>
+ <li>Fix styling for bottom tabs
+ </li>
+ <li>Fix tips so they no longer focus themselves when shown. In IE, it was taking focus from form fields
+ </li>
+ <li>Fix stroke widths in VML
+ </li>
+ </ul>
+</li>
+<li>Enhancements
+ <ul>
+ <li>A plethora of updates to the backward compatibility legacy files and guide
+ </li>
+ <li>Implemented combineErrors and combineLabels features in FieldContainer
+ </li>
+ <li>Added server-side usage support for Ext4: hammerJS and nodeJS tested
+ </li>
+ <li>Selection Model will now maintain last focused element in the View
+ </li>
+ <li>Add the ability to be able to load a single record with data reader
+ </li>
+ <li>Change shortcut easing functions to match CSS ones and added easeInOut. Benchmarked to be 300% faster at a
+ minimum
+ </li>
+ <li>Add setItemSize method for Containers as a central method for all child item sizing
+ </li>
+ <li>Implement framing using background-position instead of background-image. This resolves the issue with the
+ browser making a request to a 404 page for each framed component that doesn't have any generated framing css
+ </li>
+ <li>Preliminary support for onClick added for charts
+ </li>
+ <li>Implement Chart Mask mixin. Allows for selection of an area of a chart. This will be mixed into Axes as well
+ for the next release.
+ </li>
+ <li>Add a new parseStyles method to transform a css string to an object with a bunch of properties. Use this new
+ method in applyStyles in DomHelper and also in AbstractComponent
+ </li>
+ <li>Add new function to check if the format contains date/day info (ie. not time) - used in TimeField
+ </li>
+ <li>Add withinBox method to Draw
+ </li>
+ <li>Ext.Array.intersect method added
+ </li>
+ <li>Ext.Array.difference method added
+ </li>
+ <li>Ext.Array.union shortcut method for merge
+ </li>
+ <li>Begin clip-rect support in SVG and VML (incomplete)
+ </li>
+ <li>Change HashMap to no longer throw error when adding an existing key. Warn instead
+ </li>
+ <li>Added a cls into the rowexpander header cell and row cell for the first cell
+ </li>
+ <li>Added x-hidden cls for backward compatibility
+ </li>
+ <li>Update css for grids so it now uses css3 throughout
+ </li>
+ <li>Added images for special cells in grid
+ </li>
+ <li>All tabs have a font-weight of bold
+ </li>
+ <li>Move caching logic out of Anchor layout's anchorSpec functions to the base layout engine
+ </li>
+ <li>Add floor argument for example-data generator
+ </li>
+ <li>Removed deprecated layouts
+ </li>
+ <li>Accordion layout only animates during expand/collapse of child Panels
+ </li>
+ <li>Button layout caches measured styles for efficiency
+ </li>
+ <li>Feed Viewer uses CycleButton to cycle through the preview pane options
+ </li>
+ <li>Bringing a floating Component (such as a Window) to the front of its ZIndex stack now focuses it on a 10ms
+ delay. Focusing several Windows in succession results in only the last Window actually receiving focus
+ </li>
+ <li>Refactor Border layout to use new Element effects methods to slide regions in and out
+ </li>
+ <li>TabBar now overrides the layout align option set by the Header superclass
+ </li>
+ <li>Changed tabs to use the base-color and not hard coded colors
+ </li>
+ <li>Changed button to no longer use hardcoded variables
+ </li>
+ <li>Make TabPanel dock the TabBar according to the tabPosition config
+ </li>
+ <li>SVG text is now unselectable
+ </li>
+ <li>A new 'errorchange' event has been added to Ext.form.Labelable, fired whenever set/unsetActiveError is
+ called. This is similar to the 'validitychange' event on Ext.form.Field but is fired by Labelable components
+ which are not Fields, such as FieldContainer. It also fires when the validity is staying invalid but the
+ message changes, which is more useful in some cases
+ </li>
+ <li>BaseField now adds a .x-form-field-invalid class to the inputEl, and this is used in the CSS rather than
+ using the outer .x-form-invalid and a descendant selector; this allows proper styling of child fields of a
+ FieldContainer when the container has an error message displayed
+ </li>
+ <li>ComboBox clearValue method added back in
+ </li>
+ <li>Toolbar now uses the base-color
+ </li>
+ <li>Add extra checks to figure out whether we need to do DST parsing or not for Date function
+ </li>
+ <li>Add triggerNCls-over and triggerNCls-click classes to individual trigger buttons, so each one can be given
+ interaction styling independently rather than requiring compound class selectors. Fixes spinner button
+ states in IE
+ </li>
+ <li>FeedViewer example: Button icon CSS rules should only override the background image. Otherwise Ext-specific
+ styling rules will not apply
+ </li>
+ <li>Group class attached to the icon element for style targeting in CheckItem
+ </li>
+ <li>ComponentQuery can now accept back-to-back pseudo-class selectors, like :not():not():custom
+ </li>
+ <li>Move back to setInterval instead of setTimer as a base for animation timing.
+ </li>
+ <li>Allow for binding of multiple axes to a series via an array
+ </li>
+ </ul>
+</li>
+<li>API Changes
+ <ul>
+ <li>AbstractLayout removed, Layout remains the base class now all AbstractLayout dependencies to Layout
+ </li>
+ <li>AbstractDataView has new getter method getItemSelector
+ </li>
+ <li>afteranimate event now fired as the last operation of the Anim.end method (instead of the beginning of the
+ end)
+ </li>
+ <li>layoutItem moved to ContainerLayout from Layout
+ </li>
+ <li>Move resizeHandles config out of Window to Component
+ </li>
+ <li>Box will no longer use CSS margins. It reads CSS margins and adds them to the configured margins, and clears
+ CSS margins. This allows for more accurate positioning
+ </li>
+ <li>Ext.form.CompositeField has been deprecated, as FieldContainer is now at feature parity. Alias has been
+ added to compat file
+ </li>
+ <li>Ext.form.Field#checkValidityChange has been removed, its logic has been moved into the validate method so it
+ gets run when validate is called directly
+ </li>
+ <li>Chart zoom functionality being changed to zoom the appropriate portions of the chart instead of everything
+ </li>
+ </ul>
+</li>
+</ul>
+</div>
+<div class="release">
+<h1>
+ Release Notes for Ext JS 4 PR2
+</h1>
+
+<p class="notes">
+ Release Date: February 23, 2011<br>
+ Version Number: 4.0.0pr2
+</p>
+
+<h2>
+ New In This Release
+</h2>
+<ul>
+<li>Bug Fixes
+ <ul>
+ <li>Across the board documentation updates and fixes
+ </li>
+ <li>Fixed a bug that caused an error when hovering over a SplitButton
+ </li>
+ <li>Fixed a bug with setting Proxies on Models
+ </li>
+ <li>Slider movement no longer lags behind the mouse
+ </li>
+ <li>Search now works on the generated documentation
+ </li>
+ <li>Fixed issues regarding date formatting
+ </li>
+ <li>Fixed chart destroy code
+ </li>
+ <li>Fixed an issue when entering a value into the PagingToolbar field
+ </li>
+ <li>Fixed positioning of the editor in the editor sample
+ </li>
+ <li>Change the order and ActiveX Objects that we use. This fixes XML Parsing via DomQuery in IE
+ </li>
+ <li>The last frame of an animation will account for any rounding issues
+ </li>
+ <li>Fix various Slider Tip issues
+ </li>
+ <li>Fix various Slider Field issues
+ </li>
+ <li>Border layout now calls setCalculatedSize when sliding in a hidden Component so that the Component's size
+ does not get fixed and the "other" dimension that is not being set is not to auto by the ComponentLayout
+ </li>
+ <li>Fix preserving ratio to ensure that the largest minSize is honored.
+ </li>
+ <li>Fixed dependency issue with DatePicker
+ </li>
+ <li>Fix removing of current active tab
+ </li>
+ <li>Fix Ext.tab.Bar css sizing issue when the TabPanel has no items
+ </li>
+ <li>Ensure that there is at least one active tab if the tabpanel has items
+ </li>
+ <li>Fix issue with maintaining the constrain parameters in stretch and stretchmax
+ </li>
+ <li>Fix Firefox Ext.tab.Bar css sizing issue
+ </li>
+ <li>Remove tab focus outline on tabpanel tabs
+ </li>
+ <li>Fix icon rendering issue of TabPanel items
+ </li>
+ <li>Corrected styling of toolbar spacers
+ </li>
+ <li>Correct vertical alignment of text on most browsers
+ </li>
+ <li>Fix bug when entering a number into the PagingToolbar
+ </li>
+ <li>Fix MessageBoxWindow's initial laying out problem on FF
+ </li>
+ <li>Ensure RowSelectionModel fires select/deselect events.
+ </li>
+ <li>Fix issue where the parentMenu isn't set correctly if you pass an xtype
+ </li>
+ <li>Fix styling in resizer example
+ </li>
+ <li>Fix up the expand/collapse tool on FieldSet, it wasn't being toggled.
+ </li>
+ <li>Fix initially collapsed Panels in a border layout
+ </li>
+ <li>Border correctly hides hidden floated Panel after it's moved out of view
+ </li>
+ <li>Sandbox chart example now scopes all it's css, no more broken menus
+ </li>
+ <li>Set the background position correctly for progress bar background image
+ </li>
+ <li>Fix text alignment issue in progressbar.
+ </li>
+ <li>Fix element size issue for ie6 and ie7 in strict mode
+ </li>
+ <li>Resolved fighting of drag and drop resizing vs reordering
+ </li>
+ <li>Fixed an issue when submitting combo values
+ </li>
+ <li>Remove default minimum width on BoundList
+ </li>
+ <li>fix IE 7 icon separator zindex issue for Menu
+ </li>
+ <li>Fix problem where grids would incorrectly calculate the width of columns when they were not currently
+ visible due to a layout. Like when they were in a TabPanel
+ </li>
+ </ul>
+</li>
+<li>Enhancements
+ <ul>
+ <li>All animations now support <a href="http://webstuff.nfshost.com/anim-timing/Overview.html">WC3 Timing
+ control for script-based animations.</a> When available, else fall back to standard javascript timers.
+ </li>
+ <li>Implement optional scoping for border box CSS rules
+ </li>
+ <li>Implement optional scoping for reset CSS
+ </li>
+ <li>Tabs are now closable
+ </li>
+ <li>Basic form's getValues now handle fields whose getSubmitValue method returns an array of multiple values
+ </li>
+ <li>Several animation examples updated
+ </li>
+ <li>Fixed links on the welcome page
+ </li>
+ <li>Several updates to class documentation
+ </li>
+ <li>Menus now have full keyboard navigation support
+ </li>
+ <li>Menus now extend Panel to support docked items
+ </li>
+ <li>Menu SCSS improved by moving hardcoded theme variables to the variables SCSS file
+ </li>
+ <li>Ext.util.KeyNav can accept space key input
+ </li>
+ <li>HashMap.add may now take a single argument similar to MixedCollection.add
+ </li>
+ <li>Fx queue methods are now handled in the Fx.Queue mixin.
+ </li>
+ <li>fxStack removed from Element.cache, this is now maintained within Fx.Manager.
+ </li>
+ <li>Animate methods (animate, stopAnimation, syncFx, sequenceFx, and getActiveAnimation) now applied via a mixin
+ to Element/CompositeElement/Component/Sprite/SpriteGroup
+ </li>
+ <li>Chart Series.js changed to use animate API. Rest of charts to follow
+ </li>
+ <li>Element translatePoints method refactored to handle undefined passed sizes gracefully
+ </li>
+ <li>EventManager preventDefault fix for IE <a href="http://support.microsoft.com/kb/934364/en-us">Link</a>
+ </li>
+ <li>Fix observable so it normalizes the event name in hasListener
+ </li>
+ <li>Ensure component cls and style properties are maintained on framed components
+ </li>
+ <li>Animator (keyframes) now fully support the iterations property
+ </li>
+ <li>Animator now properly supports stopping if beforeanimate returns false
+ </li>
+ <li>Normalize API differences between Element's addCls and removeCls. Both now allow space separated strings
+ </li>
+ <li>Implement endDrag method in DragTracker
+ </li>
+ <li>Handle mouse entering and leaving the arrow area of the Button
+ </li>
+ <li>Button now has a overMenuTrigger flag
+ </li>
+ <li>Split Button now uses the menuTriggerOver flag
+ </li>
+ <li>BorderLayout destroys its embedded Container upon destroy
+ </li>
+ <li>Allow setPagePosition to be passed one or other coordinates as undefined
+ </li>
+ <li>Border layout now implements parameter indices for setting size arguments in VBox and HBox
+ </li>
+ <li>Changing an error message will now be accounted for when errors are re-displayed
+ </li>
+ <li>Improved Grid CSS3 usage when available
+ </li>
+ <li>Component.setPosition method now uses component.animate
+ </li>
+ <li>Cleanup setPagePosition logic and account for NaN issues
+ </li>
+ <li>Rename string vars in Box to be more descriptive
+ </li>
+ <li>Add Toggle buttons to the chart examples
+ </li>
+ <li>Percentage width/height now supported in Border layout
+ </li>
+ <li>ZIndexManager now tracks browser resizes when the modal mask visible
+ </li>
+ <li>Border layout uses Component's animate method
+ </li>
+ <li>Border layout now correctly syncs size of hidden Components before sliding them into view
+ </li>
+ <li>Increase minWidth/minHeight of Resizer to 20
+ </li>
+ <li>Remove charts.swf as it is not needed anymore for the new Charts
+ </li>
+ <li>Added ResizeTracker: A multi-corner, constraining, aspect ratio preserving resize algorithm
+ </li>
+ <li>DragTracker will now process mouseout events correctly: Defer until mouseup if they happen during a drag
+ </li>
+ <li>Ensure RowSelectionModel select/deselect events are fired
+ </li>
+ <li>Fix bug where the parent menu wasn't getting assigned properly when specifying an xtype
+ </li>
+ <li>Adjust grid scrolling speed to be more consistent with the browser scroll speed
+ </li>
+ <li>Fix an issue with using initially collapsed regions in a border layout
+ </li>
+ <li>The Ext.JSON.encode method will now gracefully handle object types that it does not recognize by returning
+ undefined as the value of unknown properties
+ </li>
+ <li>Sprite methods will all return the sprite upon completion
+ </li>
+ <li>Added backwards compatible Ext.extend that delegates to Ext.Class
+ </li>
+ <li>Keyframed animation's (Animator.js) start method is now controlled by fx.Manager
+ </li>
+ <li>Keyframed animations can now be properly queued and integrated with the Animate mixin
+ </li>
+ <li>Adjust the scroll delay algorithm to make the scrollbar more like the normal browser scrollbar
+ </li>
+ <li>Menu now extends Panel to support docking
+ </li>
+ <li>Grid now supports expand to fit
+ </li>
+ <li>Eliminate need for grid reorderer and resizer to be order dependent
+ </li>
+ <li>Added a submitFormat option for Date Field
+ </li>
+ <li>Cleaned up some undefined variables
+ </li>
+ <li>Charts now check for empty stores properly
+ </li>
+ <li>Element.addCls now more intelligent about adding a preceding space
+ </li>
+ <li>CheckboxGroup and RadioGroup implemented
+ </li>
+ <li>Add 'widget.grid' as a second alias
+ </li>
+ <li>Added private CheckboxManager class for managing checkboxes grouped by name, just like RadioManager
+ </li>
+ <li>BoxLayout now uses component.animate instead of Anim directly
+ </li>
+ <li>Add dirtyCls (defined in BaseField) to a field's outer element when it has a dirty value. CSS to display a
+ marker not yet implemented
+ </li>
+ </ul>
+</li>
+</ul>
+<h2>
+ API Changes
+</h2>
+<ul>
+ <li>All top level CSS classes are now prefixed with 'x-' by default instead of 'ext-' and can now be scoped. This is
+ now consistent with all other Ext CSS classes.
+ </li>
+ <li>HashMap.add may now take a single argument similar to MixedCollection.add
+ </li>
+ <li>Animate methods (animate, stopAnimation, syncFx, sequenceFx, and getActiveAnimation) now applied via a mixin to
+ Element/CompositeElement/Component/Sprite/SpriteGroup
+ </li>
+ <li>Keyframed animations (Animator.js) now fully support the iterations property
+ </li>
+ <li>Normalized API differences between Element's addCls and removeCls. Both now allow space separated strings
+ </li>
+ <li>Implement endDrag method in DragTracker
+ </li>
+ <li>Button now has a overMenuTrigger flag
+ </li>
+ <li>Rename pressClass to pressedCls and add check before cls removal in ClickRepeater
+ </li>
+ <li>Remove unecessary onDisable/onEnable override in menu.Item and Button
+ </li>
+ <li>Rename disabledClass to disableCls in Component
+ </li>
+ <li>Removed the positionAnimation property since it is no longer necessary with the Component.animate API
+ </li>
+ <li>Removed reverse parameter from keyframed animations
+ </li>
+ <li>The pause and running flags now maintained within keyframed animations (Animator.js)
+ </li>
+ <li>Update the RowSelectionModel constructor so we can add more useful contextual information to the event
+ </li>
+ <li>Menu now extends Panel to support docking
+ </li>
+ <li>Add isOnLeftEdge and isOnRightEdge for Grid Header events
+ </li>
+ <li>Grid HeaderContainer dragging property now defaults to false
+ </li>
+ <li>Animate's getActiveAnimation will now return the current fx.Anim object if there is one or return false if none
+ are active
+ </li>
+ <li>Renamed tab reorderer plugin to TabReorderer
+ </li>
+ <li>Renamed MenuManager to MenuManager
+ </li>
+ <li>Remove Ext.isForcedBorderBox property
+ </li>
+ <li>Remove the experimental enableForcedBoxModel property
+ </li>
+ <li>Ext.isBorderBox logic now reflects the use of css box model
+ </li>
+ <li>CheckboxGroup/RadioGroup setValue method has been simplified; it now only accepts a single format of an object
+ of name-value mappings. The old additional formats will be added to the legacy compatibility layer as an
+ override
+ </li>
+ <li>CheckboxGroup/RadioGroup getValue method has been changed to return an object of similar format to what is
+ accepted by setValue for internal consistency. The old behavior has been moved to a new getChecked() method
+ </li>
+ <li>The methods setRawValue, getRawValue, valueToRaw, and rawToValue have been moved out of Field and into
+ BaseField; this is to make the main Field interface simpler and more easily implemented on components which do
+ not have the concept of an underlying "raw value" like CheckboxGroup
+ </li>
+ <li>Field now has a isEqual method which compares values returned from getValue() for logical equality, and is used
+ anywhere a comparison is necessary such as checkChange() and isDirty(). The base implementation is a simple
+ string comparison, but can be overridden by fields with more complex values
+ </li>
+ <li>Field now has a resetOriginalValue method which is called by the form when trackResetOnLoad=true instead of
+ setting originalValue directly, this allows the behavior to be overridden by field subclasses
+ </li>
+ <li>Field's getSubmitValue method has been changed to a more powerful getSubmitData method, which returns a mapping
+ object of name-value pairs; this allows single fields to return multiple values under different names rather
+ than being limited to a single name per field. The getSubmitValue method has been retained as a helper but moved
+ down to BaseField
+ </li>
+ <li>Introduced a batchChanges method on field as a utility for preventing excessive firing of change events in
+ fields such as CheckboxGroup that have many sub-fields who may be updated as a batch
+ </li>
+ <li>Basic's isValid method has been changed back to its old behavior where it iterates through all fields in the
+ form and triggers error markings. A new hasInvalidField method has been added to retain the more efficient
+ short-circuited validity checking and preventing error markings
+ </li>
+</ul>
+<h2>
+ Known Issues
+</h2>
+<ul>
+ <li>Tab heights not consistent across all browsers
+ </li>
+</ul>
+</div>
+<div class="release">
+ <h1>
+ Release Notes for Ext JS 4 PR1
+ </h1>
+
+ <p class="notes">
+ Release Date: February 16, 2011<br>
+ Version Number: 4.0.0pr1
+ </p>
+
+ <h2>
+ New In This Release
+ </h2>
+
+</div>
+</div>
+</body>