# 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/v17/spreadjs_designer_component/spdesignerwork/select-cells-goto) feature to select a special group of cells in the worksheet.
- [Additional keyboard shortcuts](keyboard#i-heading-additional-keyboard-shortcuts) are introduced.
- Users can [bind file import events](/spreadjs/docs/v17/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/v17/spreadjs_designer_component/spdesignerwork/name-box) can be used to work with cell ranges.
- Users can customize the [Designer Component status bar](/spreadjs/docs/v17/spreadjs_designer_component/customizations/custom-status-bar) using the [StatusBar.findControl](/spreadjs/api/v17/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/v17/spreadjs_designer_component/designer-toolbar-ribbon).
- Users can customize the [Designer Component localization](/spreadjs/docs/v17/spreadjs_designer_component/customizations/designer-localization).
- SpreadJS now supports [Vue 3](/spreadjs/docs/v17/javascript_frameworks/UsingSpread.SheetswithVue) and [Angular 12](/spreadjs/docs/v17/javascript_frameworks/angular) versions.
- SpreadJS Designer provides [automatic outline](/spreadjs/docs/v17/spreadjs_designer_component/spdesignerwork/auto-outline) for cell ranges with formulas.
- Users can launch the Designer Component with the [collapsed ribbon](customizations#ribbon-collapse).
- Users can [move sheets](work-with-worksheets#i-heading-move-worksheet) and [copy sheets](work-with-worksheets#i-heading-copy-worksheet) in SpreadJS. The operations can be performed [in SpreadJS Designer](/spreadjs/docs/v17/spreadjs_designer_component/designerinterface/designermenu) as well.
- SpreadJS now supports iOS14 and iPadOS14.
- SpreadJS Designer provides [format painter](/spreadjs/docs/v17/spreadjs_designer_component/spdesignerwork/formatpainter) button to copy and paste formatting from one object to another.
- Users can [unhide multiple sheets](/spreadjs/docs/v17/spreadjs_designer_component/designerinterface/designermenu) in the SpreadJS Designer.
- SpreadJS Designer provides the [shape selection pane](/spreadjs/docs/v17/spreadjs_designer_component/spdesignerwork/shape-selection-pane) to manage and arrange multiple shapes in a worksheet.
- Users can sort the cells by [background color](sorting#i-heading-sort-by-cell-background-color) and [font color](sorting#i-heading-sort-by-font-color) in SpreadJS.
- The [incremental loading](/spreadjs/docs/v17/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/v17/spreadjs_designer_component/customizations/add-custom-component) in the SpreadJS Designer Component.
- The [workbook constructor](/spreadjs/api/v17/classes/GC.Spread.Sheets.Workbook#_ctor) has been enhanced to [accept the host ID string](/spreadjs/docs/v17/getstarted/quick-start).
- Users can now [close a dialog programmatically](add_new_dialog#i-heading-close-dialog-programmatically) in the Designer Component.
- Users can [customize existing language packages](CustomLanguagePackage#i-heading-modify-existing-language-package) and translate them into a particular language.
- SpreadJS Designer enables [ribbon scrolling](/spreadjs/docs/v17/spreadjs_designer_component/designerinterface) when the designer width is small enough to hide ribbon buttons and navigation tabs.
- The [paste formatting option](/spreadjs/docs/v17/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.
