# Release Notes for Version 16.0.0

## Content

## Enhancements from the Previous Release

<span>The following features and enhancements have been incorporated into this version of the product:</span>

* <span>SpreadJS now implements </span>[form controls](/spreadjs/docs/v18/features/UnderstandingShapes/form-controls).
* SpreadJS supports [cell decoration setting as a part of styling](/spreadjs/docs/v18/features/cells/cornerfold).
* SpreadJS supports [shape resizing enhancements](/spreadjs/docs/v18/features/UnderstandingShapes/resize-shapes).
* SpreadJS now supports a [new file format to open, save, import and export files.](/spreadjs/docs/v18/features/spreadjs-file-format)
* SpreadJS supports [shared formula](/spreadjs/docs/v18/formulareference/formulaoverview/shared-formulas), so users don't have to add formula for each cell in the column.
* SpreadJS now implements [hierarchy data in the source data](/spreadjs/docs/v18/features/tablesheet/hierarchy-data).
* SpreadJS now allows users to implement [field name mapping using data schema.](/spreadjs/docs/v18/features/tablesheet/data-manager)
* SpreadJS now supports [shift + mouse resize behavior for shapes in the worksheet](/spreadjs/docs/v18/features/UnderstandingShapes/resize-shapes).
* SpreadJS provide better UX design on [Template/Panel UX at Runtime and using the Designer in the TableSheet.](/spreadjs/docs/v18/features/tablesheet)
* SpreadJS now supports [invalid Formula ](/spreadjs/docs/v18/features/formulas/allow-invalid-formulas)Inputting Behavior and Style like Web Excel and Google Sheet.
* SpreadJS Designer now supports [hierarchy data](/spreadjs/docs/v18/features/tablesheet/hierarchy-data).
* SpreadJS Designer now supports find and replace feature at selection level in the worksheets.
* Added Format Pane icon in the [Designer shape ribbon](/spreadjs/docs/v18/spreadjs-designer-component/spdesignerwork/shape-selection-pane), [Picture Format tab and Chart Design tab](/spreadjs/docs/v18/spreadjs-designer-component/designerinterface/spdesigntab/spdesigninserttab).
* SpreadJS has now enhanced the [clipboard events](/spreadjs/docs/v18/scevents/sceventclipboard) so that the users can get the current state of the clipboard to perform the various functions they need.
* SpreadJS has enhanced the EditEnding and EditEnded events, so that the user can know when the value change was committed upon event trigger.

## Resolved Issues

The following issues have been resolved since the last release:

* <span>SpreadJS has resolved the screen freeze issue </span>while turning over the column.
* <span>SpreadJS has resolved the performance issue where the Excel import got slower than v13.</span>
* <span>SpreadJS has resolved the issue where the table slicer was not imported properly.</span>
* <span>SpreadJS has resolved the issue where the </span>layout of designer component was not correct when referencing the bootstrap.
* <span>SpreadJS has resolved the issue where the </span>CellChanged Event was fired when pasting a range below the table.
* <span>SpreadJS has resolved the issue where the </span>EnableDataValueEditing flag was not working correctly.
* <span>SpreadJS has resolved the issue where </span>the added comments were displayed incorrectly.
* <span>SpreadJS has resolved the issue where </span>editing the row and column subtotals and grandtotals did not work correctly.
* <span>SpreadJS has resolved the issue where </span>setting the font style of subtotal rows and columns in PivotTable did not take effect
* <span>SpreadJS has resolved the issue where an </span>error occurred after setting rich text In the Google browser of the Mac computer.
* <span>SpreadJS has resolved the issue where </span>exporting XLSX file from SpreadJS showed a warning message while applying the custom culture.
* <span>SpreadJS has resolved the issue where </span>Excel file was getting corrupted while export.
* <span>SpreadJS has resolved the issue where </span>SUM(OFFSET(...)) showed #REF! when importing in SpreadJS.
* <span>SpreadJS has resolved the issue where the </span>table column background issue occurred when resizing a column.
* <span>SpreadJS has resolved the issue where </span>the sum calculation of the status bar was invalid.
* <span>SpreadJS has resolved the issue where</span> textOrientation could not be cleared.
* <span>SpreadJS has resolved the issue where </span>sorting the table through the sort dialog did not work.
* <span>SpreadJS has resolved the issue where an i</span>ncorrect value was shown in the cell for Custom Format 0.00E+0.
* <span>SpreadJS has resolved the issue where the </span>PDF file could not be exported correctly from SpreadJS.
* <span>SpreadJS has resolved the issue where </span>setting the cell format to scientific notation with three decimal places in the Designer Component failed.
* SpreadJS has resolved the issue where there was chart overflow when the frozen row count exceeded the viewport row count.
* SpreadJS has resolved the issue where dragging the list items in Designer did not change the order of items.
* SpreadJS has resolved the issue where setting style using PivotTablechanged event did not update the pivot table correctly.
* SpreadJS has resolved the issue where an incorrect shape name would return undefined, but a blank name would return an empty string.
* SpreadJS has resolved the issue where an exception was thrown during toJSON.
* SpreadJS has resolved the issue where combo item style was lost after deleting the value.
* SpreadJS has resolved the issue where the value function was working when the culture had a different decimal separator.
* SpreadJS has resolved the issue where the picture does not display when printing.
* SpreadJS has resolved the issue where the hyperlink was not working when uploading any file.
* SpreadJS has resolved the issue where the CommentRemoving event did not occur on executing "Ctrl + Z".
* SpreadJS has resolved the issue where the chart was not getting refreshed as values in the range were getting updated.
* SpreadJS has resolved the issue while loading the SSJSON file containing AsyncFunction with option doNotRecalculateAfterLoad.
* SpreadJS has resolved the issue where calcOnDemand caused the pasted formula to be invalid.
* SpreadJS has resolved the issue where changing the conditional format was invalid.
* SpreadJS has resolved the issue where the grid line was lost when freezing the column.
* SpreadJS has resolved the issue where the Query Function result was not updated on changing the Tablesheet.
* SpreadJS has resolved the issue where IRibbonPanel had no overflowTitle property.
* SpreadJS has resolved the issue where a discrepancy occurred with Excel for conditional formatting and "no color" background.
* SpreadJS has resolved the issue where the exported Excel file threw an error.
* SpreadJS has resolved the issue where the loading time of fromJSON exceeded the limit.
* SpreadJS has resolved the SJS Function Analysis Error.
* SpreadJS has resolved the issue where the user could not set the missingCaption number in the Designer.
* SpreadJS has resolved the browser hang issue when a spreadsheet was loaded.
* SpreadJS has resolved the issue where the UI changed when using the Designer Component with Bootstrap 3.4.1 CSS settings.
* [Designer] SpreadJS has resolved the issue where the shape list was incorrectly displayed while adjusting the browser size.
* SpreadJS has resolved the issue where both valuesAndFormatting and ormulasAndFormatting did not contain the conditional formatting.
* SpreadJS has resolved the issue where the calculation behavior of V15 was different from that of V14.
* SpreadJS has resolved the issue where the hidden row caused frozen layout.
* SpreadJS has resolved the issue of Table Formula Calculation with auto-expand table.
* SpreadJS has resolved the issue where the user could not export the PDF file with italic font.
* SpreadJS has resolved the issue where the pie chart could not switch colors according to the selected series.
* SpreadJS has resolved the issue where an incorrect formatter was displayed in the Designer Dropdown when the Currency formatter was selected from the dropdown.