# Release Notes for Version 14.2.0

## Content

# Enhancements from the Previous Release

The following features and enhancements have been incorporated in this version of the product.

* SpreadJS Designer supports the [Go To Special](/spreadjs/docs/spreadjs-designer-component/spdesignerwork/select-cells-goto) feature to select a special group of cells in the worksheet.
* [Additional keyboard shortcuts](/spreadjs/docs/features/keyboard-actions/keyboard#additional-keyboard-shortcuts) are introduced.
* Users can [bind file import events](/spreadjs/docs/spreadjs-designer-component/customizations/bind-file-import-events) in the SpreadJS Designer Component.
* SpreadJS Designer supports the Find and Replace function.
* The Designer UX has been enhanced.
* SpreadJS Designer Component now includes a d.ts definition file with the React module.
* The [Name Box in the Designer](/spreadjs/docs/spreadjs-designer-component/spdesignerwork/name-box) can be used to work with cell ranges.
* Users can customize the [Designer Component status bar](/spreadjs/docs/spreadjs-designer-component/customizations/custom-status-bar) using the [StatusBar.findControl](/spreadjs/api/modules/GC.Spread.Sheets.StatusBar#findControl) method.
* The "Insert" tab layout in the SpreadJS Designer has been updated.
* SpreadJS Designer Component supports the [toolbar ribbon mode](/spreadjs/docs/spreadjs-designer-component/designer-toolbar-ribbon).
* Users can customize the [Designer Component localization](/spreadjs/docs/spreadjs-designer-component/customizations/designer-localization).
* SpreadJS now supports [Vue 3](/spreadjs/docs/javascript-frameworks/UsingSpreadSheetswithVue) and [Angular 12](/spreadjs/docs/javascript-frameworks/angular) versions.
* SpreadJS Designer provides [automatic outline](/spreadjs/docs/spreadjs-designer-component/spdesignerwork/auto-outline) for cell ranges with formulas.
* Users can launch the Designer Component with the [collapsed ribbon](/spreadjs/docs/spreadjs-designer-component/customizations#possible-customizations).
* Users can [move sheets](/spreadjs/docs/features/worksheet/work-with-worksheets#move-worksheet) and [copy sheets](/spreadjs/docs/features/worksheet/work-with-worksheets#copy-worksheet) in SpreadJS. The operations can be performed [in SpreadJS Designer](/spreadjs/docs/spreadjs-designer-component/designerinterface/designermenu) as well.
* SpreadJS now supports iOS14 and iPadOS14.
* SpreadJS Designer provides [format painter](/spreadjs/docs/spreadjs-designer-component/spdesignerwork/formatpainter) button to copy and paste formatting from one object to another.
* Users can [unhide multiple sheets](/spreadjs/docs/spreadjs-designer-component/designerinterface/designermenu) in the SpreadJS Designer.
* SpreadJS Designer provides the [shape selection pane](/spreadjs/docs/spreadjs-designer-component/spdesignerwork/shape-selection-pane) to manage and arrange multiple shapes in a worksheet.
* Users can [sort the cells](/spreadjs/docs/features/sort-data/sorting) by background color and font color in SpreadJS.
* The [incremental loading](/spreadjs/docs/BestPractices/incremental-loading) feature provides a new parameter in the incrementalLoading callback function to access worksheet-related information.
* Users can [create and use custom components](/spreadjs/docs/spreadjs-designer-component/customizations/add-custom-component) in the SpreadJS Designer Component.
* The [workbook constructor](/spreadjs/api/classes/GC.Spread.Sheets.Workbook#_ctor) has been enhanced to [accept the host ID string](/spreadjs/docs/getstarted/quick-start).
* Users can now [close a dialog programmatically](/spreadjs/docs/spreadjs-designer-component/customizations/addNewDialog#close-dialog-programmatically) in the Designer Component.
* Users can [customize existing language packages](/spreadjs/docs/features/formulas/UsingLanguagePackage#modify-existing-language-package) and translate them into a particular language.
* SpreadJS Designer enables [ribbon scrolling](/spreadjs/docs/spreadjs-designer-component/designerinterface) when the designer width is small enough to hide ribbon buttons and navigation tabs.
* The [paste formatting option](/spreadjs/docs/features/cells/pasteoptions) has been enhanced to adjust the pasted format according to the size of the target region.

# Resolved Issues

The following issues have been resolved since the last release.

* When the chart is serialized, it changes along with the data.
* Double borders in cells apply correctly after importing JSON.
* Floating objects are visible when moved around.
* Merged cells are retained when pasting a picture on the worksheet.
* While opening an exported file in Excel, no pivot table issues are prompted.
* Line breaks work correctly in chart labels like the Y-axis and legend area.
* VLOOKUP formula gives the correct result.
* The background color of a chart title is retained when copying a chart using fromJSON or toJSON.
* The performance of CalcEngine is improved when importing large Excel files.
* The XLOOKUP formula shows the correct result when returning an array.
* Conditional formatting works correctly when inserting rows in a table.
* The formula reference range is updated correctly when inserting rows in the formula range.
* Formula referenced by a camera shape is displayed correctly in the worksheet area.
* Formula calculation results in SpreadJS are consistent with Excel.
* Drag fill is implemented correctly with a locked cell within the drag fill range.
* The pivot background color is applied correctly.
* The applicable cell range of conditional format is retained when extending table rows.
* The performance of CalcEngine is improved to display correct formula results.
* The contents of merged cells are displayed correctly when scrolling horizontally.
* Formula references are displayed correctly in a camera shape.
* Shape size is retained when grouped columns or rows are opened and closed.
* Sheets fit correctly on one page when exporting to PDF.
* The chart displayed in a sheet is consistent after using fromJSON or toJSON.
* DATEDIF results are consistent between SpreadJS and Excel.
* The performance of incremental loading is improved while loading a JSON file.
* Formula using brackets show correct results after importing a file.
* Rowchanging and columnchanging events include the cancel attribute.
* ActiveSheetChanged and ActiveSheetChanging are triggered correctly in events.
* Cells can set a formula correctly after importing an xlsx file.
* Cells do not appear underlined after importing an Excel file.
* Cell border is retained when hover action is performed.
* Banded rows or columns information is exported correctly to Excel file if table style is none.
* Copy pasted CustomName returns correct value after performing undo of row deletion.
* The WEEKNUM formula is enhanced to have the same behavior as in Excel.
* XLSX file including shapes is imported correctly in the SpreadJS Designer.
* The chart displays correctly after modifying the chart type.
* The camera shape is updated when an event is suspended.
* Data validation content is deleted correctly by Clear All operation in Designer Component.
* Custom Cell format is displayed correctly in the imported file.
* Options are provided to unhide the column headers after they are hidden.