Handsontable V8.0.0

Released: Aug 5, 2020

V8.0.0 での更新項目

機能

  • New index management engine - This release comes with a redesigned internal data flow which determines the speed of the core engine and plugins. Thanks to the new architecture, the library is now less error-prone and provides a solid foundation for future developments. This version also solved 200+ issues, added 1300+ tests, and virtualized hidden columns and rows which boosted performance.
  • Improved stability
    • The new management system for translating physical indexes to visual indexes stabilizes the way that plugins exchange information about the order and states of records in a data set. As the developer, you now have more power over what is going on inside the library. Since the dependency of callbacks was removed, the plugins are more independent and easier to use. CRUD and move operations are also more predictable, especially in complex use cases.
    • This release added the setSourceDataAtCell method and modifySourceData hooks, which means modifying data by reference is no longer necessary.
  • Enhanced quality
    • Apart from stability, the new version has been tested dozens of times by the QA team to be sure everything works correctly. The release was split into two beta versions to double-check the functionality. As a side effect, the whole testing process has become even more efficient and concise. A huge effort was made to cover the changes with test cases. As a result, the overall number of tests rose by more than 1300.
  • Improved performance
    • When columns or rows are hidden, they are not physically rendered. This applies to several plugins that can “hide” rows and columns, namely:
      • Column filters
      • Hide/show columns
      • Hide/show rows
      • Trim columns
      • Trim rows
    • The actual indexes are stored in one place. Plugins no longer exchange information about index values. As a result, finding and reading data is faster and stable.
  • Less breaking changes in the future
    • Some of the links between hooks have been removed for good, and that single change impacts any operation within rows or columns, and also in some plugins. The new solution is more steady, and does not require any workarounds to function properly.