News in version
TreeGrid Gantt chart SpreadSheet Examples Documentation Download Development Licensing Prices References Contacts Buy Try it free
Documentation
Search in documentation
TreeGrid versions compatibility

Changes log (txt file) Using custom CSS from 13.3 to 14.0 Upgrading from 9.3 to 10.0 Upgrading from 5.9 to 6.0

Using in JavaScript frameworks

Angular React Vue Other frameworks NodeJS server

Creating grid

Simple examples Basic information Creating grid Deleting grid Reloading grid Rendering grid Accessing grid by API

Data & communication
Data communication with server

Communication types AJAX communication AJAX SOAP envelope Submit communication Directly included data Data from JavaScript Cross domain / local load by JSONP Sessions (AJAX) Server response (AJAX) Synchronous communication (AJAX) Caching (AJAX) API (AJAX)

Download data

Settings for data download Layout XML structure Data XML structure

Upload data

Settings for data upload API for upload XML structure sent to server

Changing data from server

XML structure of download changes XML structure of request for a cell Synchronizing data with server

Input / output data formats

Complete list of tags Internal XML format Short XML format Extra short XML format DTD XML format JSON format

Cells
Cell basics

Cell type Cell format Dynamic format Dynamic type Cell value Reading / writing attributes by API Cell HTML Cell default Range or more values in one cell Cell with link URL Cell hint Cell tooltip / title Cell popup menu

Cell editing and changing values

Cell editability Dynamic editing Locking Defaults list Suggest list (auto complete) Tags input Changing cell value Mass cell change Clearing cells Editing cells Controlling <input> tag by JavaScript Input validation and restrictions Side checkbox Cell selecting

Calculations - cell formulas

Basics Formulas Mathematical functions Aggregate functions Special functions for actions Custom functions

Calculations - editable cell formulas

Basics Suggest list (auto complete) Defined names Actions for choosing cells Conditional functions Lookup functions Cell reference functions Logical functions Informational functions Mathematical functions Trigonometry functions Rounding numbers Number conversions String functions Date functions Summary functions Custom functions

Cell side buttons

Introduction Right side Button Left side Icon

Cell spanning

Column span Row span Dynamic spanning

Cell style and color

Basic grid style Sizing and scaling - responsive design Dynamic cell style attributes Cell CSS class Cell background color Dynamic cell border Cell HTML style Row color alteration Cell mouse cursor

Editable cell images

Insert image Edit image

Cell types
Automatic type - Auto String - Text, Lines & Pass
Number - Int & Float

Format Localization

Date and time - Date

Format Calendar component Dates dialog Localization

List & combo - Enum & Radio

Introduction Definition Related lists Enum specific Radio specific

Checkbox - Bool
Action button - Button

Introduction Basic clickable button Switch button Radio / tab button Menu button Combo switch button Combo radio / tab button Special Space rows with buttons

Panel with more buttons - Panel

Definition Standard fast panel Custom panel

HTML and special types

Html type EHtml type (editable) Icon type Abs type List type Editable Link type Editable Img type DropCols type Upload File type

Columns

Column basics Column index Column visibility Column visibility menu Column selecting Column tree Auto column tree Column position and moving Column adding and copying Column deleting Column width Column API

Rows
Row basics

Rows by functionality Rows by position Row name Row id Row index

Default rows

Description Example of default rows Example of changing default row Attributes

Row tree

Tree attributes Actions & API for expand / collapse

Row identification

Setting row id attribute Row id attribute in tree Row id created from cell values API for row ids

Row visibility
Row adding and copying

Five ways of adding rows to grid Adding and copying restrictions Adding new empty rows Copying existing rows

Row deleting Row moving and dragging Row selecting Row height Row API Space rows
Features
Sorting rows

Sort settings Controlling sort position Comparing strings Sorting actions Sorting API

Grouping rows to tree

Group settings Creating groups Comparing strings Created group rows <D Group='1'/> User interface to choose grouping Grouping actions and API

Filtering rows

Filter settings Comparing strings User interface to choose filter Filter actions and API

Searching in rows and cells

Search settings User interface for search Search actions and API

Printing grid

Print settings Choosing items to print Page size Print API

Print / export to PDF

Introduction Client side settings Printing options Client side API Server side API Data sent from client to server

Export to Excel or CSV

Introduction and export types Basic settings Styling export XLSX export Gantt export CSV export Old XLS / XHTML export Export API Communication with server Client export Server export

Import from Excel

Basic settings Sheets manipulation

Copy & paste rows via clipboard

Copy & paste permissions Copying to clipboard Pasting from clipboard

Master - detail grids

Introduction External master - detail grids Nested master - detail grids Synchronizing grids Other attributes for master - detail

Pivot tables

Pivot attributes & API Pivot formulas

External objects (like Adobe Flash) Undo & Redo
Gantt and bar chart
Gantt objects

Gantt objects list Display settings Edit settings

Main bar

Definition of main bar and plans Main bar as Task Edit settings Main bar content and side html Tip on mouse hover Vertical position and height Style specific attributes API to manipulate Main bars Actions Side text (deprecated) Real Flow (deprecated)

Run bar

GanttRun Definition Extended definition Run bar as Task Edit settings Save format Selecting Run boxes Run box content and side html Tip on mouse hover Box identification Vertical position and height Style specific attributes Overlaid (Error) boxes Containers for more boxes Dragging - moving and resizing API to manipulate Run boxes Actions Run special formulas

Summary task

Main for Main Main for Run Editable Main Editable Run

Gantt icons - Flag & Point

Flag - icon with text Point - math points

Gantt display objects

Header - column captions Cell and column Background Vertical movable Line Mark & Progress line

Gantt zoom

Zoom options Chart size limits Zoom selection Paging in Gantt chart

Dependency, constraints & schedule

Introduction Data units Defining dependencies Dependency colors and shapes Changing dependencies Correcting dependencies Scheduling algorithm Project date constraints Task date constraints Critical path - Slack (Float)

Gantt calendars

Global base calendar Local calendar Calendar list Calendars dialog Other settings

Gantt resources

Resources list Resources assign Resources filter Resources calculations Availability chart Resource usage chart Generated resource usage chart

Gantt popup menu Gantt API
Line and XY points charts

Charts in grid cells Chart JSON definition Base chart settings Basic attributes Size Axis and caption Individual chart lines Data sources Visual settings API for standalone usage

Paging in large grids
Paging root rows

Paging types and attributes Auto adding root pages API for paging

Pager components

Side pager Side pager type Pages Side pager type Gantt Side pager type Custom Pager with navigation buttons & edit Pager as list of page indexes

Paging in tree

ChildPaging - load / render on expand MaxChildren - limit children count ChildParts - load / render on scroll

Paging columns

Paging types and attributes Auto adding column pages API for column paging

Server paging

Server paging for root rows Server communication in root paging Root paging in very large tables Server paging in tree Server communication in tree paging XML Request for Data in root paging XML Download Data in root paging XML Request for root Page / children XML Download root Page / children API for server paging

TreeGrid DLL/SO for server paging

Introduction Compatibility with TreeGrid control Using TreeGrid server DLL/SO ASP.NET C# ASP.NET VB PHP JSP Java TreeGrid server concepts Function reference Calculations

JSON menus and dialogs
JSON menu description JSON menu definition example
Menu settings

Base attributes Visual settings Key navigation Behavior Size and scroll

Menu item settings

Base attributes Clickable item Inactive caption Collapsible sub level Popup sub menu Columns Bool item Enum item Edit item

Custom menu in JavaScript

Show custom menu Custom menu position Custom menu advanced settings Custom menu JavaScript events Custom menu JavaScript methods

Calendar dialog Custom calendar & JavaScript events Custom dialog in JavaScript
Global grid settings
Grid size and scroll

Default behavior Maximize grid height and width Update size according to the content Let a user to control the grid size Widths of individual sections Other scrolling attributes and API

Media rules - responsive design
Languages

Language & regional setup (Text.xml) Translate texts dynamically Change language

Grid cursor - Focus & hover

Focused cell and row Focused cell range Move and copy focused cells Filling cell values by dragging Tabulator navigation Key navigation Cursor look - focus & hover

Selecting rows, cells and columns

Selecting base Selecting rows Selecting cells Selecting columns

Global settings

Status messages Configuration menus Configuration menu - options Configuration menu - columns Configuration menu - print / PDF Configuration menu - export Default toolbar Useful API function Help file

Animations

Animations base Row animations Column animations Cell animations Animations for undo / redo Animations for server side changes Dialog animations

Grid configuration in cookies
Mouse & key events & actions

List of event handler types TreeGrid mouse events Mouse event names Key and mouse button prefixes Touch event names Event targets Assigning event actions / callbacks Event action parameters Action name suffix Calling actions from JavaScript Creating custom actions Focused vs. Actual cell TreeGrid key events JavaScript API events

Mouse API event TreeGrid files
Debugging and testing

Debug window Automated testing

TreeGrid changes log

+: New or extended feature
C: Changed feature
!: Incompatible change
B: Corrected bug

16.5.4
B: Expanded children or added rows were not visible after upgrading Chrome to 121+, when there was horizontal scrollbar but not vertical scrollbar in grid
B: MaxChildren pages were not created in server paging in pages passed in Body response

16.5
+: Editable formula now supports choosing source cells by dragging also in other sheets
B: Coloring cell ranges during formula editing ignored sheet! prefix.
B: Switching between sheets with formulas referencing other sheets could increase Grids.length
B: Edited cell with editable formula was not update when started editing in ExternalEdit
+: After moving cell range, the editable formulas outside the range refering these cells are updated like in MS Excel
!: DateStrings=1 now always uploads dates in format "M/d/yyyy". Before, since 12.0, the format was related to BaseSeparators and DateSeparator settings.
B: GanttBackground in fixed rows could be hidden in some cases
C: Editable formula function round() changed to round negative number in Excel way instead of JavaScript way. To preserve the old behavior set Cfg RoundJavaScript = 1
B: RoundNumbers could incorrectly round negative numbers
B: Column widths could be resized on Reload if style Size was not set to Normal
B: Searching could freeze when serching too many items
+: Added parameters lines and acceptenters to Prompt method to prompt multiline text
B: Date picker was shown for every cell on Ctrl+Arrow down
B: Click to row in edit mode when the edit cell was scrolled out could focus incorrect cell
B: Exporting html code containg tags all with the same attribute value (e.g. color) removed this attribute if Style module was not linked (without Sheet component)
B: GanttPaging could render incorrectly the first page on rerender, e.g. on page zoom other than 100% in Chrome
B: If xlsx had not set all column indexes, it was imported incorrectly
B: Levels icons were not correctly shown on start when grouped rows with children
B: Export to xlsx failed if Link attribute contained number
B: Edit height could not been updated on multiline editing
B: In large slow grid could be columns in row sections not synchronized after scroll on touchpad. Solved only if set Cfg ScrollForceSync=1.
B: RemoveRow could break down layout when removed not yet rendered rows
B: TreeGrid could not be created if removed tag defined by TreeGridControlsTag
B: TreeGrid could be printed cut off or small in the newest browsers
B: Links in Link Type or in HTML containing <&'" characters were exported with xml entities instead
B: Reference in editable formula to single cell in another sheet was invalid after switching sheets

16.4.3
B: Rows with Expanded=2 were not exported to CSV and XLS
B: JS error in some cases when grouping filtered rows and ShowFocused is set
B: Moving run boxes between rows could cause showing (expanding) expandable source child rows on undo / redo
B: Pasting only one column could remove one pasted row that contained substring of Header cell with CanCopyPaste=3
B: Nested grid could be inactive when scrolled and more nested grids in one cell were present
B: Defined number name in xlsx could cause JS error
B: Printing GanttBackground in strict mode could increase the first row in grid
B: PDFFitPage in exporting to PDF did not zoom the grid correctly

16.4.2
C: OnValueChanged and OnAfterValueChanged are now called on tag delete - in DeleteTag action if not called in EditMode.
B: GetRoutes did not check GanttMinSlack
B: Nested grid could be inactive when scrolled too much
B: Add menu on toolbar button was displayed under focused cell
B: Moving run boxes between rows could cause showing (expanding) source child rows on undo / redo

16.4
+: Added Format TextFormatRange to apply text Format in Range to every value in range instead of the whole cell value
B: Disabled grid did not update the disabled tag on window size change
+: Added AddGanttRun API to add run boxes to existing GanttRun
+: Added Update&512 for server changes to modify GanttRun from server, add new boxes without deleting the old ones
+: Added DragGanttRunByMouse API to drag run boxes outside to grid like dragging it from grid
C: EnumMenu now works without Enum set
B: Ghost in DragByMouse could have wrong size on start rendering
+: Added RemoveParents and RestoreParents API to temporary remove some parent rows, e.g. on filter in OnFilter, to permit sorting child rows among parents
B: JS error sometimes when dragging Run box to empty cell
B: Run boxes could disappear during drag slide when GanttHideExclude was set
+: GanttSizeFit was updated for GanttHideExclude to use GanttWidthEx/GanttWidth ratio
B: Using JS keywords new, delete, const and let in TreeGrid Actions code broke the code
B: Dropping run box to empty cell on GanttRunSummary could created not expandable child rows
B: Sheet could freeze when right aligned cell was spanned among column pages
B: Using different decimal separator in number Format could cause edited number being not accepted
B: RestoreCfg froze browser if set GanttSizeFit with GanttUnits months or years
B: Gantt chart with background was incorrectly printed to PDF by Puppeteer (Chrome)

16.3
+: Added attribute FormulaColorRanges for coloring cell ranges during formula editing, in the formula text and also in grid
B: Calendar="{Weeks:0}" now hides just week numbers to not break down the calendar layout
B: Calendar in Range cell could display and edit incorrect date if not set GanttLastUnit
B: Calendar showed incorrect time if the date format contained parts in '' / ""
B: Calendar did not show OK button if edited only month and year in some cases
B: Auto Calendar showed NaN values in all days for some date formats
C: Auto Calendar shows the second page of calendar for editing month and year when date format contains only month and year
B: xlsx export did not work if included prototype.js framework
B: TreeGrid did not save configuration to cookies if it has not set id
B: Gantt tip did not change for not editable bars with Hover=1
B: '8' in number Format right side to . did not work correctly
+: Added global JavaScript variable TreeGridControlsTag to specify tag where all TreeGrid dialogs will be rendered - to support fullscreen displaying only part of page
B: ExportType could be incorrectly saved to cookies and could cause presetting ExportSelected
B: When set Text_Url or Defaults_Url without setting _Static the popup grid dialog was not shown
B: Range=2 was ignored for number values in filter cell for Enum/Radio
+: Added value 2 to CopyFocused as: copy only focused rows and rows with CanCopyPaste=3
B: Possible JS error when Format was number
B: Possible JS error in Chrome if no header row was visible
B: xlsx with quotePrefix for cells with number value could not be imported
B: Vertical scroll position could be incorrectly updated after showing TreeGrid from display:none
B: IndentCols did not show auto col tree for the first level if set ColTreeLast
B: Action Outdent could incorrectly outdent selected rows
B: GanttBackground was printed per row (and slowed printing) even for PrintGanttBackground<=2 when defined GanttCalendar or GanttBackground in any row.
B: Saved cookie was broken if set StyleLap="1" SizeLap="1" ScaleLap="1" ContrastLap="0"
+: Added 4. bit to RoundNumbers to round all numbers in cells with Format = '@'
B: Tab out to another input / textarea when grid was in edit mode caused losing focus in the new input / textarea
C: Tab into grid with StaticCursor move the focused cell
+: Added TabStop values 3 and 4 to tab in and out grid without moving focused cell
B: EnterMode=3/4 caused losing focus when pressed enter in the last cell
B: ImportLimitCols could cause cutting count of rows to 1000
B: Actions ShowMenu and ShowPopupMenu could not show menu for focused cell instead of actual cell
B: IO HtmlMessage was not shown on deleting rows and synchronous communication
B: EnumMenu in JSON format was ignored if contained Items keyword in " or '
B: Cell Tip was hidden and shown again when focused hovered cell by arrow keys
B: In exporting Format to xlsx the characters after * and _ were prefixed and shown in the cell value
B: When used synchronous save after deleting rows, the IO HtmlMessage was ignored
B: Temporary tag could be shown in page top left corner when editing some html code in grid
B: Some actions for whole rows / columns were applied for both focused and selected together
B: Cfg Contrast was not uploaded in "Settings"

16.2
+: Added method GetRoutes to get connected tasks and the longest paths in Gantt chart
B: Gantt objects with higher order position were preferred for hover and actions before the objects under them even if they were not editable (e.g. dependencies above bars).
B: Grids.NoTryActiveX disabled whole AJAX. Now it just disables the only ActiveX usage - in IE on file://
B: Small negative numbers were not displayed with exponent
B: Column sections were not synchronized in some cases in Chrome with zoom!=100%
B: Auto fill of string values containing numbers starting zeros removed the zeros
B: Date set by string did not accept milliseconds .ttt in "M/d/yyyy HH:mm:ss.ttt"
B: RowSpanned rows were animated incorrectly
B: Hint was not shown for cells overflowed by 1px
C: Incorrect HTML (not escaped characters & and <) in EHtml and Auto types was edited as cut off
B: AutoHtml=0 was ignored for Auto type when rendering some HTML code
B: AutoHtml=0 could not be used for xlsx import
+: Added attributes EditDateTimeFormat, EditDateFormat, EditTimeFormat, EditNumberFormat to preset edit format globally for dates and numbers
B: Date Format containing separators prefixed by \\ was incorrectly converted to edit format
+: Added noshow parameter to SpanRange to speed up spanning many ranges at once
B: Calendar by AutoCalendar was not shown for Auto type when date Format was set manually
B: Locked Filter did not preserve editing in Filter cells
C: HtmlMessage in IO set for data download is now shown after grid is loaded, not directly after the data communication
B: Animating spanned cell could break down the row height
B: Refresh of spanned cell with button in main column could break down layout
+: Added ClearError flag to Validate to clear the Error attribute in valid cells
+: EnumMenu can contain EnumKeys in Name to fill Text from Enum
B: Changing Bool type did not clear Error attribute
+: Added parameter string to OnGetFilterValue to specify if the requested value is compared as string or as number
C: N and V attributes were ignored in <T> tag
B: Header cell Type was set to Text instead of Lines if no caption was defined
B: Chrome in zoom != 100% could switch to SafeCSS mode
C: Date picker did highlight first day in date range if time was set
B: Side Button in Rotated cells was displayed incorrectly
B: Calculating column width with rotated cells was incorrect in Firefox
+: Added OnRowRemove API event called when row is physically removed, also when Deleted row is accepted.
+: Added value 2 to column Spanned attribute to cut off the RowSpan when the next cell has set RowSpan.
B: Row height with spanned cells could be updated incorrectly in some cases
+: Added value 2 to noshow parameter in SpanRange API method to call them more in one block
B: Width of column section could be calculated incorrectly in Chrome when body and main header were hidden
B: Action SwitchRowColAbsolute could not be found without Sheet component
B: Action Validate could fail on testing Space rows with exception of not reading NoUpload attribute
B: Action StartEditEmptyDeleteTag threw exception if no Tag was defined

16.1.2
B: RowSpan was not set in copied children or children added by def Children
B: Inserting image to empty Img type cell did not set image width and height
B: Image imported to Img type from xlsx did not set width and height
B: Editing Img type could incorrectly calculate cell height
B: Entering characters < > & in editable formula when cell has Type EHtml or Auto with AutoHtml was impossible
B: Entering incorrect time like 12:345 into Auto cell still converted it to time like 12:34:05.
B: Entering reference to cell or cell range by mouse click or dragging did not work correctly
B: Choosing suggested item by mouse click in the suggest menu could move cursor to input start in some browsers
B: ExternalEdit was not updated when put suggested item or chose cell or cell range reference

16.1
+: Added options to GanttZoomFit and attribute GanttZoomFitRound to permit zoom fit to visible width and show horizontal scrollbar to the rest
+: ScrollToGanttRunBox can scroll also outside actually zoomed range
B: When scrolled Gantt chart to the most right and focused another Gantt cell, the Gantt could be scrolled to the most left

!: Modified default value of InsertImg, removed flag "float" to avoid dropping image option to any grid.
B: SVG images could not dropped to grid in some cases
B: Translation of menu items was incorrectly set in language files and caused some wrong translations in some languages
+: Added option to Translation Col: "Choose..." action name plus "Menu" to translate the popup menu shown by the Choose... action
+: Added attribute SortIconsNumbers to show sort icons with number for position in sorting, added sort icons with 1 - 9 numbers to responsive CSS styles
B: Hint was shown in some cases when the cell value was shown whole
C: Auto sort never expands parent of moved child rows
B: Calculated column width could be set 1px less and hint was shown for some cells
B: Col index started on the second position (e.g. B instead of A) if set DefaultSort
+: Added API event OnSetLink to control the cells where link can be assigned
+: Added API event OnOpenImageCell and updated API event OnDropFile to control the cell where image can be inserted
B: ChangeFocusRow could remove focus if called after action that failed
B: Img type did not show correctly direct images in data:
+: Updated API OnCanRow add to change place where the row(s) can be added or copied
B: It was not possible to set xxxVisibleFormula to show individual sheet buttons on toolbar if not set DynamicStyle/DynamicFormat/DynamicBorder
C: DateFormatLowercase now converts 'm' to 'M' also if present 'h' or 'H', but after the 'm'.
B: Svg code in Html/EHtml type containing attributes/tags with prefix: was incorrectly shown

+: Added attribute ImportRows to import rows from xlsx to grid or Gantt chart
+: Added flags TreeGrid, ColNames, RangeComment and FormatComment to ExportType to produce xlsx for importing rows by ImportRows
+: Cell Tip can be exported as Excel comment (if set TipComment flag in ExportType) and Excel comment can be imported as cell Tip
+: Added attributes ExportGrids and ExportSheet for exporting more grids to one xlsx on separate sheets
+: Added flag HideFiltered to ExportType to export filtered rows as hidden
+: Added flag HideGroupCols to ExportType to export columns hidden by grouping as hidden
+: Added flag Language to ExportType to export date formats in actual TreeGrid language and not chosen by Excel locale
+: Added flag NoHtmlPrefix to not export HtmlPrefix and HtmlPostfix attributes
+: Added values 5 and 6 to row/col CanExport to export the row/col always hidden / visible
+: Added API event OnExportCell called on export of every cell to xlsx
C: If not set TextType in ExportType, the number values in Text types are left aligned
B: Defined Name to the whole columns or rows could be incorrectly exported to xlsx
B: Xlsx was not exported if it contained some wrong image url

16.0.2
!: On import xlsx the <cellStyleXfs> are now ignored according to Excel behavior against xlsx specification. Added Cfg ImportStyleXfs attribute, set it to 1 to use <cellStyleXfs>.
B: If returned from server <IO/> Reload and HtmlMessage, the HtmlMessage was not shown and API event OnAfterSave was not called
B: Changed flag in Validate did not work correctly in 16.0

16.0
+: Gantt chart can be exported to xlsx as graphics. Added various setting for Gantt chart export.
+: Added dependencies and scheduling for GanttRun containers
+: Added attribute GanttRunContainersLabel and GanttRunContainersLabels to define and display labels in GanttRunContainers
+: Updated scheduling for run boxes, joined boxes can scheduled together.
B: Extending Gantt chart by moving bar to the left scrolled horizontally always to 0
B: Run drop cursor was incorrectly vertically positioned when set GanttRunErrorsShift
+: GanttRunIds=3 now always generates unique ids
+: Added calling custom function in GanttMenu like in cell Menu
+: If Run box defined by Start+End/Duration after Nbsp box, it is still joined with the Nbsp
+: Boxes joined by nbsp can be adjusted by shrink/slip/shift and the rest can be adjusted by error when sliding
B: Dropping run box when set GanttRunErrorsShift now distinguishes the vertical position
B: Dropping run box to append inside Nbsp behaved incorrectly in some cases
C: If the whole main bar is in excluded dates, it still shows percent completion if set
B: Gantt objects were inactive when used GanttPaging and row contained row spanned cells
C: Default value of ExportHeights is 3 when exporting Gantt chart

+: Added Tags attribute to display range cell value in visually separated and marked tags. The tags can be deleted by click to 'x' icon or during editing by backspace.
+: Added method GetEvent to return actual TreeGrid mouse event
B: Grid sections with Gantt could be misaligned vertically after filter
+: Added actions DragFocused, DragFocusedCopy and DragFocusedCopyChildren to drag focused rows
+: Updated GanttDragLine to show vertical lines when dragging run between grids
B: PopupGrid border could be cut off from right side
+: Added API events OnSelected and OnSelectedAll called after the selection is done
+: Added test parameter to OnSelect and OnSelectAll
B: Printing hidden columns width FastColumns and PrintLocation>=2 printed empty cells in these columns
B: Animated dialog in Firefox could be shown under grid
B: Grid showed cursor and dialog displaced in Safari on Mac when browser page was scrolled left or down
B: Data from server were not added when set IO HtmlMessage and SuppressMessage was 4
+: Added value 8 to parameter type in Reload method to clear opened xlsx file and reload normal json/xml data
!: Validate now ignores NoUpload columns
+: Added attribute ImportAdd to specify if the opened xlsx will be added to existing one or discard the old one
+: Added attributes ImportLayout and ImportTreeGrid to permit opening xlsx file in grid that loaded normal xml/json data
B: Grid could be disabled after exporting when it contained not rendered rows processed by PrintVarHeight
B: Cell value could be shifted after editing in xlsx in rare cases
B: With Paging=3 and SelectAllType&16 the SelectAll button still selected / unselected only actual page
B: Sorting could remove pages when grid contained only adjacent blocks (RowSpanned rows)
B: Popup dialog could be displayed centered without visible header and buttons if there was no room for them
B: Safari 14 on iPad was incorrectly detected and dragging did not work correctly
B: Dragging rows between nested grids on touch screen was not possible
B: Cell cursor could be displaced in Chrome and Scale!=1 and Overlay
B: Imported xlsx could ignore ' in cell value start in some cases
!: DefaultSort default value changed to 1. Added DefSort button to Toolbar and it is shown instead of Sort button by default.
!: Cells with <br> in Html or EHtml type and cells with LF in Lines type are exported with Wrap=1. Added flag NoWrapBR to ExportType to disable the feature.
B: MainTag height or width could be incorrectly updated when resized to accommodate too big grid if the MainTag has not set height/width by inline style
B: Link type containing & < characters in text exported to xlsx broke down the xlsx

15.1.4
B: Resizing end of GanttRun box ending before excluded dates shifted the mouse position by the excluded date
B: Editing empty cell Lines type or vertically aligned could place the edit box in incorrect vertical position

15.1.3
+: Added actions HideSheet and ShowSheets to change sheet visibility in toolbar sheets
!: Hidden sheets are now exported as hidden
B: Colspanned cell in fixed rows in ColPaging>1 and ColPagingFixed=0 was incorrectly focused/hovered in Chrome and next cells could be incorrectly colored in all browsers
B: Hiding many columns with ColPaging and ColPagingFixed=0 could scroll the fixed section incorrectly in Chrome
B: After Reload with type&4 did not work ReloadBody
B: Cell wider than view was not scrolled into view while moving focus by arrows
B: Dates in range 1/1/1900 - 1/1/1970 were incorrectly exported to xlsx when set ExcelDates=0
B: AddCols threw JS error when adding columns in some cases
B: Parameter type in OnCanRowDelete was 1 instead of 2 if ShowDeleted=1
B: Height of row could be incorrectly too high if contained wrapped cells in hidden columns, if SafeCSS set.
B: Filter could be very slow with many hidden rows and FilterHideParents set
B: AutoSort did not work with Expanded=2 rows / FilterHideChildren
B: OnLinkClick returning true did not cancel the link navigation
C: Updated ExcelDates to accommodate Excel compatibility bug on 2/29/1900.
B: ExcelDates with time only returned date in 12/30/1899 instead of 12/31/1899.
B: ExcelDates with time only set in data were converted to 1/1/1970 instead of 12/31/1899.
B: Grid could not be horizontally scrolled in Chrome when no variable rows were visible and set ColPaging=2 ColPagingFixed=1
B: Cell with link could generate JS error when accessed by keys
B: Dragging row on the horizontal scrollbar did not auto scroll down
B: Data format d.M.yyyy in GanttRun in Chrome was converted incorrectly to M.d.yyyy
B: Pasting with CopyCols>=4 could generate JS error
B: Focus cursor and edit input in nested grid could be hidden in some cases
B: ShowPopupGrid did not work correctly if called for nested grid
B: AutoSort could generate JS error in Gantt when used FilterHideParents

15.1.2
+: Added attribute FormulaPlusNumbers to use the + operator in editable formulas only for numbers and empty strings, like in Excel
B: Paging could incorrectly calculate page height if some rows have set Height attribute. Bug introduced in 15.0.20.
B: Column tree was not created in left column section when created by Level attribute or from xlsx.
B: Hidden sheets could generate empty tabs in sheets list when not set ShowHidden=1 in the sheets cell.
B: Hidden sheets were not accessible either if set ShowHidden=1 in sheets cell.

15.1
+: Added GanttMinWidth to specify minimal width of main bar to display (previously was hardcoded 6 px)
+: Added GanttHtmlHover and updated GanttIconsHover to permit dragging main bar by the side text and side icons
+: Added GanttMinResize and GanttRunMinResize to disable resizing too narrow bars in small zoom
B: GanttTextOverlay could break down Gantt background in Chrome
+: Added OnGanttEdit API event to control GanttEdit dynamically
+: Added MainXResizeLeft and MainXResizeRight keywords to GanttEdit to permit resizing only one edge of main bar
C: If Gantt main bar is defined only on excluded dates, its duration is now set to one GanttDataUnits after moving instead of deleting it.
!: GanttNoMilestones is read also from the cell and from main plan
B: Gantt border was displayed in empty Gantt cell, even for GanttShowBorder = 0
+: Added GanttAvailabilityHidden attribute to calculate resource chart from all rows, including hidden
+: Added GanttAvailabilityTextShift attribute to shift overlaying text vertically in resource chart

+: Added Export_Type="Save" to upload the exported data to server by AJAX to save them here instead of downloading them back
+: Added "Currency" flag to ExportType to export actual currency string instead of $ to xlsx
+: Added flag NoLink to ExportType to not export links to xlsx
!: Added attribute ExportBase64 to control data format in OnExport API event. If set Export_Type="export" or "save" the OnExport gets the data in base64.
B: Xlsx export threw JS error when exporting formula set by number
B: ExportCols value 3 did not work correctly
B: Children of hidden row with Expanded=3 were not exported / printed
+: Added editable formula functions: xirr, xnpv, pmt, ipmt, ppmt, fv
+: Added bit 2 to StrictNumbers to restrict entering hexadecimal values in Int and Auto types.
B: #REF! in Excel formula caused JS error
B: Calendar was not shown in Filter row if set Editing=0
B: Page zoom by Ctrl+mouse wheel was disabled on TreeGrid
B: Setting width of column with actually rendering child parts threw JS error
B: Editing date format starting by "yyyy" could lead to NaN
B: Some date formats converted to editing could contain white space on start / end
B: Copy&paste could paste NaN instead of value in some cases, if TreeGrid was compiled without EditAttrs module (in Sheet component)
B: Action ChooseFormat returned false for test if the cell(s) has set actual Format already
B: Entering January in some edit formats could write February instead
+: Added attribute FocusLarge to not scroll the too high cell to its top.

15.0.24
+: Added attribute GanttNoMilestones to display zero length main bars as narrow bar instead of milestones. In this case is possible to resize the bar to the zero length, but it is not possible to delete the bar by resizing.
B: JS error when EmptyValue for text types was number
!: GetGanttIncorrectDepependencies now works also on tasks on different excludes, but the returned shift values have no meaning
B: Action ClearCell failed without Sheet component
B: EditFormat="" did not clear the Format for editing
B: Some antiviruses returned false positive for some registered GridE.js

15.0.23
+: SaveAttrs can save Format and other Lang tags attributes
B: Custom actions assigned to Grids used without quotes did not receive target and test parameter values

15.0.22
B: GanttAvailabilitySum returned incorrect values in some cases with excluded dates inside the summed range
C: Incorrect dependencies on different excludes are marked incorrect according to the possibility of moving the dependent task
C: Behavior for values 2,3,4 of GanttCorrectExclude were changed. The correcting dependencies on different exclude has been standardized, dependent task movement is preferred.
B: Dates uploaded in format dd.MM.yyyy could be incorrectly set as MM.dd.yyyy in Chrome
+: Possible to import and export of xlsx and csv together (import csv via API). Added ExportCols=3 to show the export menu also if imported xlsx.
B: Radio type was inactive with Wrap=1
B: Export to csv failed if exported number in cell with @ Format.
B: AutoUpdate was not used for dynamic span
B: xlsx without "r" attribute in cell definition was not imported correctly.
B: Entered value "e" could be taken as correct number in Auto type
C: If entered at least one incorrect date in range Auto cell, the whole value is taken as string
!: Setting row attribute CanEdit=1 now works like null and does not permit editing in the whole row for all not editable cells
B: Dependencies were not rerendered when showing / hiding rows manually
B: Disabled Gantt Main bars ignored minimal width 6px
+: Added Object attribute to JSON object in cell attribute to use the object as is without serializing (to use its assigned functions).
!: Span/Float and GanttIncorrectDependendencies=2 are ignored when calculating GanttSlack (critical path). For original behavior set GanttSlackSpan=1.

15.0.21
+: Added GanttCorrectExclude options 3 and 4 to schedule tasks on different excludes by different way, because no way is ideal
+: Added value 2 for milestones parameter in ganttstart and ganttend functions to return empty value if there are only opposite edge milestones
B: GanttAvailabilityDivide produced incorrect values when the date range started before the chart start
B: Detail grid was not updated if added rows by <Changes> tag
!: Changed export of dates in GMT=0, now the dates are exported in the timezone they are displayed in grid. Previous behavior, export in GMT, can be set by adding GMT flag to ExportType
B: Export dates without Format to xlsx could contain time part for no time if not set ExcelDates

15.0.20
!: Updated and corrected marking incorrect dependencies on different excludes, especially for GanttIncorrectDependencies=2
+: Added GanttCorrectExclude option 2 to schedule tasks on different excludes more in scheduling direction
C: ganttstart and ganttend functions return start or end if parts contain only milestone
B: GanttChartResource compatibility was broken
B: Expected height of page or child part was incorrectly calculated for hidden rows with Expanded=2/3
B: Export to xlsx could fail if column names were numbers
B: <a> tag in cell HtmlPrefix / HtmlPostfix was not exported and could break down also the exported value
B: Hidden parents (Visible=0 Expanded=2/3) could break down grid when used ChildParts
B: FilterHideParents could break down grid in various cases

15.0.19
B: RelHeight did not work for solid space rows since 15.0.18
B: RelHeight for fixed row did not work without setting the row Height

15.0.18
+: Height of GanttAvailability is updated after row resize (if not set GanttAvailabilityHeight)
B: Gantt width was not calculated according to fixed rows
B: Setting GanttChartMin/MaxStart/End could break Gantt zoom synchronization
+: Added attribute GanttResourcesAdd, if set to 0, the ResourceGrid rows are not automatically generated according to source grid resources
B: Non ASCII7 characters in column captions in source grid could break pivot summary calculations
B: Setting NoData row Html attribute to empty string did not hide this row
B: Tree lines were broken in compatible css styles if set VertAlign
B: Hiding many rows in grid with FastPages could break grid layout
B: Returning empty page in server paging threw JS error
B: Setting RelHeight only in fixed non space row did not work
B: Gantt background for exclude was not rendered in fixed rows in some cases
B: GanttRoundExclude and GanttHideExclude=4 did not work for not repeated date ranges
B: GanttAvailabilityDivide produced incorrect values when the date range ended after the chart end
B: Date formats MMMMM and MMMMMM did not work with Hirji
B: Radio with Wrap=1 was inactive in some cases

15.0.17
B: Date Format MMMMM and MMMMMM did not work with GMT=0
B: Pivot grid did not read attributes from <Header> tag
B: Last row in JSON output data Changes tag ended by comma
B: JSON output data of type Changes+Cells was incorrect due missing comma
B: If set GanttCorrectExclude and dependency had specified span/float, the scheduling was incorrect
B: Cursors could be misplaced in Chrome for some spanned cells
B: Level attribute was processed also in child page load

15.0.16
B: Possible JS error when focusing child of invisible parent and immediately another row
B: Hiding parent rows by Expanded=3 or FilterHideParents did not work with ChildPartMin=0
B: Hint in Compatible CSS styles ignored mouse events
B: SpreadSheet only component threw JS error when used Paging
B: Dependencies could be marked incorrect if tasks were adjacent by excluded dates if set GanttCorrectExclude
B: Scheduling with GanttCorrectDependenciesFixed and GanttIncorrectDependencies=2 could generate error in exclude calculation
B: JSON request for Cell_Url could be invalid JSON
B: data-* attribute was not supported in HTML code in <a> tags

15.0.15
B: Edited text in Header was not visible in some CSS styles using inverse colors
+: Added API event OnStartedEdit called after editing started to control input / textarea, e.g. to turn autocomplete off whenever Chrome changes its behavior
B: Expanding / collapsing in Pivot could be wrong when PivotData contained only one value
B: Xlsx files with absolute urls in Rels were not imported
C: Format and Range are not read from main column in group row
B: Added row was not scrolled into view in some cases

15.0.14
B: <a href='javascript:'> opened new window while executing the script. Added also Cfg NoLinkJavaScript attribute, if set to 1, all javascript: links are ignored.
B: Empty Gantt calendar in row was not displayed over main calendar
B: Connecting first dependency to Gantt bar without correcting dependencies could shift the bar down
B: Gantt could be scrolled incorrectly when changing Gantt zoom in Firefox

B: In TreeGrid.dll/so NumberSort=1 and also Type="Int" / "Float" / "Date" were sorted as strings

15.0.13
B: FilterHideParents did not work correctly if hidden / shown more row than SynchroCount
B: Levels button did not show correct count of buttons sometimes on start, after grouping and after server page loaded

15.0.12
B: Export to xlsx generated JS error since 15.0.10 when was not included Import module from Sheet component
B: If Gantt column was rendered hidden (Visible:0, Hidden:1) it did not display background after showing
B: Displaying first or only hidden column (Visible:0,Hidden:0) in left or right section in grid with left side pager broke down grid layout

C: In TreeGrid.dll was changed linker version to 14.16 to avoid problems in loading to PHP 7.4

15.0.11
B: Upload_Type settings flag did not upload Cfg attributes ReversedTree, ReversedColTree, DefaultBorder, HideZero, FormulaShow
B: Dragging by mouse threw JS error when removed Touch module
+: Auto tree by row Level is now created also in downloaded root pages

15.0.10
B: Removing row in tree and RowSpan could generate JS error
B: Removing or deleting and hiding row(s) and hiding column(s) by action failed if set SuppressAnimations=1
B: TreeGrid could generate JS error if used MaxHeight and browser window resized during loading
B: When adding new Name in sheet, the sheet name was not added to the cell(s) reference. When exported this name to xlsx, the file was corrupt
C: Cell(s) reference in added new Name in sheet is now absolute
B: Cell(s) reference in Name was not updated when adding/removing columns or rows
B: New Names in sheet could be deleted when switched to another sheet
B: Undo add column(s) did not recalculate index and formulas when animations were on
B: Deleting column(s) did not recalculate index and formulas when set ShowDeleted=1
B: Grid was scrolled down after deleting row in some cases when animations were on
B: Editable formulas were not recalculated in some undo actions when animations were on and two undo actions were done fast
B: Undo adding more rows, undo adding and removing more columns and redo removing more rows and columns could not work correctly when animations were on
B: Undo and redo removing row(s) and column(s) could not work correctly
B: Undo deleting hidden column(s) was incorrect
B: JS error when removed all rows and variable row was focused
C: AddPage and AddColPage now do not add change focus to undo
B: Hidden columns were not affected by mass changes
+: Data_Data and Data_Script can contain also binary xlsx, if set Data_Format="xlsx"
B: Focus cursor if focused whole column(s) could be misplaced in Chrome and column paging
B: Expanding columns in tree could select the child columns if set SelectingFocus
B: FilterOff item in filter Enum menu in range cell was set as bool
B: Filtering by empty Enum value was not possible with FilterOff set
B: If FocusedRect contained whole columns or rows, the range was extended by spanned cells
B: Undo button could be disabled sometimes by some action that changed layout
B: External focus was not refreshed correctly by some actions changing indexes in grid
B: Moving or hiding last visible row from root page could break down the other hidden rows on the page, they could not be undone or shown until render
B: If removing rows should hide tree, the grid layout broke down
B: Freezing rows and columns was not undone / redone
+: Added 8.bit &128 to Undo to permit redo after scroll, focus and select
B: Row spanned cell through children could break down grid layout if its value was higher than the spanned space
B: Cell html code in EHtml / Auto was copied to clipboard
B: Copy & paste of selected rows did not copy cell attributes
B: Possible JS error when recalculating editable formulas referring rows on removed auto pages
B: Copied hidden column in copied range was shown
B: Hidden rows were not copied in range
B: Removing hidden column could break down grid layout
+: Add NoUpload flag to Upload_Attrs to upload also rows with NoUpload, use for PDF export
B: If exported to xlsx from page running on file protocol, error alert was shown on first time, although the export run correctly
B: If printed Gantt starting on not rounded unit and the first part could not be added to the previous columns, the next printed Gantt page was narrow
B: Change of cell with Undo=0 cleared Redo buffer
C: CSS z-index of hint was reduced from 260 to 257 to be behind menus and dialogs
+: Added value 2 to ExcludeClear to clear only values, not styles

15.0
B: GanttMark could be incorrectly placed after change of Gantt page
C: GanttBackground is now not rendered per row if row calendar is the same as default calendar
B: GanttCenter=2 could place the milestone one GanttUnits left in some cases due rounding
B: ganttprogessline could return wrong result if set GanttLastUnit
B: Operator = to set exact amount in GanttAvailability definition did not work in some cases
B: Moving RunSummary bars with ChildParts could generate JS error
B: Availability bounds could be calculated also from adjacent outside range
C: Negative Availability was adjacent to the bottom without gap
B: Availability margin was used twice in some browsers
B: Availability was incorrect, if the repeater was missing completely including the #
B: One pixel width dependency lines could be broken if were in one cell
+: Added RemoveGanttRun... actions and menu items to delete the run box(es) and shift the rest
C: Accepts GanttRun defined also as JSON object
B: GanttHeaderId did not work for Filter row
B: GanttHeaderId was not refreshed on zoom change if removed
B: GanttSummary task ignored child constraints when moving, for the first plan
C: FF and SS dependencies between tasks on different exclude accept the second date before the first date if there is enough excluded time after the second date
B: Editing Gantt calendar could not be undone
C: Renaming or deleting Gantt calendar in popup Dates grid will rename or clear the Calendar settings for individual rows
B: GanttZoomDateAlign=Left did not work correctly with GanttSizeLeft / Right
B: Zoom synchronization could be broken in some cases
C: GanttRunClass is not used for empty and nbsp boxes now
C: If deleted row and GanttDeleteDependencies is set, it deletes dependencies from the row also if there are no tasks
B: Dates dialog with numbers instead of dates did not work without setting GanttEndLast=0
C: Resources edit dialog is now modal and is not closed after clicked outside it
B: First or single milestone in Gantt cell could be shifted by 3px horizontally in some cases
B: GanttCenter=2 did not work correctly in some cases
B: GanttPageInit did now work correctly if set less then body width and Gantt column width
B: If set GanttSizeFit without GanttSize, grid was not displayed in some cases
B: Gantt column could be shrunk after printing
B: Printing Gantt to PDF to more horizontal pages could print all the pages from Gantt start, especially Run bars

+: Added EHtml type for editing HTML with HTML editor (contentEditable), standard DynamicStyle and DynamicBorder actions work also during editing to set the style / border to the selected text
+: The HTML text supports border, text and background color, text shadow, font size and face, bold, italic, strike, underline (including line decoration and color), subscript, superscript,
!: All links in grid (Link attribute, Link and Img types with link and <a> tags in Html, EHtml and List) are handled the same using ShowLink / CancelLink actions
!: LinkTarget and LinkBase are used for all links in grid (Link attribute, Link and Img types with link and <a> tags in Html, EHtml and List)
+: Added actions Increase/DecreaseTextSize, UpperCase, LowerCase
+: Added action OpenImage to insert images to EHtml, Auto, Img and Icon types, controlled by InsertImg Cfg attribute.
+: Possible to drop images to cells of type EHtml, Auto, Img and Icon, it is controlled by InsertImg Cfg attribute.
+: Editing images in EHtml/Auto type by mouse dragging - resize, rotate, move, move to another cell, crop, change opacity
+: Type Auto can be edited also by HTML editor if set AutoHtml=1
!: File type cell and OnSetFile event handles array of files instead of input type='file' tag
+: File type cell accepts files dropped by mouse to the cell
+: It is possible to add new files to File type cell without clearing the previous ones
+: Added DropFiles attribute to control dropping files to grid. Added also API events OnDropFile and OnDropFileError to control dropping dynamically.
+: Added IconSize attribute to control background size of Icon type
!: Added all dynamic style attributes to default EditAttrs for ClearStyle when DynamicStyle is set
!: Files Drag.cur and NoDrag.cur were moved to the responsive CSS styles to be included in the CSS. Only in IE and Edge and in compatible styles there are still used the Drag.cur and NoDrag.cur in Grid/ directory
C: Texts shown in editing Link and Img formats were placed to Text.xml and translated to other languages
B: Border cursor when editing Lines type was slightly lower than bottom cell edge
C: Editing is finished when changed configuration or columns menu
C: Border space cell now displays empty border as double underlined icon
+: Action name in <MenuCell> can end by "F" to be used for action for focused cell or by "E" to be used for the action if called in edit mode
+: Added cell attributes Pattern and PatternColor to set cell background patter or gradient fill. Added accompanying attributes and actions for changing. Added many predefined patterns and gradients.
+: Added bits 11 and 12 to TextStyle attribute to define Subscript and Superscript in the cell. Added accompanying actions for changing.
+: Added bits 7-10 to TextStyle attribute to define underline (and overline and strike) line color and shape. Added accompanying actions for changing.
+: Added Cfg attribute HideZero to display all zeros in numbers as empty
+: Added Cfg attribute FormulaShow to display editable formulas in cells instead of their results
+: Added cell attribute ExpandCol to specify main column that expands this spanned cell, useful in ReversedTree
B: Edit cursor did not update its width if the cell was overlaid to the right
+: Added attribute DefaultBorderColor to specify color of the cell border
!: AddRows now returns array of added rows if set parameter cnt, otherwise it returns the one added row directly (for backward compatibility with 13.0 - 14.1)
+: Added Cfg attribute IndentType to indent / outdent row without its children like in MS Excel
B: If mouse went outside edited tag when selecting text, the editing was finished
+: Added button "Level" and action and method ShowColTreeLevel to expand / collapse all cells in fixed rows
B: Update() was periodically called in some compatible css styles
B: Icons for Expand button in some styles have incorrect direction
+: Added ExpandIcon attribute to control the Expand Button / Icon look
B: Row tree lines and icons were incorrectly styled and position in DynamicBorder and also in Index column
B: Dispose/Clear/DisposeGrids did not close TreeGrid modal dialog (print/cfg/...)
B: Action Blur did not remove the grid from Grids.Focused
B: Some formats like "c" (currency) could not edit zero value (showed NaN) without defining EditFormat
+: Added actions and methods FixAbove, FixBelow, FixNext and FixPrev to freeze / unfreeze rows and columns
+: Added attribute ShortVScroll to show vertical scrollbar only next to the body rows
B: CustomScroll=4 did not scroll horizontally in some CSS styles
+: Extended Overlay to overlay row spanned cells and minimize mangled text if two cells overlay to the same cell
+: Extended Overlay to overlay centered cells - overlay to both sides
B: Corrected bugs in overlay - editing and hint of overlaid cells, especially in right aligned cells
+: Added Align value RightOver to cut off the overflowed right aligned text from left instead of right
B: Changing cell row span dynamically did not update row heights correctly
+: Added attribute AutoSpan and actions AutoSpan, AutoRowSpan and AutoColSpan and API method AutoSpanCell to span a cell vertically and / or horizontally to display its value fully
+: Rewritten xlsx import and export code to use more features of xlsx in TreeGrid
+: Extended attribute Rotate to rotate cell freely by one degree, added new actions and attribute to support it. Possibility to display cell text vertically.
+: Entering new custom format shows actual cell format as predefined value
B: Editable formulas did not column caption as column name if not defined column index
+: Added attribute CenterTo to center cell value to more cells, like CenterContinuous in MS Excel.
B: Defaults with *RowsDef did not work if the default name contained digits
+: Added API events OnPrompt and OnPromtFinish to control all entered values in grid
B: Date picker did not show correct page (days vs. months+years) for some date formats
B: AnimateDialogs and SuppressAnimations did not control animating page change in date picker
B: Editing empty cell showed cursor always on top regardless on VAlign
+: Added attributes FilterReplaceOne and FilterReplaceMore to define wildcard characters to use in Filter, in string compare, e.g. ? and *
B: LeftHtml/MidHtml/RightHtml values were incorrectly printed to more pages
B: Overlay did not work between pages in Chrome
+: Added Locked and LockedValues Cfg attributes to set various locks on grid
+: Added new suffixed to actions names: FSARCWO. Affected all actions with F suffix.
!: Actions manipulating cells, rows and columns were updated to automatically choose the source, actual, focused or selected cells / rows / columns.
!: Removed mass actions ...Cells and ...Selected, they are replaced by the action without the suffix. These actions without the suffix now manipulate all cell ranges
!: Actions SpanSelected, SpanCells and SplitSelected, SplitCells, SplitCell were replaced by new actions Span and Split
!: Actions IndentRows, IndentSelected and OutdentRows, OutdentSelected were replaced by actions Indent and Outdent
!: Mass actions for border, style, span and format do not return number of affected cells if tested, the %1 cannot be used in the action title MenuCell
+: Action title in MenuCell can be defined also for suffix and for number of affected rows / columns. Defined different titles for one affected row / column
!: Actions HideCol, HideAllCols, HideSelectedCols, HideRow, HideAllRows and HideSelectedRows were replace by HideCols and HideRows
+: Added action ClearValueStyle similar to ClearCell, but available only if there value(s) and style(s) to clear
+: Added actions UpperCase and LowerCase to convert cell or selected text case
+: Added actions IncreaseTextSize and DecreaseTextSize to change font size of cell or selected text
C: Cell with set CanEdit attribute and DynamicEditing can have different background color
C: Action ShowCalendar can be used for Auto type
+: Possible to focus whole row range or whole column range. Updated attributes SelectingCells, SelectingFocus.
+: Added actions FocusRows and FocusCols to focus row range or column range by mouse dragging
!: Actions FocusWholeRow and FocusWholeCol focus all rows / columns in actual FRect
+: Cell style, format, border and CanEdit attributes can be set to the whole row and column also by mass actions
!: VAlign attribute renamed to VertAlign to not collide with V+Align. Renamed also VAlign... actions to VertAlign...
!: Cell attribute Def renamed to CellDef to not collide with row CDef attribute as C+Def.
+: Format and EditFormat are read also from row attribute
!: Added DynamicEditing attribute. It permits actions changing editing permissions like SetEditable / SetReadOnly. It is off by default
+: Added MaxMenuAllCells and MaxMenuAllCellsValue to limit maximum tested cells when testing availability of mass actions
!: Added default column "Space" to use as column for Space cells instead of default column "C"
!: Toolbar cell Format renamed to TextFormat to not collide with row Format attribute
B: ConstWidth / RelWidth column could cause problems in Chrome when hidden in some cases
+: Added Cfg attribute DefaultBorderColor to define color of the DefaultBorder
+: Added value 2 to Button Switch attribute to permit more icons / text for more integer values
+: Can be added empty space row without Cells, with only Height set, as separator
B: Automatic changing row height due cell value change was not undone
!: When loading from xlsx, FormulaRelative is now set to 1 instead of 2
+: Added fractional numbers to format numbers by "/" character as "/??" or "/2" or "/3", ...
B: Millisecond could not be formatted for Excel dates and 10ms and 100ms displayed incorrectly also in normal dates
!: LongMonthNames2 are displayed instead of LongMonthNames for MMMM if no day displayed
+: Added ShowPrintPageBreaks Cfg attribute to show expected page breaks in grid to show how it will be printed to pages
B: In EditServer the call to server was done twice on double click
+: Added Cfg attribute ExternalEdit to permit editing focused cell also in Space cell like Formula cell in Excel
+: Added Cfg attribute ExternalFocus to display focused cell or range and to permit entering new focused cell or range
+: Added Auto type Format "!" to display true / false for 0 / 1 vales
+: Added attribute AutoBool to automatically set "!" Format in Auto type
B: PrintPageBreaks was read incorrectly in menu, when the menu items was hidden
B: Printing with PrintLocation=3 updated layout for LimitScroll
+: AjaxCall function callback is now called with the input url in the third parameter
B: SetAttribute did not work with SaveOrder
B: Dialog in ChooseBorder and ShowFilterMenu has not translated menu buttons
+: Added Cfg attributes Contrast and Contrasts and updated responsive CSS styles to show in different contrasts Bright, Vivid, Default, Soft, Dim. Added Contrast buttons to toolbar and item to configuration menu.
B: ExpandCell did not update focused cell
+: Added LineHeightRatio to specify ratio lineheight / fontsize when changing TextSize
+: Added NoWrapBR attribute to not wrap <BR> and LF in Auto / EHtml / Html and Lines types
B: Dragging column worked incorrectly in group where the first column was hidden
+: Added all html colors to supported color names
C: RowIndex is now not affected by css base color
B: On tablets were row sections shifted by 1px if hidden some column with Visible="0" Hidden="1"
B: Size / Scale was not synchronized with other grids when changed in configuration menu
+: Added attribute DefaultSize to predefine Style Size that is related to column widths in data
B: Cells with date format showing count of units could show one unit less due rounding bug
B: Prompt ignored width of message
B: Adding new columns could add column with the same name as removed column and get its data
C: Calendar shows actual date instead of 1/1/1970 if the cell value is less than one day in ms
B: Popup menu was not translated in some cases
+: Added attribute Count to TextXX translations to merge more translations to one definition
B: Mirror toolbars were not translated sometimes
+: Added OnMediaUse API event to choose when the particular <M> tag will be applied
+: Added MainTagWidth and MainTagHeight attributes to media <M> tag to control size of main tag by media
+: Added value 2 to <M> tag Tag attribute to apply the media size attributes to main tag or window conditionally
+: Updated media to set correctly NoVScroll and NoHScroll attributes
B: Style Size was not correctly updated when changed in configuration menu
+: Extended and updated SwitchPivotGrid feature
B: Pivot grid was not updated when changed master cell if the cell had EnumKeys defined
C: Sped up adding many rows at once
+: Added WinScroll button on toolbar and action ChangeWinScroll to switch on / off the grid scrollbars (NoVScroll / NoHScroll attributes)
+: Added <treegrid/bdo> attribute Json to switch TreeGrid globally to Json format, to read Defaults.js/Text.js instead of Defaults.xml/Text.xml
!: Json attribute default value is chosen automatically according to the TreeGrid inputs
+: JSON format accepts also Short and Extra short formats
B: Using tags with _xxx suffix did not work correctly in JSON format
+: JSON format accepts also array of strings as visual replacement for one long string
B: JSON format did not accept children of default row and child tags of <TextXX> subtags
B: GetXmlData function failed in SpreadSheet only component
+: Sped up rendering grid in Paging=1
B: Server changes (<Changes>) in EFormula did not clear old formula if the formula was removed
+: Added Cfg Reset attribute to reset style or language if the style or language file is not included in bundle
B: Upload_Type Index did not work correctly for added and deleted columns and rows
B: Upload_Type Selected + Changed or Cells produced invalid JSON with two Changes tags
+: Added attribute MediaAttrs to test any Cfg attribute in <M> media tags
B: Dragging column to Group row was not possible in Firefox when set SelectingText='1'
B: Media "print" was not checked when testing media during rendering using PrintTreeGrid
+: In CSS, the ...Color... classes background can be defined by rgba(r,g,b,1) to be added instead of subtracted to the resulted color
+: Added Date Format yyyyy as year of week
+: Added auto col tree to create column tree according to the columns Level attribute
+: Added Cfg attribute ColTree to control displaying auto column tree. It can be changed by user in cfg menu.
+: Added actions IndentCols / OutdentCols to change the column level
+: Added auto row tree to create row tree according to the rows Level attribute
+: Added Cfg attribute HideTree to not display tree icons and lines in MainCol, but preserve most of tree features. It can be changed by user in cfg menu.
+: Added Cfg attribute HideEmptyTree to hide tree when all rows become root
+: Added Cfg attribute AutoTreeWidth to resize main column when maximal level changes to always show the whole tree
+: Added option 3 to EditErrors to not show message on loading
+: Added Cfg attribute CalculateColumns to recalculate grid whenever columns are added, deleted, copied, moved, shown or hidden (but not resized).
B: Tab in row with all cells row spanned went through the row more times
B: Rendering row page could change scroll in ReversedTree
B: Undo RemoveCol placed it in wrong location in ColPaging
+: Added attribute GanttShowBorder to show / hide the horizontal border between Gantt cells
B: Hiding column with RowSpan and Span could fail for FastColumns=0
+: Added attribute NoExportFunc to not export custom functions to xlsx
B: When dragging using DragByMouse in IE over cell focus cursor the grid could freeze
+: Added ResizeSection API method to resize column section
+: Added FormulaTimeout to limit time for calculating editable formulas in sheet
+: Link attribute can contain reference to another cell in the same or another sheet
+: Pager shows row numbers if there is no sort and RowIndex is defined
B: Word "Page" in Pager for newly added page was not translated
C: Mirror mirrors main Toolbar including Toolbar specific attributes
+: Added FastColumns value 2 to not display hidden columns on start in xlsx
B: Custom mouse cursor was downloaded in Chrome again for every cell
B: Too wide Tip could display page scrollbar
B: Click to expanded Enum cell in Scale!=1 did not close the Enum
+: Added Names to editable formulas
B: Defaults with only one number and white character separator failed to show
B: Moving more columns with spanned cells could break down the layout
+: Added Cfg attribute PrintOnlyData to do not print last empty rows and columns
+: Added values 3 and 4 to PrintConstWidth to resize all columns by ratio
B: Changing RowSpan by AddRow / DelRow / MoveRow was not undone
B: Changing Span by AddCol / DelCol / MoveCol was not undone
B: Split and MoveRow were not synchronized and could break down grid layout
C: Sorting in AutoPages does not sort last empty rows
B: Undo did not work for resizing row height and updating row correctly
B: Undo of deleted row after save broke down default of children of this row
B: Editor in space row in compatible style was not displayed in some cases
+: Added attribute InitDef to use DefParent / DefEmpty also on loading
B: Popup or detail grid ignored DebugWindow and DebugTag if set in main grid
B: Undo of many changes in Gantt recalculated GanttSlack many times
B: Adding row or column to spanned cells range with border did not add the border to the new cells when the range was split
B: When editing merged cell, the other cell values were hidden
B: Column added in the right section was added always to the end
C: SpanRange API method accepts now also reversed range
B: Deleting last row in grid was not correctly undone
+: Added NoData attribute to exclude row or column from mass changes of values
B: Undo for moved or deleted row did not work correctly when the whole page was deleted
B: Pivot with one item in PivotData was generated with two last header rows that were expanded together
B: Firefox in quirks mode rendered body section slightly wider than fixed sections
B: Menu with vertical scrollbar showed also horizontal scrollbar in Firefox
B: TreeGrid without vertical scrollbar restricted page vertical scrolling by mouse wheel in Firefox
B: Moving many rows fast could break down grid layout if animations were on
B: Loading all child pages for printing or export could lead to not render these child parts when they were displayed
B: Recalculating print dialog was slow when clicked to select all button in large grids
+: Icon type accepts Range attribute to show more icons in one cell
B: Safari on iOS 13 was not recognized as mobile browser
C: Cfg MaxHeight is now used also on tablet, except there is page zoom (page width is wider than window width)
B: Resizing grid on iPad Safari did not work in some cases
B: Resizing grid did not update NoVScroll / NoHScroll if set by Media based on tag size
B: Row focus cursor could be slightly misplaced after body scroll on iPad
B: Close icon in menu header did not work on tablet
B: Resize cursor was shown after resizing section on horizontal scrollbars in Chrome
B: Custom horizontal scrollbar could permit shift through the right button in some cases in small sizes
B: Selecting cells by dragging ignored TouchDragFocused
C: In Format to EditFormat conversion the '' and "" are replaced now by one space instead of removed
B: Entering incorrect value in Prompt could freeze grid, e.g. when entering dependency lag
+: Added MomentumScroll values 5-7 to synchronize column and row sections during the momentum scroll
B: Scroll in NoVScroll or NoHScroll on tablet did not add new pages / column pages in some cases
B: Vertical pager on tablet could reserve space for vertical scrollbar
C: Suggest menu on tablet is always scrolled with window
C: EditSelect attribute was replaced and extended by EditCursor... attributes
C: On iPad there is always set AbsoluteCursors to 7 to speed up scrolling
+: Updated accessibility of focus cursor edge and corner on tablet
B: Click to nested grid when parent grid was focused reset scroll of the parent grid in some browsers
B: Outside Space row with Tag attribute was inactive on tablets
B: Too narrow grid was scrolled with lag on Firefox
C: Defaults and Text data sources are mirrored to nested grids, if they are not defined in the nested grid explicitly
B: Scrolling master grid by mouse dragging was not possible if caught nested grid
B: Vertical pager could display horizontal scrollbar in some browsers
B: Fixed rows section could have set incorrect height if some cell contained rotated html value with not yet loaded img tag
B: Grid cursors were incorrectly position on iPad in strict mode when body was scrolled
+: Added global variable Grids.AddTryCatch to catch and alert all exceptions throws in TreeGrid code and API event handlers
B: Vertical Pager had horizontal scrollbar and horizontal Pages had vertical scrollbar in Chrome on Android
B: Dragging scrollbar in Chrome on Android sometimes did not scroll the grid
B: Debug window was incorrectly positioned when set SafeCSS
B: FilterHideParents did not update level indent when set Paging
B: Calendar on tablet could be closed when touched time input or month / year
B: Overlay in RTL mode did not work correctly, especially on editing
C: AcceptEnters>1 on Android are switched to 1, to avoid problem when pressing Enter when editing could save only part of the value
B: Dragging external tag and some other dragging features did not work on touch screen on desktop
C: If closed popup menu during editing its item, the edited value is now saved
C: Submenu is not closed on hover parent menu when it is in edit mode
C: In <Changes> tag in Parent attribute is now row with number id preferred to page
B: Corrected Upload_Type Cells for RowSpan, Span, EFormula, Height.
+: Updated Upload_Type Cells for moved and added rows using Level attribute. And for fixed rows.
+: Updated Upload_Type Cells to work also without Index, producing standard Added / Deleted / Moved changes.
B: Corrected Upload_Type Expanded, Span and Hidden values
B: Was impossible to dynamically span row with only with its children in one column
C: Debug io for Check data source does not print standard empty response
+: Parent rows in server paging with ChildPageLength can contain pre-calculated summary function results named as col+func+pos
C: If downloaded child page (created by ChildPageLength) contains function results, they are updated and used in aggregate calculations, only for sum, count and product functions
B: AcceptDef and CDef attribute were not read from default row when grouping
B: Dragging row inside child page (created by ChildPageLength) could incorrectly display the child page as a row
B: Removed dead lock for circular CopyTo
+: Input Changes tag supports summary calculation results as col+func. And accepts also root pages with the summary results.
+: Added Upload_Flags "FullMoved" to upload Moved=2 rows with full attribute like Added rows
+: If Moved=2 row in Changes tag in server child paging does not exist, it will add it as Added row
B: If Changes tag contained both moved and added to one collapsed parent, the added row was added twice
B: Animation of row with collapsed children could hide these children permanently
+: NameCol can contain full name string with column names in **
+: Added FocusedTop and FocusedLeft attributes to set scroll position of focused cell set in input data
B: Grid sections could display unwanted scrollbars if set NoVScroll or NoHScroll or in Firefox in 63 and older
+: Added attribute ShowFocused to preserve focused cell and its scroll position after sort / filter / group / search or re-render body. Added functions SetFocused and FocusFocused to control it manually.
B: Changes tag with Added row added also children of its default if defined
+: Added GroupHideCols attribute to control hiding grouped columns globally
B: First parameter in OnButtonListClick was not grid object
+: Added ScrollToCell API method to scroll to given cell to exact position
+: Added values 5 - 8 to GroupIdValue to add parent row id
C: When grouping using GroupIdValue 2/4/6/8 it always sorts by id to be always the same row as the first child used in group id
B: Spanned cell in main column was inactive if it was the last one in the column section
B: Animation of deleting row with their children could break down the rows display
+: Added NumberSort value 2 to choose number according to sorted values in every row
B: PreserveReload&2 did not work for rows with ids with "$"
B: Search Find could freeze grid if searching in actually focused row again
B: Search Find could not mark focused cell if the row was previously marked by other search action and animations were on
B: Search Select ignored ClearSelected and cleared always only visible rows, but selected rows according to the ClearSelected
B: Gantt Header was broken down during changing style size
B: If Message was hidden twice during ending animation, the message was not shown again
+: Added IO attributes UpdateHtmlMessage and ReloadHtmlMessage to show the messages as grid message instead of browser alert
B: Date Format "DDD" returned one less day
B: Multiline hint was not hidden, when mouse hovered next row under the hint
B: Undo edited change in Nested grid let the row colored changed
B: Configuration menu higher than browser window could be displayed without vertical scrollbar when shown first time
B: Export or Print menu could throw JS error when some columns were removed due RemoveUnused
B: GetLastDataCol ignored fixed rows and ignored zero values
C: ExportPDF_Type Data/Body now contains one more row in AutoPages if the last data row contains bottom border
B: If one JSON grid failed to load, other JSON grids on page were not loaded too
B: IO HtmlMessage was not shown if came from Upload_Data

+: Added possibility to compile all TreeGrid required files (Defaults.xml, Text.xml, language TextXX.xml files, JSZip JavaScript file(s) and responsive CSS style files) to GridE.js to produce standalone script without a need to load anything externally.

14.1.3
B: Zoom synchronization could be broken when loading all the Gantts on start slowly
B: Zoom synchronization could be broken if not set GanttSize
B: Printing Gantt could split the Gantt to pages incorrectly if set GanttSize
B: GanttExclude repeater "w" shifted the excluded dates if defined FirstWeekDay in language dependent Format
B: Editing floating value in menu (e.g. Resources) could not be done with DecimalSeparator different than '.'
B: Cell edit box in row with SpaceWrap was incorrectly placed
B: Spanned cell in fixed row with ColPagingFixed=0 was not updated after added new column pages
B: Cell side button was not refreshed correctly in spanned cell in row with ColPagingFixed=0
B: TreeGrid could show unwanted tag with cell content in top left corner when editing Lines type and SafeCSS was on
B: Selecting text by mouse dragging did not work in edit mode in Chrome
B: If set ExportCol=0 the columns were always exported, regardless on their visibility, even if set CanExport=1 or CanPrint=2
B: Cell focus could be moved in some cases when rendering new pages
B: Language name in configuration menu could be incorrect
B: Configuration menu could set incorrectly DefaultBorder attribute
B: Gantt could be incorrectly printed when PrintGanttRound unit was wider than the printed page
B: Print to PDF could trim Gantt width to MaxWidth even if printed to more pages
B: Rendering new pages could slightly scroll down grid if it was not vertically scrolled at all
B: xxx_Header_xxx attribute was not loaded from <bdo> / <treegrid> tag
B: In row manipulation in tree in ReversedTree could break down TreeGrid layout
B: Very long TreeGrid dialog could be immediately closed after open
B: Row height was exported differently to xlsx
B: Gantt column MaxWidth was used also when exporting to PDF with PrintGanttSplit
B: Print to PDF printed Chrome header and footer if set SafeCSS
B: GanttCenter=2 did not work correctly with GanttPaging
B: When recreating Pivot, it generated Formulas and CalcOrder for the old columns and caused false warning for DebugCheck
B: Cell/Column attribute GMT was ignored in xlsx export

14.1
+: GridEOnDemand.js renamed to GridED.js and rewritten to download GridE.js automatically when required by API or HTML
C: Reload method does not change the grid object, the grid object can be still used after Reload call
+: Added KeepReload Cfg attribute to define attributes thair values will be preserved when calling Reload method
+: TreeGrid function accepts as the third parameter an array of attributes to set to created grid, these attributes will be also preserved when calling Reload method
+: Added API event OnInit called after initialization from TreeGrid method
!: Now StrictDates is not applied to dates in input data
+: OnGetGanttRunRect is called also for area selecting runs, only with vertical position, with type = 4
+: SaveAttrs can contain keywords *Col, *Row, *Fixed, *Space to save attributes of all given rows or columns
+: Added attribute MenuCheck that controls if the row or column will be actually checked in Print / Export menu. Can be saved to cookies using SaveAttrs
+: Added PrintConstWidth attribute to column to let the column resize for printing
B: ResultMask for type Pass was incorrectly tested in Validate
B: ExportPDF_Type="Changes" were uploaded according to Upload_Format
+: Added Fixed flag to Upload_Type to upload only fixed rows
+: Added Focused flag to Upload_Type to save only Focused, FocusedCol, FocusedPos and FocusedRect attributes
B: Row RowSpan attribute was uploaded for added rows
B: Attributes defined in <TextXX> in layout or data were overwritten by these attributes defined in Languages/TextXX.xml

B: In xlsx export the cell style attributes like Align were not read from row and column
C: Default vertical align in xlsx export was changed from top to center
B: Rotate value in xlsx import and export was swapped (1 <-> 2)
B: xlsx file could not be imported if its sheet had not set dimension
+: Added attribute Protected, to protect xlsx sheet for editing and in import and export
B: TextColor was not exported to xlsx correctly
B: ShadowColor was exported to xlsx as shaded background but imported back as solid background
B: Color attribute as "r,g,b" was incorrectly exported to xlsx
+: Added raw xml cell export, if cell value is inside <r></r>, the value is included to xlsx xml as is
+: Added export of simple html tags like <b>, <i>, <s> and style:color.
B: Elapsed time was exported wrong in some cases
B: Exporting xlsx that contained alignment horizontal "centerContinuous" was exported as "centercontinuous" and caused problems in some xlsx parsers like GemBox
B: &nbsp was replaced in export to xlsx only once
B: Row spanned cells were exported incorrectly if some of the spanned rows were not exported
B: JS error in xlsx export when column span is larger than exported columns and VarHeight was specified

14.0.13
B: Relative cell references in editable formulas were not correctly updated after row and column move / delete / add
B: When dragged bar in horizontally paged Gantt, the Gantt mark could exceed to other rows during dragging. Was not corrected for run move in IE and FF.
C: ganttrunstart/end/duration returns empty string instead of 0 in case there is no run
C: rank,rank.eq and rank.avg editable formula functions now return null in case the value is not present in the range
B: AutoFill could generate JS if the filled range was greater on one side and smaller on other side than original range, could happen if filled spanned cells
C: On reload the grid now finishes editing if possible, to save changes if permitted
B: ChangeFilter did not filter strings correctly since 14.0.12
B: Was not possible to select text by mouse when editing cell if FocusRect was permitted
B: Action GoUpEdit / GoDownEdit could freeze grid if only a few cells in grid were editable
B: RemoveUnusedPages=3 did not remove not rendered but loaded pages
B: RelHeight in space rows did not work in some cases
B: Overlay did not work correctly if the next cell was row spanned
B: Undo for deleting more rows and columns did not work correctly in some cases with animations
B: Deleting more selected columns could generate JS error when no cell was focused
C: Now removing row(s) and column(s) shows confirmation message regardless on ShowDeleted setting
B: Undo for removing row(s) and column(s) did not work correctly
B: Undone deleted column was marked red
B: NoData row could be hidden for filtered grid with ReveresedTree
B: Clearing filter with ReveresedTree and animations could throw JS exception
B: Calendar with AutoCalendar was not hidden if set AutoUpdate and server changed edited value synchronously
B: Setting and clearing ReversedTree in Menu Cfg without closing menu generated JS error after menu close
B: Mouse wheel scroll was not smooth if grid (re) rendered with NoVScroll and NoHScroll and these values were changed later
B: When switching visibility of more grids with MaxHeight, the body vertical scrollbar could be hidden
B: GanttChartMinStart/MaxStart/MinEnd/MaxEnd were incorrectly rounded if GanttDataUnits / GanttChartRound were 1 or smaller
B: Gantt flags and points were shifted when dragging
B: Copying row with RowSpan broke grid layout down if EditAttrs contained RowSpan
B: Indent was set from left for number and dates without Align set
C: If Date Format contains only parts not suitable for editing, it is used as empty for editing
B: SuggestSeparator='\n' did not work correctly for Suggest Existing in IE
B: JS error in menu when leaving focus from the menu to the parent edit
B: SuggestExisting background color for error was not cleared when the error was thrown more times fast
B: JS error for Suggest Existing and SuggestSeparator for entered the second and next items
B: With SuggestSeparator, if edited value contained more empty items, the chosen Suggest items from menu were placed one by one
B: When choosing File increased row height, the grid layout was not updated
B: When dynamic spanning range led to splitting other range in tree, undo / redo could break down the layout
B: If set Cfg ScrollTop or set Cfg Focused to page and also NoHScroll in server root paging, there was always loaded also the first page
B: EditMask permitted clearing the cell when chosed Exclude from popup menu without pressing any key first
B: Hiding main col with FastColumns=1 and child paging broke layout
B: Mouse wheel scrolled choppy master grid when mouse was above detail grid with NoVScroll
B: JS error when dragging row to not expanded parent and animations were on
B: Occasional JS error in animations when animating spanned cells
B: If pasted cell range with editable formulas to end of grid, AutoPages did not take effect when updating the source range in the formulas
B: Redo could fail for Added row if set GroupChangeMoved
B: Redo could show hidden row when added by GanttRunSummary
B: Dragging GanttRun Start box to the MinStart constraint wrongly used the constraint

14.0.12
B: GetGanttResourceCount returned incorrect results for ranges before the first resource date
B: Some actions for border were available also for not editable cells in testing mode
B: Sorting actions worked for column with CanSort='0'
B: StringToDate global function did not work without loaded any grid
B: ChangeFilter had problems if Date type cell was entered by string
+: CSS / DialogCSS / GanttCSS can be set to "*" to not load the style at all - if included in the page directly
B: Number Format "0" did not work for editing
B: Minus was not shown when editing formatted negative number
B: Entering "Date" to Auto type column entered mangled text

14.0.11
B: Editing number with Format divider (comma after digit) divided the edited value by 1000
B: EditFormat was ignored when edited numbers
+: Added EditPercent attribute to <Format> for backward compatibility, if set, entered number without % in percentage number Format is used as percentage instead of floating point number
B: If set GanttRoundUnits the dependencies were not connected to the main bars edges
+: Added Bool values 2 and 3 to JSON menu for three values Bool (0,1,"") and parent child relation in Bool in Levels
B: Some rows could be missing when importing xlsx sheets where the row id was the last attribute
B: GetIncorrectDependencies were not work correctly with custom calendars
B: Printing nested grids shown in different column than main did not work
B: Collapsing all rows generated more OnFocus API events if collapsed focused row
B: AutoUpdate did not work for changes in Gantt chart
C: Exported CSV now contain the UTF8 prefix EFBBBF
B: Exported CSV incorrectly coded some high Unicode characters, e.g. the Filter not equal
B: Importing XLSX files containing cells with text attributes for empty text failed
B: Cfg MaxHeight resized grid by 22px less
B: In Safari on Mac Copy and Paste function started editing
B: Two letters formats were not exported
B: Not exportable spanned cell was exported as not spanned
B: Horizontal scrollbars could be hidden in rare cases in small grid
+: Added Rotate attribute to xlsx import and export

14.0.10
+: Added GanttUnits w0 (week starting by Sunday), w1 (as Monday), w6 (as Saturday)
!: GanttUnits 'w' behaves as w0, w1 or w6 according to the FirstWeekDay value 0,1 or 6
B: Gantt pager was not updated if changed Gantt zoom that reset some pager attributes
C: Empty Gantt header (Header cell without GanttHeaderX assigned) gets GanttHeaderEmpty instead of GanttHeader CSS class
B: TreeGrid sometimes failed to load on slow connection with message that CSS styles cannot be loaded, if there were synchronized grids on page
+: Added new two letters date formats for easy translations to other languages. Now the two letter format can be used without ** in Format if standalone
+: Date can be edited also with comma separated year
B: Month and year in popup calendar was displayed as NaN if set ExcelDates
B: SetGanttRunBox did not set Duration in box returned by GetGanttRunBox
B: Cfg Size was not correctly applied if set in Media
C: If set Scale, Size or column width or visibility in some Media and user changed the value, the value was returned to the original state after any media apply
B: If edited value 0 with percentage Format, the % was missing if started editing by F2 or mouse click
+: Added Tip attribute to language <L> tag
B: Pager header height synchronization with header height did not check the pager padding/padding/border correctly
B: Border bottom the grid was not shown in some styles and some grid configuration
B: External reference to another sheet in edit formula could not be resolved if the referred sheet had more rows or columns that actual sheet loaded and formula referred such outer cell
B: External reference to another sheet in edit formula could not be resolved if the sheet name was not in Latin coding and was not in quotes

14.0

Gantt
+: Added OnCanSelectGanttRun API to choose which run and run container can be selected dynamically
B: GanttRoundUnits=1 did not work for main bar
B: In server paging and RemoveUnused the page could be removed during selecting run rect and caused JS error
B: Gantt style by GanttStyle and GanttCSS threw JS error if the new style was not defined in Styles
B: GanttBackground repeated by months or years was always repeated from given date only
+: Sync "zoom" is now applied also for GanttSize = 0 / "" and also for zoom undo
B: GanttRunContainerSelect='*' did not work correctly
B: GanttRun container was incorrectly hovered if was not rendered the whole due Gantt paging
+: Added GanttRun Tip/Text keywords *TextInside*, *TextLeft*, *TextRight*, *Tip* to show particular text of the box
B: Selecting run rect by mouse did not work if finished in not yet loaded page
+: Added API method ExtendGantt to display next or previous Gantt dates
B: End constraints with GanttLastUnit could be used incorrectly by the last unit
B: Gantt dependencies were not updated if added or moved task between the lines by AddDataFromServer
B: Posssible JS error when sorting runs with two edges on the end
B: GanttZoomDate was not uploaded in Settings type causing printing to PDF different part of Gantt
B: GanttWidth was uploaded in Settings with actual value, not divided by style size modifier
C: Gantt printed with PrintVisible is rounded to GanttPrintRound
!: Auto corrects dependencies if set CorrectDependencies after editing GanttDescendants or GanttAncestors. Never fixes the bars in the edited row.
+: Added GanttCorrectDependenciesCreate to change value of GanttCorrectDependenciesFixed when creating new dependency by dragging to fix ancestor, descendant or none
B: GanttContainer was incorrectly identified for API if all its boxes were outside visible range
C: Updated GanttSizeFit behavior
C: Restyled Gantt dependencies to be correctly visible in small zoom and in pdf
B: UndoZoom action could navigate to different date range than the original one
B: Gantt run on FastGantt with None / Void / Html class could have temporary decreased width during sliding
B: Run boxes were not shifted correctly for joined boxes shifted by display
B: The grid remained disabled after deleting dependency if set GanttCorrectDependencies to 2

Grid
+: Added server paging in child pages - to download only part of row's immediate children. Added ChildPageLength to specify size of the server page.
+: Added Expanded value 3 to show row children also if the row itself is hidden by Visible='0'
+: Added CanExpand value 3 to expand the row to value 3 to show row children also if the row itself is hidden
+: Added attribute HideParents to hide parents without hiding their children by setting Expanded to 2/3
+: Added editing percent numbers. If number Format contains "%", the percent is shown for initial editing and number can be entered with it as percentage or without it as absolute.
+: Added page count attribute to be used instead of Count for count() summary function
+: Added type attribute to rank, median, mode, avedev, stdev, stdevp, vara, varp
+: Added attribute PreserveReload to restore rows' Expanded and Selected state after reload body, especially in server paging.
B: False debug warning about unexpected U tag when used DTD format for fixed or space row
B: Value '0' in filter cell was not displayed
B: ExpandAll could not expand not loaded rows in server paging when they were not displayed in actual window
C: References to JavaScript global variable were prefixed by TG in case of global name conflict with other script, to avoid such conflicts
+: Added API event OnEndedDrag called after row is dropped and data are changed
B: In ChildParts with ColPaging the grid could break down on filtering, when hide some childparts, but not the last
+: Added attributes CellDef and AddColCellDef to predefine attributes for more row cells at once
C: EnumMenu can contain only menu settings without Items to be the Items generated automatically
B: Grid did not loose focus when selected text by dragging in outside input and the dragging finished outside the input, in IE and Chrome
B: ColPaging and ChildParts together could not work correctly when refreshing Gantt chart
+: Added PrintFromPage and PrintToPage attributes to print only given page range and OnPrintEmpty to found out when the range is empty
+: Extended LoadPage API method to load and render also children and added callback method
B: Firefox incorrectly rendered section narrower than 50px
B: Header cell number Type was not correctly updated on load
B: GetString always used EditFormat for dates and numbers
B: EditFormat for elapsed time did not work
+: Added value 3 to CalculatedChanges to set the calculated cell as changes also on first time if it was null
B: AddDataFromServer did not update parent Def by DefEmpty when deleting row
B: Gantt was not printed correctly if the GanttUnits or GanttPrintRound units were too big regarding to printed width
B: Space cell with RelWidth and Width='-1' could increase the row height
B: Grid MaxHeight did not work correctly in MS Edge
+: Added support for deep nested master/detail grids, including server paging
+: Actions for adding or copying rows now work in nested grid if called in master grid and the nested grid was focused.
C: Now always calculates height of fixed rows when printing to PDF to correctly calculate the page height
C: Now when copying row without children that has Def with children, it creates the default children
B: Print to PDF did not page correctly with SafeCSS
B: Firefox could print Gantt header incorrectly
B: Possible JS error when Range Enum contained one number value
C: In PrintLoad now loads pages before applied Changes tag, if any
+: Added parameters PrintPageWidth and PrintPageHeight in ExportPDF request
+: Updated row height calculation for printing and print to PDF, including space rows and spanned cells
B: Printed number of vertical page was increased by 1
+: Extended PrintTreeGrid function for various parameters for printing to PDF
B: JS error in Chrome sometimes on tab when editing
B: Error in Edge for cell span > 1000
C: WordWrap is now applied also for editing
+: Added attribute WrapEdit to change Wrap for editing
B: OnGetExportValue could not return undefined to ignore its result
B: Spanned cells in hidden column were exported incorrectly
B: covar formula function thrown JS error if called with one argument
B: Checking pasted value to indexed Enum without EnumKeys was wrong
B: Moving rows between nested or master grids did not work correctly
B: Undo for adding and deleting rows in nested grid did not work correctly
C: UploadType cfg,body,data,all,other,cols do not upload internal attributes for given tags
+: UploadType now can upload completely all TreeGrid definition to serialize actual data to xml or json
B: Defaults menu in space cell was not shown in some cases if defined for cell that was not column name
+: Added action CloseDialog to close actul grid dialog
!: Now it is not possible to drag rows between grids with different SyncId except if set Dropping=2
+: Added value 2 to DropFixed and set as default value to permit dropping rows to empty grid, to the NoData fixed row
+: Added attribute AddFocusColEmpty to focus given column in added row if there was not focused any cell
B: JS error if OnGetSortValue returned number
B: Pager width was not recovered if it was reduced due small available space after the available space increased
+: Added suffixed "f","s","fc" and "sc" to the cell menu items to show the item only if focused / selected rows/columns were not also active
+: Added values 2,3,4 to CopyPasteRows to copy rows to clipboard with reference to the source rows to paste them back to the grid
+: Added attribute PasteErrors to control EditErrors for pasting. Default value is 1 to not show EditErrors when pasting whole rows.
+: Added attribute PrintSplitRowSpan to restrict splitting rows with row spanned cells to more pages when printing
+: Added attribute PrintAllCSS to add all style sheets from source page to the print page
B: ExtentErr message was not shown when grid was re-rendered, e.g. after changing style size
B: Row spanned cell could have doubled or missing border
B: Spanned cell starting in hidden column with Hidden=1 lost its padding
B: TreeGrid with side pager was not rendered in IE10 and older in some cases
B: Not wrap able cells could be wrapped in IE10 and older in strict mode
B: In Chrome in zoom!=100% grid could scroll a few pixels behind right edge and the last part was inactive
B: Vertical scroll of the column sections could be desynchronized after some actions
+: Text_Url and Defaults_Url can be set to empty string to ignore the data source
+: Added attribute SyncStyle to synchronize styles among grids and use Sync/SyncId for another synchronization with different grids
+: SVG images are pre-fetched in IE/Edge using IESvg* attributes, to avoid not displaying SVG images in case it is rendered to invisible tag on first time
B: Custom column with ConstWidth=1 did not behave correctly
B: Link and Img types were not correctly copied & pasted
B: Shrinking main column by dragging could break down the column display in some cases
+: Enum and Defaults menus are now aligned to the cell side where is the button / icon displayed
+: Enum, Defaults and Suggest menus align their text according to the cell text align (Align / Type)
+: Added Align attribute to JSON menu item and ItemAlign attribute to JSON menu to control text align of the items
B: Popup menu could not be easily controlled if was wider than browser body
+: If set ExportType to Expanded and Selected it exports the selected rows with all their children
+: If set PrintSelected and PrintExpanded it prints the selected rows with all their children
C: If exported selected rows only, they are not colored yellow
B: Only up to 676 columns could be exported to xlsx
B: On tablet it could immediately hide keyboard after started editing in some layouts
B: Nested grid displayed tooltips at wrong place
B: TabStop could generate Debug message for JS error in some cases
B: PrintHeight was taken as fixed, not as minimal height
B: Row height could be calculated incorrectly for PrintVarHeight in main column
+: Added attributes and API for translations displayed texts to other languages
+: Added attributes to switch between languages without reloading the grid. The language can be also saved to cookies.
+: Added reference by asterisks for predefined date and number format in Format string, the predefined formats now can have more characters than one
+: Added date format CalendarMonth to format displayed year and month in popup calendar
B: Elapsed time format was shifted by time zone for GMT=0
+: GetDefaultValue and GetDefaultsIndex work now also for Range cells
+: Added FilterDef and FilterDefs attributes and OnFilterOperator API event to specify or let users choose which rows will be affects by which filter
+: Added attribute ColorFilter to color rows that fulfill the filter condition
+: Added attribute FilterHideParents to permit filter to hide parents without hiding children (using Expanded = 2/3)
C: Updated filter algorithm to distinguish between rows that fulfill filter and rows that cannot be filtered, including using OnRowFilter
+: Added FilterOffText attribute to specify menu text for FilterOff in Enum
B: Filter did not work correctly if filtered according to values affected by filter
B: SetFilter did not use correctly cell CanFilter attribute
+: Added flag complete to Upload_Type as substitution for other flags to serialize the whole grid
B: Dates dialog buttons were incorrectly styled
B: Space cells could be partially inactive if shown pagers on the left of the row
B: Pager tip ignored LF
+: Added OnGetPagerCaption API event to generate pager caption dynamically
+: Added value 3 to NoColor to not color the cell permissions
B: Automatic DefaultSort column was displayed in Export and Print menu
B: Html type did not use Format in some cases
!: Default definition of <Format> StrictNumbers, StrictDates, GMT, DateFormatLowercase, EditFormats, Colors was moved from Text.xml to Defaults.xml
+: Added CSVDateFormat attribute to specify format of all dates exported to CSV
B: DetailTreeGrid was ignored when loaded not yet rendered nested grid for printing
B: Row height with not yet rendered nested grid was incorrectly calculated for printing
C: Cell menu for too high cell is displayed directly under mouse
B: Navigating to page in FastPages could navigate to incorrect page
C: Now grid asks before downloading all pages synchronously for printing
B: In pivot negative numbers were summed as strings by default
+: Added value 2 to PrintConstWidth to resize last column in section when printing to better print spanned cells
B: Height of spanned cell in hidden main column was calculated incorrectly for printing
C: DPI can be changed in print menu even if PDFFitPage item is displayed and is none
B: PrintLocation=4 did not work correctly
+: PDFFitPage is used also when printing to PDF on server to calculate DPI, because in server paging the DPI could be calculated on client correctly
B: Resize icon was incorrectly positioned in scaled grid
C: Prefix in CSS for MS Edge changed from WK to IE
B: For CenterMessage=2 grid was disabled after changing style
+: Sped up rows height calculation, the algorithm is much faster if grid has many rows with different calculated height
B: Row section heights could be different in rows if the final heights were the same
+: Added <Changes> attribute Added to control adding rows with id already used in grid
B: Enum header did not use TextSize and TextStyle attributes
B: CopyPasteRows and CopyPasteTree did not work together
+: Added ExpandAllRender attribute to speed up expanding many rows by rendering the whole body
+: <Changes> tag can update row Height
B: <Changes Update=128/> did not work when passed in data on loading grid
B: Span and RowSpan attributes in <Changes> tag were ignored in some cases
B: Row ids were incorrectly updated in FullId when moved rows between detail grids
B: False alarm for Upload_Type "resized"
B: NaN values were uploaded as changed always
B: For Cells Upload_Type = Cells, Selected or Resized were selected or resized rows uploaded twice
+: Added attribute CopyPasteDeleted to restrict copying and pasting deleted rows and columns
+: Added attribute PasteNaN to restrict pasting unsuitable values
B: Changes were uploaded before export for ExportPDF_Type="cells"
B: Hint could be displayed through nested grid
+: Updated styles for printed grids
B: Rows with deep tree were printed too high in Chrome and compatible styles
B: Row NewId was incorrectly set in <Changes> if set IdNames and FullId and parent id and child were changed at once
+: Added RadioWrap attribute to restrict wrapping in Radio Type cells
!: Added values 4 and 5 to ShowHint and set 4 as default to precisely (but slower) calculate if the hint should be shown
B: SwitchPivotGrid did not recalculate scroll limits
+: Added UpdateLimitScroll to manually clear scroll limits
+: Added Button and Icon "Empty" value to show icon without image
B: Calculated cell was sometimes not updated, if calculated without rendering and next time resulted the same value
+: Added $ to number Format to display actual Currency string
B: Grid scrollbars sometimes were not correctly updated if used FastPages with ChildParts or MaxPages with variable rows height
B: If printed selected rows, the fit page dpi was calculated incorrectly
B: Xlsx export exported incorrect file if set comma in number Format in negative part
B: Moving row with CopyTo was saved to undo in more blocks
+: Increased limit for PageLengthDiv from 1.3M to 17M pixels, with ColPaging only to 5M. To void scrollbar shifts with PageLengthDiv.
B: Sometimes grid could not vertically scroll to exact end in very large grids
B: Chrome sometimes printed some row higher
C: Month names in Calendar are now read from LongMonthNames2 instead of LongMonthNames
B: Hint was incorrectly sized in scaled grid
B: PrintLocation=4 did not work correctly in some page layouts
B: Rounded corners in compatible styles were incorrectly scaled
+: In JSON format can be set more the same root tags by using suffix after "_"
+: Added row VarHeight attribute to not calculate the row height with PrintVarHeight

Sheet
+: Added attribute ImportExt to specify file extensions that can be imported to grid
+: Added OnImportText API event for custom import of text files (e.g. csv) to grid
+: Added ExportType attribute "nocolor" to not export background colors
B: Wrong message text was shown in Import action for action 5
B: Editing tab did not work correctly
B: Empty string in Auto type was converted to 0 on loading
B: DefaultBorder was not correctly saved to xlsx in some cases
+: Added ExactNumbers attribute for Auto Type, to preserve number strings exactly as strings
B: Entering 3 or 4 digits number prefixed with ' to Auto Type lead to big incorrect number
B: Some sheet could not be imported with error Parsing xlsx sheet failed with error -4! Error message:TypeError: Cannot read property '...' of undefined
B: Export to csv incorrectly exported non English UTF8 characters
B: Cell borders were not shown for cells with Overlay in MS Edge
B: Auto fill did not work correctly when expanded the only spanned cell
+: Editing cell with overlay extends the editing width to the next cells
+: Added 4. bit to column Overlay to overlay also wrapped cells
+: Cell background Color set as rgb(r,g,b) is exported to xlsx
C: Sheet names in editable formulas in external references now can be case insensitive
B: Pressing Defaults in configuration menu throw JS error for AutoCols / ColPaging
B: Frozen rows could be doubled when switching between sheets
B: ColSpan was not copied / auto filled if set in data without RowSpan
B: Deleting active sheet could break down the grid, if it referred another sheet in its formulas
B: multinomial function had typo as multinominal
B: Entering time if ExcelDates set entered time in today's date

Menu
!: Styles for dialogs, menus and messages were separated from Grid.css to Dialog.css. Only in responsive CSS styles. Added Cfg attribute DialogCSS to specify the path to the Dialog.css
+: Added attribute Horz to display JSON menu horizontally as toolbar
+: Added attributes HText and VText to display different menu item text when menu displayed horizontally
+: Added flag None to Align to not automatically position JSON menu
+: Added API event to JSON menu OnMoved called when a user drags the menu to new position
+: Added tooltip (Tip attribute) to JSON menu items
+: Added IgnoreEnter attribute to JSON menu to not use Enter to accept focused item
+: Added AutoColumns attribute to automatically split JSON menu to columns
+: Menu item with name encapsulated by - (as "-xxx-") is displayed as caption
+: Added menu attributes ClassName and ClassValue to set CSS class according to the menu Name or Value
+: Added TipXXX menu attribute to display tip for specific menu item value
+: Added menu item Enum type Range attribute to permit selecting more values in the Enum item
+: Added Menu attribute with Enum attribute to display Enum type without value as popup menu, but still update the chosen value
C: Updated animations for TMenu submenu and enum menu

Rtl
B: Grid in frame in Chrome was incorrectly placed if not shown scrollbars
B: Too wide dialog was not correctly positioned
B: Time part was not displayed in Hirji dates if Format was not set
B: count of days/hours/minutes/seconds was incorrectly calculated in Hirji for ExcelDates
B: Hirji dates were incorrectly edited in some cases
C: Rtl attribute is uploaded in "settings" Upload_Type
B: Custom Panel buttons were not handled correctly
B: In Chrome and NoHScroll grid was continuously reduced by 1px
B: Enum header was not right aligned
B: Digits were not converted in menu enum
C: EditFormula is always edited in Ltr and without replaced Digits
B: Menu Enums were not placed left in Rtl
B: Digits were not updated for EditMask / ResultMask, so they did not work with Digits


13.3.13
B: GanttDependency id could not end with SSxxx/SFxxx/FSxxx/FFxxx, where xxx are digits
B: GanttDependency was not correctly updated for children if deleting parent row
B: When dragging run to another Gantt, the auto scroll could persist in source grid if started
B: Gantt run container could be incorrectly hovered if was not displayed the whole
B: Action EditGanttRun did not work
B: Loading filter from configuration could change the filter row id if the "id" column was defined
B: CopyTo could throw JS error when applied to root row
B: Undo / Redo was not working without CalcEdit SpreadSheet module
B: Auto Type cells did not correctly distinguish between empty and 0 on loading data
B: AddCol sometimes did not set WidthPad if defined in style
B: False warning debug message when used <U> tags in fixed row definition
B: Empty string to filter by could cause incorrect filter results
B: Editable formulas were not correctly recalculated after moving row in sheet
B: Unused pages could be removed during dragging and caused JS error
B: After filtering grid and showing rows could be the layout broken if animated

13.3.12
B: Gantt was not rendered if initial zoom led to too narrow Gantt even if used zoom fit option
B: Expand / collapse more rows could break down grid layout in some cases in Firefox when set animations
B: Suggest with SuggestServer reset input cursor in IE11
B: Filter on/off panel button was not updated when set Paging and animations
B: When resizing column hide horizontal scrollbar and custom scrollbars were on, the grid layout could be slightly broken down

13.3.11
B: Moving column with not rendered child part failed with JS error
B: If Page_Url contained *id, it was incorrectly replaced in IE if the row id contained string "$0"
+: Added API event OnDataParse called before the OnDataGet to parse not XML data
B: Detail grid could be incorrectly refreshed if used Paging

13.3

Gantt
B: Updated scheduling algorithm for correcting tasks in different calendars, especially milestones
+: Added attribute GanttCorrectExclude to use updated scheduling algorithm for milestones also on same calendars
+: Added attribute GanttDifferMilestones to not differ between start and end milestones on edges of excluded dates
+: Added attribute GanttEditSoleDuration to permit entering task duration if neither start nor end date is set
B: Moving task by entering start date could move the task outside its end constraints even if GanttCheck was active in some exclude settings
B: Head row with Gantt caused not refreshing Gantt lines (especially GanttBase and GanttFinish)
B: GanttCenter worked wrong if the item dates were not rounded to GanttUnits.
C: GanttCenter is now disabled for GanttUnits months and years
B: Dependency lag could be shown very wide if it was too narrow
B: Gantt popup menu was displaced if set Scale
B: Automatically calculated GanttBase and GanttFinish were not recalculated in some cases
+: Copy and paste in Gantt chart with dependencies now works also via clipboard (CopyPasteInternal=0) if defined and copied "id" named column
B: Dependencies were not deleted for deleted tasks when uploaded to server if set GanttDeletedDependencies.
B: Dependency line was not hovered if went through row with not editable task
C: GanttDeleteDependencies is set if set AutoUpdate
C: If Gantt background units exceed the GanttBackgroundMaxUnits, now no debug message is displayed, but background is displayed more slurry
B: Moving Gantt run was incorrectly checked when moving on touch screen
B: Dragging in Gantt was wrong when used ScrollColOnDrag
B: Exclude was wrong if GanttExclude did not finish by semicolon and GanttInclude was defined
B: GanttMenu was incorrectly position when Scale was set
B: If set GanttSizeFit but not GanttSize, the zoom outside defined dates was not possible
+: Added attribute GanttZoomUndo to Gantt column and ZoomUndo to pager to specify what will be included in zoom undo
!: Dragging with action SelectRun is disabled when no GanttRun is defined or no row is selected
B: GanttBackground was max 5000px high in compatible styles
B: Dependencies were incorrectly hovered and visually dragged with Scale set
B: Main bar side icons were not active
B: Dragging selected run containers dragged only one container

Print
+: If set PrintPaddingHeight=0 and set PrintPagePrefix and / or PrintPagePostfix, the PrintPaddingHeight is calculated accordingly
B: Printing could print more grid pages in one
B: If not defined PrintPagePrefix and PrintPagePostfix, the row height for PrintVarHeight was not calculated
B: PrintGanttBackground values 2 and 4 did not work correctly in Chrome
+: Added value 2 to NoPrintTreeLines to be set only for Chrome/Safari
B: Chrome could print blank pages if the grid page was very huge
B: Printing tree in Chrome could print some rows higher and break page
B: Printing to PDF could break pages due body padding
+: Added VarHeightType attribute to speed up calculating row height in PrintVarHeight

Rtl
B: Actions on focused rectangle in RTL could throw JS error
B: Cell Border was shown incorrectly for spanned cells in RTL
B: Setting outside Border for more cells could be set incorrectly in RTL
B: Horizontal scrolling work incorrectly on tablets in RTL
B: Adding column pages on scroll work incorrectly in RTL
B: In RTL cell corner was hidden on right side overflow instead of left
B: In RTL the grid was shifted by style LastBorderRight
B: FastPanel in Rtl did not work correctly
B: Dependencies were not accessible in Rtl and NoHScroll
B: Centered message was displaced in IE and horizontal body scroll
B: RTL did not work correctly in MS Edge
B: Side text in RTL were not calculated in Gantt width for first time
B: RTL mode was not identified if dir=rtl was set in other tag than <body>
B: RTL did not scroll correctly on Android and touchscreens with Chrome

Grid
+: Extended StrictDates attribute to lang, added bits 2,3,4 for entering dates as numbers without separators and with month names
+: Added InputMonthNames attribute to lang to define month names for editing.
+: Added InputAMPMDesignators attribute to lang to define AM and PM names for editing.
+: Added InputDateTimeSeparators to define separators between date and time for editing.
+: Added StrictNumbers attribute to lang to restrict entering incorrect numbers at all
!: Added EditFormats attribute to lang to define conversion of standard formats for editing, by default it is empty to not do any conversion unlike previous version
+: Added conditional format in [] to date Format
+: Added attributes AcceptNaN, AcceptNaNValue, AcceptNaNText and AcceptNaNTime to control entering incorrect value while editing date or number cell
+: Added WordWrap attribute to let wrapping also long words in wrapped cells
!: If not defined EditFormat for Date cell, it used Format attribute instead. For original behavior add EditFormat="" to Def "C".
B: Dragging space row threw JS error if permitted focusing rect
B: JS error when focused row in rectangle was not rendered
B: TreeGrid height could be incorrectly calculated when shrunk main tag
B: Operator % in editable formula multiplied by 100 instead of dividing
C: If column or row MenuName is set to empty string, the column or row is not displayed in any menu (cfg,print,export)
B: Grid with page could break its layout in IE7
B: Menu for Space row with Space=-1 or 5 could be displaced if set Scale
B: Entering formula in xlsx with cell range as Cxx:Cxx was incorrect
B: Pasting formulas addressing existing column but not existing row could be incorrect
B: Copy and paste formula to another sheet could throw JS error in some cases
C: Functions like vlookup/hlookup returned different results than MS Excel for cells with value 0
B: 4th parameter value 1 in vlookup/hlookup function was used incorrectly
B: Undo did not work for auto filling cells containing formulas
B: Undo did not work for moving more selected columns
B: Removing MaxChildren pages with focus could throw JS error
+: Added API event OnCreateCPage called when creating MaxChildren page
B: Pasting to Auto type cell could set incorrectly formatted value
B: JS error when set Paging='2' ColPaging='2' ChildParts='2' and there was hidden row before the last row in some child part and the grid body was rerendered
+: Added CopyPasteHidden attribute to copy and paste hidden rows and columns, especially in Sheet
B: Copying to clipboard focused range of fixed and variable rows threw JS error
B: Pasting new rows in tree could break down grid layout if animations were on
B: CopyPasteTree did not work with PasteFocused values 30,31,32
B: Space row with Space = -1 and 5 could not be hidden if set Scale
B: Grid could be higher than its main tag if set Scale in Chrome
B: If user changed TextSize, Indent or Wrap, the row height was not updated correctly
+: Added CopyPasteTree value 4 to preserve tree structure, but not copy/paste any extra child rows
+: Added method LoadSheetHidden to load other sheets in xlsx and not show them to e.g. upload all sheets in xml/json
B: PasteFocused 5,6,7,8 could not paste to empty grid
B: Row cursor could be narrow if set NoHScroll
B: Circular reference for editable formula was not alerted in some cases
+: Added values 7 and 8 to FormulaCircular to continue editing
B: Animations were not stopped when removed pages and could break down grid layout
B: Reload did not clear message in timeout
B: JS error when started editing row being deleted and animated
+: Added attribute CopyFormulas to copy & paste only cell values
B: ColPaging did not work correctly if set Scale in Chrome
B: Undo did not recalculate edit formulas after cell change
+: Added attribute Cfg ResetNextBorders to reset also the next and bottom cell borders when setting cell borders
B: ExpandAll in server child paging did not load and expand all visible rows if set ChildPartMin=0
B: Undo did not work correctly with changing dynamic border in some cases
B: If using Paging=3 and MaxVScroll, changing Filter operator sometimes did not load new filtered set of rows
C: If pasted new rows to end of grid, the pasted rows are scrolled into view
!: ExpandAll method now expands also the parent row, not only its children, if called for row and not for page
B: Pages were not rendered correctly if set Scale and NoVScroll. Also ColPages for Scale and NoHScroll.
B: Data_Method was not set to Post by default for Paging='3'
B: Firefox if changed style Size could show Hint incorrectly
B: RowIndexWidth was updated according to style Size
B: Resize cursor was shown for pager header
B: Hint was immediately hidden in solid row Space=-1 and 5
B: LimitScroll was not cleared in some cases
B: Space row cells were not correctly resized by CSS style SpaceWidth
B: Pager width was not correctly resized by CSS style Width
B: With Undo=32, moved row saved and undone and redone was not uploaded as moved
B: Editable formulas were not correctly updated if pasted to new rows
!: If set PasteFocused values 11 and 12 and focused rect contains the last row in grid and the pasted range is bigger, it adds new rows
B: Grid did not lose focus when selected text in outside input by mouse dragging the text outside, in IE and Chrome
B: JS error when the whole spanned cell was hidden and the outside range was spanned and DynamicBorder was set
+: Added cell attribute Rtl to set text direction for given cell

13.2

Gantt
B: GanttRunAdjust="Slip,Between" could join boxes
B: Using GanttRun container could freeze the grid if the boxes were not sorted in it
B: Entering duration with only End date set shifted the End date instead of Start date
+: Added GanttSmoothZoom value 3 to restrict zooming outside first and last zoom level also for zoom fit
+: Added GanttCenter attribute to horizontally center milestones, flags and points in the same way
B: GanttCorrectDependenciesFixed was not used for the first main bar plan when changing the Start / End date in the cell
B: Dragging boxes in GanttRun containers was buggy in Gantt paging
B: Edge boxes in containers were counted in Gantt menu items for deleting and disabling boxes in container
B: All boxes could not be deleted in container from Gantt menu
B: Zooming in Gantt did not work correctly in Rtl and Gantt paging
!: Added attribute GanttPagingUpdateHeight, for 1 (default) it calculates row height from all run boxes. For 0 it calculates from only boxes in Gantt page (original behavior in 13.1)
+: Added attribute GanttLagDescendants to schedule dependency lag as negative delay of descendant task instead of delay of ancestor task - useful if the task have different calendars
B: If set GanttIncorrectDependencies=1 GanttStrict=1 GanttDirection=0 and moved task dependent on other task with different calendar, an error occurred
B: If set GanttRunContainersSelect to one container type or level, there could be selected all containers in a row when selecting container

Export
B: Export_Type="Export" did not send the exported data to server correctly in Base64
+: Added Format color as [colorXX] for compatibility with MS Excel
B: ExportFormat was not read from column
B: JS error when exporting to Excel without any explicit setting
B: Hidden columns were exported to xlsx always
C: Dates in GMT='0' are now exported to xlsx as GMT values in actual timezone
B: Exporting fixed rows and columns to xlsx did not work

Print
B: Printing grid to PDF could throw JS error if used multiline cells
B: Nested grids were not printed
B: If printed by menu with PrintLocation=2, the menu could be printed too
B: Gantt boxes were not printed in IE if set PrintGanttBackground
B: Printing Gantt to PDF was very slow
!: Added PrintGanttBackground values 3 and 4. For 1 and 2 is now printed on the grid background and 3 and 4 to row background. Default value changed to 1.
!: Added attribute PrintGanttRowHeight to set smaller height of Gantt objects when printing (default set to 50, in previous version it was 5000)
B: Gantt printed to PDF could be very slow
B: Printed Space rows were incompletely styled
B: Printed RelWidth Space cells could have zero length
B: Progress message could be printed in some cases with the server paged grid
B: Printing could generate added empty pages
B: Printing in Chrome and FF run twice stopped working for PrintLocation=0
B: PrintLocation=3 did not preserve grid scroll position
+: Added PrintLocation value 4 to print to the actual page like 3, but more safe
B: WKHtmlToPdf could print empty grid in some cases, especially when set fit to one page

Rtl
B: In RTL, vertical dragging lines in Gantt were incorrectly placed if set Scale!=1
B: In RTL, messages were incorrectly positioned
B: In RTL, focus corner were incorrectly placed
B: In Rtl, grid could be broken down if vertical scrollbar was hidden dynamically
B: Changing cell Border dynamically did not work in RTL
B: Filling cells did not work in RTL
B: Scroll action was reversed in RTL
B: Copy & paste of focused range did not work in RTL

Grid
+: Added Cfg TipDialog attribute to change default setting for all tips, in JSON format
B: Cells with value '-' could not be shown in Defaults list with *Rows
B: Adding more rows fast could place the next rows in incorrect position if animations were on
B: If the only page in server paging got no visible rows, grid froze
B: Nested Gantt in master grid did not show
B: JS error when called ReloadPage for row's children
B: JS error in ReloadPage when reloaded page with focused row
!: Added WheelFixed attribute to permit scrolling grid body by mouse wheel also if mouse is above another grid section. It is on by default for behavior like in 12.x version
B: Scrolling side pager by mouse wheel did not work in some cases
B: Column widths were uploaded scaled according to actual style Size value
B: Hint ignored DynamicStyle cell attributes
B: DropCols groups ignored their width limits and had always the same width
B: Rounded corners in compatible styles were not displayed in Chrome 62+
B: Changing Scale did not update row heights
B: Row heights in grid with Scale!=1 were calculated incorrectly (scaled) in some cases
B: In IE9 and below some dialogs did not save their changes if animations were on
B: In IE9 and below the inplace edit could be in wrong position for default relative cursors
B: In IE9 and below the width of main column was calculated too narrow
+: Added parameter rows to CalcWidth to calculate column width according to the given array rows
B: Showing not rendered column ignored cell DynamicStyle attributes
!: Zero value date is now uploaded formatted like other date values
B: Space rows with Space =-1 and 5 were inactive in scaled grid in some cases
B: EditFormat and SuggestSeparator were ignored when used Validate for Suggest Existing
B: MessageTime was not hidden by HideMessage if called immediately after the ShowMessageTime
B: External scale was ignored if grid contained only one column section
B: Changing AllPages dynamically from cfg menu could make the grid inactive
B: Grid style could be shrunk if grid was temporary hidden due extent error
B: ShrinkStyle worked incorrectly for external scale
B: Scaled grid centered in main tag could be positioned incorrectly
B: Style Size and Scale were not synchronized correctly in Sync='style'
B: Nested grid was scaled twice if master grid had set Scale
B: Updating cells Overlay could freeze grid in some cases
B: Date formats with months as 'm' and also minutes were applied incorrectly
B: Animating adding row in Firefox could break down the grid layout for a while
B: Menu columns/print/export did not work in IE7 with some count of columns
B: Adding row in Firefox could break down grid layout in some cases when animations were on
+: Added focus, select and cell mass cell changes of fixed rows and ranges of fixed and variable rows together
+: Iterating rows API - GetNext/GetPrev/GetNextVisible/GetPrevVisible - now can iterate also fixed rows
B: Using Digits did not work with editable formulas
B: Number Tip could cause JS error
B: Icon type cell with Visible='0' showed the icon and duplicated
B: DropCols type items could be shifted for their space
+: Added column MaxWidth attribute to limit column resizing by users
B: Hiding vertical scrollbar could break down right pagers in Chrome
B: Auto filling cells with JSON format could throw JS error for number values
B: Popup dialog in Space row -1 in scaled grid was incorrectly positioned

Other
+: Updated GridEOnDemand.js script to be called more times to load more grids in one page during script loading
B: Trial package did not contain 64bit TreeGrid.dll library

13.1.8
B: Gantt chart was not refreshed correctly in calculated fixed summary rows
B: Resize icon was not visible in Chrome, if it was displayed on vertical scrollbar
B: GetRowByIndex and GetColByIndex returned wrong item for character indexes longer than one character
+: Added methods AddAutoPages and AddAutoColPages
B: GanttPoint was centered incorrectly
B: Click to custom panel icon was shifted for the panel left padding
B: Dispose() could generate JS error
B: Components without Extended API and without Sheet generated warnings for missing GetAttribute
B: Print to PDF could generate empty page on end with only header in some cases with variable row height
B: Print to PDF did not work correctly since 13.1.6

13.1.7
B: Grid resize icon was incorrectly positioned for Scale<1
B: Popup dialog from Space row with Space=5 was incorrectly positioned for Scale!=1
B: Restoring default configuration changed column widths incorrectly if changing style Size
B: Restoring default configuration did render twice if changing Size or Style
B: Restoring default configuration did not synchronize other grids with SyncId
B: If set ExportType Outline and not Expanded, the collapsed rows were not collapsed in export
B: If set ExportType Expanded and not Outline, the collapsed rows were not exported
B: Non number cells with Range set were exported right aligned
B: Drop pointer arrows was displaced when dragging run bar
B: Clicks in RTL and Gantt paging were translated to wrong position
B: Dropping run from container to empty cell threw JS error
B: EditFormat was ignored in pasting and other mass cell changes
!: SuggestType Existing validation now permits empty string always, because it can be entered regardless on Suggest
C: Setting and clearing scroll limit was updated to handle case when grid layout changes for the limit change
C: Reload now restores main tag size if it was affected by LimitScroll
C: GridResizeDefault now resets NoVScroll and NoHScroll set by LimitScroll
B: GridResizeDefault did not work if ResizingMain was set in OnLoaded
B: Gantt main bar could change its duration if moved due GanttCheckExclude
B: Rotated header did not show sort icon or did not update the row height
B: Moving row from one detail to another detail grid threw JS error
B: Editing in space row with Tag set was not possible if not used AbsoluteCursors
B: Side icons were incorrectly positioned for ShowButtons='7' (bottom side)

13.1.6
B: NoVScroll and NoHScroll setting could cause grid not displayed if main tag had not set width / height
B: LimitScroll could be cleared with error in some cases - exact main tag widths


13.1

Gantt
+: Added GanttRunContainersSelect attribute to select run containers
B: Gantt failed to load if GanttRun had the first box removed due GanttRunMilestones
B: GanttRunContainersDelete=3 failed to delete empty container with empty inner container
B: Selection of boxes was not cleared correctly in some cases
B: Row height was not updated for Gantt items height if there was only one columns section
B: Correcting dependencies with custom calendar could move tasks incorrectly
B: ganttdependencyerrors did not work for GanttRunDependencies=0
B: Setting duration to 0 could set end date before start date. Now it creates milestone
B: Gantt popup menu failed on disabled task when set GanttEditDisabled=1
B: Pasting tasks did not recalculate dependencies
B: GanttSlack was not updated if undone / redone cell change
B: Dependency arrow was not connected to line when dragged dependency in new CSS styles
B: Manual constraint was moved along with dragged main bar
B: Manual constraint could be changed when correcting dependencies
B: Responsive style was not loaded if grid was initialized in compatible style and Gantt chart was shown
B: GanttMark icon was not resized to the whole row height in some cases
B: Correcting dependencies was run also for editing start/end/duration in Filter row
+: Added GanttDragTipDateFormat to format dates in drag tip
!: ganttstart, ganttend, ganttduration and ganttparts added fourth attribute. If not set, the functions calculate milestones for both bounds
C: Global functions ShowDialog and ShowMenu take style sizes from the first grid on page, if any

Sheet
B: Cell names were incorrectly set in uploaded xml/json if FormulaRelative was 2
B: Merging xlsx files did not work
B: Printing exported xlsx in MS Excel could cause MS Excel crash
B: Export failed if JavaScript Array had defined custom functions
B: Default header was not exported
B: Number format starting by comma was exported incorrectly to xlsx
C: Number cells with HtmlPrefix / HtmlPostfix were exported as text, without Format. Now they are exported as formatted numbers without HtmlPrefix / HtmlPostfix
B: Incorrect xlsx when exported number format containing html and text together in one ""

Rtl
+: Grid in 13.x supports RTL mode again
C: Popup Menu and Calendar animations side were updated for RTL
B: Column paging did not work correctly in RTL in Chrome
B: Cell Border did not work in RTL
B: Scale did not work in RTL
B: AutoFill did not work in RTL
B: Gantt Background was not shown correctly in RTL
B: Main bar side icon were not shown correctly in RTL

Grid
B: Corrected various problems that led to "Update layout failed" error
B: Update layout failed error was shown in Chrome with zoom!=100% and NoVScroll / NoHScroll
B: Pager did not work in IE7 and IE5
C: When grouping, the column is removed from sort only if has set CanGroup=1
B: Row height could be incorrectly updated in IE9 and older
B: Calendar was not displayed in IE7
B: Displayed empty space above grid in IE8 and older
B: Animations for expand / collapse blinked if the grid has set NoVScroll/MaxVScroll and the grid height changed page height
C: HtmlPrefix and HtmlPostfix is now placed into all outer divs in cell to place the text on the same line as the cell value.
C: If set SafeCSS, TreeGrid now loads the CSS style by asynchronous AJAX to avoid problems with synchronous AJAX in Chrome / Safari (there was wrong alert complaining about local file system)
B: Message could be shown incorrectly if set ScaleMenu
B: PopupGrid did not derive Size and Scale settings
B: Paged grid could be inactive in rare cases
B: Wrapped space cell (e.g. Html type) with Width = -1 could break down grid layout
B: GetXmlData failed for settings or hidden in some cases
C: Moving many selected rows shows waiting message
B: Page message was too narrow in some cases
B: Grid was not displayed if contained LeftCols with only Hidden columns
B: Grid layout was broken if moved all children from invisible ChildPart
B: Grid absolute cursors and dialog were not updated when main tag changed its position due resize or changed page layout
B: Focused/FocusedPos attribute were sometimes ignored in server paging body response
B: Change in Pivot grid mirrored to source ignored AutoSort
C: CanEdit attribute is set in Pivot grid always when set PivotUpdate
+: Added PivotSumFormat attribute to format / round numbers calculated by pivot functions sum / sumjoin
+: In the Pivot default cell value is replaced *Name* by the source column name
B: Missing some cell borders in Chrome if used bootstrap
B: Tree lines in FF could be hidden in deep levels
B: Hint was wrongly shown for some cells in Chrome with zoom != 100%
B: Date Format containing "mmm" as months caused JS error
B: Animating expand / collapse could blink if hid or showed vertical scrollbar
B: Possibly hovered wrong cell in ColPaging and Chrome with page zoom !=100% due its bug #411639
B: Fixed and variable rows could be not synchronized in ColPaging and ColPagingFixed=0 in Chrome with page zoom !=100% due its bug #411639
C: If set Upload_Type Selected and AutoUpdate is on, it uploads changes after any selection done and always uploads all changes, not only affected row
B: Side pager was incorrectly hovered if rerendered grid with different style size for pager (different count of pages)
+: Added parameters scroll and sync to Rerender API method do preserve scroll position during render
B: Grid style could be slightly broken down in Chrome and AllPages=0
B: Selected attribute value could be uploaded as "true" instead of "1"
B: Width of main column was incorrectly calculated if calculated automatically
B: Row animation like select or delete could change row height in Firefox
B: Global function StringToDate did not work with ExcelDates
B: Row cursor could be displaced in Scale!=1
!: Added ShrinkStyle value 3 (and set default value) to show "Too small grid size" message with a button to shrink the grid style
+: Added ExportLoad and PrintLoad value 2 to download all rows even if only selected rows are printed
B: Filter could hide expanded children and the parent could not expand them
B: JS error when pasting less rows than destination focused area
C: PrintSelected option was hidden for server paging
B: Grid layout could be broken when changed row height by API in some cases
B: SetString set date incorrectly if used ExcelDates
B: Panel buttons could be clipped
B: Grid with only one root row was inactive after sorting
B: In IE8 and older the modal menus were disabled
B: Printing in Chrome created empty pages
B: RowIndex column could increase row height

13.0.15
B: TreeGrid did not work in IE7
B: Dates loaded from xlsx were shifted by 2 days
B: RestoreCfg did not restore Style and Size correctly
B: Action SetChecked did not work for Button="Check", only for Icon="Check"
B: Changing Scale < 100% tried to set LimitScroll always and also failed in some cases
B: If suggest menu closed the input could disappear in IE
!: Entering only day in Date type must be by number, not by any string (e.g. 1st is restricted now).
B: Exported dates in Auto type without ExcelDates set were incorrect in xlsx
C: Exported dates in default format chooses the format according to DateSeparator as d.M.yyyy / M/d/yyyy / yyyy-MM-dd
B: Coordinates in editable formulas were not translated in export correctly when rows and columns were identified by id and Name
B: Operators + between strings in editable formulas were not changed all to & in export to xlsx

13.0.14
+: If EditFormat for Date type is defined and does not contain 'd' or 'D', it displays calendar dialog to select only month and year
B: If actual Style was not defined in Styles, configuration menu did not show
B: Style size could not be changed from configuration menu
B: Setting TextSize remarkably increased row height in some cases
B: Changing Scale > 100% tried to set LimitScroll always and also failed in some cases
B: FastPanel does not work in FF48 and older - now the FastPanel is turned off automatically for FF48 and older
B: If one letter format contained < or &, the exported xlsx was corrupt
B: GanttWidthEx was not affected by GanttWidth style modifier
B: With DynamicFormat="2" and editable formula, value was not reformatted to date if the type was not changed
B: In Auto Type were ignored CRLF when editing
B: In Lines Type were ignored CRLF for display
B: Formats as right click popup menu ignored the deep subitems
B: Date strings in Auto Type were not converted on load to the datetime value
B: AutoCalendar with time edit input always focused the time input and not the main cell
B: Date format with text months or days could not be edited
B: Range='1' with numbers was shown as NaN
B: Changing grid CSS style could lead to Update layout failed message
B: Merged cells in Compatible styles had bigger font size
B: Color attribute was ignored in column and cell
B: Popup grid could scroll page if it had scrollbars
B: User cell was not shown in Compatible styles
B: Gantt header was shifted top in Compatible styles
B: Side Gantt icon in main bar was not shown in Compatible styles

13.0

Gantt
+: Added GanttRun containers, to manipulate more run boxes together and place them visually to containers
+: Rewritten algorithm for shifting error boxes. Updated GanttRunErrorsShift, it can be set to negative value to place the next box under the whole overlaid box plus given space
+: Gantt progress line is now done by in-place <svg> for better look, except on IE8 and older that is still done by gif. The GanttMark class values A,B,C,D are now reserved for the progress line.
!: Default value of GanttMarkExt is "svg" and in IE8 and below is "gif".
!: Gantt constrains are not centered to the first main bar, but now they are centered according to their definition in CSS style.
+: GanttBottom, GanttIconBottom can be defined in CSS style
+: Added OnGetGanttRunRect parameter type to specify when the event is called
+: Added OnGetGanttRunSideText parameter rect as the box position
+: Added attribute GanttMarkTexts to display text inside Mark, as static not interactive label in Gantt
+: Added attribute GanttTextSeparator to change separator for GanttFlagTexts and GanttMarkTexts to let to include it the semicolon
B: GanttMark icon was not resized to the whole row height in some cases
B: Milestone could not be moved if defined with both Start and End (the same)
+: Added GanttHeaderStyleX attribute to change CSS style of given Gantt header line
B: Setting GanttHover=0 did not stop hovering dependencies and vertical lines
B: CheckGantt was run for the whole Gantt column, either for rows without Gantt cells, e.g. filter
+: Added dragging action SelectGanttRunRange to select all runs in given range in focused or selected rows
+: Added OnEndDragGanttRange API event called for custom action when dragging range in Gantt header
+: GanttBackground and exclude is rendered as <svg> to speed it up, if set GanttTextOverlay=1 or printed if set PrintGanttBackground=2
B: GanttBackground could not be rendered in Gantt paging if grid was scrolled left
B: If defined run as summary of main bars, dragging selected run boxes as the first boxes in row deleted the boxes
B: GanttRunTop and run Top was ignored if set to 0
B: GanttMarkIncorrectDependencies=1 colored lines and arrows differently
B: Gantt could be printed with missing rows if used ChildPaging or ChildParts without Paging
B: PrintZoomFit did not work correctly in Chrome
C: PrintZoomFit is switched off in Safari, it does not work here
B: Dependency could be marked incorrect with custom calendar and small exclude units
B: FastGantt did not work correctly in Chrome and Firefox in some page zoom levels
C: GanttRunSummaryPrefix can be set to empty string
B: Gantt was refreshed for every ClearSelection
B: Gantt could be slowed down in Firefox in page zoom!=100%
B: GanttAvailabilityDivide could break down the chart for some zero part length

Sheet
+: Added new input data Format "xlsx". It must be set to correctly load xlsx files.
+: TreeGrid can open (by open dialog or by dropping) xlsx files, edit them (including manipulating sheets) and save them back (by download dialog).
+: Added "Sheets" type button to show tabber with sheets in xlsx
+: Added AutoWidths attribute to set widths and visibility of columns created by AutoCols
B: JS error when rendering with DynamicBorder and last column with RowSpan
+: To FormulaType added bits 4-6 to iterate also fixed rows and columns
B: Absolute RxCx format accepted only one digit numbers
+: Added next 200 Excel functions to editable formulas
+: Added operators ^ (power) & (string concatenate) space (intersection of cell ranges) in editable formulas
+: Added external references to other sheets in xlsx by operator ! in editable formulas, including sheet ranges
B: Reference to not yet created far cell returned error
+: Added FormulaTip attribute to let users to choose if show editable formula as tip
+: Added DefaultBorder attribute to let users to choose if show default borders between cells (only for DynamicBorder)
+: Added API method GetStringEdit to return string for editing or editable formula
+: Added API method SetStringEdit to set cell value like it was edited by a user
+: Added cell attribute Indent to specify value indent from the aligned edge. It can be changed also dynamically.
+: Added cfg attributes Indent and Indents and actions for manipulating the cell indent
+: The toolbar buttons and enums for DynamicStyle and DynamicFormat now display actual settings from focused cell
+: New custom formats can be added to Formats. All initial formats in grid are added to Formats on start as custom formats.
+: Formats menu supports sub menus
+: Added API method FindFormat to find actual type and format in given formats
+: Added ExcelDates attribute to take all dates as count of days since 1/1/1900 (MS Excel format) instead of count of milliseconds since 1/1/1970 (JavaScript format).
+: Added Type="Auto" as auto type according to value and format. Replaces DynamicFormat='2'. Auto type can display text, html, number and date.
B: Grid could incorrectly complain about circular references in editable formula. Added FormulaMaxIterations for better test of circular references.
C: FontSize now sets line-height as 4/3 of the FontSize
!: All editable formula items except strings are now case insensitive
!: JavaScript name of custom function defined for editable formulas must be lower case
B: Result of editable formula did not change empty string to 0

Grid
+: Added new responsive CSS styles. Not for IE9 and older and Safari 6 and older.
!: Changed Style prefixes logic, Tx is CSS prefix for grid, Gx for Gantt, Cx for old compatible CSS style
!: Some old compatible CSS styles renamed: Standard to Relief, Modern to Gradient and Material to Sharp
+: Added attributes Size and Scale to choose style size modifier and % scale for responsive web design
+: Added ShrinkStyle attribute to automatically decrease the Size and Scale if space for grid is too small
+: Split Gantt and grid styles to be set different
!: Updated CSS styles, added a few new CSS classes for better styling, modified meaning and values of few old CSS classes
+: Update <Media> tag for new CSS styles
+: Added ConstWidth values 5 and 6 to resize grid to show all space cells
+: Added animations to many grid actions
!: OnRowFilter is now called before showing children in StandardFilter=2. The OnRowFilter now has set the third parameter true only for rows that fulfill filter condition.
B: Larger cell value could be shown outside cell if it was changed from empty value
B: PrintPrefix and PrintPostfix did not work with PrintZoomFit
B: Showing tree level could be slow
B: List cell popup in Search was not shown in some cases
C: Disabled grid is not rendered with 50% opacity by default when doing longer tasks to avoid blinking
B: In IE text was selected if dragging started on dialog
C: Various actions were merged to undo blocks, to be undone together at once
B: Row SortIcons were not read from default row
+: Added parameter hard to the Disable to disable the grid visually
+: Added attribute DragCol to show row drop position in this column in plain grid without tree
+: Added action StartEditCellAccept to edit outside focused cell, but with accepting previous edit
+: Defined side Pager texts as PagerSep1, PagerSep2, PagerSep3 and PagerNone to redefine separators in the page names in pager
+: Added attributes MaxChars and MaxCharsSingle to limit the page name characters
+: Added attributes MaxWidth and MinWidth for space cells to control the auto width cells
B: NoScrollAfterExpand=0 did not work correctly
B: Grid MaxHeight did not work correctly in latest Chrome
B: Ctrl+click and shif+click to cell failed if Sheet module was not included
B: JS error if reloading body returned negative IO Result and some data
B: Loading JSON did not clear <IO> in some cases
C: AcceptChanges in master grid now calls AcceptChange in nested detail grids
+: Added keyword *Value* to tip to show cell value inside Tip
B: In StandardFilter=3 the CanFilter=0 rows caused showing all their parents
+: Added MasterDefHide to hide some master rows in this detail grid
+: Updated DefaultSort, if set it stores original rows positions on start to restore original sort order later
B: Row alternate colors were not updated in some cases
+: Extended _Script data source, it can contain any JavaScript code to be run to get the source data and can be used in any data source, also in Upload_, Page_ or Check_
+: Added API OnClearRow that is called before the row or cell is cleared, as opposite to OnRenderRow
B: OnRenderRow was not called for fixed and space rows
B: Def attribute could not be upload in changed rows in Upload_Attrs
B: Filling cells by dragging sometimes did not stop scrolling on the grid right side
+: SaveExpanded and SaveSelected now works also with server paging and server child paging except set RemoveUnusedPages=3 / RemoveCollapsed=3
+: The button / tab ButtonText can be edited
+: Added DragTab attribute to drag space tabs or buttons inside its section
+: Added action DeleteTab to delete clicked space tab or button
!: Pager buttons were related to focused page, now they are related to visible page like pager edit and other pagers
B: Scrolling by two fingers on touchpad did not work correctly in some browsers
B: Grid cursors were placed incorrectly in Chrome in column paging and some zoom levels
!: If event returns 100 <= ret < 200, it stops propagation of the event also to other parts in page; if event returns ret >= 200, it stops propagation the event only in TreeGrid, like in 12.x version
C: Tabbing to Bool in edit mode finished editing, now it does not navigate to Bool in edit mode
B: Search Find could try to focus not focusable cell
+: If scrolled the whole window by NoVScroll and NoHScroll, it now support all paging types: Paging, ChildParts, ColPaging and GanttPaging
+: NoVScroll and / or NoHScroll can be set automatically for small displays by LimitScroll attribute
+: Added ScrollParent attribute to specify the parent tag used for NoHScroll / NoVScroll
+: Added SetMaxHeight method to modify Cfg MaxHeight value
+: Action Scroll scrolls window or ScrollParent if set NoVScroll / NoHScroll
+: Added actions ScrollHorz / ScrollVert to scroll only one direction
B: ReversedTree, ShowButtons, SaveVisible and Pivot could be saved to cookies incorrectly
B: Radio cell ignored Align attribute
B: For FocusRect=2 was the corner shown also for Space rows
B: Alternate could not be set by Media
B: ExportCols='1' produced JS error
!: Grid table is now rendered with fixed layout to preserve width problems in some page layouts. For compatibility, to render grid table with auto layout set <Cfg ExactWidth='0'/>.
B: Showing / hiding last column in left or right section more times width FastColumns='1' could change width of some space rows
B: Grid could freeze in Chrome in some zoom levels and grid sizes
B: Width attribute was ignored for Space Panel
B: Filter in server paging did not work in MS Edge 15
B: Count of Levels buttons was not updated on changed grouping
+: Added FocusedType attribute to not scroll to Focused row on start
+: Added RowIndexWidth attribute to set width of RowIndex without explicit defining it
B: LongClick1 was not called on some tablets
C: In Chrome for long touch was called Click1 after RightClick, now it calls only RightClick
B: In iPad was grid scrolled when dragging in Gantt in some cases
B: Hint for Lines cell was not hidden if moved to another row under the hint
B: Menu columns could not have the same widths in IE
+: Added Overlay attributes to let cell wide value to overlay next empty cells
B: Vertical scroll position could be reset in large grid when changed horizontal position
B: Height of row with RowSpan could be calculated incorrectly in Chrome 59
B: FormulaRelative RxCx notation always ignored fixed rows
+: Reload parameter 3 changed to integer and its value 2 reloads grid without losing grid configuration
+: Added actions ReloadSettings and ReloadCfg to reload grid without losing configuration
+: Added "config" value to Upload_Type to return grid configuration without data configuration
+: Added <Actions> attributes LeftPrefix,RightPrefix,MiddlePrefix,CtrlPrefix,AltPrefix,ShiftPrefix,MetaPrefix to let predefine prefix for given shift combination
!: MetaPrefix is set to "Ctrl" to behave the same as ctrl on Mac, because some browsers on Mac return Meta key for Ctrl.
B: Safari/Chrome on Mac ignored key prefix for right button click
+: Cols, Pagers and Defs Name and Rows id attributes in Media can be in format "*atribute*value" to specify item(s) with given attribute value
B: Spanning cell range with focused cell did not update the focused cell
C: Tip was closed for every mouse move, now it closes for move for at least 4px
+: Added attribute SpaceWrap to wrap space cells to more lines if required
+: Added attribute EditHtml to permit editing Html and Auto type cells as plain text
B: GetAttribute did not return row attribute if column existed
B: Cell tip shown if expanded the cell enum list
B: Color "#000000" was ignored
+: Added attributes RoundNumbers and RoundNumbersDigits to round all number in grid to given count of digits. For display only.
C: Menu item in Suggest is accepted by tab key too.
B: Debug='cookie' did not work for some cookies
C: TreeGrid restricts entering incorrect dates without format by default. Controlled by <Format> attribute StrictDates
+: Extended date format strings. Added new standard formats. Added color in []. Added <Format> attribute DateFormatLowercase to accept the 'm' also as month and 'h' also as 24 hours. Added support for texts.
+: Extended number format strings. Added conditional formats, colors in [] and format part for text. Added characters '?' and '_' to display spaces instead of digits.
+: OnGetHtmlValue can be used to change only value or type or format and format the value in standard way.
B: AutoCalendar did not show time if the edit format had time part
+: Added attribute MinEditWidth to specify minimal width of space tab cell when edited
+: If the grid has Sync attribute it uses synchronous unzip for xlsx import

12.1.19
B: Tree icons were not rendered in Chrome in some cases
B: OnGetGanttRunSideRect was always called with parameter side = 1
B: GanttMark with image like progress line was not resized to the whole cell height if the row contained wrapped text
B: List in Search was not calculated correctly for search by expression

12.1.18
B: Chrome did not display Gantt background if used GanttPaging
B: Mass change like copy&paste of Enum cell was not possible if defined EnumKeys
+: Added attribute RTL to Media to change grid in RTL mode
B: GanttPaging in RTL mode did not work correctly in some browsers
B: SuggestType with Existing and Range could not be validated
B: Icon in Disabled Button was still clickable

12.1.17
B: Chrome froze on zoom in / out when there were more than 4 grids on page

12.1.16
+: Added Gantt column attribute GanttMarkExt to change images extension for the GanttMark. It is without ".". It can be empty to not add any extension.
B: Side buttons could be hidden on cell refresh
B: The AutoUpdate changes were not sent to server after row move
B: Firefox on Mac could break down synchronization between fixed and variable rows sections when scrolled to the most right.
+: Added FocusSubmenu attribute to JSON menu to restrict (if set to 0) focusing menu and submenu on submenu show on mouse hover
+: TreeGrid sped up in Chrome / Safari

12.1
+: Added export to binary xlsx format. It supports many TreeGrid and SpreadSheet features to export.
+: Added direct saving of the exported data without server (not available for IE9 and older).
!: ExportFormat changed to string and is preferred to Export_Type.
!: Included third party library JSZip, it is loaded only for xlsx export and only if set Cfg JSZip = 1
+: Added various flags to ExportType for xlsx export
+: Added ExportLoad attribute to load all pages for client export
+: Added ExportName and ExportFormat attributes to be changeable in export menu and saved to cookies
+: Added PDFName and PDFFormat attribute to be changeable in print menu and saved to cookies
+: Added OnExportInit API event to provide custom client export
+: Redesigned configuration menus (cfg,columns,export,print/pdf). Cfg and Columns menus both can show columns, rows and options. Modified tag MenuCfg, added tags MenuColumns, MenuPrint, MenuExport. Also to Lang tag.
+: Print/pdf and Export menu can choose also rows to print / export.
+: Added MenuName row attribute to specify row name in configuration menu.
+: JSON Menu items with Group can be synchronized also with different Columns values.
+: Added Cfg SaveVisible attribute to save all hidden (variable or fixed+space) rows to cookies.
+: Added Cfg VisibleRows and HiddenRows attribute to show and hide given rows after load.
+: Added flag Hidden to Upload_Type to upload rows with changed Visible to server in Cfg VisibleRows and HiddenRows attributes. Fixed and space rows and uploaded also Settings flag.
+: Added OnRestoreCfg API event called when configuration is restored to default settings.
+: Added AlternateStart to color also first alternate rows
B: Cursor keys did not work in menu in some cases - it controlled grid cursor
B: Editing of invisible cells was possible and generated JS error
C: Focus method shows also hidden column (for type&1), especially for Validate action
C: RenderBody does not finish editing in fixed row
B: Possible bug in rendering childparts in colpaging
B: If set too high Span in left column in ColPaging, it caused JS error
B: Zooming in Gantt header in GanttPaging with GanttPagingFixed was wrong
B: TreeGrid was very slow in IE9 and older
B: GanttMark icon was not resized for automatically resized rows due their content
+: Added GanttAvailabilityGroupsSpread attribute to stack the availability groups horizontally
B: GanttAvailabilitySumBars did not calculate correctly min and max value
+: Added OnGanttRunDrop parameter celly
B: Dialogs in tablet could be displayed in wrong place
B: Corrected editing in some tablets
+: Added <treegrid>/<bdo> attribute Source to define count and names of data sources for download
B: ReloadBody could not change Paging value
B: Editing could not be done in space row with Tag
B: Action could not call custom JavaScript function containing digits in its name
!: OnDisplaceRow is now called also for all rows after main tag is resized by mouse dragging
B: Server child paging with child parts did not work correctly
B: Grouping with OnePage could group data more times
B: Missing texts in MenuCell caused menu items hidden, now the menu item displays text identification instead
B: OnContextMenu menu was not called when menu with one item only runs automatically its action
B: If hidden main tag was displayed, in some cases the content was rendered twice
B: When printing Gantt pages, the Text (with %) did not display cells from not printed columns
B: Collapsing parent of focused row could throw JS error in some cases
B: Collapsing all rows did not collapse not loaded child pages
B: Delete selected rows ignored children of rows with CanDelete=0
B: Unused control keys used in popup menu or calendar scrolled the grid under
B: SuggestSeparator was incorrectly applied in some cases
B: Menu Submenu could not be controlled by keys due incorrect id. Ids of submenu html items and buttons changed.
B: FormulaCanUse was ignored when whole row or column was referenced
B: ShowMenu was not backward compatible with the old parameter syntax prior 11.0
C: For Upload_Type Selected it uploads also all selected cells and all selected columns
B: PrintRows value was not uploaded correctly in Upload_Type Settings
+: For DebugTag="Console" prints the debug to browser console
B: PrintFiltered and ExportType Filtered did not recalculate the grid accordingly
C: PrintSelected works now the same as ExportType Selected, for selected rows, columns and cells.
C: Selected cells are not colored when PrintSelected is set
B: Child in default row ignored parent CDef attribute
+: TreeGrid can be controlled also from touch screen on notebook, in Chrome and if permitted, in Edge and Firefox
B: Enum item in Menu with EnumTime could not be expanded on tablet
B: Mouse drag objects were incorrectly positioned in zoomed page by pinch zoom and scrolled right or bottom
C: Dialogs in page zoomed by pinch zoom are placed into visible area
B: Delete selected rows did not undelete selected children of selected parent
C: Start dragging dependency during moving box is now permitted on touch screen when TouchDragFocusedDependency is 2
B: Levels buttons did not work in server paging
+: Added MinLevels attribute to set minimal count of buttons in Levels, for server paging
C: On tablet the calendar with time part is not automatically focused to not show keyboard on start
B: Touching edited cell finished editing
B: Displayed Gantt dependency Lag was rounded to GanttWidth if defined GanttExclude, it could show too long lag for high GanttWidth
B: Hidden space rows broke layout down in Safari 10 and Chrome on iOS
B: Dragging Panel Move did not work on tablets
B: Action DragCell ignored TouchDragFocused
+: Added Cfg attribute DuplicateId for cases when more row ids are changed by <Changes> and during the process duplicate id temporary occurs
+: Added GanttZoomFitWidth attribute to specify fixed width for zoom fit in case of MaxHScroll or NoHScroll
B: Dragging menu by header did not work on touchscreen
+: Added Media rules for responsive design
!: Hidden space rows are not calculated, except set CalculateHidden=1
+: Added attribute Mirror to copy all attributes from one space row to another, to avoid defining the attributes in all the rows.
B: Side pager could not be easily scrolled on touch screen
B: Expand / collapse columns in header did not work correctly on spanned rows, especially in chrome
B: Right side button in spanned cell could be hidden if some of the columns was hidden
B: GanttAvailabilitySum could generate long units in GanttExclude warning
+: Added GanttRunEscape attribute to permit and escape separators in GanttRun array definition
B: In Firefox the first pressed key that started editing was not placed to the cell
!: If not set SelectingText (default), the selecting text in grid is not permitted also on tablets
B: Dependency hover was misplaced when scrolled on tablet
B: On Android tablet selecting cell range scrolled the grid
+: Added action PinchZoomGantt to zoom/unzoom the Gantt chart by pinch gesture on touch screen
B: For SortIcons=2 and high header the click was not directly to the sort icon
+: Added MomentumScroll attribute options 2 and 3 to avoid iOS bug that scrolls tags with -webkit-overflow-scrolling:touch even behind absolute tags.
+: Updated SafeCSS mode for Foundation, Skeleton and other frameworks
B: EditAttrs permissions did not test correctly Enum with Range
!: PrintLocation default value changed from 0 to 3/0 to print to the same page on top window or 0 to print to different window in frame or iframe
!: PrintZoomFit default value changed from 0 to 1 to show the fit page option in print menu. PDFFitPage updated to work in IE9+, Chrome, Firefox and Safari
+: Border cursors speeded up in Safari/Chrome
B: Cursors were shifted up in Firefox and Mac Safari for main table border
+: Added attribute MacContextMenu to show popup menu on right click button up instead of down on Mac OSX, to permit dragging by right mouse button. Turned on in Gantt by default.
+: Added column attribute Overflow to speed up grid in Chrome/Safari
B: AbsoluteCursors were set 0 for all browsers, now they are 5 for all browser except Firefox
B: TreeGrid did not work correctly in Safari 6.2
B: Moving focused column or row if SelectingFocus was true did not change the focused selection
!: If Upload_Type contains both "cells" and "changes", the cells are now uploaded in Body tag instead of Changes tag
B: Resizing spanned cell if the main spanned column was hidden broken down grid
C: Cell Visible was removed from Simple
C: NoFormatEscape is now applied also to Lines type
C: MomentumScroll attribute now affects also vertical pagers

12.0.16
+: Added new style "Material" according to Google Material Design specification
B: Incorrect calculation of availability stack bounds if set GanttAvailabilitySum
B: Dialogs on tablets could be incorrectly placed
B: Grouping could be run more times if set server paging with OnePage
C: OnDisplaceRow is now run also after manual resizing of main tag
B: Server child paging with child parts did not render correctly in some cases
C: Menu shows item name if not defined item text in Text.xml. It hides the item only if the text is set as empty.
B: Menu with only one item did not run OnConextMenu event
B: TreeGrid could not change style if was in hidden main tag
B: CollapseAll could not collapse focused row
B: CollapseAll did not collapse rows with not loaded children
B: Selected children of not deletable parents could not be deleted in some cases

12.0.15
B: Horizontal scroll by mouse wheel or touchpad did not work correctly in some browsers - it still scrolled vertically
B: Rotate attribute was not read from row and column
+: Added FilterIgnoreEmpty to ignore empty cells for filter operators <, <=, != and not contains/begins/ends
+: Added noround parameter to GetGanttPos to not round the result to pixels to use e.g. in OnGanttRunDrop for precise position change
B: Moving and resizing GanttRun box generated more undo block and AutoUpdate server calls, if the run defined as summary of main bars
+: Added OnEndDragGanttRun called after GanttRun box resizing or sliding finishes
B: Copying columns could copy Span and RowSpan incorrectly
B: Row Hidden attribute was not read from default row
B: Accepting changes in AutoUpdate was added as new undo block, for Undo=32
B: Gantt chart could break down when refreshed and there was some invisible not rendered row
B: Undoing deleted Hidden row could show this row
B: When GanttRun defined as summary and the row id changed after a change due FullId or other id attributes, the grid breaks down
B: CustomScroll=4 preserved scrolling in grid
B: Rotate in Space cells did not work correctly
C: For FastGantt is added GxFGanttHtml class to every side text
!: The Main bar milestone text is now shown on the same vertical position as milestone
B: Vertically stacked availability was wrong if mixes positive and negative values
B: If edited in iPad in iframe, the frame could be scrolled up and the edited cell could be hidden when shown keyboard.
B: Moving column inside group as the last column in group and in grid moved the column outside the group
B: StandardFilter = 3 could display row with CanFilter=0 Visible=0
+: Added attribute Cfg ClearFilterOff to clear filter value if chosen operator off.
+: Added attribute Cfg ShiftHint to shift the hint left if there is no room on right side
B: Grid in server child paging was broken down in some cases
+: Action Copy and Exclude can be used also in popup menu or called by API. Works only in Chrome 42, Firefox 41, IE10, Opera 29 and no Safari
B: ...IconRotate CSS class was not added to empty rotated cell with icon
B: JS error when adding row to grouped grid in some cases
+: Added Cfg CalculatedChangesFirst to specify columns to be used like if set CalculatedChanges=2
B: SpannedTree was rendered too wide and Hint could be shown too wide for it
B: Gantt in some styles in IE could be printed broken down
B: RowIndex if not defined as column could be printed to PDF in incorrect position
+: Added CSS class GxColorHoveredAbsolute to specify the hovered row color as absolute, not added color.
B: Creating run box on excluded dates could show warning about NaN in excluded dates.
B: Editing in Space row outside TreeGrid was not possible.

12.0.14
C: When set GanttRunMove="Slide,Move,Vert", the vertical movement cannot be done when sliding already started at least 50px
B: Ctrl+Enter in Lines editing did not update height of the textarea
B: Shift+Enter in Lines entered two lines in some cases
B: In formula editing when chosen constant in suggest it added parenthesis and resulted to NaN
+: Added Cfg attribute FormulaAddParenthesis, if set tries to add ending parenthesis to incorrect formula
B: Gantt refresh/zoom with some paging settings could break down the grid
B: Exclude and paste could reset page scrollbars
B: Wrapped rotated cell was not correctly displayed

12.0.13
B: Editable formula calculation failed for space cells
+: Added NoDateNumber attribute to not set Date type for numbers when set DynamicFormat=2
C: Date in DynamicFormat=2 is set for numbers only when the cell is calculated by editable formula
B: DynamicFormat=2 ignored language dependent date and number separators
+: Added parameter calc to OnFindType when called for calculated cell
B: OnEndEdit was called twice when accepted the same value without change
+: Added attribute SelectClassRow for backward compatibility
B: On DynamicFormat=2, when changed type by entering value and next entered the original value, the cell remained changed
B: Gantt in collapsed rows could be incorrectly refreshed
B: Chrome 50 in strict mode did not render deep tree icons

12.0.12
B: Gantt with tree and ChildParts could be broken down

12.0

Sheet
+: Added editable formulas in cells. Main attribute is FormulaEditing. Added new module CalcEdit.
+: Added suggest menu with available formulas.
+: Cell range can be selected by mouse during editing formula. Added value 2 to DragEdit to permit dragging during editing.
+: Added dynamic border for every cell. Main attribute is DynamicBorder. Added new module Border.
+: Added dynamic style for every cell. Main attribute is DynamicStyle. Added new module Style. Background Color attribute is also affected by the DynamicStyle.
+: Added dynamic and automatic format and type for every cell. Main attribute is DynamicFormat. Added new module Format.
+: Added row and column index as RowIndex and ColIndex. UpCounter was renamed to RowIndex and extended. RowIndex/UpCounter is still usable in Grid/Gantt components. Added new module Index. RowIndex column is styled like Header.
+: Added attributes AutoRows and AutoCols to generate new empty rows and column on start. Only for RowIndex/ColIndex.
+: Added EditAttrs... attributes to specify which cell attributes will be affected by mass cell changes. Added new module EditAttrs. Added EditAttrs to Upload_Flags.
+: Added auto row and column paging - adding new row and column pages dynamically on scroll. Main attributes are AutoPages and AutoColPages. Added new module PagingAuto.
+: Added flags to <Changes Update> to add new rows for AutoPages and accept Index instead of id

Gantt
B: ZoomUndo action in synchronized grids did not scroll correctly
+: Added column attribute ConstWidth to display empty relative width column to fill available space
+: Extended RelWidthType attribute
C: In algorithm of resizing widths if there is no room for grid, the pager is resized after sections with Width and MinWidth
+: LeftWidth/MidWidth/RightWidth can be set to 0 to calculate it as summary of its columns
!: GanttSizeFit is now affected by GanttZoomFit
+: Added value 2 to GanttSizeFit to resize but not shrink
!: GanttChartMaxStart/MinEnd are now affected by GanttChartRound
B: Dragging bars and some click actions in GanttPaging and RTL were buggy
C: Auto scroll rows when dragging Gantt object(s) only horizontally is now turned off
B: Vertical lines were not shown for run move and GanttPaging
B: Dragged mouse object was not overflowed in RTL mode if placed left behind window and caused showing horizontal scrollbar
+: Added attribute Cfg TouchDragFocusedDependency to create dependency on tablet only on focused cell or object
B: Dragging Gantt line in RTL was buggy
+: Added CSS class DragGanttTipInner and modified DragGanttTip to not contain border, to be correctly overflowed by page edges
B: In GanttSizeFit was ignored GanttZoomDate in some cases
B: Gantt chart zooms were not synchronized for Sync="zoom" if not set GanttSize
+: Added OnSelectGanttRunRect API event called after the runs are selected
+: Added attribute GanttLagRound to round percentage lag to GanttDataUnits
+: Added GanttAvailabilityGroups attribute to define more independent availability charts
+: GanttAvailabilityShift can be defined different for every availability chart
+: Added GanttAvailabilityHeight attribute to specify portion of the cell to display availability chart
+: Added attributes GanttAvailabilityVPos, GanttAvailabilityHPos, GanttAvailabilityTextRepeat and GanttAvailabilityTextColor to more control the availability text
+: Added GanttAvailabilityStack attribute to stack more availability charts vertically or horizontally
B: GanttAncestors cell was not updated for some dependency changes and delete / undelete tasks
B: In dragging line, the line ghost was not deleted if OnStartDragGantt returned true
B: Deleting main bar with dependencies generated two undo blocks
B: Initial Gantt start date in empty grid could not be actual date, but some very high date
B: ZoomToBar did not change GanttSize page if the zoom width did not change
B: Paged GanttHeader could be broken down when showing / hiding other columns
B: ReloadBody cleared actual Gantt zoom and position
B: Updated Gantt pager cursor position, now it shows the pink / green cursor for at least 70% of the grid size / pager size
C: Disables GanttCheckExclude and GanttCorrectingDependencies for pasting
B: Dependency change could be added as two undo statements
B: GanttRun Move could not show the vertical line if used GanttPaging
+: Added GanttCheckExcludeEdit to control the exclude differently for dragging and editing
+: Added GanttIconsHover and GanttIconLeftWidth/RightWidth to distinguish Gantt Main left and right side icons for API
B: If editing GanttStart/End/Duration changed also the other attribute due GanttCheck, the undo was in two statements
C: Custom GanttMenu items text can be read also from Text.xml
B: GanttAvailability count #0 was used as #1
B: GanttMinSlack and GanttErrSlack were used as in ms instead of GanttUnits
B: Grid sections were misaligned in some cases when used GanttPaging, Paging and RemoveUnused

Grid + shared
+: Extended mass changes of cells in grid (clear, copy, move, fill, paste, validate), now all the changes call basic API actions like OnValueChanged and check cell edit and validate restrictions. Added new module MassChanges.
+: Mass changes can show result message with error list
+: Added actions and API to clear cell or cell range
+: Nearly all TreeGrid actions can be called with the second parameter true to test actual possibilities of the action and do nothing
+: Changed and sped up scrolling on touch screens. Added MomentumScroll attribute to use on Mobile Safari browser.
+: Added value 8 and 12 to ResizingMain to hide also other grids on page when resizing one grid, especially if used Cfg MaxHeight
+: Added value 16 to ResizingMain to ignore LeftWidth/MidWidth/RightWidth for minimal width calculation
+: DragByMouse can be used also in ontouchstart to work on tablets
C: Moved row ghost is shown also on tablet
B: PrintPaddingWidth/Height were incorrectly replaced by PrintMarginWidth/Height in page size calculation
+: Added attribute ShowHScroll to always show horizontal scrollbars
+: Added <Lang> <Format> Digits attribute to replace digits in all TreeGrid numbers by defined characters. Useful to show Arabic numbers.
B: CanEditFormula was ignored in some cases
B: Grid showed both scrollbars in exact space if it could hide both
C: Key event action can return 100 to stop propagation, but to not prevent default
B: Sync="Sec" did not save the change to cookies in the synchronized grids
B: Sync flags Sec,Vert,Horz,Zoom were not synchronized on grid load from other grid(s)
!: CanEmpty for Filter row and Int/Float type is now 1 by default
+: Added SuggestType Search to search the input in the items as text, not only in word start
+: Added calendar attribute Weeks to permit hiding week numbers
+: Added Cfg Collapsed attribute to collapse particular rows on start
B: NoChanged attribute was not used for calculated cells with CalculatedChanges
C: Column attribute Width can be set to empty string for auto width (formerly only not defined Width caused auto width)
+: Added column attribute Next to change or set column position during loading
B: DefaultDate was not used when pasting
C: Sped up refreshing space rows by API
B: GetPrevVisible did not work for fixed row
B: Hiding and showing main tag by display:none did not preserve scroll position
B: ShowVScroll could break down the grid layout
+: Added OnSizeError API event to update grid layout when it cannot be shown in its tag due its size
B: Undo was not merged in some cases
+: Added ColorState attribute to not color row states
+: Added EscapeImages attribute to permit the grid images to contain spaces
+: Added xxx_Header as datasource attribute to specify custom HTTP headers for AJAX communication
C: In calendar first week number in year in U.S. week numbering was from the previous year, now it is from this year
B: In Firefox right click automatically finished editing
B: Suggest did not work for Chinese, Japanese and Korean languages correctly
C: Added BaseSeparators attribute to use customized decimal, date and time separators also without Format set.
+: Added ColumnSizes to JSON Menu item to specify item counts in the individual menu columns
+: Added ShowIcon attribute to Bool JSON menu item to hide the bool check box
B: Configuration could be broken down if two grids were saving configuration simultaneously
+: Added Search action and button FindPrev to search backward
+: Added attribute ShowColNames to fill the row cells by column names
B: If added column with Formula, the Formula was not added to global calc order.
+: Added attributes, API and actions for column selecting, adding, copying and deleting.
+: Added various new actions to provide more actions on TreeGrid data and show them in popup Menu.
+: Added FocusedRect attribute to simply set up focusing more cells.
!: Action Validate now always finishes editing
B: Loading JSON from object cleared the Items attributes.
+: Added row Kind Panel to display column Panel with button ColSelect, ColDelete, ColCopy etc.
+: Popup menu on button can be shown only on click to the icon by PopupMenu=3
+: Added actions to change cell/row/column CanEdit value
!: Event targets HeaderSelect, HeaderDelete, HeaderCopy and HeaderOff were removed and replaced by standard Panel... targets and panel buttons SelectAll, DeleteAll, CopyAll
+: Added API event OnBlur called when grid loses focus
+: Added API methods IsFocused, GetFocusedRows and GetFocusedCols
+: Extended cell popup Menu, now it can use nearly all TreeGrid actions and can show only suitable ones. It can also contain JSON menu definition with actions in submenus. Replaces CopyMenu.
+: Now the cells and rows/columns can be selected independently by SelectingCells=3
+: SelectAll panel button can be a switch to show if all rows or columns are selected or not
+: Added ExcludeClear to clear excluded (ctrl+x) cells instead of removing the rows
B: Gantt was not printed fully when set MaxHeight for the rows and PrintVarHeight was 2
+: Added attribute Underline for Button type to underline the button, usually dynamically
+: Added ButtonClass attribute for Button type to specify the CSS class used for button instead of the cell name
+: Extended TreeIconX to specify custom icons including tree lines
B: Disabled grid was still accessible by tab
+: Updated GetNextSibling/GetPrevSibling methods to iterate siblings on all levels, not only in root.
B: Firefox for grid with body height smaller than 50px could break down the grid layout
B: Type SelectPivot could break down the Space row
+: Added CellsXXX attribute to Space row to split long Cells array to more arrays, especially for default Toolbar
B: If TimeFormat part in Calendar contained " or ', JS error happened
+: Added Upload_Type Cells flag to upload only changed row and cell attributes
+: Added Upload_Flags NoEmpty and Index flags to upload only not empty rows and use RowIndex/ColIndex instead of id and Name
C: For Upload_Type Body are all pages in client paging always uploaded in one <B> tag.
B: Columns with CanExport='2' were not exported if shown export cols menu.
+: Added File type to select one or more local file from disk and show them in cell and / or upload them to server. Not available in IE9 and older.
+: Added Button/Icon types File and Clear for the File type
+: Added action ClearCell to clear to cell value
+: The filter cell value can have different color or style according to operator set. By default has gray text color for operator 0 and blue text color for other operators
+: OnSubmenu event now can change also the submenu position
B: Arrow in menu in IE9+ moved cursor by two items
B: Input position was wrong in some cases when editing cell with VAlign
+: Added API method SetBool to set Bool type value
B: Cursor up in RowSpan sometimes focused the hidden spanned cell
+: Added PrintMarginDiv attribute to display print margin in inches
B: If PrintPageWidth/Height print menu options were hidden, the menu did not calculate the pages count
B: If OnCanRow returned null, the row could not be added
B: Space row did not calculate formulas defined in its default row if CalcOrder was generated automatically
B: SafeCSS were forced if box-sizing was set to border-box globally, e.g. when using Bootstrap
B: Firefox on Mac OSX with auto scrollbars did not show scrollbars correctly
B: Grid layout could break down when used together ColPaging, Paging, ChildParts and RemoveUnused
B: In Firefox with Firebug enabled it could enter the first character twice when started editing
B: Grid did not catch key events when focused different frame
B: Action TabDown/TabUp could focus incorrect cell if the next cell was not in the same column
B: Moving row by API to not loaded child part could break down the grid

11.0.13
B: Dragging Gantt run in IE5 quirks mode caused JS error
C: Setting empty space in value in GanttRunTypes clears the attribute
B: EditGanttRunPercent action did not return true

11.0.12
C: GanttSlack calculation was sped up
B: OnGetDependency was called with ancestor row instead of the descendant row in some cases
B: If dragged run boxes between grids with different chart starts, the rest of source run boxes in the row could be broken down
B: Sliding run box in zoom with large drag units could be inaccurate related to mouse catch position
!: Now the GanttDescendants and GanttAncestors are never checked for existing row ids when pasting new row(s) from clipboard
B: Setting the same start or end date to milestone caused milestone with both dates set
B: Entering duration with GanttModifiers was not possible

B: Cfg Version could not be less than -0x4000000
B: Prompt function dialog buttons could not be translated
B: rowspan and colspan attributes in exported HTML were not quoted
!: When pasting new rows with id generated from the pasted values, the row id is set to this id immediately
B: CtrlX did not work if the message about deleting rows was shown
C: Pasting many rows now shows message
B: Undo deleting many child rows could break down the grid
B: In Firefox was not shown horizontal scrollbar for section narrower than 50px
B: SearchCols were ignored when set SearchHidden

11.0.11
B: Auto correcting dependencies after main bar date change had not been called in some cases
C: Initial size of GanttPaging page is now calculated again from 2000px wide space, this value can be changed by GanttPageInit attribute.
B: Selecting run boxes by dragging selected also boxes above and below the rectangle in the same row
B: Gantt dependency lag was incorrectly shown if it was not displayed whole
B: Change done in Run box selection, text or class by SetGanttRunBox could break down the Run
B: Summary tasks could be not calculated after correcting dependencies in some cases
B: Setting GanttEdit with CriticalPath permitted correcting dependencies for this task
B: GanttFinish could be moved even if set not editable in some cases
B: GanttAvailability chart could freeze the grid for specific GanttExclude and very long task
B: If zoom name contained spaces and was set in Lang, it could break the SelectGanttZoom list
B: Gantt drag tip did not use GanttLastUnit when resizing the right bound

+: Updated compatibility with Microsoft Edge (Spartan) browser
B: Two finger zoom in Chrome on touch screen made incorrect grid cursor position
B: TGDelEvent did not work correctly
B: Page height could be incorrectly calculated in zoomed Chrome in some styles
B: ShowVScroll could cause incorrect scrolling in Chrome when dragging scrollbar
B: Changes order filled Next for row moved back to the same place
B: Scroll on drag for Fill action did not work correctly for paged grids
B: UpCounter did not changed for undone deleted rows
B: SaveOrder was not update for Undo
B: UpCounter was not cleared for children of deleted row
B: Dragging column in spanned header could return different result when dragged outside the header row
B: Grid could randomly scroll when unloading child parts with rows with different height
B: Grid could show Small extents error if RelWidth column header contained very long wrap able text
B: SuggestType Existing did not work with WhiteChars and CharCodes
!: ChangeDef now does not set Visible and Expanded attributes of the row
B: Cfg NoScroll did not update width of space rows correctly
B: Left or right column could be scrolled on focusing cell wider than the section

11.0.10
B: progress line was incorrectly shown if the rows had different height
B: Dependency arrows were not shown for GanttDependencyIcons='1' for dependencies inside one cell
B: Gantt drag tip did not use GanttLastUnit
B: Dragging line to another GanttPage caused JS error
B: Deleting all lines from GanttLines and refreshing Gantt behaved incorrectly
B: Changing entered date due constraint could ignore GanttLastUnit when checking excluded dates
B: Run box Text in JSON definition could not be number
B: OnGanttChange and OnGanttChanged API events were not called for dependency change
B: Dragging Gantt item in GanttPaging outside Gantt page could generate JS error
B: Resize cursor was shown on Gantt bar when there was GanttLine behind it
B: Change done in Run box text or class by SetGanttRunBox could be lost on refreshing the cell
B: Some Gantt objects could be hidden when printing Gantt with GanttPaging
B: Buttons' texts in GanttCorrectDependencies dialog could not be changed in <Lang>
B: GanttMenu could generate JS error if some GanttHeader was not rendered

B: Grid could be broken down in Chrome/Safari if shown fixed column section by API
B: In AutoUpdate and Undo&32 could be Undo button inactive even if there was some undo
B: Asterisk values in Upload_Attrs were ignored for empty Upload_Type
B: Scrolling focused row into view did not work correctly in paging and child parts if the rows have different height than expected
B: VarHeight was incorrectly applied for rows on start, especially for header rows
B: GetSelRanges returned column count increased by 1
B: GetSelRanges returned incorrect column count for ranges on more column pages
B: JS error when spanned row moved inside the spanned range
B: Refreshing many cells at once was very slow due cell height check, now the height is checked only for types Lines, Html, Img, Link and List and only if the cell has not set RefreshHeight=0
B: Dragging ghost object could cause showing page horizontal scrollbar

11.0.9
B: Dragging Run box in tablet with Slide and Move has never started move
C: The dragged Run box in tablet with GanttRunMove Mouse and Vert is not shifted
B: Dragging Gantt bars with GanttDragLine on tablet could stop sometimes
B: HoverCell and FocusCell attribute could not be set empty in Gantt column
B: JS error if there was nbsp Run box on start or on end of the run
B: Dependency was worse accessible on tablet
B: Move Run box with flag "vert" could show incorrect drop permissions, although drop was possible
B: GanttHeader and GanttBackground could be truncated in GanttPaging when printed
B: Initial size of GanttPaging page were calculated from 2000px wide space, not from actual space.
B: Dropping run box to the same position could not clear the drag class from the box

B: Some dragged objects were incorrectly positioned when page was horizontally scrolled
B: Column section was not sometimes resized to minimum and rather shown Too small extents error
B: Row height with nested grid was not shrunk when the nested grid was resized
B: Missing Enum texts in Text.xml for Cfg menu broke the menu item down
B: ClassInnerIcon was not read from row
!: OnSelect event parameter deselect value was wrong in some cases
B: JS error when defined children of default row and used FullId
B: When removed Paging module from GridE.js, root rows could not be deleted
C: Too big dialog on tablet is not displayed centered on page, but now is centered on source grid
B: Scrolling dialog with mouse wheel could scroll also body or parent tag in some cases
+: On tablet there are now added ...Touch classes to the focus border and corner to make them bigger
B: Focusing cell range by dragging was buggy on tablet
C: TouchDragFocused is applied also to focusing cell range
B: AutoUpdate could be turned off in some cases in saving configuration and incorrectly restored

11.0.8
B: GanttBackground did not work with column paging
B: GanttRunMove, flag Vert moved to correct position, but to incorrect box order
B: Gantt was not correctly refreshed in RTL in IE7 and IE5 quirks modes
B: GanttRunStates=2 cleared custom box attributes in some cases
B: GanttDragTip was not hidden when beginning dragging dependency from dragging box
+: The zoom name displayed in GanttMenu and SelectGanttZoom can be read from <Lang><Zoom name=text></Lang>
B: RelWidthType=1 did not subtract section border width
B: Clicks in GanttPaging in RTL mode were processed incorrectly

B: Drag cursor was incorrectly shown in some cases. It was also not cleared from document after dragging run box in some browsers.
B: TreeIconX could not be set in default row
B: Footer could not be shown / hidden by API ShowRow / HideRow
B: In IE7 strict mode there was possible 1px vertical scroll without scrollbars
C: DynamicSpan is now permitted in IE8 and IE9 strict modes except in tree
B: Cfg MaxHeight did not work correctly if the offsetParent of the main tag contained floating tags
B: Adding and deleting col pages did not work with ColPagingFixed=0
B: Vertical splitter was inactive on its edges in some cases

11.0
+: Extended GanttRun joined boxes, now it is distinguished if joined directly and by nbsp type box, added attribute GanttRunJoinedNbsp
+: Added attribute GanttRunJoinedHover to highlight all the joined boxes at once
+: The Nbsp type run box can be interactive, to control itself or its adjacent boxes, added attribute GanttRunNbspHover
+: While dragging run box to join with another box, the drop position is marked by red arrows instead of blue
+: Updated GanttRunMove, GanttRunResize and GanttRunAdjust, added various flags for dragging joined boxes together or separate
+: Added flag Vert to GanttRunMove to permit only vertical movement
+: Added Mouse flag to GanttRunMove to start drop position on box start
+: OnGanttRunDrop can return empty string to finish the dragging immediately
+: Added GanttMenu items for joined boxes, JoinGanttRunSelected, SplitGanttRunJoined, JoinGanttRunAdjacent, SplitGanttRunAdjacent and added similar actions
+: Extended GanttMenu and GanttRunTypes, now it is possible to define more and different menu items to choose and change any box attributes
+: Added API OnGanttRunSelect called before any run box selection is changed
+: Added attribute GanttRunClearSelected to clear box selection after action
+: Added attribute GanttRunDragObject to control the look of the dragged boxes shadow
B: When set GanttRunAdjust error, it was possible to drop box through outer bound box
!: If set GanttRunMilestones=1, the boxes with zero duration have cleared their text when converted to milestone
B: There were missing action DelectGanttRunAll
B: GanttRunErrorsShift did not restore original box position in some cases
!: It is possible to drag End GanttRun box also between rows (moves entire cell, all boxes)
+: Added value 3 to GanttDragLine to display the right vertical line also on GanttRun move between rows
B: For GanttRunIds=3, the GanttRun ids were not initialized in some cases
B: For GanttRunIds=3, the GanttRun custom separators could be removed on initialization
B: GanttRun rect selection did not work correctly in horizontally paged Gantt
B: SelectGanttRunRect selected also Empty and Bound boxes
C: GanttRun Nbsp and Empty boxes with negative width are not shown now
+: Top and height of the Nbsp box is calculated from its adjacent boxes
B: When set GanttResizeDelete=0 and GanttRunMilestones&2, the box could not be resized to zero width
+: Added value 256 to RefreshGantt to clear GanttRun cache
B: GanttRun JSON format could not use GanttRunSave = 1 and 4,5,6
+: GanttRun sped up, especially when changing run with many boxes
B: SetGanttRunBox / AddGanttRunBox could not add smaller box than one GanttUnits. There could be also problem in rounding dates to pixels.
B: SetGanttRunBox / AddGanttRunBox Width and Left was incorrectly used in row with custom exclude when GanttHideExclude was 1
+: Added cls parameter to OnGetGanttRunText and OnGetGanttHtml to change box css classes also here
B: Problems when moved Run boxes between grids between rows with the same ids
B: When OnDragGanttRun returned false, the vertical lines were not cleared
B: OnDragGanttRun could not return 0, it was taken as false
B: AddGanttRunBox failed if added new box to run with deleted boxes only
C: SelectGanttRunRect action with SelectGanttRun=3 takes as the only row the first row with some boxes in the rectangle.
C: Sped up sorting run boxes when many boxes overlays
+: Added attribute GanttDragTip and event OnGanttDragTip to show actual drop date or duration or another information during dragging
+: Added GanttDragUnits attribute to round dragging object position to these units instead of GanttUnits
C: Now the side text and side icons are moved also during box resizing
B: On Tablets and TouchDragFocused creating new bars did not work correctly
+: GanttAvailability string can contain count starting with = to set the count to this value exactly (not to add/subtract it)
+: Added OnGetAvailability API event to calculate the availability in custom way
+: GanttAvailabilitySum can be defined per availability chart
+: Added GanttAvailabilitySumBars and GanttAvailabilityDivide to more control the bar heights and values on them
+: Added Formula function sumavailability to sum the GanttAvailability
B: Class returned by OnGetAvailabilityClass required to have leading space in some cases
B: Maximal or minimal bound of GanttAvailability could be incorrectly calculated for too small values near zero
B: GanttAvailabilitySplit='2' did not work correctly for the first unit
C: The date in GanttAvailability can be empty with repeater for repeated range in material
B: Dependency hover had not set z-index
!: Color returned by OnStartDragGanttDependency was not set to the dependency after creating
B: Deleting task or clearing the whole cell did not clear dependencies from the cells correctly
B: Dependency could not be changed or deleted if the type was uppercase (e.g. SS instead of ss).
C: After change of dependency lag, there were added also color value to the dependency, even if it was the same as GanttDependencyColor
C: If the dependency lag is changed to 0 by edit, it is removed from the dependency definition
+: Added attribute GanttBypassDependencies to control dependencies going through another boxes in the same row
B: Dependency line through not editable Gantt cell was inactive
B: Lag size could be shown incorrectly after specific change
!: When calculating slack, it is now used always GanttStrict='1'
+: Added CriticalPath to GanttEdit to calculate GanttSlack for not editable task. The slack is now calculated also when set <Cfg Editing='0'/>.
+: Added slack attribute OnCorrectDependencies to distinguish the call on correcting dependencies and on calculating slack
B: GanttSlack was not recalculated in some cases
B: CalculatedChanges was ignored in GanttSlack calculation
+: Added Resource <R> Consume attribute to specify when the Material resource is consumed (during/start/end/middle)
!: Added parameter consume to GetResourceUsage method
!: GetIncorrectDependencies method returned wrong results
B: Constraints were not initialized during OnReady, so correcting dependencies here would not work correctly
!: GanttFixComplete excludes from critical path only 100% complete tasks, not all started tasks
B: Moving the whole main bar by the first part was not displayed correctly if the first part was milestone
B: Milestone could not be defined by end date if no duration column existed
B: Background for Exclude was not updated in some cases if the Gantt size was changed
B: ganttstart / ganttend returned wrong result if there were only children with one milestone
+: RelWidth can be used for Gantt column to resize the Gantt to the width
B: Gantt could be printed slightly incorrectly in IE10+, the invisible objects could be printed too
B: Gantt Width was calculated incorrectly for side texts other than ...Edge=0.
B: GanttEndLast in Dates dialog was debugged as unknown attribute
B: Gantt chart could change its width due printing
B: Gantt was incorrectly printed in IE7 when set GanttPaging
+: Added attribute GanttColor to specify base background color for Gantt cell shown under GanttBackground and GanttExclude colors. It forces row background so it slows down the grid.
+: Added GanttCorrectOutsideBounds attribute to permit scheduling tasks beyond project finish (or start in reversed direction)
C: Scroll position is saved to cookies even if not set ScrollLeftLap. It can be suppressed by GanttZoomLap=1.

!: Rewritten CSS styles for grid, the whole Grid.css. Now they are fully structured and commented and all are compatible with all combinations of TreeGrid cells/icons/button etc.
!: Robust CSS style replaced by Round style
!: Added new or updated meaning of some CSS classes to better support the new design
!: Added Cfg UseButton attribute to show the type Button, panel Button and right Button as styled div tag instead of button tag. Default value is 0 to show div tag.
!: In Firefox 20+ now shows separated cell borders like in other browsers
+: Added attribute VAlign to vertically align cell content
+: Added actions ButtonDown/ButtonUp to visually simulate click to the custom button
+: Added DatesEmptyDate attribute to let start or end dates in Dates dialog empty if other date is set
+: Added parameter rows to OnCanRowDelete containing all rows to delete when deleting selected rows
+: Added parameter fixedonly to OnCalculate when called for fixed rows calculated always
B: In FF on Mac could not be copied and pasted with meta key
+: Added method GetDetailGrid to get detail/nested grid from master row
B: Link attribute now can be set to empty string to clear it
B: RowCount was increased when refreshed paged Gantt
C: RowSpan is possible also in main column with tree, if only the last spanned row contains children, the spanned cell expand button controls these children
C: ShowCol / HideCol can be now called also before the grid is rendered
B: Custom AjaxCall method failed on returned HtmlMessage if no func parameter was set
+: _Script data source can contain dots for object attribute (e.g. Data_Script='Main.Child.Sub")
+: Added value 2 to row NoUpload to not accept changes in this row after save
B: Tabber row could not be hidden
B: When moving focus from external input to grid and typing in Firefox, the first typed char was placed to the external input
B: Height of row spanned cell could be incorrectly calculated in IE
B: SpanRange could erase span from children of the last spanned row
B: SpanRange could break down sort order
B: Setting RelWidth attribute to too many too narrow columns could hide the last column
B: Showing / hiding row with Space=-1 or 5 broke down grid layout
B: Could not re set cell values when inherit default from two or more default rows
+: AddColPage sped up and can add different columns with different defaults.
B: Hint was not hidden on popup menu
B: Header Levels was clicked wrong in small cells
+: Added value 2 to GroupSingle to create only one single group if more single groups in tree are created
B: Hint caused JS error for ColPagingFixed=0
C: PasteFocused = 32 in Paging recreates pages to speed up pasting
B: Pasting long data did not work in IE
B: In Metro/Modern IE did not work printing to new window correctly
B: SafeCSS did not solve if set table border-collapse:collapse
B: Showing / hiding columns in ColPagingFixed=0 and FastColumns=1 did not work correctly in some cases
B: Empty button in calendar could be hidden in some cases
B: In calendar the Today and Yesterday buttons could set wrong date due timezone shift, only in GMT=1
B: In IE too high dialogs could cause blinking page due scrollbar showing / hiding
C: When shown submenu or Enum in JSON menu, there is now set cursor to the first item
B: Calling Clear(1) twice or Clear and Reload caused JS error
B: Input in editable Select tag in Space row was slightly incorrectly positioned
+: Added StartAll flag to SuggestType to simulate combo with search
B: Search by key in Enum list and menus did not work correctly
B: In AutoUpdate was uploaded also changed Filter row if it has not set NoUpload=1. Now it is uploaded only if it has set NoUpload=0
+: Added API method ClearBody to remove all body rows in grid
+: Added Dialog and Position parameters to ShowPopupGrid to control the parent dialog. Added ParentGrid property to link master grid from popup grid
+: Added ShowMenu and ShowCalendar and updated ShowDialog to show the dialog for given cell and hide it on next click
C: Now Suggest list is shown below the cell, not below the input
B: Row added as the last row was spanned with previous RowSpan range, if any
B: The TreeGrid cursors were misplaced in some Chrome zoom levels due Chrome bug 411639
B: In Chrome the border cursors (if permitted) were slightly displaced in some CSS styles
B: When shown popup dialog or inline edit, the cell tip could be shown too
B: Popup menu could be placed outside screen in IE5 quirks mode
B: In Safari 5.0 grid was inactive when page was scrolled down or left
B: Cfg Expanded attribute was reported as unknown in debug check
B: Undo did not work correctly for ChangeDef and DefEmpty/DefParent if the one default was calculated and the other not
+: Added SetTimeout API method to run code delayed to extend standard setTimeout function
B: The grid sometime resized its width if it was percentage due cursor width
B: Undo for the last changed cell sometimes did not recolor the row
B: Validate NoError value was named in documentation NoColor and was reported as unknown in debug check. Correct name is NoError.
B: Cells in Space row Space=-1 and 5 was sometimes inactive
C: Now in Paging='3' and <Root CanSort='0'/> is the grid not loaded on sorting change
+: Added Toolbar3 and Topbar3 kinds to show more related toolbars
B: Column Link attribute was used also in Header cell
B: Button type integer values showed in blue
B: Simple Pager in Empty grid could cause JS errors on page button click
B: Border around grid in ResizingMain was not displayed exact in some cases, the right side could be hidden
+: Added value 2 to ShowHint attribute to display the hint also for partially invisible cell due scroll
B: JS error in some cases in when combining changing Gantt zoom and filtering (show/hide) rows
B: Visible attribute was uploaded in <B> tags after some change in Upload_Type=Body
B: Grid worked wrong if html body is positioned relative or absolute and has some margin or position
B: EmptyValue as empty string did not work correctly for some formatted numbers
B: Key navigation did not work correctly when excluded Paging module
+: Added API event OnExpandAllFinish called after the asynchronous expanding finished
+: Added values 2 and 3 to NoUpCounter to ignore only row and only children
B: Row height calculation could be incorrect in IE11 due font subpixel rendering. Removed attribute Cfg PreciseHeights.
!: Changed, renamed and extended assigning events functions: TGSetEvent (SetEvent), TGAddEvent (AddEvent) TGDelEvent (DelEvent) and added function TGGetEvent
!: Every API event handler can now return null to ignore the event, except OnCorrectDependencies. These events were updated to ignore its handler if returned null or undefined:
OnAutoFillValue, OnCanEdit, OnCanReload, OnCanRowDelete, OnCorrectDependencies, OnGanttTip, OnGenerateId,
OnGetCopyValue, OnGetDefaults, OnGetEditEnum, OnGetEnum, OnGetEnumKeys, OnGetEnumMenu, OnGetFilterValue, OnGetFormat,
OnGetGanttAvailabilityClass, OnGetGanttFlagIcon, OnGetGanttFlagText, OnGetGanttFormat, OnGetGanttHeader, OnGetGanttHtml,
OnGetGanttMenu, OnGetGanttRunClass, OnGetGanttRunSideText, OnGetGanttRunText, OnGetGanttSideHtml,
OnGetGroupDef, OnGetInputValue, OnGetMenu, OnGetPageCaption, OnGetPageName, OnGetPageNameValue, OnGetPageNumber, OnGetPageTip,
OnGetPivotValue, OnGetRowText, OnGetSortValue, OnGetSuggest, OnGetType,
OnHint, OnPivotFunc, OnRemoveChanged, OnRowFilter, OnRowSearch, OnSetInputValue, OnSetRowId, OnTestConstraints, OnTip, OnValidate, OnValueChanged
C: Browser Find feature did not scroll grid correctly, especially in Firefox
+: Updated column sections widths and their resizing and synchronizing between grids. Added also SectionShrinkOrder attribute to control shrinking the sections. Added flags horz0, horz1, horz2 to Sync to synchronize only one section.
+: Added RelWidthType attribute to automatically resize column only within its section to maximize the section
B: Updated calculating widths of RelWidth columns to avoid 1px rounding problems
+: Added right bottom corner to focused cursor like in MS Excel, shown by Corner flag in FocusCell
+: Added new flags to mouse event target Edge for focused cell borders: LeftEdge / RightEdge / TopEdge / BottomEdge (border edge of the focused cell) and Corner (right bottom corner of focused cell)
+: Now there can be focused more cells in range rectangle like in MS Excel. Extended API Focus method and added FRect variable that specifies this area and FocusedRect to specify the area on start. Added actions FocusCells, FocusRow, FocusCol, FocusRowCol.
!: Action FocusRow renamed to ChangeFocusRow, added ChangeFocusCol to move focus on click to not focusable cell
!: Focus API method were changed and extended to more control its behavior
+: Added actions FocusWholeRow, FocusWholeCol and FocusWholeGrid to focus all cells in one or both directions
+: The editing cell cursor can be moved in focused range by Tab actions, added actions TabUp / TabDown / TabUpEdit / TabDownEdit.
+: Extended auto fill feature, to fill focused rectangle to the rest chosen cells. Added actions FocusFillCells, FocusFillRow, FocusFillCol, FocusFillRowCol and updated API events OnAutoFill, OnAutoFillFinish and OnAutoFillValue and added OnAutoFillValues API event and AutoFillType attribute.
+: Added action MoveFocus to move focused cells by mouse dragging, attribute MoveFocusType and events OnMoveFocus, OnMoveFocusValue and OnMoveFocusFinish
+: Added FocusCellBorderCursor to show move or resize mouse cursor on focused cell border
+: Bool and Radio types now support custom icons defined by BoolIcon / RadioIcon
B: Error tip of all error cells in Validate was set as ResultText of the first error cell
B: Button Switch did not restore Changed state after clicked twice
B: Moving row from deep tree as child to row under mouse could generate JS error
B: Updated SafeCSS detection and changes to affect more CSS attributes, especially for box-sizing
+: Added Buttons2 attribute to the JSON calendar to specify the buttons on second calendar page
+: Added AutoSelect attribute to the JSON edit to restrict selecting the text on editing start
+: Added value 3 to PersistentCfg to use session storage instead of local storage
+: Added DragCopyId to not change row id when moving between grids
B: In some browsers page scroll could change when grid became focused
+: Added AlternateCount to color more rows on Alternate
+: Added AlternateType to control restarting the color changing in pages and in tree
B: Buttons were ignored in JSON MenuCfg and MenuColumns
B: Pasting to Enum type did not work correctly
+: Added cell attribute NoChanged to not mark the cell change after its editing
B: Desc sort did not sort correctly strings with the same characters and different lengths
+: Added row resizing by mouse dragging feature, attributes Resizing, Resized, action RowResize, function ResizeRow, event OnRowResize, event targets HeaderTop, HeaderBottom. The row Height change can be undone and also saved to output data.
+: Extended Undo for changes in layout - resize row/col, select cells, focus cells, Sort/Filter/Search
+: Added Actions ScrollColSize to specify the left / right space in column where will be the auto scroll during dragging started
+: Button Type Icon can be shown also below or above the button text, side specified by IconAlign.
+: Standard Toolbar buttons can show also caption as ButtonText, along with the icon, on side specified by IconAlign
+: Added attribute ShowButtons to control all Buttons with both icon and text, to show only text, icon or both. Can be saved to cookies, can be changed by users in configuration menu.
+: Added attribute ColorCursor to highlight hovered, focused and selected cells on specific side rows and columns
+: Added API method SelectCell to select one particular cell
+: Added API method ClearSelection to remove selection from the grid
B: Row CanFocus=2 was ignored
B: Deleting last column from column page could cause incorrect behavior
+: Added RemoveColPage API method and extended AddColPage API method
+: Cells can be dynamically spanned between column pages - the column pages are merged similarly to row pages
+: Added column attribute NoUpload to not upload it when all columns are uploaded
+: Upload_Attrs can be set to upload cell attribute(s), by items starting by *
C: Column Spanned attribute is uploaded in Settings
+: Added OnGetButtonList and OnShowButtonList API events to dynamically generate the Button List
+: It is possible to edit cell without focusing it, updated StartEdit API method and added actions StartEditCell, StartEditEmpty and StartEditCellEmpty
+: Extended AcceptEnters attribute to finish editing by Enter and placing new line by Ctrl/Shift/Alt + Enter
+: Added EditSelect attribute to not select the edit input value on start in specified cases. On mouse click it places the edit cursor on the mouse click position.
+: Added row CanExport value 2 to not export the row, but only its children
+: Added column CanExport value 2 to not show it in export menu columns
+: Added attribute SelectingFocus to automatically select focused cells and clear all others
!: If set PrintSelected and SelectingCells, now it prints only columns containing selected cells
+: Extended API method GetSelRanges to merge or split ranges on different row pages and column pages
+: Added API method GetSpanned to get spanned rectangle for given cell
+: Added API method MergeUndo to merge two last blocks of undo
B: Cfg MaxHeight could cause various problems in complex page layouts
C: If the grid is placed in absolute or floating tag, now it checks the main tag width and height set more precise
+: Added Upload_Tag="Debug" option to print the uploaded data to debug window instead sending it to server
B: Corrected various bugs in ColPagingFixed=0, especially in Chrome and its 1px <td> bug
C: If set ColPaging=2 and ColPagingFixed=0 in Pivot table, it does not group the columns to pages and uses the column paging more effective
!: Default value of FirstWeekYearDay in Text.xml was changed from 3 to 0 for US week numbering to correspond with default US week starting Sunday
C: Panel type column in Filter/Group/Search now accepts buttons defined in cell value
C: Added padding to Space Button without setting Width
B: TabStop input could be visible in IE7 as white box above grid
B: Resize icon could be placed incorrectly when the grid was centered
B: Hint was incorrectly shown for SpannedTree main column
B: In IE10+ was double click followed by click event
B: Copy selected could copy row into its children
B: Synchronizing scroll in more than two grids was choppy
+: Added 6th bit (32) to Undo to permit undo beyond save and also with AutoUpdate on
+: Added options 9 and 10 to PasteFocused to paste to available rows and add the next
+: Added options 3 and 4 to CopyCols to copy one focused cell, but all selected cells
B: Grid was not rendered correctly in IE in frame/iframe if the main page and framed page had different document mode
B: Pasting to number type cell ignored CanEmpty value, used always 0
B: Master grid cell remained hovered when hovered nested grid
B: GetSelRanges did not test CanSelect of the edge columns
B: Scrollbars did not show correctly when Safari or Chrome had auto hide scrollbars on

10.0.14
B: GanttStart cell was not updated when creating new main bar by dragging
B: Dependency could be assigned to not editable box (if dropped to destination box).
B: Change of GanttAncestors did not update the dependencies correctly
B: GanttBase and GanttFinish could not be moved correctly
B: GanttBase directly on chart start date was not displayed

B: Focus by Up / Down keys did not work correctly between pages
B: The grid could not be edited on iPad in IFRAME
B: Empty string as Enum value in JSON menu broke the enum
B: Grid froze if tried to format Infinity number
B: Apostrophe in filter cell caused incorrect filter behavior if set Range and operator Contains
B: MaxChildParts deleted actually edited cell if there were cleared more nested child parts
B: Changing Text number value like 1234 to 01234 did not set Changed attribute of the row / cell

10.0.13
B: JS error when set GanttRoundUnits and some GanttLines
B: Start dragging dependency shown vertical scrollbar shortly in some cases
B: Dependency lag line was not correctly hovered
B: Dependencies were not refreshed after dragging run box in some cases
B: If moving run box was changed from Slide to Move and DragGanttLine=2, JS error was shown

B: Dragging row in Chrome 36 caused JS error
B: Removing actually edited page due MaxChildParts and MaxColPages caused JS error. Now edited page is never removed.
B: ValueSeparator was ignored in Range EnumMenu and used always the '|'
B: Lines type converted <br> to \n for editing
B: Incorrect behavior if OnGetInputValue returned null
B: Exporting spanned header with ColPagingFixed could freeze page
B: Exporting column sections in ColPaging highlighted the second one as fixed.
B: Parsing <Changes> tag in JSON from server side could cause JS error in old IE
B: Moving Spanned column outside column page could cause JS error
B: If duplicate row id was automatically changed to be unique, the Undo was not merged
B: Disposing grid during its loading could cause JS error
B: If id column value was automatically changed after entering duplicate id, it produced two undo steps instead of one
B: Entering date with default decimal separator '.' could be wrong if only one separator used (e.g. "1.1")

10.0
+: Added dependency colors and shapes defined by #color in GanttDescendants / GanttAncestors. Error and disabled dependencies can have defined different colors and shapes.
+: The dependency icons (arrows and stubs) can be hidden by GanttDependencyIcons
+: Dependencies are interactive, are hovered by mouse. Can show popup menu for dependency under cursor, to delete or change it.
+: Added GanttDependencyTip to show tip for the dependency.
!: Dependency API changed, the dependency API definition is different. Changed OnGetDependency, OnCheckDependencies, GetIncorrectDependencies, GetIncorrectConstraints, GetTasksToSchedule, OnCorrectDependencies.
!: API GetDependency and SetDependency deleted and replaced by GetDependencies, DeleteDependencies, AddDependencies and TestDependencies
+: Added dragging dependency events OnStartDragGanttDependency, OnEndDragGanttDependency, OnDragGanttDependency
!: GetGanttXY returns different values for dependency
+: Permitted more dependencies between two bars, by GanttDragDependenciesMore
+: Individual Run boxes can have dependencies between them or between main bar and run box, even inside one row
!: Scheduling algorithm rewritten.
!: GanttStrict options changed, now usable 0, 1, 3.
!: GanttStrict option 2 replaced by manual date (GanttManual, GanttRunManual, GanttRun - Manual)
+: Added GanttDirection to schedule from start or from finish
+: Updated critical path calculation, changed GanttSlack and added GetGanttSlack and OnGanttSlack API.
+: Added new GanttRun definition by JSON format
+: The individual Run boxes can have dependencies, resources and completion state if set GanttTask='Box' and can be also individually scheduled
+: Added TextLeft and TextRight for individual Run box side text
+: Added GanttRunJoined to specify actions for joined boxes
+: The individual Run boxes can be selected by a user and copied, moved, changed or deleted together. By GanttRunSelect.
+: Added API for selected boxes SelectGanttRunBox, SelectGanttRunRect, GetGanttRunSelectedBoxes, GetGanttRunSelectedCount
+: Added GanttRunIds to generate Run boxes ids
+: Added GanttRunLevels to drag run boxes to specified vertical levels
+: Added action SplitGanttRun to split the Run box on click
+: Added GanttRunErrorShift to shift error (overlaid) Run boxes vertically to show them all
+: Added flag Entire to GanttRunMove to move all the Run boxes in row
+: OnGanttRunDrop now can return new position for the drop
+: Added between to GanttRunAdjust to better move run boxes between adjacent boxes
+: Added nbsp to GanttRunAdjust to resize Nbsp boxes like Empty boxes
+: Added noround to GanttRunAdjust to not round dropped box position to GanttDragUnits
+: Added GanttRunClass to specify default CSS class for all boxes in row
!: OnGetGanttRunRect is called also when calculating dependencies
+: Added JSON format to GanttRun definition, identified by starting "[{" string
!: GanttResources for Run replaced by GanttRunResources
+: Added GetGanttRunResourcesString to be used when filtering resources set for individual Run boxes
+: Main bar can be discrete, added GanttParts to define the individual parts.
!: Deleted GanttFlow object, it is fully replaced by the GanttParts
+: There can be more main bar plans in one Gantt cell, set by GanttCount and individual attributes GanttStartX, GanttEndX, GanttPartsX and so on
+: Added GanttHtml to specify HTML content for main bar
+: Added API for main bar - GetGanttMain, SetGanttMain, OnGanttMainChange, OnGanttMainChanged
+: Added disabled and locked state for main bar, run bar and run box, by GanttDisabled, GanttRunDisabled and GanttRun - State (disabled+locked)
!: Deleted GanttFormat and replaced by GanttHtmlLeft, GanttHtmlRight, GanttRunHtmlLeft, GanttRunHtmlRight
!: GanttObject renamed to GanttTask. The dependencies and resources can be assigned to all objects in GanttTask, not only to the first one
!: Complete and disabled state and manual date can be shown only for GanttTask
+: Added GanttBottom to automatically resize row height according to the Gantt cell content
+: Added GanttShift to horizontally shift the icons on the same place (milestones, flags and points)
+: Added GanttDragLine to show the vertical lines during dragging any Gantt object including GanttRun
+: Added GanttHoverIcons to specify icon shown on mouse hover above any Gantt icon (milestones, flags, points, constraints)
+: GanttEdit can control also individual actions like move, resize, add, delete or correct
!: The tasks with none of dependency, dependencycorrect and bar ...correct are ignored when scheduling, including their relation (dependencies and children)
+: Added vertical position for every Gantt bar and icon and height for Main and Run bars. By ...Top and ...Height attributes.
!: GanttClass now affects only main bar, other Gantt objects have their own ...Class attribute.
+: Added GanttAdjacentBars to show the main and run bars adjacent without any space between
!: GanttSummary='2' replaced by GanttSummaryType
!: GanttSummary is now set to main bar plan, the "0" is first one. GanttSummary for run is set by GanttRunSummary
+: Added GanttRunSummaryDependencies to mirror also dependencies for run summary boxes and functions ganttrundescendants and ganttrunancestors to calculate the summary dependencies.
+: If GanttRunMove has set Slide and Move or Copy or Remove it does Slide horizontally and Move vertically
+: Added horizontal GanttPaging - to render only visible (due scroll) part of Gantt chart. Maximal Gantt column width for paging increased to 1 193 049 pixels.
+: Added custom GanttUnits by AddGanttUnits function, with support events OnRoundDate and OnIncDate
+: Extended Pager type Gantt, added cursor showing actual horizontal scroll position.
!: ZoomToPage in Pager was replaced by attributes Click and DblClick
+: Added new value 4 to Click/DblClick attribute to choose the (first) zoom level with the same GanttSize as the pager PageSize
+: Added Pager attribute ShowUsedPages to highlight pages containing some Gantt object
+: Added Pager attribute ShowExcludedPages to highlight pages in excluded dates
+: Added attribute GanttRoundComplete to round the completed duration in case of decimal number in percentage and round when set complete by click to the bar.
C: GanttExcludeComplete is now used also for GanttRun
+: Added attributes GanttHeaderMaxUnits and GanttBackgroundMaxUnits to control maximum units permitted in headers and background
+: Added new action ZoomToBar and ZoomToAll to zoom to selected bar or to all objects in the cell.
+: Added value 2 to GanttSmoothZoom not do smooth zoom in the first and last zoom level.
+: width parameter in ZoomTo method can be set negative to zoom to the whole Gantt window minus this value.
B: Creating new Run box by dragging was not rounded to excluded dates
B: GanttWidth was not restored on default cfg when GanttZoom was not set
C: Correcting Summary rows with dependencies now does not check the summary row itself, only its children.
C: ZoomUndo ignores the same zooms in the queue
B: Zoom by dragging in header worked incorrectly when mouse left the grid during dragging
B: Change of Run box type by ChangeGanttRunBox did not change the box width in case of changing milestone to bar and vice versa
B: The Run milestone text now cannot be edited by a user - to not change the icon
C: All GanttCheck options are shown in configuration menu and are saved to cookies
B: Calendars tag was incorrectly uploaded in JSON format
!: The FastGantt is now boolean and affects all browsers
+: Added new GanttUnits for months and years: M2, M4, y2, y3, y4, y5, y10, y20, y50
+: Added option 2 to GanttShowBounds to show the bounds only if they are defined - to hide the auto calculated bounds
+: Added GanttConstraintsIcons to change constraint icons in individual rows
+: Added GanttAddBackground to control row and column GanttBackground if defined both
!: OnGanttMenuClick is called for all items, not only for custom ones
+: Added GanttAvailabilitySplit to split the availability ranges
+: Added GanttAvailabilitySum to show summed values for given units
+: Added GanttAvailabilityShow to show only Availability values or bars
+: Added GetZoomList API to get all zoom levels
+: Gantt code is split to modules that can be excluded when compiling
+: Gantt is updated for iPad and other tablets, to be controlled by one finger. Gantt Hover is used as focus cursor in iPad
+: Added GanttUpdate variable to temporary disable Gantt display, but not calculations
!: Gantt internal HTML height was increased from 500 to 5000 pixels to support rows higher than 500 pixels.
C: Updated option select all in SelectGanttResources type
+: Choosing actual option in SelectGanttZoom combo now zooms also to the selected zoom, defaults the GanttWidth
+: Count of Gantt headers is not limited now and is specified by GanttHeaderCount
+: Added GanttLines as movable vertical lines with custom color and tooltip, the same for the whole chart
+: GanttBase and GanttFinish are now hovered and can have tooltip by GanttBaseTip, GanttBaseAutoTip, GanttFinishTip, GanttFinishAutoTip
+: Added standard 17 colors and 11 gray classes for GanttBackground
B: Run boxes were incorrectly rendered in row custom calendar when GanttHideExclude was 1
+: Added GanttRunBoxMinWidth, GanttRunBoxMinType and GanttRunBoxMinAlign to render or calculate run boxes wide at least on specified size
+: Added GanttCorrectDependenciesButtons to display TreeGrid message instead of confirm() to let users to change also GanttCorrectDependencies
+: Added Zoom options to Gantt menu. It is possible to assign the GanttMenu action also to header click events, usable especially for iPad
+: Added GanttZoomChange to preserve GanttWidth after zoom change for GanttSize="0" and ""
+: Added GanttZoomFit to control ZoomFit action
+: GanttBaseCanEdit and GanttFinishCanEdit can be set to 3 to ignore exclude.
+: Added GanttRunCustom to specify names of all run custom attributes, for GetGanttRunBox, SetGanttRunBox and also run JSON definition
+: Added parameters left and maxwidth to OnGetGanttRunText and OnGetGanttHtml to specify actual visible area if the box is wider
B: The drop position of run box in Slide was rounded to drag units on excluded dates

+: Added ReversedTree attribute to display row tree like MS Excel summary outline, children above their parent.
+: Added header main column cell attribute Levels to display tree level buttons like in MS Excel outline to show given tree level.
+: Added TestIds attribute to set HTML id attribute for all cells, Gantt items and other TreeGrid parts. Usable for automated testing.
!: Some of previous HTML ids used by TreeGrid were changed, especially in Gantt objects.
B: In some cases Calculated rows ignored Formula in columns if CalcOrder was not set
+: <C Def/> and <D Def/> can contain more items, comma separated.
B: Column could not be moved to empty mid sec.
B: Original value was not updated in CalculatedChanges on saving to server.
B: When dragging selected rows with different default, only the first one was testing.
B: Simple Formula containing if, for, try or with was corrupted if did not contain return.
B: Bool button was partially inaccessible in Space rows with Tag or Space=-1 or 5
B: Dragging with right button did not run action with Right prefix in IE9 and IE10
B: Grid was incorrectly updated after resize in some cases
+: Added OnRowCopyDef API event to suppress updating default value when copying row to another grid
+: Added parameter move to OnRowCopyId API event
+: Added parameter rows to OnCanDrop API event
B: ActionOutdent incorrectly tested dropping permissions
+: Added API event OnUpdate called whenever grid scrollbars are updated
+: Added API event OnGetCalendarDate to modify in calendar the individual cell dates and CSS classes
+: Added API method GetFilter to get actual filter settings
+: Added actions IndentSelected and OutdentSelected
B: AddPage did not work for empty grid
B: JS error when Toolbar Formula cell was defined but set hidden
B: Pager could not be resized by dragging left edge if there was only default pager
B: Possible inconsistent state during asynchronous loading when both Rendering and Loading properties were false. Now it is possible only in OnReady event.
C: Column named id now cannot be edited
C: Added column does not set header caption to column Name if it is already set to something
+: Added method CreateColPages to re-create column pages, useful after adding many new columns by API
+: Added attribute CenterMessage to center all TreeGrid messages in page instead of the main tag. Useful for small grids.
!: Copying, CopyDeleted, CanCopy and Copy attributes are now used also when copying rows between grids by dragging
+: OnEndEdit now can change entered value. Useful for custom conversion of formatted input dates and numbers
!: The exported HTML is now in UTF8 also in IE5,6,7,8, regardless on the page encoding
B: Pivot could not change value in main grid when modified in pivot grid when the source column values were formatted.
C: When printed with PrintedSelected the root tree is hidden.
B: OnPrintClose was called correctly for printing in new window
B: With FullId when moved row to the parent that's child has the same id part as the new row, the row id was changed and the row became inactive
B: SaveSelected did not work for some ids
+: Individual options in Enum items in MenuCfg can be hidden by defining their text as empty string
B: Debug='Check' ignored Pager attributes
B: MoveRowToGrid moved slowly rows with expanded children and incorrectly rows with collapsed children
+: TreeGrid is compatible with Safari 7
B: Wrong identification of IE11 on some machines
+: Added WhiteChars and CharCodes to SuggestType
+: Added EditFormatType to specify Case, WhiteChars and CharCodes for EditFormat Text type
+: Added GroupCount and GroupCount1 to <Format/> to support Indian number format, grouping separator
B: Number like 0.06 in Format "#.0000" shown as 600
C: For incorrect date format uses null instead zero
B: Updated selecting menu items on iPad
B: Configuration was saved incorrectly on tablets if not set ScrollAction
+: Added API event OnCfgSaved
B: Corrected loading XML with Static attribute
B: Failed loading XML containing '{' in some cases
B: PrintSelected was not uploaded for Settings Upload_Type
+: Added SaveOrder option 2 to preserve changes order also in columns
+: Added MoveMessage attribute to let TreeGrid messages to be moved by mouse. Only if compiled with LibMouse module.
C: Popup grid now loads also Text source from its parent grid
+: Added OnDatesClose API event called after Dates dialog is closed
+: OnStartDrag and OnEndDrag are called with all dragged rows parameter
C: Buttons, Texts and Separator JSON attributes for Range Enum can be set in EnumMenu
C: For Button Type is Event Part "Button" instead of "Side"
B: In iPad was unwanted click after alert or confirm message
+: Added TestCellWidth API method to find out if the cell content is shown fully
B: It was possible to paste to Enum cell not existing value
+: Added PrintAddCSS attribute to add custom CSS style for printing
B: Printing in Chrome sometimes did not load TreeGrid CSS style when report printed to popup window
B: In IE9+ was incorrectly calculated height of row spanned cell
C: Expand row does now not load children immediately if set ChildParts>=2 and ChildPartMin='0'
C: When cell is higher than TreeGrid body, it shown from top when scrolling to it
+: Added Cfg attribute PositionFixed to set it when TreeGrid is inside position:fixed tag(s)
B: Row level could be incorrectly set when grouping with only one child
+: OnLoaded API event can run asynchronous code
!: TreeGrid style CSS file was split to two files, Grid.css and Gantt.css, the Gantt.css is loaded only when used Gantt chart.
+: Added attribute GanttCSS to specify path to Gantt.css file
B: In Chrome was forced SafeCSS=1 for zoom != 100%
B: Calculating was switched off when there were only Calculated rows, not column Formulas
+: Added attribute MaxCalcWidh to specify count of rows to calculate column width, default value is 100
B: Focus show or Search Find did not scroll exactly to the row when used ChildParts in complex tree
B: Pivot thrown JS error in some cases when master grid was grouped
B: Row height calculation could be incorrect in IE due font subpixel rendering. Added attribute Cfg PreciseHeights to force precise calculation when automatic one fails.
+: Grid is updated for iPad and other tablets, to be better controlled by one finger
+: Added TouchDragFocused and TouchClearFocused attributes to control grid by one finger on iPad
+: Added actions ScrollAuto and ScrollTouch to mix TreeGrid and default iPad scroll in different directions
+: Added Tabber2 space row kind without white background for empty space
C: If not set global CalcOrder and there are more calculated fixed rows and only one has CalcOrder, this CalcOrder is not used as global CalcOrder now.
B: FullId was ignored when reading <Changes> tag on grid loading
B: <Changes> could incorrectly update Space rows
+: Added action OnSame called instead of OnChange when the edited value was not changed. Useful to do something after choosing actual item in Defaults or Enum.
B: Space row with Space=1 and 2 was incorrectly processed in some browsers
B: Showing Cfg and Columns menu did not close actual dialog
+: OnCfgChanged event now can return request for update view
!: Hover classes for space Bool and Select types were modified and renamed
B: Grid was broken down when ConstWidth or RelWidth column was the only visible column in middle section.
+: Added Grids.Tablet variable to know if the grid runs in touch screen mode
B: Prompt function was included only in Gantt module
B: PrintLocation=3 did not work in Chrome
B: Changes loaded on grid start were not processed for fixed and space rows
B: Accepted flag in Upload_Flags was reported as unknown
B: Group row could get existing id, if some data row had it
B: Simple attribute was reported as unknown in debug check
B: Height of input in menu was not correctly calculated due subpixel rendering in IE
B: Action set to "" in cell or row did not suppress action defined in row or default row
B: When printed grid without visible data rows to PDF, the NoData row was not shown
B: Wide Gantt chart in focused row did not show resize cursor on bar edges

9.3.15
B: Dragging in Chrome 36 cause JS error.
B: Prompt method was included only Gantt module

9.3.14
B: Calendars tag was incorrectly uploaded in JSON format
B: PrintSelected was in uploaded in Settings flag
B: If set PrintSelected, not all selected rows in tree were printed
B: In Chrome printed grid sometimes did not load CSS style
B: If set ConstWidth==1,2,3 and there was hidden the last variable column, the grid was broken down

9.3.13
B: Corrected changing tasks with GanttSummary=2

9.3.11
B: Corrected bug in showing vertical scrollbar in Safari7 / iOS7

9.3.10
+: TreeGrid is compatible with IE11
B: Custom Icon in GanttRun was repeated in bigger space
B: Correcting Summary rows with dependencies was buggy. But the dependencies to summary tasks are still limited.
B: On selecting cells the grid was not scrolled horizontally on dragging over edges.
B: Width of columns containing RowSpan was calculated incorrectly
B: Icon Check was not correctly hidden with column in IE10

9.3
+: Updated GanttFlags. Now it can show text next to the icon or only the text. Also added custom API events to generate the flag icon and content
+: Flags can be dragged also to different row, if set GanttFlagsMove=2. Update accordingly also API events for dragging.
+: Added GanttRunMinWidth attribute as minimal width of the run in pixels to render it.
B: RunGroupHover did not work since 9.0
+: To ganttrunsum were added new parameters cond and type like in other aggregate functions
C: Run box returns and accepts also "id" parameter instead of "Id". Just to not confuse with other id attributes.
B: FindGanttRunBoxes worked incorrectly when run box separator was not comma
+: Added OnGetGanttRunClass and OnGetGanttRunRect to dynamically change the class, position and size of Run box
B: OnGetGanttRunBox returned incorrect Start and End if set GanttHideExclude='1'
+: Added GanttRunStates value 2 to clear the changes in Run after saving to server
!: SetGanttRunBox now checks the adjust parameter more precise, including "Move" and "Resize" flags
B: During dragging Gantt bar wider than maximal tag width browser's restriction in IE7 showed very wide bar
B: Moving Gantt Run boxes placed before baseline or another constraint could lead to JS error
+: The dependency lag and span can be in percent as percentage of the bar length (in workdays)
+: Added OnGetDependency API event to modify particular dependencies, especially lag value
+: Added attribute GanttFitVisible to calculate Gantt size according to visible rows only
+: Added GanttAvailabilityJoin attribute to not join the adjacent ranges with the same value in availability chart
+: Added GanttAvailabilitySum attribute to show summary values in the availability chart range instead of per unit values
+: Added GanttAvailabilityTransparent attribute to show bars transparent or not, as it causes problems in Firefox
B: Values in GanttAvailability chart was not shown when displayed on block with opacity.
+: Added attribute GanttTextOverlay to not show texts in Gantt bars above the next bars
B: GanttBase and GanttFinish were not updated correctly in some cases
B: GanttBase auto could be incorrectly calculated when grid contained empty rows
B: Return value false from OnDragGantt was used as 0
B: ganttrunsum worked incorrectly when set GanttLastUnit
B: Dragging joined Run box with action Slide to fixed box could be calculated wrongly
B: OnDragGantt was called also with different attributes like XML event
B: Resources were not updated after task change if there was no dependency column defined
B: CorrectExclude ignored GanttLastUnit
+: Extended run groups to load other Run attributes from children, added attributes GanttSummaryCols, GanttSummarySeparators and GanttSummaryCDef.
+: Updated ganttrunsum Formula function. Now it can calculate also Text, Tip and Class Run attributes
B: Gantt chart was not shown correctly in IE in zoom bigger than 200%. Now it is supported up to 500%.
+: Added Zoom flag to Sync attribute to synchronize zoom levels
B: Corrected synchronizations flags Horz and Vert in Sync
+: Correcting dependencies has been sped up, especially for many dependent tasks.
+: Added method SetGanttShowDependencies to change the value dynamically
B: GetGanttResourceCount generated JS error when called for range after the last resource
B: Dragging Run bar edge could jump during dragging in some cases
B: Calling ChangeExclude when no GanttExclude defined on start could cause JS error
B: Gantt chart size (for GanttSize='0') was not shrunk if the bar was deleted
B: Not editable point could be dragged
B: GanttRun box was dragged not rounded to GanttUnits if Gantt chart started on incomplete unit
B: Changing constraint in summary row did not update children immediately
!: ganttresourceunits Formula function now returns also units allocated in extra units (defined as "resource+count")

C: MaxHeight is now compatible with MaxVScroll
+: Added ColPagingFixed to not (col) page fixed rows. Usable for spanned headers among the column pages.
+: ExpandRows attribute accepts also name of Default row to control all rows with this default
+: Added ButtonClick method to simulate click the Button Type cell
B: Sometimes the scroll position in grid was not preserved
+: Bool type EmptyValue added options 3 and 4 to cycle only 0 and 1
C: Bool type can be merged, but still cannot be edited
B: Updated behavior of Cfg MaxHeight='1', MaxVScroll and NoVScroll in Firefox with zoom!=100%
B: Empty value was incorrectly set in filter by Defaults dialog for Date/Int/Float types
B: Filter in Enum cell ignored FilterValue/OnGetFilterValue if set FilterEnumKeys
B: TreeGrid could cause problems in SharePoint by defined JavaScript function SetEvent
B: Setting 0 in print dialog to Print page width or height caused hiding the option in next print dialog
B: Today was incorrectly marked in calendar if set GMT='1' in some timezones
B: Grid sometimes disappeared in IE10, document mode 8
+: Added <Changes Update/> value 32 to not refresh the changed cell, useful when editing
B: Filter cell with empty value in Date cell showed NaN, also when set from Default dialog
B: ServerSuggest could not change the Format / EditFormat attribute from server
+: Added Icon/Button value "Check" to show three states checkbox. In tree it controls its children.
+: Added Align value "Scroll" to center the text according to actual horizontal scrolling. Only for fixed rows.
B: Row spanned cell were incorrectly exported to XLS
B: If the first cell was empty when exporting to CSV, the other cells were shifted left
C: Removed padding for empty Button with Icon (= image Button)
C: SetNoTreeLines now calls RenderBody instead of Render
B: Grid froze when set AutoVersion and many columns with long names
+: Added method RefreshNested to refresh nested grid after change in source data by API
B: <Cols> tag was missing in upload XML for Upload_Type Cols and Settings when set ColPaging='2' ColPageMin='0'
B: Creating pivot failed if some source cell value contained apostrophe
B: Ungrouping without focus when was focused group row can lead to JS error
B: If called Render or RenderBody during some child part was rendered, the child part was not rendered next time
C: DropCols show column caption instead of name also in Pivot grid, if the caption is defined in master grid
+: Added cell type SelectPivot to select predefined pivot into PivotRows/Cols/Data. Done especially to show column captions instead of names
+: Added events OnPivot and OnPivotFinish called before and after creating the pivot XML
B: PivotFilter did not work correctly when set StandardFilter
B: Height of cell with RowSpan could be incorrectly calculated in Firefox
+: Saves to cookies Pivot settings and does not save columns in pivot grid
B: Validate did not focus the first incorrect cell, but the cell in the first column according to initial definition
C: For Rotate='2' the left icon places always with align "Right"
+: Added flag 'Sec' to Sync attribute, to synchronize resizing column sections between grids
B: Corrected JSON Format for Text type with Range='1'
+: Added method RecalculateRows to recalculate only given rows
+: Added filter cell attribute EqualFormatted to avoid not found rounded numbers due Format.
+: Added PivotValue attribute and OnGetPivotValue API to replace the cell value when creating pivot
!: Pivot now creates the captions (created by PivotRows/PivotCols) from cell formatted strings, not only cell values.
B: When set AutoUpdate in master grid, some changes in detail did Save per every change.
+: Added UpCounter attribute to show row up-counter column with row numbers always from 1 increased by 1.
B: Bool type was not shown in Header row except defining ClassInner
B: AutoFill filled also collapsed children
B: VarHeight did not work in some cases when hiding / showing the column
+: Added MaxChildrenMin attribute to not create too small last page for MaxChildren
B: JSON Format for Text type return empty string for 0
B: After selecting Defaults configuration in cfg menu, the configuration was not saved. Caused problems especially in server paging.
B: Selecting Defaults cfg in cfg menu cased JS error in some cases
+: Added event OnCalculateFinish called after finished calculation or recalculation
B: JS error in some cases when added new column to grid xml and loaded old configuration without this column.
B: Dragging between grids by right mouse button showed popup menu on drop
B: Hint showed for wide Pages type cell and blocked its function
B: Wide Pages type cell did not show scrollbar in IE
B: Remove row did not remove child row ids from Rows
C: Side spaces in Cells array are removed now
B: Showing foot section failed when shown left/right section splitter
B: JsonP data source did not work in IE6,7 if grid created during page loading by TreeGrid function
B: Scrolling by dragging scrollbar did not work correctly on Android tablets
+: Added attribute RemoveChanged to control removing changed rows on RemoveCollapsed and RemoveUnusedPages
B: Pasting more empty rows did not work correctly in IE8 and lower
+: Added attribute IgnoreIdNames to not use IdNames for particular rows
+: Updated SelectingSingle attribute to restrict unselecting selected row and to clear selected rows on start
B: SetScrollLeft, SetScrollTop and ScrollToDate did not update grid automatically when using custom scrollbars
B: Row height was incorrectly updated for RowSpan in IE8 strict
+: Updated copying large grids to clipboard, added CopyTime attribute
B: Values like a number (e.g. 000 or 10E17) were not shown in HTML type
B: Message Creating Gantt was shown also in Grid without Gantt chart
C: Column hidden due cookie setting is now set as Hidden when set FastColumns
B: HideParentCol in column tree could incorrectly set ExpandLevel
B: Rotate='1' did not work in IE10 document mode 9.

9.2.12
B: GetGanttRunBoxTag returned incorrect box when the boxes were not shown due zoom
B: OnGanttRunBoxChanged was called incorrectly for box started on Gantt beginning
B: Moving Run box before the first Run box ignored Adjust settings
B: Gantt position was not saved to cookies on click to Gantt pager in ZoomToPage=0 and 2

B: TreeGrid is now compatible with Firefox 20
B: Column positions were saved to cookies incorrectly in column paging
B: Rows could not be moved as child to parent with only hidden children (especially in master / detail)
B: JS error on editing Enum contained apostrophe
B: RTL mode worked incorrectly in IE10 document mode IE5 and IE7
B: Rotated attribute did not work with row MaxHeight set
B: When moved configuration menu by mouse dragging its header the menu was placed incorrectly
B: When grid filter returned no rows, the next filter did not work in large tables
B: Spanned cells were incorrectly updated when added new column in some cases
B: Side icon in Button Type did not work
B: In IE strict was expand button inactive after expand in some cases
B: Search case insensitive was not applied to the first keyword

9.2
+: Added OnGanttChange API event called before any change in Gantt chart, possible to cancel the change
!: OnGanttChanged API event for Main bar sets duration only if GanttEnd is not defined, otherwise it sets the end
+: Added GetDependency and SetDependency API methods to easily change the dependencies by API
+: Added GanttSizeOver and GanttSizeOverTouch to specify outside space to focus a task (main/flow/run). If set to the same value as GanttSize / GanttSizeTouch, it permits resizing tasks by dragging near outside the task and moving tasks by dragging inside the task.
B: GanttBackground was shifted by 1px in fixed rows in Standard style
+: Added SortRanges attribute to compare ranges by their items without order when setting Changed attribute. Usable especially for Gantt dependencies
+: Updated GanttIcons attribute to show custom icons on one or both sides of main bar
+: Added GanttSizeFit attribute to calculate the GanttWidth to show exactly one GanttSize in available space
+: Added action SplitGanttFlow to permit splitting flow bar to two pieces on mouse position. Action added also to Gantt popup menu
B: Gantt Background in fixed rows were incorrectly refreshed in Firefox in some times
B: Checking Gantt constraints after changing GanttStart could change the date wrongly in some Exclude dates
!: Resource usage chart is by default calculated only for visible (not filtered) rows
B: Run bars in summary row could be accidentally moved after moving some child bar
B: Run bar sizes and spaces were incorrectly rounded in some cases after moving new bar into the row
B: GanttExcludeComplete results were sometimes incorrectly rounded

+: Added new feature - Pivot table
+: DropCols type was extended, to support dragging items between such cells or dragging column captions here. Various controlling attributes and events added.
+: Updated Format/EditFormat attributes for Text, Lines, Html and DropCols type. It can be also JSON array to replace items by other items in display. Usable for value/key pairs in Defaults and Suggest dialogs.
+: The column sections can be now resized by the full high splitters instead of the small splitters between scrollbars. It can be controlled by SectionResizing attribute.
C: The section resizing behavior slightly changed, updated also LeftCanResize and RightCanResize attribute for better controlling.
B: TreeGrid did not work in IFRAME in some cases
B: Exported PDF split pages unwanted in some cases, especially in deep tree
B: Group attribute was incorrectly checked in ColPaging
B: Expanding column recalculated the whole
B: AutoUpdate with server changes uploaded the changes again
B: Column names were not checked (debug='check') against row attributes
B: Temporary hint tag was not cleared in Firefox, if the cell contained custom HTML code with tag ids, the ids were duplicated
B: RenderBody did not clear the rendered column pages and child parts, therefore filter, sort or group could cause error when used Paging + ChildParts + ColPaging
+: Added attribute ShowHiddenBorder to show border for collapsed columns, usually for header rows
B: Hidden attribute did not work in Firefox
+: Added ShowEnumHeader to support showing Enum type like Select type
+: Possible to show Select like Enum type
B: Now TreeGrid editing works correctly in modal jQuery dialog
B: TreeGrid did not show standard scrollbars in new Mac OSX Mountain Lion with auto-hide scrollbars feature on
B: JS error is used MaxChildren and ConstWidth and filter or sort
C: Now MinHeight can be set lower than standard row content height when set LeftHtml, MidHtml and RightHtml
+: Added value 2 to CalculatedChanges, it marks as changed also the cell calculated for first time if resulted to different value
B: In some browsers the OnClick / OnDblClick events were called twice when clicked to the grid cursor (only for relative cursor)
!: Validate now finishes editing of cell with Result mask - otherwise it was testing wrong value
+: OnAfterColResize event gets also row where the column was resize and the change in pixels
B: Row id could not contain ' or "
B: Copy tree copied also children with CanCopy=0
B: JS error when server <Changes> deleted one row as the only changed row
B: If set Selected='0' in server <Changes> it selected the row
+: Added Formula aggregate functions join, sumjoin and joinsum to sum strings
B: Row color classes were not updated correctly
B: Grid did not accept correctly full ids in input XML when set FullId='1'
!: Column MaxWidth is now applied when auto calculated column width
C: Sync='2' requests are now queued and they are processed in the order they started
+: Added data source attribute xxx_Jsonp to download json or XML data as JavaScript in <script> tag to avoid AJAX restrictions. Only for download.
+: Added data source attribute xxx_Relative to control base for relative urls, to the main page or to the Grid folder
B: Corrected showing hint for Lines in Firefox
C: Updated hint position and size, updated its CSS attributes
B: JS error for number root id if set FullId
C: AbsoluteCursors are disabled for Firefox by default
B: GanttExcludeComplete worked incorrectly in RTL
B: CanEmpty for Int, Float and Date type was buggy when used different values in one grid
+: For Panel Select='2' will be the panel select icon checked only if the whole row is selected (not for only some cells selected)
B: Incorrect debug warning when grid compiled with library modules
!: Column Group attribute was renamed to Block, to not confuse it with grouping. The column Group attribute should be still accepted
B: Hiding (collapsing) column in edit mode could lead to JS error
B: Collapsing column in ColPaging and FastColumns=0 did not work
+: Added action ExpandRowCells / CollapseRowCells to expand/collapse all cells in actual row
C: In FastColumns='0' are the Expand/Collapse...Cells actions runs with timeout message
+: Added attribute CollapseOther to have only one expanded column per level / row
B: Zero and empty values was not used from server changes for added rows
B: Dates dialog wrongly set results to Date type cell
B: Action Fill was accidentally called also in Gantt column when dragged near to the right edge
B: Avoided bug in FF19 - not loading background images for td tag
C: Added warning debug message for iPad when main tag has not set height and MaxHeight is ignored for iPad
B: If used summary formula functions with different type in the same row level, the type could be ignored
B: <Cfg Expanded/> attribute was ignored if it contained only one number id

9.1
+: GanttEndLast was renamed to GanttLastUnit and permits setting the last unit added to ending tasks (instead of adding GanttDataUnits)
!: The default value for GanttLastUnit is empty string, like GanttEndLast='0'
+: Added GanttStrict value '2' to correct dependencies like in MS Project - before every task is added constraint GanttMinStart
+: Added attribute GanttConstraintTipFormat to format constraint date shown in tip, usable especially the constraint column is not defined
+: The GanttFormat can be displayed at more places in Gantt chart, more times in one row. The places are controlled by GanttFormatObject.
+: Added to GanttEdit flag Correct to permit only correcting dependencies
+: Added API events OnGetGanttHtml and OnGetGanttFlowHtml to provide custom HTML content of the main and flow bars
+: Added GanttShowDependencies attribute to not show the dependency lines for its value '0'
+: Added to GanttAllDependencies value 3,4,5 to hide dependency lines between collapsed children
+: Added creating interactive summary Run bars from child main bars, using GanttSummary='2' and ganttrunsum() formula function
C: GanttChartRound is applied also when zooming to range
B: ZoomIn/ZoomOut buttons were displayed active for last zoom levels in some cases
C: If OnGetGanttMenu returns "", the menu is not shown
B: When moved last Run box inside row, the Run lost separators if defined
B: Dragged dependency was not shown when TreeGrid was in absolute tag
+: Added attribute GanttMaxCorrectingLoops to use for large complicated charts with many dependencies when the dependencies are not corrected due the small loop count
B: Changing GanttErrSlack from menu did not recolor the bars
+: The GanttMark can show also resized images by <img> tag. Added four predefined images to show (progress) lines in chart: '/', '\', '<', '>'
+: Added function ganttprogressline to calculate GanttMark to show progress line for tasks completion
C: DiffGanttDate now returns empty string instead of null if both the input dates are empty strings
+: Added GanttExcludeComplete attribute to show completion color bar to exact date according to the excluded dates instead of just percentage of the bar length
B: Deleting bar resizing it to zero size from left side checked exclude
B: Resources charts were not recalculated after tasks or resource change in some cases
+: If set GanttZoom to empty string it chooses the zoom to show the whole chart (action ZoomFit)
B: Resources could not be added to empty resources grid without defined empty <Resources></Resources>
B: The last not complete item in header was incorrectly shown when the excluded dates was hidden
B: Changing GanttChartMinStart/MaxEnd by API was not affect zooming size for GanttSize=""
B: Resource availability causes dead lock when the whole range was repeated (e.g. the whole day everyday)
B: Zooming had 1px difference for styles with cell left side border - every new zoom changed the area for 1px
B: Deleting more rows when set GanttDeleteDependencies was too slow
B: Deleted child bars was not recolored when deleted due parent deleting
+: Added API events called for dragging Gantt objects (start, end, during)
C: OnGanttRunDrop parameter drop is false when called on start dragging and 0 next time
B: Dragging dependency with automatic grid scrolling caused not shown pages/child parts
B: Splitting availability in printing could freeze grid in some cases

C: Space RelWidth is now updated for every cell refresh if the cell width changed
+: To Upload_Flags added value NewId to upload newly generated id of Moved row and its children (when set FullId) to server in attribute NewId. Also for rows with changed IdNames column(s).
B: Updated displaying cells with Rotate attribute. For IE solved problem with ugly rotated fonts. Corrected rotated Panel type cell, except FastPanel.
+: Added Rotate='3' to rotate texts in IE to other side than other browsers, because it is faster
C: Now in IE is not shown global drag cursor, as it slowed down the dragging. Can be reset by <Cfg GlobalCursor='1'/>.
+: Added ExternalAlign attribute to let align grid from outside (usually center it in parent tag)
+: OnSelect API event can return true to suppress default behavior
+: Added attribute SelectingSingle to permit selecting only one row per grid
B: ChangeFilter API method did not accept JavaScript objects as inputs
B: In menu its caption was accessible by keys cursor
B: ChangeDef method did recalculate changes correctly
B: ChangeDef could cause not refreshing dependencies of the task
+: CalculatedChanged can be a list of columns to affect only these columns
B: Changes in ExportType and ExportPDFType were not stored and restored correctly in next show of the ExportCols dialog
B: The panel custom buttons was listed in debug window as unknown attributes
C: Cfg DefaultDate setting is copied also to Dates dialog
+: Added API event OnColumnsFinish to add custom attribute to the columns, print, exportpdf and export menus
B: Dragging MouseObject did not use ZIndex attribute
B: MaxChildParts disactivated ChildPartMin rows when removed unused child parts
B: Print Gantt split in RTL did not round the pages to GanttPrintRound
+: Added attribute PrintGanttRootMin to specify minimal count of rows when splitting by PrintGanttRoot to avoid only few rows on page
B: PrintWidth was ignored when calculating VarHeight cells
B: In PrintCols dialog there was not added the '?' for server ChildPaging
B: Printing Height of Abs type cell was incorrectly set for cells with RowSpan
B: When undeleting selected rows as parents and their children, the parents were not undeleted for first time
B: Action Indent failed when called for the first row on page
C: OnSave Menu event is called also for automatic item selection (auto complete) when Suggest list has only one item
B: In FF there was added new "temporary" tag in TreeGridControls tag for every grid reload
C: Synchronization for Sync is applied now only when both the grids Sync attribute contain that flag
B: Hint was showing left side icon
B: When copying row, OnRowAdded contained source row instead of the new row
B: Calculations did not recalculate cell if the result was 0 and the cell value "" or vice versa

9.0.9
B: GanttExclude was incorrectly repeated for years (leap year problem)
B: GetResourceErrors method was not visible for API
B: Material resource usage was incorrectly calculated for bars smaller than or equal to one GanttDataUnits unit.

+: Added compatibility with new IE10 quirks mode
B: Error in communication in ReloadBody disabled grid
B: In FF16 were INPUT and SELECT tags disabled when used in TreeGrid cells and SelectingText was 0
B: Some API events in Chrome got incorrect grid pointer and also could not be set by AddEvent/SetEvent (OnGetType,OnGetClass,OnCanEdit,OnGetDefaultColor,OnGetColor,OnGetHtmlValue,OnGetFormat,OnGetPageNumber)
B: Deleted children were not uploaded in AutoUpdate
B: TreeGrid in IFRAME in IE did not show styles background if the GridE.js was included as absolute or base url
B: Dates yyyy-M-d was wrongly interpreted for GMT=0

9.0.8
B: AutoUpdate did not uploaded automatically corrected dependencies
B: Gantt chart generated some JS errors when used with ColPaging
C: Updated speed in correcting dependencies and refreshing Gantt in client paging to avoid slow script message, especially in IE8 and below
!: '-' cannot be used as GanttRun separator now
B: Explicit GanttRun separators were deleted when only one GanttRun box in row was moved
B: When moving GanttRun box, the HTML could temporary broken down

B: Impossible editing on iPad when TreeGrid was in iFrame
B: Moved rows could get existing id after uploading to server when using FullId
B: Defaults for Range cells generated incorrect list for *Rows... when cell values contained Range separator
B: Newly added rows have not get Added CSS class (only color)
B: Adding first visible row to grid from server side by <Changes> tag did not work
+: Added Range='2' value to filter cell for types Enum, Radio, Lines and Text to compare all items in filter with all items in cell for operators = and <>
B: Hint was not shown in FF16
B: Changing style back to already loaded one by Sync='1' broken down printing
B: Grid was slow on start in Chrome

9.0.7
B: Gantt chart was incorrectly zoomed in some cases
B: Availability length was incorrectly calculated when started before GanttSize range
+: Added new options 4 and 5 to GanttHideExclude to hide the excluded ranges smaller than current GanttUnits

B: Grid was disabled when compiled GridE.js in ASCII encoding or in different compression
B: CalculatedChanges was ignored in uploading Added rows
C: NumberSort is now used also when sorting values in Defaults list
B: In server paging was not checked CanReload after changing filter cell value
C: When set Error attribute to empty string, it does not clear the tip
B: Printing in some browsers printed empty pages after when the page content height was nearly equal to page height
C: PrintSelected in tree now does not print main column icons and lines
B: PrintSelected in tree did not print all selected rows
B: In some cases expected printed pages count was not equal to real printed pages count

9.0
+: Added paging in Gantt chart, by date range. Including more side pagers, for given ranges.
+: Added GanttSize attribute to limit Gantt width to exact dates
C: Gantt sped up, hidden objects are not rendered at all, refreshing Gantt was rewritten.
+: Added attribute GanttResizeBeforeMove to let resize bars if their edges are under another Gantt object
C: Server paging in Gantt was updated
+: Gantt changes dependency ids after row changes its id
B: Header Height attribute was cleared when changed GanttBase
B: AutoUpdate was not uploaded changed dependencies if only GanttAncestors was defined
B: After change RunEnd and Exclude defined, the Start could be calculated incorrectly
+: Added Inside flag to GanttRunAdjust to restrict moving box outside the boxes
+: DelGanttRunBox can remove the box and adjust the rest
C: If some change violates both Finish and Base, the Base is now preferred
!: Change in GanttCalendar now corrects dependencies like change in other such columns
B: Changing row custom calendar to default one sometimes broke down the Gantt
B: GanttChangeExclude=4 now sets the bar as milestone if it is completely excluded after change
B: Run was incorrectly shown when it was smaller than exclude units
B: Resources chart was incorrectly shown in Firefox, Chrome and Win Safari in zoom!=100% and when printing
!: FastGantt=1 is now cleared for Firefox, Chrome and Win Safari

+: Extended printing and export to PDF features. Now it is possible to set page size and orientation and split grid, including Gantt chart, to more pages horizontally and vertically.
B: Corrected various bugs in printing
+: Added PrintSelected attribute to print only selected rows
+: Added ActualDate attribute to highlight it in calendar instead of actual date
+: Added Edit attribute to define editing object with events called during editing
+: Added API events and methods (FindItem/SetValue/SetText/OnChanged) to calculate menu item values and captions according to changes in other menu items
+: Side pager can be shown also on left. There can be more side pagers in one grid. The side pager can show root pages, custom pages or Gantt pages
B: Filter was not cleared when dynamically reloaded cfg
B: FilterEnumKeys did not work correctly
B: Hiding focused row when edit could be canceled caused JS error
+: Added Cfg attribute ChangesUpdate to be used in JSON instead of <Changes Update>
B: Corrected problems when used SuggestType="Existing" with SuggestServer
C: Detail grid now on show calculates all formulas, not only Calculated rows, to calculate also columns not existing in master grid
B: Corrected few bugs in generated HTML to be again XHTML compatible
B: If XML tag had two attributes containing '<', the second was ignored
C: ValueSeparatorHtml is now used also for Enum and Html types
+: Added API event OnCustomAjax for custom AJAX communication, has simpler usage than OnDataSend event
C: Now does not upload empty <Changes>
C: Validate now does not automatically finish editing in all grids, but only when focusing error cell
B: Span and RowSpan attribute values were uploaded without "
+: Added API event OnDebug for custom processing or redirecting debugging messages
B: Pressing tab with suggest and SuggestServer caused JS error
+: Added Meta key processing for Mac copy & paste
B: In IE8 strict was inactive top right icon in filter
B: In ActionOutdent was incorrectly tested Def attribute
C: For NoVScroll / NoHScroll is now checked MinTagHeight / MinTagWidth settings
B: Grid was slow in Chrome in some cased, especially with ColPaging
B: Negative percent in Format was shown incorrectly in some cases
+: OnCalculateCell gets the TCalc object as parameter
+: Added HideParentCol to column tree to hide the clicked column and expand its children instead of it
+: Added NoDragIcon to not show dragging icon while dragging row
+: Added RemoveUnusedPages attribute to let remove page data in server paging
B: Date values in GMT='1' were exported in local timezone
B: Filtering Range cell for empty string caused JavaScript error in number cells
+: Added StandardFilter='3' to method "show all found with children"
+: Added FilterMenu attribute to define custom list of operators by JSON menu
B: Nested grid was not shown after ReloadBody of the master grid
+: Added CS Color for editable cells
B: TreeGrid added one or two <div> tags to page after every reload
B: In Firefox the selected text could not copied (Ctr+C) from cell with EditMask
B: IconWidth was ignored in some menus
+: Added CalculatedChanges attribute to mark as changed also the calculated cells
B: Nested grid was incorrectly cleared in some cases and therefore could not be created again, e.g. in moving the detail row parent
B: Moving column within spanned section to the end of section removed the column outside the section
B: Defaults dialog showed values from row spanned children
B: TreeGrid Message was incorrectly positioned for absolute main tags
B: Dates dialog generated debug messages about wrong attributes when used checking attributes
B: ClassInner with left icon printed the icon twice
B: For client paging with only one root row were shown JS error after re-sort
B: Sometimes in IE quirks were row height incorrectly set after editing multiline cell
B: FastColumns CSS style was not was not deleted after deleting grid
!: Sped up processing changes sent from server in <Changes> tag. Now the modified rows do not accept other pending changes.
+: Added <Script> tag to XML to include any JavaScript code into XML to processed on client (by eval())
B: Exported html is now xhtml compatible
+: UpdateHeights API method has parameter to update all rows always, if the layout is still broken down.
C: In IE7 strict the BorderCursors are set to 0 for nested grids, because they are not scrolled with parent grid
+: Added Sync Style flag for CSS style synchronization
B: In iPad popup dialogs were incorrectly positioned in higher page zoom and could not be scrolled with page
+: Added GanttHideExclude values 2 and 3 to not display the exclude background
C: SafeCSS finding updated

+: Added new CSS style ExtJS

8.1.8
B: More than one summary task linked to the same row caused freezing correcting dependencies
B: <Changes> tag did not correctly change cells in Space rows
B: Module Drag was required for adding and copying rows
B: Link type right aligned became inactive
B: AddPage method caused JS error when adding new page after empty page
B: Hint wrongly added cell border and padding to its width in some browsers
B: ShowVScroll in empty grid in IE quirks caused JS error

8.1
+: Gantt chart was sped up, especially resources charts, slack and correcting dependencies. In IE7/8 the Slow script message is shown less frequently in very large charts.
B: PrintVisible did not work after zoom
!: Merging adjacent ranges in Flow now all use GanttDataUnits for rounding, instead of GanttUnits in some cases
C: sumflow always merged resulted range rounded to days, now it rounds to milliseconds only
C: Column type Gantt is now not uploaded to server when set AllCols to Upload_Flags
+: Added GanttEndLast==2 option to apply it also to ending constraints and GanttFinish
B: GanttFlowJoin was ignored when moving flow by correcting dependencies
+: Added OnGetGanttRunText to generate text displayed on box dynamically
+: Added Top and Height flags to GanttRun to specify vertical position and height of individual Run boxes
+: Added GanttRunErrors attribute to not display Error boxes in red if required
B: Constraints were not affected by GanttClass attribute
B: When set GanttStart="" and GanttDuration to value, the GanttEnd was incorrectly calculated
B: Setting date in invisible Gantt column caused JS error in some cases
+: Added GanttZoomLap attribute to not save the GanttZoom settings

+: Added feature "grid in grid" to display detail grid inside any cell(s) of master grid. Unlimited levels of nesting supported (attribute DetailCol).
+: Added grid synchronization between grids, all the chosen grids share specified configuration (scroll position, column size/width/visibility, sort, filter, search, group) and they are updated after every change in any of them.
+: Compatibility with Firefox 10+
+: In global CalcOrder can be accessed every row by id, not only fixed
+: Added value -1 to Recalc to recalculate nothing after cell change
B: In Defaults dialog were shown rowspanned cell values
+: Added fourth parameter to OnShowDetail as the master row
!: Action Validate is called also when filling detail grid with new data
+: Added attribute FilterHidden to remove columns hidden from menu from actual filter
+: Added event OnPageReady called after data for page were loaded and update but not yet rendered
B: Cursor moved into rowspanned row from bottom was incorrectly placed
C: Base row height is now calculated according CSS GxText font size in given browser (only if it is higher than GxRowHeight value)
B: Corrected row height updating
B: When ColPage became empty due moving last column outside, in some cases was thrown JS error
C: Now it is possible to define <C Name='Panel'/> in columns to move standard panel to this position.
B: Filters section was ignored in input JSON format
B: '\' character was not escaped in output JSON
+: Added Upload_Xml='2' to convert uploaded data into JSON string, not object
C: For AllCols there are not uploaded columns Panel, _ConstWidth and Gantt type
B: For SaveExpanded were not saved expanded rows with not yet loaded children in server child paging
B: Missing quotes before Name attribute value when saving columns and defaults in JSON
+: To OnEndEdit added parameter as raw, not converted, entered value
B: Editing enum did not clear Error attribute
B: Adjacent spanned cells were exported incorrectly
B: Cells with Visible=-1 were exported
B: Hint was not shown in Chrome in some cases
B: AddPage method did not accept JSON data
B: When pasting, the first empty cell was ignored
B: OnPrintInit was called with wrong grid object
+: Added PrintIcons value -1 to not print also custom icons
+: OnRowCopyId event now can change the row id
!: Actions Indent and Outdent now call OnCanDrop event
B: Memory leak in IE when loading styles
+: TreeGrid tested and updated for Android tablets
+: TreeGrid tested and updated for iPad tablets
B: JS error when deleting parent of focused row in some cases
B: JS error when deleting row with AutoUpdate='1' in some cases

8.0
+: Added Gantt calendars to choose and maintain different calendars (excluded dates) for whole project or individual rows
+: Added dialogs for adding, modifying and deleting individual calendars
+: Added Availability chart to show universal bar chart of any usage of custom or defined resource
+: Updated resource usage chart, it was extended and updated to be shown by Availability chart
+: Added GanttAllDependencies value 2 to show only dependencies between visible tasks, but calculate all dependencies
+: Added PrintVisible attribute to print only horizontally visible part of Gantt chart
+: Added attribute PrintGanttBackground to print the GanttExclude, GanttBackground, GanttBase and GanttFinish
+: If set DateStrings, it uploads GanttBase and GanttFinish as string in GanttBaseDate and GanttFinishDate
C: Now the bars are not rounded to GanttUnits on display. Added GanttRoundUnits to round the bars to the GanttUnits
+: GanttBackground can be set different for every row
B: GanttCorrectDependenciesFixed was ignored for tasks without constraints and GanttBase
B: Constraints were ignored when dependencies were not used in chart
B: Run complete was incorrectly shown when the chart was shown only partially due zoom level
!: Deleted methods GetGanttResourcesUsage and GetGanttResourceAvailability
+: Added parameter test to SetGanttRunBox and AddGanttRunBox to just test if the change is possible
+: AddGanttRunBox can be used to add box to specified position (pixels or date)
B: AddGanttRunBox failed when add box to empty cell

+: Added action DragCell and event OnStartDragCell, OnMoveDragCell and OnEndDragCell to support custom dragging of any cell / content.
+: Added bdo Sync attribute value 2 for asynchronous communication, but only one request at a time
C: On iPad there are special browsers identified also as Safari on MAC like original Safari
+: Added ZIndex attribute to control grid z-index in popup dialogs
B: Sometimes Suggest menu was not hidden correctly
B: When set DecimalSeparator to ',' and GroupSeparator to ',', the values as 1.23 were still used as 1.23 and not as 123
C: JSON Menu OnClick event now can be set also as string code
B: In iPad in iOS5 the grid was inactive when page was scrolled left or down
B: ClassInner caused error in editing in main column
+: Added value 32 for Recalc attribute to recalculate all siblings
+: SaveAttrs can save also column value instead of row
+: LoadCfg will update grid configuration and rerender grid when called after grid is already running
B: FocusWholeRow did not work correctly
B: RowSpan was ignored in data after ReloadBody
+: Added root tag Debug to XML data to display custom message in debug <Debug Level='...' Message='...'/>
C: OnGetFilterValue is called also in Defaults for Filter cell and in search in method 2 and also when searching
B: Empty button in calendar cleared date also in preview mode
+: To OnStartDrag and OnEndDrag was added parameter copy set to 1 when row will be copied
B: Ok button in calendar grid did not finish editing - actually edited cell was not saved
B: Calendar in AutoCalendar did not read button texts from language xml
B: Values pasted to Enum cells with EnumKeys were pasted as strings, not by EnumKeys
+: SuggestServer now supports synchronous download, the suggested list will be available on start, especially for Suggest Existing
B: When one grid was through another, active grid was not correctly chosen in some cases
B: In Firefox on Mac right menu did not work
B: In Firefox was not closed grid popup dialog on click outside if the grid had not focus
B: In RTL, permission for resizing column was not chosen correctly in some cases
B: In RTL, coloring rows in main column worked incorrectly
B: Added GroupIdValue attribute to create id of group rows according to the values in main column
C: OnCreateGroup event can change group row id
+: Added method DragByMouse to attach custom object to the mouse cursor (usually for dragging external objects to grid)
B: Focusing cell for hidden spanned main column could cause JS error
B: Grid became disabled when showing columns menu without columns
B: In IE7 click to pager page could lead to JS error when some row focused
B: Reloading page did not clear previous rows in IE8+
B: Canceling print report did not restore column visibility correctly
B: Grid with rounded corners was printed to two pages
C: Print filtered option in printing menu is now disabled in server paging
B: When set CustomScroll, the scrollbar position was not restore correctly when loading it from cookies
+: Added Simple attribute to speed up rendering many simple cells in large grids
B: In IE7 did not add rows to the actual page
B: AutoFill filled also read only cells
B: GetShownRows did not work for AllPages=0
B: CustomScroll did not work in RTL
+: Added attribute SearchText to search in formatted strings
B: ChangeSort did not save cfg
B: Tree icon update caused problems for hidden main column
+: Added attributes DragCursor and NoDragCursor to change location of the cursor files
B: Mouse wheel on dialog with scrollbar did not work correctly when reached end of the scroll
B: Attribute formula was not calculated correctly in the only calculated fixed row
B: count and average functions did not work correctly with AggChildren
+: Added API events OnLoadCustomCfg and OnSaveCustomCfg to add custom string to TreeGrid cookie
B: AutoVersion did not catch column Visible attribute
+: Added attributes DefaultCfg and DefaultCfgMenu to save and reload default configuration by cfg menu button
+: Added API method RestoreCfg to reload default configuration
B: Validate did not focus collapsed children
B: Dragging more selected spanned rows caused dead lock
B: Focusing hidden fixed row caused JS error
B: Printing Hidden column broke down the layout in some cases
B: In IE9 strict mode and multiline cells the row height could be broke down

7.1.12
+: Added method GetGanttXY to get date range from point in Gantt header, it can be used for example to show different tooltips for individual dates in header, use OnTip event
C: Sped up generating Gantt exclude, now it is faster and less inclines to show Slow script message
B: HasGantt returned 0 when loading Gantt
C: CanZoomIn and CanZoomOut are now included also without Gantt module and return always 0 in that case
B: ConstWidth='1' caused wrong Gantt background position if the grid was rendered with hidden _ConstWidth column
B: Run "0;" or ";" caused JS error in Firefox

!: Action Validate validated also deleted rows against the ResultMask, now they are not validated
+: Added keyword "Deleted" to Validate attribute to validate deleted rows too, if required
B: In IE7 strict the width of menus was incorrectly calculated
B: In iPad focused grid did not lose focus after click outside and preserved using keys in external input/textarea tags
B: Custom horizontal scrollbar caused grid blinking in some cases when paging was used
C: OnCfgChanged now receives the menu as the second parameter
B: In IE7 strict grid with pager caused JS error when shown inside tag with display:none
B: Removing unused child parts from collapsed row caused wrong behavior
B: Gantt background was corrupted when ConstWidth column were shown in IE8 strict

7.1.11
B: Column with Visible='1' Hidden='1' broke down grid layout
B: CustomScroll did not work in RTL

7.1.10
C: GetTasksToSchedule now does not return tasks with 0 shift
B: Correcting dependencies was wrong in some cases for paged and shown tasks
B: RTL cell attribute was cleared on Gantt Tip showing
B: GanttExclude attribute were twice in the uploaded XML
B: Gantt background was incorrectly positioned when set ConstWidth='1'
B: Dependencies were incorrectly copied on copy tree option
C: Maximal count of items in header were increased to 10,000 to be able to show one year in hours
B: Scrolling to date on start led to JS error when the Gantt column was hidden

!: Now the child columns in tree are shown / hidden when their expanded main column is shown / hidden from columns menu
!: ExpandAllCells now iterates cell in fixed rows, not only in Header rows, the original behavior can restored by adding <Cfg HeaderColTree='1'/>
+: Added option CanHide='2', it does not show column in menu, but does not remove it from sorting when hidden, useful in column tree
B: In some cases the expanded row in column tree was not saved to cookies and the state was restored incorrectly
B: Grid layout was broken down when hidden column with some row containing spanned cell with right button
B: Grid cursors and dialogs were shifted in iPad/Safari when main tag was in table with wide border or cell border
B: Grid cursors and dialogs were shifted in some browsers when main tag was positioned absolutely and its parent(s) have wide border or padding
B: Grid disabled tag was positioned incorrectly when grid main tag was positioned absolute in some browsers
B: GetAttribute incorrectly read attributes CanFilter, CanPrint, Changed and Visible also from row or column when cell did not set them
B: GetAttribute incorrectly read attribute value first from row and next from column, for attributes like Color that can be set for cell, row and column
B: In IE were pages not shown correctly after reload body in some cases
B: HasChanges did not check children of rows with NoUpload
B: Hint was slightly shorter in IE strict. Hint was also shorter in IE quirks when it had bigger border.
B: Rendering all pages in ChildParts='1' could freeze grid with collapsed rows
+: Added OnAutoFillFinish event
B: AutoFill created many undo items
B: When OnAutoFill returned false, the Selecting/SelectingCells were always set
B: Expand all could freeze the grid if there were expanded nodes without children, e.g. in some grouping
B: odd count of quotes in search string could freeze the grid
B: In Safari the grid was not shown in some cases when contained no variable rows
B: In RTL Radio with Wrap='1' did not work in IE
B: Height of Lines cell did not correctly updated in some cases while editing
B: Adding row to end of grid in paging grid sometimes did not scroll to the row correctly in IE strict
B: CopyTo attribute was not copied into not loaded children in server paging
B: ExpandAllCells could break down layout in IE strict. Similarly hidden columns on start.
C: Scrolling in Safari was sped up

7.1
Gantt
+: Added GanttMenu attribute to easily define the Gantt menu popup items, their availability, order and custom items.
+: Added OnGetGanttMenu event to generate the GanttMenu dynamically. Added OnGanttMenuClick event called on click to custom GanttMenu items.
+: Added API events OnCorrectedDependenciesStart and OnCorrectDependenciesFinish called before and after correcting dependencies
B: Updated zooming to correctly zoom outside the actual chart range when selecting this range at header. Corrected also other zooming precision problems.
C: Exclude is checking also when constraints are placed on holidays
B: Editing dependency to the same value added undo item anyway
B: Resources chart was incorrectly calculated when GanttStart was not rounded to GanttDataUnits
+: GanttExclude is now uploaded to server when set Upload_Type="Gantt"
+: Added API method GetTasksToSchedule to do corrections manually
+: Added event OnTestConstraints called to test constraints while moving or resizing some Gantt object except Run
!: Now the chart constraint GanttChartMaxEnd has higher priority than MinWidth.
B: Now GanttLeft and GanttRight are not checked against GanttChartMinStart and others while testing constraints
B: Gantt chart calculations were broken when used exclude and GanttChartMinStart was not rounded to data units
B: Constraints were not initialized in time of OnReady, so calling CorrectDependencies ignored them when Slack was not used.

Grid
+: Added new printing options for better controlling of printing, PrintLocation and PrintPrint and API event OnPrintClose. Mainly to print in the same window. In IE can be shown print preview.
+: Added attribute PrintGrids to print more grid at one page
+: Added attribute PrintIcons attribute to not print side buttons like Enum, Calendar or Defaults
+: Added attribute PrintHead to add this HTML into <head> of printing window, useful for adding meta tags
+: Added attribute PrintLoad and PrintCount to print all pages in server paging
+: Added API event OnPrintInit to modify actual printing settings chosen by a user
+: Added attribute PrintPageRoot to page break only between root rows
B: In Firefox were printed empty pages for some CSS styles
+: Row CanPrint can have value 3 or 4 to print invisible row
+: Added cell attribute CanPrint to print invisible cell or not print cell, usable especially for space cells
B: SearchLap was ignored
B: JavaScript error when Error cell was not visible and Validation contained Edit
B: False debug check alarm for bdo Session and Text_StartErr attributes
+: Added width and height parameters to ShowPopupGrid method. When set, the popup grid provides standard scrolling within this area
B: Filter locked for empty custom filters in paged grid
C: Now OnGroup is called from GroupOn when the Grouped is false. When OnGroup returns true to cancel the action in GroupOff, Grouped is set to false.
B: Shift Tab into paged grid to not rendered page did not focus the cell
B: Align attribute for Img type cell was incorrectly interpreted
B: MaxVScroll/MaxHScroll could cause dead lock in IE8/9 in zoom!=100%
B: Number column captions could cause JS error in search
B: Predefined Search action was not used as Last
B: RowSpan and col Span cells was incorrectly marked and focused by search
B: SafeCSS broke down tree
B: UndoAll/RedoAll did not update the Undo/Redo icons on toolbar
B: Column attribute GMT could cause wrong date formatting
B: CheckAll/UncheckAll menu button did not work correctly when there was unchecked NoAll checkbox
B: Action code in XML could not contain XML entity
+: Added attributes CSVValueSeparator, CSVRowSeparator, CSVQuote, CSVLevel to customize separators in exporting to CSV
B: In case the one pager item contained the whole next pager item, it showed 1 instead of the item name
C: Link attribute can be used also for not editable Enum type
B: Ctrl + mouse dragging colored also not selectable rows (but did not select them)
B: Dragging by Shift + mouse on shown hint selected text in IE
B: AutoFill sometimes switched off calculations in grid
B: In detail grid was shown deleted rows always, regardless on ShowDeleted
B: CollapseAll in IE7 strict sometimes cleared grid display when focused hidden row
B: Children defined in default row were added also to rows with not loaded children in server paging
B: PrintPageBreaks did not worked in Firefox when body has set overflow:hidden and/or height attribute

7.0.26
B: Circular dependency warning text was not used
B: Moving GanttFinish with GanttEndLast was not possible as the last date before excluded date
B: FitToZoom showed scrollbars in Borders style
+: Added Data parameter to GetGanttRunBox as the raw box parameters array
B: Change of GanttFinish did not update Gantt width if required
B: Tip for constraint over milestone was not shown
B: Constraint input was not checked against GanttFinish
B: GanttExclude was broken down in some zoom change
B: Tasks with mandatory start were not included in critical path
B: Updated printing Gantt in IE8 strict mode

B: In Firefox click outside grid in edit mode did not finish the editing
B: Creating grouping in column named "id" caused inactive rows
B: Hidden spanned column with WidthPad=0 caused incorrect span
B: When automatically calculated main column width, the grid incorrectly set level attribute that caused various problems in Export
B: Since 25 build in IE7 strict were header icon in some popup menus shown incorrectly
B: Line chart was not correctly printed in IE
B: Defaults menu showed always the first item from merged cell, not the actual one
B: DropCols in RTL were not accessible when they were overflowed
B: Filter operator contains could not find values with ' or \
B: When grid was grouped by column named 'id' the group rows were inaccessible
B: GroupCol was incorrectly saved to and restored from cookies
B: When changed GroupCol during grouping, the fixed rows spanned through this column were broken down
B: Cells spanned through invisible column with WidthPad=0 were broken down
B: Adding new rows into empty grid in server paging generated JS error in IE
B: Copying row tree into its children caused dead lock
B: In IE were not correctly update height of spanned row after change of the spanned cell
B: Level was not correctly set for filtered rows, it caused problem in export
B: Panel icons were incorrectly updated when changed Selecting or Deleting in OnUngroup event
B: Column with CanMove=0 could not be grouped by dragging
+: Added attribute Cfg PrintIcons, setting it to 0 does not print cell side icons like Default, Enum or Calendar
+: Added attribute Cfg PrintHead, this string is added into print page to <head> tag
+: Added cell CanPrint attribute 0 - no print, 1 print if visible, 2 print always

7.0.25
B: Changing GanttBase / GanttFinish was not saved to Undo
C: Resources Availability chart reduced for too big units only for Resources usage range. To not cause Slow script message
B: Change of GanttExclude caused various problems because dependency were not recalculated correctly
B: GanttRunResize ignored empty value and let always to resize normal boxes
B: Prompt method have problems with apostrophe in value. For example in input of Flags text
B: Print Gantt with paging was impossible
B: Print Gantt with background in fixed rows cause problems, e.g. the Resources were not printed in some cases and browsers
B: Creating new main bar above Flow was not possible
B: GanttRunTip *Start*, *End* and *Duration* displayed incorrect dates
B: GanttCheck value was incorrectly loaded from cookies in some cases
B: Dates dialog did not work in some cases

B: Filter menu in IE7 strict did not show header icon
B: Column tree expand / collapse did not work correctly in IE9 strict
B: In IE7 strict mode were edit cursor incorrectly positioned in some styles
C: CharCodes are not used when sorting Defaults dialog items
B: quotes in Enum item caused problems in the menu
B: Custom Panel did not work in RTL
B: Filter off sometimes did not show rows with CanFilter='2'
B: In IE7 strict grid caused shaking when it was in some third-party windows with iframes
B: Sometimes were shown message Too small extents when all variable columns were hidden
B: Scroll to cursor left / right did not work correctly in RTL
B: Panel did not change its width when changing Deleting/Selecting in OnGroup action
B: Hiding all variable columns caused problems
B: Right click menu did not show for Enum and Buttons
C: In TreeGrid menus the focused item is not centered now, it confused users especially in menus with checkboxes
B: Moving column that contained not rendered child part could lead to JS error
B: Link on image (Img Type) was inactive in some cases and browsers
B: Setting value by SetValue/RefreshCell of hidden cell due span displayed the value in the main (visible) cell
B: Align attribute was ignore for Radio
B: In IE8 strict mode were incorrectly calculated heights with high rowspan cells. Anyway this mode should not be used with RowSpan at all.
B: Height of Lines cell was not updated if there was only one column section in grid (no fixed section present).
+: Custom scrollbars were re-styled according to the individual TreeGrid CSS styles

7.0.24
B: Mandatory constraints with GanttEndLast='1' displayed incorrect date in tip
B: Entered duration was incorrectly changed when used GanttExclude and GanttCheck
B: Constraint value could not be entered empty when used GanttCheck
B: Summary of Run with End block(s) was calculated incorrectly
B: In RTL mode sometimes the boxes could not be created by dragging
B: In RTL IE8 strict mode was incorrect scroll position when zooming

B: Adding new rows to root of grouped grid caused JS error
+: Added column attribute CanSelect, to restrict cell range selection in the column, by default is 0 for Panel
B: Edit cell in popup menu did not accept some characters like '.' due search in menu items
B: Padding and border in <html> tag caused bad cursor position when run in Frame in IE quirks mode
B: JS error on double click to cell with popup grid (fast show and hide the grid)
B: Rows dragged to empty grid were not shown immediately
B: Shift prefix was ignored in IE9 and FF4, e.g. in Shift + Tab
B: Custom tree icon was incorrectly positioned in IE8 strict mode
B: OnRowCopy event did not send the first parameter
B: Changing grid style in edit mode caused JS error
B: Tree icons were incorrectly rendered is some cases, e.g. when grid was loaded with filtered rows
B: In RTL mode was edit cursor incorrectly position when used left Icon
B: In RTL mode was shown JS error when dragged cell with displayed hint
C: In RTL mode are columns exported reversed only when set ExportType='RTL'
C: In RTL mode cell attribute RTL is applied also when editing the cell
B: In RTL IE7 strict mode was horizontal scroll position reset in some cases
C: In RTL mode is used NoTreeLines='3' for all trees, for left side align of custom icons

7.0.23
B: Defaults.xml and Text.xml version was not increased to 7.0
B: Early constraint showed incorrect day in tooltip when set GanttEndLast.
B: Resources availability was not calculated when set Daily repeating for GanttDataUnits days.
B: MaxHeight could cause problems when offset parent had big (>8px) bottom padding
B: In IE7 strict mode could be incorrectly positioned cursor with edit box
B: Focused attribute did not work in AllPages=0
C: Hint is now always disabled for Bool type
B: Height of spanned row was incorrectly calculated when used also spanned columns and children

7.0
Run
+: Added FastGantt attribute to minimize Gantt HTML. Now it is applied only for Run, renders every box by one DIV attribute, with classes .G.F...
+: To Run boxes were added new attributes Id and Group for unique identification.
+: Added GanttRunGroupHover attribute to highlight groups of Run boxes on mouse hover.
+: Added action and Gantt menu items for changing and deleting all boxes in one group
+: To Run boxes were added new attribute State with the change of the box: added, deleted, moved, resized, changed.
+: Added methods for manipulating individual Run boxes - GetGanttRunBox, SetGanttRunBox, AddGanttRunBox, DelGanttRunBox, ScrollToGanttRunBox, FindGanttRunBoxes, GetGanttRunBoxTag
+: Added events for changes in individual run boxes - OnGanttRunBoxChanged and OnGanttRunBoxNew.
+: Added method ScrollToDate to scroll to given Gantt date even it is not shown due zoom
+: Added GanttZoomDate attribute to zoom to the date on start
+: Gantt Runs were sped up in all browsers except IE7 and IE6.
B: GanttEndLast did not work for Run
!: Now the empty runs are not rendered, so the count of box tags is not the same as box count in Run
B: Dragging close to the run box sometimes started resizing it, even solid or fixed one
+: When set GanttRunError='sort', the runs are sorted also on start
B: When Run boxes was set by start/end, the joined run boxes were not saved correctly
+: Added mouse button suffixes "Right" and "Middle" to GanttRunAdjust, GanttRunMove, GanttRunResize, GanttRunNew and GanttRunNewStart
+: Added "zoom" value to Adjust attributes to preserve the box size when dragging between grids with different zoom.
!: Now the Run widths are internally stored in milliseconds, it affects GetGanttRun and SetGanttRun methods
B: GanttRun could not be defined in number Gantt chart
+: The Run supports percent complete by GanttRunComplete and can fully replace main bar as extended main bar
+: ganttcomplete now counts also the Run complete
+: Added attribute GanttRunCorrectFixed to not move Fixed boxes when correcting dependencies
+: Added attribute GanttRunAdjustCorrect to specify moving run type while correcting dependencies
+: Added new bar types Milestone and Stop (fixed milestone) for zero length bars shown as icon, the icon can be also customized. Its creating can be suppressed by GanttRunMilestone='0'.
+: Added GanttRunText attribute to specify tooltip for all the run boxes the same
+: Added attributes GanttRunEnd and GanttRunDuration to show the right bound and duration of the run and possibly also to change it
+: Added action to delete all run boxes DeleteGanttRunAll
+: Added function ganttrunduration to return sum duration of all Run boxes except Empty,Nbsp,End,Bound
+: Added Merge value to GanttRunError to merge error boxes to one boxes like in Flow

Gantt
+: Added GanttFixComplete to correct dependencies only for not started tasks
+: Now all Gantt objects changes check all constraints, it is never possible to create or move any object outside its permitted constraints.
+: Added GanttFinishProof and GanttFinishPreferred attributes to work similarly to GanttBase
B: Adding to empty Points added the second point, not the first
+: Flow with GanttFlowComplete now can show also milestones, start milestone by "DDD~" and end by "~DDD"
+: Added function sumflow to be used instead of sumrange when set GanttEndLast
+: Added GanttFlowJoin attribute to allow adjacent flow bars, not joined and to overflow bars
+: Added actions SetGanttFlowPercent, EditGanttFlowPercenr, SetGanttRunPercent, EditGattRunPercent to set Complete of the bars
+: Added action NewGanttEndMilestone to add ending milestone (set by end date)
+: Added actions NewGanttFlowMilestone, NewGanttFlowEndMilestone, NewGanttRunMilestone and NewGanttRunStop to add new milestone by these bars
+: Added method SetGanttExclude to change excluded dates and modify duration or end date of all tasks
+: Now all Gantt check alerts are shown as grid time message (when set GanttCheckTime), with 1000ms timeout (set by GanttCheckTime)
+: GanttCheck now can also correct the incorrect action, not only restrict
+: Added OnCheckGantt event called for custom checking
+: Flag dates now don't need to be sorted upstairs
+: Gantt chart supports server paging and child paging, but dependencies must not be linked between the pages.
+: Gantt chart is much faster in client paging.
+: Added GanttFormatWidth attribute to speed up Gantt chart in client paging
+: Added attributes GanttNewStart and GanttNewEnd to round dates of newly created bars to these dates, for example to start all bars at 8:00 and end at 17:00 when units are days.
B: Correct related dependencies menu item did not work
+: GanttBackground is now also printed to PDF
+: To GanttEditPoint added value 2 to not delete the point, but can edit it
+: Added method RefreshGanttSlack recalculate Slack and show critical path
B: Custom point icons were not shown correctly
+: Added value 2 to show parameter in RefreshGanttDependencies to recalculate them completely
B: For two dependencies between two tasks (ss+ff) was not possible to delete the second dependency by ctrl+click
+: Added attribute GanttHeaderIdX to display the Gantt caption line in another Header row than the main row
+: Added API event OnGetGanttHeader to generate Gantt caption items dynamically by script
+: Added attribute GanttHeaderHeightX to specify height of the header line when it is multiline or styled
+: Added GanttBackground item 3 to use exact GanttBack CSS class for given background date(s)
B: Corrected saving actual zoom and scroll to cookies
+: ganttpercent function now calculates also Flow bars, if set GanttFlowComplete
+: added ganttstart and ganttend to calculate min start and max end of task children, for main bars, milestones and Flow with FlowComplete
B: Corrected various problems with negative numbers in number Gantt chart.
+: GanttSummary tasks now check all dependencies when moving
B: Resource chart was not shown for tasks with different Def than 'R'
B: Dependencies were not correctly updated when defined only Ancestors and not Descendants column
B: Corrected exact positions of Milestone, Flags and Points icons in chart, especially while dragging.
B: From not editable Flow and Run bar was not possible to drag dependency, if it was permitted.
B: Constraint under Milestone and Point could be accessed
B: Summary task could be deleted from menu
B: Resources chart for Run could be incorrectly calculated
+: ganttresourceextra method now returns all not assigned extra prices when called without resource name
B: Renaming resource in Resource grid did not update the source grid correctly
B: sum method applied to GanttFlow ignored GanttEndLast setting when merging bars
+: GanttChartResouce chart now supports three charts set by GanttChartResourceType - availability, usage and errors
!: MaxCount attribute of the resource renamed to Availability.
+: Resource Availability supports defining (repeated) date ranges with different count of the resource
!: Renamed also GanttResourcesMaxCount to GanttResourcesAvailability
+: Added new resource type as material (set by new resource attribute Type=2) - for consumed resources
!: Actions DragGantt were split to individual object actions like MoveGanttMain, CreateGanttFlow or ResizeGanttRun
!: The extra price for given resource was changed to extra resource units value
!: ganttresourceextra formula was deleted, because the extra price for the resource does not exist
+: Added ganttresourcesextra to return sum of all extra tasks prices in project
C: Gantt is now not editable when set Editing=0
+: There are predefined GanttMark classes to mark date or show inactive box on different vertical positions
C: The MoveGantt... actions can be now attached to different drag event than ResizeGantt... actions
!: Removed GanttInclude
+: GanttExclude now supports third parameter to mark the range as include instead of excluded or to color it by specified background color
+: GanttExclude, GanttBackground and resource Availability now can limit repeating date range only to given range
B: Header in Standard style were broken down in Firefox when zoomed out (meant the Firefox page zoom).

Grid
+: TreeGrid is now compatible with touch screen iPad. Added "mouse" events related to count of fingers on touch pad. Scrollbars are shown now also on iPad.
+: Some CSS attributes have different version with "Touch" suffix used on iPad (row height, space margin, scrollbars). Drag sizes in <Actions> are now different with Touch suffix too.
+: Added Scroll action to scroll grid by mouse dragging or finger moving on pad. Added action ScrollPager to scroll pager on iPad. Added ActionScroll to control the scrolling behavior by users on iPad.
+: Added attributes CustomScroll, CustomHScroll, TouchScroll to control the custom scrollbars, added RoundVScroll attribute to set step for scrolling
+: Added <Cfg> SafeCSS attribute to modify CSS styles to be "fool proof", to not be affected by any external CSS settings except !important usage.
+: The SafeCSS is automatically set on if there is some external setting that affect base tag size: padding, border, margin and display.
+: TreeGrid is now compatible with Microsoft SharePoint for Internet Sites 2010
+: Added ColPaging - client paging in variable columns, attributes <Cfg ColPaging, ColPageMin, ColPageLength MaxColPages/>, columns are displayed on demand on horizontal scroll
+: The columns pages can be also added dynamically by AddColPage
+: All the paging types were synchronized, now the Paging, ChildPaging, ChildParts and ColPaging support three basic modes, 0 - off, 1 - render on start with progress dialog, 2 - render on demand
!: Now the default action for Repaint button on toolbar is RenderPages to switch between 1 / 2 for Paging/ChildParts/ColPaging and render all the pages for 1 and remove unused pages for 2
+: Now server child paging (ChildPaging=3) supports also expanded rows, the children are loaded on scroll, like with ChildParts.
+: All the client pages (Paging, ColPaging, ChildParts) can be also removed automatically to speed the grid, the limits are set by attributes MaxPages, MaxChildParts, MaxColPages.
!: ChildParts value 1 (render on demand) was changed to 2 and 1 now means render on start with progress dialog
!: Now there can be more sections in ColNames when used ColPaging
+: Added column tree - Expand type button or icon, to expand / collapse given columns or even rows. The state can be also saved to cookies. Available also API for column tree.
+: Added GroupTree and GroupTreeCol attributes to show grouping tree independently in the grouped columns instead of one main column
+: Updated RowSpan and col Span, now they are fully compatible with all grid features, like sort, filter, group, print, export, row adding/moving/deleting, column hiding/showing/moving and so on.
+: Added DynamicSpan - functions for dynamic spanning selected ranges of cells and splitting spanned cells like in Excel - SpanRange and SplitSpanned and actions SpanSelected, SplitSelected and SplitCell.
+: The changes in Span and RowSpan can be uploaded to server, added items Upload_Type='Span' and Upload_Flags='Spanned'
B: Actual time in empty calendar were shifted by timezone for GMT = 1
B: Menu in IE quirks displayed vertical scrollbar incorrectly.
B: Disabled page tag was not resized on browser window resize and also ignored window scroll
C: Now the message position and disabled grid tag are updated on window resize and scroll
B: When run page locally in IE8 in new tab and MaxHeight was set, the browser froze.
!: Cookie format from version 4.x is not supported now and the stored config in old format is cleared.
C: Columns are stored to cookies in different shorter format and better preserve their position when new columns are added. Reading the old columns configuration was moved to CfgOld module.
C: Hiding and showing columns was updated, now there is no rerender when hiding/showing section. Now can be hidden also all variable columns.
+: Updated AddCol method to add new column with more presets
+: The <Cfg> tag can be set replaced by <Config> tag, to avoid problems in ColdFusion
+: Added attributes ScrollColOnDrag / ScrollOnDrag to set the step or disable scrolling on dragging above left or right / top or bottom edge of the section.
+: Added API method GetSelRanges to get all ranges of selected cells
+: Updated ConstWidth attribute, added possibilities to resize grid to show at least specified width or icons on toolbar
B: Corrected behavior of MaxHScroll and MaxVScroll
C: On start, before loaded styles, it shows messages in Modern style. First message is set to "Initializing ..." and can be changed by <bdo Text_Start>
+: Added action DebugUndo to get a list of all actions done since the last clearing undo to simulate some bug.
!: Now on loading rows are first grouped and next filtered
B: Related enums did not work correctly for range cells
+: Calculated cell attribute can be now set also in <C> tag
+: Added <IO> HtmlMessage and HtmlMessageTime to display server message in grid, for given time or with OK button
+: Added <Cfg> ValidateMessage and ValidateMessageTime to display Validate alert as message in grid, for given time or with OK button
+: Added cell attribute ResultMessage and ResultMessage time to display error for ResultMask as message in grid, for given time or with OK button
+: Added method ShowMessageTime to display grid modal message with timeout and custom buttons
B: When set Validate and AutoUpdate, the added rows were uploaded without validating
+: Added attribute DefaultsAlphabetMin to display letters with only few items not grouped
+: Added attribute EmptyIcon for Button type radio it used along with EmptyValue
C: In edit mode the value is aligned the same as the cell Align
+: Added actions ChangeRadioLeftCycle and ChangeRadioRightCycle to cycle the Radio type cell selection
B: Radio type did not work correctly for Range and Related settings together
B: Corrected few problems in parsing JavaScript code in Action definition
B: ColResizing=0 did not disable resizing cursor above header edges
C: Now color parts defined by numbers (e.g. 100,100,100) are rounded to 255 if they are higher
!: Using OnGetHtmlValue now does not change cell class to GxHtml, but preserves the original cell type class
C: Img type had problems with HtmlPrefix and HtmlPostfix - displayed them on different lines
B: Abs type did not show correctly in RowSpan cell
+: Added attribute PopupIcon to Button type menu, to control when the popup icon will be shown when defined List attribute
+: Added attribute Height to specify height of Space cell, usable especially to higher icon in Icon attribute
B: Layout was slightly broken if grid contained hidden Space row
+: Updated <Toolbar> attribute Style, added value 2 to show the Styles as popup menu, to save toolbar space
C: TabSep Button type was updated to be widely usable
+: Added Space row NoData that is shown when grid contain no visible variable rows
+: MergeEditFormat now can contain less columns and in different order than Merge
B: OnRightClick actions were called in IE also when finished dragging by right mouse button
+: Added OnDrop mouse XML event called when successfully finished dragging
B: Hint was shown incorrectly for cells with left icon
B: <MenuCfg> boolean attributes to hide individual item did not work
+: Align and MaxHeight attributes now work also with Rotate
B: ClassInnerIcon did not work for custom icons
B: In IE were sometimes ignored settings for custom CSS classes defined in <head> tag in <style>
B: Changing Text value from 09 to 9 or similarly was ignored
+: Added Owner property to TMenuItem, pointer to owner TMenu object
B: AutoVersion for changed column width did not clear the cfg
B: Root.CDef was not updated correctly in grouped grid in server paging
B: Adding rows to master grid by server changes when the parent was displayed in detail grid was very slow.
!: Found XML limitation in Firefox, one row (<I> tag attributes) must not be longer than 512kB
!: Default Toolbar row now don't have preset CanEdit='0' and CanFocus='0'
B: While resizing column in one grid moved cursor to another grid caused JS error or resizing column with the same name.
C: Now it is not possible to place main column to grouping twice
B: JS error when active page was deleted due grouping change in AllPages=0
B: Too many actions in undo caused undoing all the actions, not only the first one
B: Date type did not accept only day numbers
+: Added Space row type Topbar for toolbar shown in grid top
B: When adding new row from server, setting its Visible='1' attribute caused the row to be hidden
B: Deleted row when uploading with Upload_Attrs and DTD format caused invalid XML
B: Debug='cookie' did not show the cookie correctly with Gantt
+: Added <Format> attribute FirstWeekYearDay to support standard ISO/European numbering weeks in year.
B: HideAll button in menu columns did not check all columns on second click
C: Now the attribute names in XML can contain any characters except white space and characters ='"<>/
+: Added new TreeGrid style "Query", useful for integrating TreeGrid with jQuery styled pages
B: Enum and EnumKey did not accept "length" item
B: The simple pager had reversed icons in RTL
+: Added char '8' to Int/Float format to display only some digits from number
+: Added API methods GetBodyScrollWidth and GetBodyScrollHeight to get the whole grid inner area
+: Icon and Button attribute are now fully supported also in Header, Sort can be now displayed also left side as Icon or as the second right icon
+: The created MaxChildren nodes are now preset with Def='CPage'
B: Rows loaded slowly for bigger grids due unwanted testing existing ids, now this behavior is removed
C: When page downloaded in server paging has no identification set, it is used anyway
+: Added column attribute Prepared to speed up updating values for columns that don't need the updates
+: Update Pages type cell (list of pages), added attribute Count, Step and Step2 to display only some page links. Also added event OnGetPageNumber to modify the link display.
B: EditServer attribute did not work correctly
+: Data for downloaded child page are now filtered according to the actual filter settings.
B: Corrected problems with grouping in with OnePage settings
+: Added value 2 to CanFocus to let the cell to focus by mouse click, but not accessible by arrow keys
B: Copying row tree was slow
B: ExpandAll did not call OnExpand event
B: In Spanned cell was not visible right button when the last spanned column was hidden
+: Added informational alert for Opera and Chrome, because these browsers cannot run TreeGrid locally.
!: Now for Result -2 to -9 in save response is shown alert error.
B: Tip was shown above dialog if the tip was already in state to show, but not displayed yet
+: Calendar now displays week numbers
+: Calendar has a button to choose empty date
B: Negative numbers rounded to zero were shown with minus
+: Added event OnChangeDef called before row's default was changed
+: Added Static prefix to data source to cache the data source, it is used by default for Defaults.xml and Text.xml
B: Filters did not correctly differ between empty value to filter in range cell
+: Added API method ShowPopupGrid to create and show new temporary grid as custom dialog
+: Added Dates type Button to show popup new grid as dialog for editing repeating dates in format repeat#date~date#value;repeat#...
+: Added "key" prefixes to mouse event names "Right" and "Middle" to distinguish the mouse button used
B: Pager cursor was incorrectly positioned in some styles
+: Added new buttons to toolbar for ActionIndent and ActionOutdent. The actions were also corrected.
B: Pager was incorrectly resized when it was too small
C: OnResizeMain is now called also when main tag is resized due NoVScroll / NoHScroll / MaxVScroll / MaxHScroll settings
B: Number FilterValue was caused JS error in Search
+: Added new Space Kinds: Toolbar1, Toolbar2, Topbar, Topbar1, Topbar2 just as differently styled toolbar. It is possible also to set them to <Toolbar Kind/>
+: TreeGrid menus (including defaults or enum) now support searching item by pressing key, like standard <select> tag.
+: Menu item with name " " (one space) had wrong (small) height
B: In IE6 in more columns menu were the checkboxes inactive
+: Search supports more actions at once, e.g. "Select,Find" to select rows and also focus the first one.
+: PersistentCfg now save configuration to localStorage, if available
+: Added column attribute VarHeight to shrink the row height after column resize to correspond with the cell content
+: The prefixes (AR,GR,CR) for automatically generated ids can be predefined by attributes AutoIdPrefix, GroupIdPrefix, ChildIdPrefix
+: In AutoUpdate were ignore UploadType and UploadFlags
C: The _tgc attribute added due cache to HTTP GET requests was renamed to tgc, to not conflict with some web servers
B: ExportType were not uploaded in server Export request
C: Defaults dialog in filter now use its CaseSensitive, LocaleCompare, WhiteChars and CharCodes attributes
+: Automatically generated Defaults dialog can be used also for Icon type
C: When moving row between grid and in the destination grid is row with the same id, the row is used only if it is deleted, otherwise there is created new row with new id.
C: Changed copying rows between grid, now it copies all row attributes, not only values. Now there is no difference between MoveRowsToGrid and CopyRows in functionality.
!: CopyRow and CopyRows functions changed their arguments and behavior
C: Rows cannot be copies by dragging when set Adding=0 or Copying=0
+: Added LoadedCount, SearchCount and FilterCount variables as the count of actually loaded rows in grid, count of found rows by search and shown rows by filter
C: Filtered setting now affects only simple filter, not search or custom filter
+: GroupWidth attribute can be set to 1 to show the column as wide as the hidden grouped columns
C: Pager can be resized also by dragging header left edge
+: Now there can be more Master grids for one Detail grid and more Detail grids for one Master. Added MasterDef detail attribute to show only rows with given Def attribute in the detail.
+: In Master / detail tree now some rows can be shown only in master tree and other in detail grid, by MasterDef attribute.
+: Added API method LoadPage to load page or children from server
C: OnRenderStart and OnRenderFinish are called also during RenderPrint
+: Added event OnRowAdded called after the row is added or copies and displayed
+: GetRowById now can search row by any attribute value, not only id
!: NoScrollAfterExpand is now by default true
+: Added method SetNoTreeLines to set NoTreeLines value and refresh the tree
+: Added search attributes SearchWhiteChars, SearchCharCodes, SearchNumbers to control the search inputs
!: For SearchMethod=2 now search removes all function calls from the search expression, to avoid security hole. Added SearchMethod=4 to use also function calls, it is not automatically chosen.
+: Added attribute RawSort to sort by unformatted value or by position in Enum/EnumKeys
+: Added events OnUndo and OnRedo called on every undo and redo action
+: Added method CustomUndo to add one custom undo action. Added methods StartUndo and EndUndo to join the undo actions to block to be undone at once
!: Children of default row can be now only one level. The next levels can be done by assigning different default row with children to the child rows. When the children are used controls AddDefChildren attribute of the default row.
!: Formula from column is now run also in Calculated row when it does not have define CalcOrder.
+: OnRowMoveToGrid now can change copy value in return value and can cause to remove the source row
B: % and , in EditFormat did not work correctly
B: In IE8 strict mode grid consumed processor time even with no activity
B: CopyCols='0' did not work
B: Popup Menu was displaced when body was scrolled
B: Scrollbars were not visible in Firefox when zoomed out.
!: Reload() called without id uses actual id also for new grid, Reload() called with empty id uses id from new grid XML
+: Displayed busy icon when loading children of row being expanded
C: Now does not remove collapsed rows (RemoveCollapsed='3') if some row is modified and not saved
B: Space rows with RelWidth were not correctly printed
+: Added attribute AllCols to let redefine column position in next XML

6.7.18
B: The constraints were hidden by defaults by setting in Defaults.xml GanttShowConstraints='0'
B: Gantt menu did not offer items for adding new constraints

6.7.17
B: Zoom + page refresh in Firefox hid TreeGrid scrollbars
B: Resizing column below MinWidth did not save the new width to cookies
B: JSON format in 6.7.16 threw JS exception in Firefox

6.7.16
+: Added GanttUseConstraints attribute to control what will be affected by constraints
+: Added GanttShowConstraints attribute to temporary hide constraints icons
B: Some Gantt code was not excluded when removed Gantt module, about 10kB

!: In JSON the tags <Cols>,<LeftCols>,<RightCols>,<Def> and <DefCols> are now accepted and also uploaded as array of unnamed objects to preserve their position
+: Added ExportStyle attribute to set cell CSS style in exported table (e.g. color, alignment, ...)
B: Sorting with client paging in grid scrolled left broke down the layout in IE
B: Excluding Cursor module caused JS error in IE
B: Printing hidden (filtered) rows could lead to broken print layout
B: Printing all rows expanded ignored CanExpand setting, now the CanExpand=0 children are not printed
B: In Chrome date values in XML set in format d.M.yyyy were incorrectly interpreted
B: Alternate color could slow down loading pages, because of recoloring whole grid
B: Function AddCol did not update icons for Filter and Header
!: Now by default are the dragged selected rows moved in the same order, not the one dragged row first. For old behavior set <Cfg DragSelectedFirst="1"/>
B: API method GetCfgRequest did not work
B: RepeatText and RepeatError texts were not loaded from Text.xml
B: In Firefox did not show popup menu for copy & paste on right click while editing
B: Export did not export in RTL when in RTL mode
B: In Hirji/RTL did not work editing correctly without specified EditFormat
B: Sometimes was script frozen when selecting cells within spanned rows by mouse dragging
B: Broken layout of Print/Export dialog when only one option was shown

6.7.14
B: Calendar set actual time for date without time, if DefaultDate was not set
B: When set Paging=1 and loading all pages, it was needed to click the "render on background" button twice to stop

6.7
Gantt
+: Added GanttSummary to permit editable summary tasks, including dependencies and date constraints
C: Now deleted rows are not used in dependency and critical path calculations
+: Added GanttDeleteDependencies attribute to delete all task dependencies when row is deleted
B: ganttrunmaxstart/end function returned 0 when all dates are empty, now return empty string
B: GanttPrice was sometimes not recalculated correctly, e.g. in Undo / Redo
C: Now editing Ancestors also checks circular dependencies
+: Added event OnCorrectDependencies to control the correcting dependencies routine
B: Menu items for constraints change were shown even if the appropriate columns were not defined
B: For empty grid without rows and GanttBase or GanttFinish defined was disabled exclude on start
+: Added method IncGanttDate to increase a date by given count of units in workdays
+: Added value 3 for GanttCorrectDependencies as "alert" - alert the circular dependency and restrict it

Grid
+: Added options for printing to PDF, <treegrid> data source ExportPDF
+: Added options to menus for printing and export, these options are also saved to cookies
+: Added function PrintTreeGrid to render the whole grid synchronously for printing, including server paging, usable for printing to PDF
+: Server export request can contain any XML data like Upload_Type
+: The DefaultDate is used also input date / time in cell, it gets all missing parts in input from the DefaultDate
+: The custom filters set by SetFilter can be saved to cookies when set SaveFilters
+: The <Changes> tag is also accepted on loading grid (but only already loaded rows can be changed)
+: The <Filters> tag is accepted in input data
+: The ShowColumns API method can now show also custom menu options
+: Added Expanded attribute to download / upload all actually expanded rows, works also in server paging
C: Updated scrolling and row identification without mouse moving (on wheel or any change in grid)
B: Pager edit box (pages count) was not refreshed after filter
B: Height of spanned row (RowSpan) was incorrectly calculated in IE8 strict
B: RowSpan did not work for fixed rows
B: RowSpan did not work for adjacent spanned rows
B: ReloadBody did not work with Gantt chart
B: RefreshCell broke down layout when added or deleted Button attribute
B: Deleting and hiding the last row let the row focused, so next pressing del undeleted this row
B: Sorting with server paging in grid scrolled left broke down the layout in IE
B: Default values for Int, Float and Date types were ignored
B: rows with CanPrint=1 were ignored when printed page breaks
B: In some cases without fixed rows and global CalcOrder the calculations went wrong
B: Showing detail grid, if it was not yet rendered caused JS error
B: Active row (ARow) in master grid was accidentally cleared when showing detail row
B: Printing round corners did not work correctly
!: Now the group rows are generated with "GR" id, instead of "AR" id and are the same for the same grouping
C: Global menus and dialogs shown by ShowMenu/ShowPopup/ShowCalendar now use the last style selected in grid (if any), instead of modern (that was usually not loaded)
+: Added CancelUnchanged attribute - if string in inplace input is not changed by a user and is accepted, the editing is canceled and the old value is left unchanged
+: Added attribute PageWindowAdd to load or render pages sooner than they are shown
B: Row with id="0" was ignored in server child paging
B: When accept editing was canceled, the alerts were displayed more times when pressing tab or clicking to another cell
+: Added action FocusEdit to focus and actual cell according InEditMode settings
B: Grid did not work correctly in IE8 when set <xmeta http-equiv="X-UA-Compatible" content="IE=7" />
B: AutoVersion cleared configuration even if it was not changed in some cases on reload
C: Hint is not shown for focused cell in edit mode
B: Upload_Attrs could set the attribute twice, if was used for not calculated column name in Added row
B: Resizing column did not work in Opera 10.60

6.6.8
C: Updated behavior for input in GanttStart/End/Duration to calculate the other two cells accordingly, especially for empty cells
B: When defined only GanttAncestors column, it was not correctly updated after some changes in dependencies in chart
+: Added optional button Yesterday to calendar buttons
+: Added OnButtonClick event to calendar to be called after a calendar button was clicked
!: Default value of GMT attribute in TG library was changed to 1, it affects formatting dates when no grid is loaded
B: In menu the item value "0.0" was shown as empty
B: In upload cfg, the SearchCaseSensivite and SearchCells could be uploaded as "undefined" when were not set
C: The upload JSON format is now valid JSON with all attributes and names in ""
B: CharCodes were not used for sorting in Defaults and Suggest lists
B: In FF2, in Gantt chart did not work focus
B: JS error when moved master row (shown in detail grid) inside grid
B: Action Indent caused JS error when the new parent was not expanded
B: IE6 strict mode - right pager was not overflowed correctly when page names were too wide
B: IE6 strict mode - right pager did not work correctly after changing style
B: IE6 strict mode - Styles with round corners did not work
C: With GanttAllDependencies='1' now are not shown the dependencies to deleted rows, when set ShowDeleted='0'
C: Dependency type (ss,sf,fs,ff) is now case insensitive
B: Dependency was not correctly restored after row delete + undo / redo
B: Creating new main bar could accidentally resize flow if it was below

6.6
Gantt
+: Added Critical path and task slack calculation and display
+: Added GanttFinish date for calculating critical path
+: GanttBase and GanttFinish date can be added, deleted or moved by mouse in the chart
B: Could not edit dependency lag or delete the dependency when two dependencies (ss+ff) were between the same task
!: Now the dependencies are calculate also for hidden tasks by default due setting <C GanttAllDependencies='1'/>
!: The resources chart now shows resource usage only for visible not filtered tasks
!: Added attribute GanttConstraintsAll, for default value 0 are constraints applied only for GanttObject objects
B: ganttpercent returned empty string also instead of 0
B: GanttMark was shown incorrectly for zooming without changing zoom level
B: GanttRun for units months and years were incorrectly rounded and sometimes cannot be created by dragging
B: Corrected problems when milestone defined only by end date, especially when set GanttEndLast
B: Unwanted recalculating chart after change when applied GanttChartMinStart and other 3 bounds
C: After editing flow when it is not GanttObject, the dependencies are not corrected
C: Milestone now has different color according to its completion 0/100%
B: Dragging run when defined constraints was incorrect
+: New option to menu, add milestone to selected point
C: NewFlag action now does not prompt the flag text when no GanttFlagTexts attribute is defined
C: When GanttFlagTexts is not defined, no tooltip for flag is shown
B: Entering StartDate to excluded date could result to wrong alerts
B: Gantt cfg attributes was ignored in AutoVersion
B: Exclude units could not be less than data units when set data units by number
B: Data modifiers in duration caused problems for calculating resource prices
B: For GanttRunSave>1 the dates are now always saved as strings, even for DateStrings='1'

Grid
+: Added input / output JSON format as alternative to XML
+: Added Data source Script suffix to load data from global JavaScript variable
+: Added API methods SetFilter and FilterDateRange to define more independent filters
B: ConstWidth column was shown in print and export columns menu
B: Row cursor was shorter when ConstWidth column was defined and hidden
+: Added Rotate attribute to rotate text for 90 and 270 degrees, especially in header
B: Resizing grid above other grid did not work
B: Hint was shown incorrectly for cells with vertical-align
B: ChildParts were not shown after switching to another page in mode AllPages='0', scroll was needed
B: <Cfg MaxHeight did not work when on page was another grid without this setting
+: EditFormat is now supported also for Hirji dates
B: In uploading <Body> was sometimes the XML invalid due setting attribute named "CalcOrder*"
B: ChildParts were not shown correctly in Firefox when row id contained not alphanumeric characters
B: In Safari/Chrome click to pager threw JS error when some row was focused
B: In RTL the Calendar buttons for changing year in the second page were swop
B: In columns menu columns with the same names different only by case were inactive
B: ChildParts were not shown automatically when collapsed previous row
C: SafariCursors renamed to BorderCursors, now also Opera does not show the cursor borders by default
!: Now the actions have not escaped the backslashes, to change it set <Cfg NoActionEscape='0'/>
B: <Cfg Focused/> did not work for number ids when used paging

6.5.7
B: ZoomToFitAll did not work correctly
B: Changing Resource row could disable exclude in some cases

B: JS error when all left or right columns was hidden on start
B: In RTL vertical lines between column sections was hidden

6.5
Gantt
+: Added attribute GanttEditStartMove to specify if editing task Start date will resize or move the task
B: Resources menu was not correctly displayed in RTL
C: Checking Gantt attributes is applied also when pasting values from clipboard
B: Action ZoomFitToAll did not work correctly when there were many rows in grid and the zoom was run asynchronously
B: Resources usage calculation froze for rows without tasks
B: Copying tasks did not update dependencies correctly
+: For Upload_Type='settings,gantt' uploads also all Gantt configuration settings like Zoom
B: In IE quirks was slightly broken layout while dragging dependency
+: Added attribute GanttMoveChildren to let move group tasks and add dependency for them
B: Rounding in Months units was incorrect and caused various problems.
!: ganttrunmaxend and ganttrunminstart now return empty string instead of 0 when no data are available
B: Dragging was not working when turned off item "Show dragged object"

Grid
+: Added scrolling for all three column sections, updated appropriately all the scrolling attributes
B: TreeGrid code was cleaned, all unexpected usage of global variables was corrected
!: Now the Editing attribute does not affect also Toolbar and Tabber rows (like for Filter,Search and Group rows)
B: When ResultMask validation failed, in some there were more alerts displayed
B: EditEnum was reported as unknown in debug check
B: ShowPopup method did not work with empty func parameter
B: In some browsers like Opera or FF on Mac did not work repeating when held down key (especially in moving focused cell cursor)
B: OnMouseMove event did not work
B: Expanding row in master grid with server paging caused inactive rows in some cases
B: In frame in IE8 strict and Sync='1' was not the CSS styles loaded correctly
B: Message "Filtering rows" was not shown in server paging in some cases
B: JS error in ungrouping by last column in fixed columns section in some cases
B: JS error when expanding all rows in server paging in some cases
B: Undo / Redo did not recalculate related rows after row delete
C: Group and Sort settings were trimmed to 50 characters, now they are not.
B: Message dialog was incorrectly positioned in IE8 strict
B: Grid disable tag was incorrectly positioned in IE8 strict
B: When uploaded all rows in XML, the row id attribute was doubled in some browsers
+: Added MaxEditHeight for multiline cells, to specify different height while editing
B: PagerMinWidth was ignored when resizing pager by a user
B: SuppressMessage was not set to 0 by default when grid created by API, therefore some messages were not displayed
B: Pager produced small visual problems in IE quirks
B: Edit input content was shifted for one pixel in some browsers
+: Added new flags to SuggestType: Esc,Arrows for suggest in individual lines in multiline editing
B: Link type was inactive in main column
B: Copy&Paste with SelectigCells='1' was not working
B: SuggestType='Start' did not work for numbers or dates
B: Radio did not work correctly in IE8 strict
B: In Opera the bottom half of toolbar was inactive when set ResizingMain

+: New compiler for GridE.js file, the file is about 100kB smaller and decompression is about 30% faster

6.4
Gantt
+: Updated Resources, added global resources list, resources allocation and task price calculation and resource allocation chart
+: Added automatically generated Resources usage chart from another Gantt chart, it is set by <Cfg GanttResourcesMaster/>
+: Added Gantt Points object to represent more movable points in one line
+: Added GanttFlowComplete to specify completion of flow - in this case it replaces main bar and behaves and not continuous main bar
+: GanttUnits / GanttDataUnits now can be also numeric to use integer or float units instead of dates. Including negative numbers.
+: Header now can display formatted numbers, not only dates
+: GanttBaseProof attribute, when set, nothing can be moved or created before baseline date
!: Added GanttBasePreferred, to specify what will be preferred when baseline conflicts with task constraints.
B: Changing or deleting constraint did not update dependencies automatically
B: Constraint icons were not reversed in RTL mode
C: Mandatory constraint now shows different tip than Early/Late constraint
C: GanttDependencyObjects was renamed to GanttObject and was extended also for resources and format
+: Gantt chart now can be shown also in Fixed rows, but without dependency lines
+: Added GanttMainTip, GanttMilestoneTip, GanttRunTip, GanttFlowTip, GanttFlagsTip, GanttConstraintsTip to display specific tip for the object, including any value from the row
+: Added OnGanttTip event to modify the Gantt tip before is shown
+: Added GanttFormat to display any text next to the task, including any row cell values. Formerly there were displayed only resources.
B: Flag was incorrectly shifted while dragging
+: Zoom levels can be also entered in XML structure (not only in JSON) in root tag <Zoom>, subtags <Z>
+: Added GanttChartMinStart/MaxStart/MinEnd/MaxEnd to replace GanttMin/Max. Specify all four constraints for the whole chart
!: ganttpercent formula now does not round the result by default
+: Added API method DiffGanttDate to return count of units between two dates
!: GanttChartRound default value is empty, not minutes
+: Added shift part to GanttHeaderX to shift the header for given count of units (even negative or floating point)
B: Menu item Edit Gantt percent shown also for milestone
B: Unzoom by right did not work when not set any zoom level
B: GanttZoom change did not clear unused headers
B: ZoomFit did not work correctly in some cases

Grid
!: Now the old configuration in cookies is deleted whenever XML layout changes (only the attributes saved to cookies). Caused by attribute AutoVersion='1', it generates Version value automatically.
+: Added Type='Chart' space cell to display Line charts or XY points charts from TreeGrid sources. Available also standalone version for showing charts without TreeGrid script.
+: Saving changes in order they were done (attribute SaveOrder='1')
+: Now is possible to create more group levels according to one column by specifying GroupChar attribute
+: Added OnCreateGroup and OnRemoveGroup events called while grouping
+: Added GroupChangeMoved attribute to change grouped column values in child when the group or child is moved to another group.
+: ChangeDef and SetAttribute API methods can update Undo (=> can be undone)
+: Added API methods StartUpdate and EndUpdate to disable grid while updating more rows
+: Added SuggestSeparator to let suggest values for individual part of value like in MS Outlook address
C: Now cannot be dragged or added children to data rows in plain grouped grid
!: Added GroupMoveFree attribute, when set to 0, the rows cannot be moved to group in another level (grouped by another column). When set to 2, the rows can be dragged also as children of data row in grouped plain grid.
+: Added MergeFormat, MergeEditFormat and OnMergeChanged to specify how the cells will be merged into one cells.
!: In merged cells are used now also HtmlPrefix, HtmlPostfix and ClassInner for the individual items
!: EmptyValue for Text column is now tested and applied before formatting
+: Added attribute AddFocusCol to always focus this column in added row
+: Added API event OnRowCopyId called when creating id for copied row
B: Refreshing hidden spanned cell sometimes showed the value in the next cell
+: Added events OnGetRowText, OnPasteRow and OnPasteRowFinish to control copying and pasting of individual rows
!: OnRowCopy is now called also when pasted new rows if CopyPasteRows='1'
+: Added <treegrid> attribute Hidden to not render the grid and use it only as invisible data source
C: Updated pasting to better handle pasting new rows by ids
C: In Text type and NoFormatEscape the Format replace string is not escaped too
+: Added MenuItem OnClick event called when the item is clicked
C: Input XML is checked for unexpected nested tags
B: Tab in edit mode on the end of page continued outside grid
B: Tab in Enum and Suggest dialogs did not save the change
C: Deleted rows are not copied to clipboard when set CopyPasteRows and not set CopyDeleted
C: Deleted rows are not copied when not set CopyDeleted
+: Added one new grid style
C: Now the grid style has not set TITLE attribute to cause problems in Firefox when set another preferred style with TITLE
B: Undo/Redo buttons were sometimes not update after undo/redo
+: Added <Cfg MenuColumnsSort/> to show the columns in menu sorted according to alphabet, not by position
B: After undo some changes were not recalculated
B: Resize of main column with HideRootTree broke layout
B: RowCount was incorrectly calculated, contained also fixed rows
+: Added SortIcons to Header row to hide all or not sorted sorting icons
B: Using keyword "else" in action code cause JS error
C: Tip for cell is not shown when it is edited
B: Hidding/showing columns in IE and FastColumns and in some page layouts added one empty line above grid
B: SortIcons were not set via configuration menu
B: ExpandAll and CollapseAll ignored CanExpand attribute
B: GroupWidth was saved to cookies instead of Width when it was applied
B: MaxGroupLength attribute did not set ids for the next groups and these groups were inactive
C: Delete selected row is not faster
B: Menu with more columns was not displayed RTL in RTL mode
B: Copying rows when set IdNames caused the copies inactive
!: Entering incorrect number value like '-' or '.' will set the value to 0, not to NaN
C: Now the related enums in filter are cleared even when set Refresh instead of Clear to not confuse users showing not filtered values
B: JS error when row id contained apostrophe in some cases
+: Added cell Undo attribute to specify if the changes in the cell can be undone
B: In IE quirks caused absolute cursor shifting page for 1 pixel down for a moment during rendering. Also some dialogs did it.
B: JS error when <Par> list contained ending comma
B: <C Buttons> attribute was ignored
C: Custom panel buttons can contain button named "Empty" to reserve space
B: Tab in the last cell in the last row in paging grid caused JS error
!: Standard Panel buttons in custom Panel are now not affected by the Select,Delete,Copy,Move attribute.
B: In frame in IE and Sync='1' was not the CSS styles loaded correctly
B: In frame in IE was added new empty line above page
!: MaxHeight now does not test parent tags <table> to be MaxHeightParent, event if the <table> has set height attribute
B: In IE the newly added rows have number cell values (if any) slightly shifted to the right
C: Now the space and fixed cells are clickable also directly after render, without mouse move
B: Redo of deleted rows did not work in some cases
B: Actually edited value in submenu was not saved when user clicked to parent menu ok
B: Focus cursor was sometimes incorrectly positioned after filtering
B: Prompt dialog did not cancel enter and key event and they can bubble to grid
B: Ungrouping without MainCol did not update row.Level and could cause problems in filtering

6.3.15
B: Milestone and constraint complained to be on holidays when was on the edge after
B: Some TEvent properties were not accessible

6.3.14
Gantt
B: Gantt with Exclude was slowly started for wide Gantts, sometimes generated slow script alert
B: Changing task start to holidays and next correction did not show the change in the cell
B: Correcting dependencies with GanttEndLast='1' caused errors in some zoom levels, because used GanttUnits instead of GanttDataUnits
B: GanttMark was ignored

Grid
B: When used the same format for part 0 and other format, for 0 value it shown JS error
B: API changes in Page_Url were ignored when used * in page url for replacing the page position
B: Changes in url parameters done in OnDataSend were ignored
B: EditEnum was ignored
B: For not editable cell with side button were not correctly returned Side and Content targets
B: Related enum with not set value was not correctly cleared
B: When set MenuColumnsCount and the section has less columns than the count, JS error thrown
B: ReloadPage did not clear the children ids and caused duplicate ids problems
B: JS error when moving expanded and collapsed parent when set RemoveCollapsed
B: When moving row with children and set HideRootTree, the tree was incorrectly updated
B: RTL - size of RelWidth cell was incorrectly calculated

6.3.13.
B: Calendar showed incorrect dates in some timezones

6.3
Gantt
+: Rewritten algorithm for correcting dependencies
+: Dependencies can be now set as previous (GanttAncestors) or next (GanttDescendants) or both (mirrored)
+: Automatic correcting dependencies after any user change in Gantt chart
+: Checking circular dependencies
+: Dependencies can be now attached to main bar, flow and run, it can be set by GanttDependencyObjects
+: Added dependency span - the constraint of possible span between dependency start+lag and end. Usual values are 0 (no span), and empty (unlimited span).
C: Dependency lags and types are now set directly in dependency cell as "idtype+/-lag!span", for example 10fs+3!0. Deleted DependencyLags and DependencyTypes attributes.
C: Now there can be defined two dependencies ss and ff between two tasks
+: Added GanttExclude and GanttInclude to exclude holidays or any other dates or date ranges. The holidays can be also hidden in the chart.
+: Added date constraints GanttMinStart, GanttMaxStart, GanttMinEnd and GanttMaxEnd. The task can be moved or resized within their constraints.
+: The constraints icons are shown in chart and can be added, deleted, changed and moved by a user in the Gantt chart.
+: Added GanttBase and GanttStrict to specify project baseline date. Changing GanttBase can move the whole chart or update only incorrect dependencies.
+: Extended Gantt Zoom. Now the Gantt zoom is fully smooth, can be chosen from combo, click to in / out, or by selecting date range by mouse dragging.
+: Added ZoomFit button to choose zoom to show Gantt chart without scroll
+: Gantt chart can be zoomed also by left click to any date in header, unzoomed by right click
+: Added MaxWidth for Gantt column to specify maximal width when zooming, large zooms are trimmed
+: Added checking inputs in Gantt source columns, e.g. to not have end<start or complete>100.
+: Added SelectGanttResources type to add combo to filter grid by GanttResources
+: GanttEdit controls Dependency lags and types separately, because now are all values in one column
+: Added GanttOrder to specify order of rendering of Gantt objects inside cell
+: GanttEndLast to choose if the end dates are last (data) units or the exact date
+: Now are the GanttDataUnits strictly used for computation and GanttUnits for display/zoom
+: Added GanttDataModifiers to specify modifiers of units to enter, e.g. 1d = 8h = 0.2w
+: Added new Gantt units: s,s2,s5,s10,s15,s30,m2,ms,ms10,ms100
+: Calculating Gantt chart in GMT dates (default) is not much faster
+: Added API functions GetGanttDate, GetGanttPos and GanttRoundDate for conversions between Gantt date and position in chart in pixels
C: GanttDuration and GanttEnd columns can be now defined both in one grid and every cell can use both of them (mirrored)
C: formula functions ganttduration and ganttpercent now return float
C: GanttComplete now can be float, the percent can be floating point, accepts both '.' and ',' as separator. ganttpercent formula function was changed.
B: Corrected problems in moving and showing columns when defined GanttBackground
B: Corrected problems when added GanttBackground dynamically
!: Added event target PartType=GanttHeader, formerly the GanttHeader returned Nothing. To GanttHeader are now attached zooming actions
C: Average month size was changed to 30.4375 days in Gantt chart computing (as 1461 days per 48 months (4 years))
C: MinWidth for Gantt chart is now applied to wide the date range, not to display empty space (affects especially header)
C: Maximal width of Gantt column is 178957px in IE and 23000 in Opera to avoid problems in these browsers, other browsers are not affected
!: GanttRound and GanttFlowRound are deleted and replaced by GanttUnits
C: GanttBackground now contains also repeating part, GanttBackgroundRepeat is deleted
C: GanttHeader now contains also the date format, GanttFormat is deleted
+: Upload_Type has added "Gantt" value to upload Gantt settings: GanttBase, GanttExclude, GanttInclude
+: The values of GanttCorrectDependencies, GanttCheckDependencies, GanttStrict and GanttHideExclude can be set in configuration menu
B: Scrolling in Gantt did not correctly in RTL
B: Weeks were badly repeated in Hirji
+: To date format added 'hhhh','hhhhh', 'HHHH','HHHHH','mmmm','mmmmm','ssss','sssss','DDDDDD','DDDDDDD' to hours, minutes, seconds and days as ones or tenths to display them in two lines
+: To date format added 'f' - 'fffff' as various counts of milliseconds
C: Global menu with correct all dependencies item is not displayed if GanttEdit has not set Dependency item.
C: Changes in GanttRun are not rounded now
B: GanttRun did not store custom separators when saving the run

Grid
B: Corrected inactive scrollbars in Firefox 3.6 and also other compatibility problems in FF 3.6
+: Added ScrollLeft/ScrollTop attributes to preset the scroll on start and also to store the settings to cookies. They are also sent in body request.
+: Added Disabled attribute to Button type, to display it inactive, grayed
+: To Search was added new SearchMethod=3 as exact search for the string
+: Added Undo and Redo icons to Toolbar, they are shown when <Cfg Undo='1'/>
B: Corrected error in search for search of character "
!: Color classes in CSS styles were divided to two: Color... and Class... To not override Gantt background by row state background color
C: Selecting no item in Filter Range Enum now switches off the filter regardless FilterOff value
B: Corrected automatic column scrolling behavior during column or Gantt dragging
+: Added TipPosition attribute to specify tooltip alignment and position for the cell, for example to display tooltip above the cell instead of below mouse
C: FilterTextRange now removes filter when the value to filter by is empty
C: Filling row (set by <Cfg ConstHeight/>) is not printed now
+: Added EmptyValue attribute also to HTML type, usable especially for Type='Select' or Button='Defaults'
B: Radio type was incorrectly wrapped in IE8 strict
B: In IE8 strict and FF strict when set percentage height to main tag and grid controlled height of the body, the grid was not displayed correctly or at all
B: JS error when hiding / showing main column first time, affected especially grouping plain grid
B: Broken layout when hiding column with FastColumns='0' in grid with pages
B: Grouping could hide the last variable column and break down layout
B: Now ReloadBody cannot be called when grid is already loading data
C: When debug window is closed by button it is not shown by the next print
B: Actually selected value in Defaults dialog was not checked when it was number
+: Added column/cell attribute DefaultDate for Date type - preset date in calendar when no date is in the cell
C: TreeGrid now uses different data storage in IE8, it should speed up grids with many data manipulation like Gantt or calculations
B: Defining OnGetGroupDef shown JS error
C: Now cannot move column left to column with CanMove=0 in left section and right in right section
B: In IE did not work cell double click when hint was shown
B: In RTL hint was not correctly aligned
+: Debug shows page rendering and loading times
B: Hiding pager via columns menu did not save the setting to cookies
B: Broken compatibility with 5.x when defined OnPrint in the old way
B: HtmlPrefix and HtmlPostfix were ignored when set to "0"
B: In IE8 strict was shown single short bottom line under the grid
B: Delete row did not finish editing when deleted focused row
C: Search now finishes editing before the search
B: In Pager names were applied string modifications like lower case or char codes
+: Added Space attribute LabelRight to display the Label on the right instead of the left side
C: Label and LabelRight contain no cell separators when used for Bool type
C: Calendar now does not have preselected date for empty range cell
B: Calendar shown wrong date range (without the firs date) for some dates and timezones
B: In Hirji calendar could not edit time
B: When defined two parts for number format, the negative one was shown also for 0
B: MaxHeightParent was ignored
+: Added OnShowDefaults event to modify the defaults menu before show
C: Selecting Filter off value when filter off is not permitted now
B: GroupOn and GroupOff did not work correctly in server paging
B: Related Enum Clear attribute did not refresh cell after second and next changes
C: Cell tip is now hidden when menu is shown
+: Hint class can differ according to the row Kind
C: Suggest menu can define also OnSave event
B: Not refreshed related enum when updating from server side
B: Changing filter operator while editing did not work correctly
+: Added CopyEdit and CopyPasteRows attributes to support copying and pasting whole rows inside grid
!: The CopyEdit now has default value 1 to copy values to clipboard in editable format, not in display format, to let them paste back to grid
B: OnFilter was not called on start
B: RelWidth attribute in Space row did not work when the last cell in the row was hidden
B: In Firefox on double click to reload button was shown JS error

6.2.14
B: Wrong calculations when no CalcOrder set for not Calculated row (bug done in 6.2)
B: Comma in number format did not work as thousand divider when no '.' was placed

6.2.13
B: grid.ShowDialog did not work in other style than Modern
B: String filtering (contains,begin,...) for empty string caused JS error
B: Showing hidden fixed row by API ShowRow was not possible
B: Changing row id of added row from server side <Changes> in Firefox caused JS error
B: IO Hirji dates did not work correctly (Hirji=2)
B: Checkboxes in custom HTML dialogs shown by ShowDialog function did not work

6.2.12
B: Calculations in some cases did not calculate children automatically when no "*" was in CalcOrder, but the CalcOrder was present
B: Moving column with body background (used in Gantt chart) broke down grid layout
B: Changing row id by accepting changes caused the row to be inactive
C: ActionCorrectAllDependencies can be now called OnGanttChanged without recursion check
B: In some cases grid was not recalculated after grouping
B: When trying to move last variable column, the column remained highlighted
B: Moving column to another grid displayed the arrows, although it is not possible
B: Row Height attribute was ignored (bug done in 6.2)

6.2
!: Now when number Format does not contain any '0' or '#', it does not display the number, only the Format string
+: Added RTL compatibility to TreeGrid 6
+: Added items to SuggestType: Complete, Existing, Begin, Case
+: Added SuggestMin as minimal character count to show menu and SuggestDelay as delay before the menu is shown
+: Added OnGetSuggest event to get Suggest menu like OnGetDefaults
+: OnGanttChanged event now returns also old value and type of change
+: GanttRun boxes can be set also with Start and End date instead of only Width, added GanttRunSave attribute to specify to format for save
+: Added GanttRunError with flag Sort to sort error boxes inside cell according to its start
B: Gantt did not show error dependencies at first time
B: Deleting the last Run in Gantt cell caused freezing browser
+: Added ganttrunend, ganttrunstart and ganttrunminstart formula functions to get date bounds of Runs
C: Now Class in FocusCell/HoverCell does not do HTML refresh, just updates class and background color
C: Change in internal HTML layout, now Fixed rows have also tree cell with empty content
C: Mouse cursor above cell is changed also when Hint is shown
B: Update from server with Update&2 raised JS error for deleted calculated row
C: Empty value is not shown as tip for Tip=1
B: String filter raised JS error for search in numbers
B: FilterOn/Off panel was not displayed
B: Search buttons did not finish editing, when pressed while editing SearchExpression, the old expression was used
B: ShowPopup function did not return the menu
B: Dragged object was sometimes hidden when body was scrolled
+: Added methods GetBodyWidth, GetBodyHeight to get size of the area for scroll
C: Check for updates is not called when there is another pending request (e.g. for Upload)
C: Defaults *Rows now return individual items for Range cells
B: MaxHeight was ignore when editing multiline text in Lines
B: Hint was shifted bottom/right when left and top cell border was used
B: Gantt Dependency was not update when copied row
B: GanttRunAdjustSlide='error' did not work correctly
B: Cell with RowSpan blinked on hover in case the second or next row was focused
B: Relative cursors (by default the Focus cursor) did not work with IE7 zoom feature
B: OnDataGet ignored the return value
!: The row text in Short format now can contain '<' characters. But the row tags must be always <I>
C: Internal Gantt cell values are never uploaded to server
B: Upload_Flags was ignored when no Upload_Type was set
B: noid flag in Upload_Flags was ignored
C: DateStrings and NoUpload are now supported also when uploading all rows, not only changed
+: Added cell/column attribute GMT to show the time in local or global timezone.
B: Setting NewId in <Changes> caused inactive cells in Firefox
C: SortPos is now ignored when grouping
B: When by Tab was accessed not displayed page, there was JS error
B: When no rows were in Gantt, the grid locked. Now the Gantt char shows 10 empty units from GanttMin or actual date
!: Now the main grouped column content is sorted according to original column settings, not by the main column settings
B: Grid lost focus when clicked right pager page
+: TreeGrid now checks global JavaScript name conflicts to avoid overwriting global objects
+: Added ButtonAlign as Space cell attribute to possibly display the button on the left
+: Added ShowCalendar global function to show calendar to use it outside TreeGrid.
+: Added cell Calendar attribute to control the internal calendar for the cell.
B: After hiding focused column the cursor was displayed wrong
B: Related Enum cells were empty when grouped by them
B: When resized column to zero width to auto width, the resize cursor remained for document
B: Clear attribute for related Enums did not clear Enum with index 0
B: Paste raised JS error when pasted to grid without focused cell for some pasting settings.
B: Toolbar did not displayed ExpandAll/CollapseAll buttons when plain grid was grouped on start.
+: Added OnGetMenu event to dynamically get the popup Menu attribute
+: ShowPopup method to show popup method for the grid
C: After filter, search and expand/collapse all is focused row scrolled to view
B: Row was inactive if its id contained character " , \
B: Grouping by Enum index could lead to JS error
B: Clicking to grid reload button twice led to JS error sometimes
B: Changing grouping settings while it was off caused various problems
B: Menu hover item name in cfg menu could not be translated

6.1
+: Added Gantt continuous Run bar type as complex and universal bar.
It can show more boxes in one cell, with different size, text, color, class and tooltip. All the settings can be changed by a user.
It supports resizing, moving and copying in various ways, even between rows or grids. Also adding, deleting and changing is supported.
+: Added GanttFlagIcons, GanttFlagIconList and GanttFlagIconNames to support custom icons for flags, more icons in one cell. The icon can be changed from popup menu.
+: Added GanttResizeDelete to suppress deleting bars by dragging
+: Gantt Type column has now default named "Gantt" instead of standard "C"
+: To Date Format were added yyy,D,DD,DDD,DDDD,DDDDD,hhh,mmm,sss to support date/time interval
+: The OnSort event now returns also the proposed sort setting as the third parameter
+: Added OnGanttMenu event called before Gantt popup menu is displayed to change it by API
C: The internal alert and confirm dialogs now do not cause loosing grid focus
C: Resources are shown also when Main bar is not defined, for Flow and Run
+: Added Grids.Alert variable, to set it before and clear after calling alert/confirm/prompt to not loose grid focus.
+: TreeGrid 5.x functions DateToString, StringToDate, NumberToString, StringToNumber are now included also in 6.x
B: Backward compatibility with countrows was broken, now the countrows works as expected in 5.9
B: AutoUpdate was accidentally set when processing changes from server
C: Number row id is acceptable for Paging='0'
B: Changing id from server side when IdNames used did not work correctly
B: Calendar was read only when set CanEdit='0'
B: JS error when used FilterOff and EnumMenu together
B: Selected enum item was not highlighted in popup enum when used EnumKeys
B: When was Panel hidden by PanelVisible='0', its functions were still accessible
B: Filter menu could not be used in read only cells (e.g. for not editable date with calendar)
B: Filter generated JS error when used operator "contains" for strings with some characters like []
B: Some debug prints for exceptions did not work correctly
C: When did not use any GanttHeader, standard <Header/> value is shown
B: Grouping generated JS error with server paging and pager in some cases
B: Related enums were displayed incorrectly when grouped according them
C: For CanFilter='0' filter value is not displayed by default
B: In IE6, in Filter row was the filter class ignored for right buttons
B: Find button in search row did not work if the row has not set CanFocus='0'
B: Find in search did not start search from beginning when started on the last row
B: ShowPopup was missing
B: ShowDialog did not show HTML code in Firefox when contained only one tag
C: SetAttribute now converts number value in string to numbers to avoid problems with setting bool to "0" as true
B: Mouse cursors now work correctly also for Gantt dragging
+: To Defaults menu added option *Alphabet to group the items according to the first character, added <Cfg DefaultsAlphabetWhite/> to specify white characters to ignore
B: Tip did not work when there were more grids on page
B: Popup menu was not closed when started dragging
B: AddEvent did not work correctly for more grids and events
B: After resize main tag horizontally the width was switched back to original size in some cases
B: Grid did not work correctly in IFRAME in IE quirks mode, when was not set IFRAME SCROLLING attribute (or was set to AUTO)
C: Updated menu size and position calculation
+: Added TMenu.Disabled attribute to display inactive menu item
+: Long popup menus are now remarkably faster
C: Calendar CSS styles slightly changed
B: Debug message was shown when custom HTML in ShowDialog contained JavaScript
B: When menu columns had more columns and some section only few columns, these were incorrectly aligned
B: Arrow keys up and down in Suggest menu did not work
B: Right menu in some Safari versions did not work
+: Dragging in Firefox sped up
B: In Gantt chart single Flow without Main bar caused problems
B: OnGetClass event did not work for some cell types
B: Grid resizing icon was not fully accessible when used rounded corners
+: Added actions SortAscAppend, SortDescAppend, SortAscOne, SortDescOne to provide sorting like in Outlook (adding new columns to the sort with shift)
B: RemoveCollapsed attribute generated JavaScript error
B: Tip showed error when was number

6.0.33
B: Gantt chart did not work in Opera
B: Focus cursor was sometimes broken when focused Space row as first
B: Adding rows by server changes generated false alarm by duplicate id
B: DebugCheckIgnore was not used in <Cfg> tag
B: Some attributes were missing in Check and generated false alarm
B: Menu attributes Class, MinWidth were ignored in TreeGrid menus. Header now can be set to empty string to not show predefined menu header.
C: FilterMenu attribute now can contains only menu settings without items
B: PagerEdit cell did not show correct page number in some cases
B: In rare cases hint was shown on page top left instead of cell
B: Pager message Rendering was shown independently on SuppressMessage
+: Added event OnUpdated
B: If columns have not set their Width and called ReloadBody, the layout was broken
B: Missing alert texts were displayed as "undefined" and not as the ident name
B: min and max formula functions did not ignore empty strings and took them as 0
B: OnGetFormat was called without the predefined format
B: GetShownRows method returned wrong rows when some of the visible rows were collapsed
C: Changed actions SortAscAdd and SortDescAdd, now they also call OnSort event

6.0.32
+: Rewritten aggregate formula functions. Now there are basic three function sum,count and calc that provide more complex iteration of the rows.
C: Now TreeGrid never saves configuration to cookies during loading, to not clear configuration of other, not yet started, grids on page.
B: Setting CaseSensitiveId='0' caused JavaScript error when adding new rows.
B: Prompt and Progress dialogs did not work when messages were suppressed
C: ActionButtonClick is not used for Button type now, it is used ActionButton instead
C: Now for not editable cell content with side button in event is returned target SideButton+Content instead of SideButton+Side
B: Grid was not recalculated after filter change in some cases
C: ChangeFilter method now accepts date values in string too
+: ChangeFilter has new parameter noclear to not clear not present cells
B: Grouping was not grouped empty strings on start
B: MenuCfg did not load item captions properly
C: Pasting many rows was too slow, now it is possible to paste 1000 rows in reasonable time (5s).
B: Panel was not properly colored in some styles
B: Align attribute did not work in some cases
B: Row id was not properly generated when copied row and used IdNames
+: Basic id generating (without FullId and IdNames) is now much faster
+: Added attribute CalculateSelected to recalculate grid after row selection
B: Filling cells did not work when selecting was disabled
B: Setting RowSpan='0' caused problems, now it is ignored
B: ExpandAll did not work in Firefox in large tables
+: Added methods GetRowTop, GetColLeft, SetScrollTop, SetScrollLeft, GetShownRows, GetShownCols for advanced control of scrolling
+: Added Space row attribute Width to preset widths of all its cells
B: Setting custom cell value to 0 in toolbar hid the cell
C: Space cell Label has now Wrap='0' by default
B: OnReady event did not work
B: RelWidth of space row in IE quirks was computed incorrectly
C: OnTip is now called even if there is no tip to show
B: Related Enums did not work with grouping in server paging
B: Problems when server returned page with attributes, now these attributes are ignored
B: Problems with filter in server paging
B: Def GroupMain was ignored in server paging
+: Added Def attribute GroupMainCaption
B: Server paging did not recalculate space rows after filter, when no column formula was present
C: In server request is sent empty Sort,Group,SearchAction and <Filters> when the feature is not set, but permitted
B: Custom HTML (LeftHtml,MidHtml,RightHtml) was not interactive when permitted row cursor
B: Adding rows by server changes did not work, changing rows by server changes showed false alarm
B: Text attribute in custom Defaults menu was escaped, now it shown as is
B: FilterOff attribute did not work correctly for index enums
B: Hint generated JS error when there was no room for it
B: Printing was not work for synchronously generated grid (Sync=1)
B: Resizing main tag by a user in Firefox did not work correctly
B: Percent char was not displayed in formatted numbers
B: Bool and Panel was incorrectly positioned in IE6
+: Added attribute Position to TreeGrid menu to control its align
C: Now Defaults and Enum dialogs are center when there is no room to display them left/right aligned
B: In menu with vertical scrollbar and right checkboxes were the longest items overflowed
B: Gray tag for disabling page were sometimes incorrectly positioned
B: Inactive dialogs in FF2 on some page layouts
+: AbsoluteCursors can now control Focus and Hover separately, by default is Focus relative and Hover absolute
B: Corrected cursor when scrolling in right side pager
B: Corrected cursors in div with align attribute set
B: Focusing empty custom HTML (LeftHtml,MidHtml,RightHtml) broken its content
B: Resizing grid caused JS error with relative cursors
B: Left / right arrows were disabled when editing cell in Firefox
B: HTML input in custom HTML (LeftHtml,MidHtml,RightHtml) could not be edited in Firefox
B: When row with RelHeight was computed smaller than its cell content, grid locked

6.0.31
C: Not existent column in grouping is printed to debug
C: Left and Label space cell attributes are not used if the ...Left or ...Label named cell is defined
B: Column hiding and showing in IE8 generated some white space on the column right
+: Added <DefCols> section with columns defaults and <C Def> attribute to specify default column. Now every column can have different default column.
C: Now the Default columns definition can be placed in XML after columns definition
+: Added GetDefaultsIndex and GetDefaultsValue API methods for work with Defaults arrays
+: Updated DoAction method to call any action as string for given cell
+: Debug Check now checks also column and Space cell names and their conflicts with other row attribute names
B: Now functional keys like F5 in Firefox are enabled
B: TabStop did not work. Now grid is accessible by tab key from other controls in page.
B: Gantt chart rows sometimes did not show after switch off filter
B: SaveAttrs did not work
B: Menu button All on/Clear did not change caption in Firefox
B: StyleLap='0' did not work, the selected style was not saved to cookies
+: GanttBackground is now rendered for whole column and is much faster
+: Input XML now accepts also '<' character in attribute values to simplify adding HTML code into cell values
+: Added GanttText and GanttFlowText data sources as tooltips for main gantt bar and real flow bar.
B: Gantt background was incorrectly computed for some dates in GMT
B: Right align of filter icon did not work
+: Added value 2 to NoColor to ignore only state and type colors for the cell
C: Updated modules, now TreeGrid core is reduced back to 70kB
B: EnumKeys were ignored in Group row
+: Added EmptyValue for Enum type
B: Space row cell attributes were ignored in updating data in <Changes> tag from server
C: Updated cell attribute names to be calculated in formulas
B: Hidden panel in Filter row was still active
B: Copy & Paste did not work in FF
B: Action Exclude did not work
B: Paste in FF added next new empty row
B: DefaultSort disabled sorting in some cases

C: Updated ShrinkJScript.exe and decompression routine. The code is slightly smaller and decompression is faster (average 500ms in IE and 300ms in FF)

6.0.30
! First released build of 6.0 version.
! The 6.0 version contains too many changes to list them here, the Changes log was reset