Skip to content

Commit 6ec629b

Browse files
committed
Merge branch 'release/0.5.0'
2 parents 35e526f + b03a11c commit 6ec629b

File tree

306 files changed

+30897
-15738
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

306 files changed

+30897
-15738
lines changed

.config/source-license-header.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
/**
22
* @license
3-
* Copyright (c) 2020 Handsoncode. All rights reserved.
3+
* Copyright (c) 2021 Handsoncode. All rights reserved.
44
*/

.editorconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[source-license-header.js]
2+
insert_final_newline = false

.github/ISSUE_TEMPLATE/documentation.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ name: Documentation
33
about: A general template for documentation requests and suggestions
44
title: ''
55
labels: Documentation
6-
assignees: scarletfog
76

87
---
98
### Description

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased]
88

9+
## [0.5.0] - 2021-04-15
10+
11+
### Changed
12+
- **Breaking change**: A change to the type of value returned via serialization methods. (#617)
13+
- An input value should be preserved through serialization more precisely. (#617)
14+
- GPU.js constructor needs to be provided directly to engine configuration. (#355)
15+
- A deprecated config option vlookupThreshold has been removed. (#620)
16+
17+
### Added
18+
- Added support for row and column reordering. (#343)
19+
- Added type inferrence for subtypes for number. (#313)
20+
- Added parsing of number literals containing '%' or currency symbol (default '$'). (#590)
21+
- Added ability to fallback to plain CPU implementation for functions that uses GPU.js (#355)
22+
23+
### Fixed
24+
- Fixed minor issue. (#631)
25+
- Fixed a bug with serialization of some addresses after CRUDs. (#587)
26+
- Fixed a bug with MEDIAN function implementation. (#601)
27+
- Fixed a bug with copy-paste operation that could cause out of scope references (#591)
28+
- Fixed a bug with date parsing. (#614)
29+
- Fixed a bug where accent/case sensitivity was ignored for LOOKUPs. (#621)
30+
- Fixed a bug with handling of no time format/no date format scenarios. (#616)
31+
932
## [0.4.0] - 2020-12-17
1033

1134
### Changed

README.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,23 @@ in all your non-commercial projects. There is also a
123123
[commercial license](https://handsontable.github.io/hyperformula/guide/contact.html),
124124
and support services available.
125125

126+
## Acknowledgements
127+
128+
You should know that this project wouldn’t exist without co-financing from European Union funds under the European Regional Development Funds as a part of the Smart Growth Operational Programme. Project implemented as a part of the Polish National Centre for Research and Development: “Fast Track”.
129+
130+
- Name of the programme: Smart Growth Operational Programme 2014-2020
131+
- Project name: “Development of the high-performance calculation engine for processing tabular data of the significant size on mobile devices and workstations using parallel computing and GPU.”
132+
- Project number: POIR.01.01.01-00-0223/18-00
133+
- Beneficiary: Handsoncode sp. z o.o.
134+
- Total budget: PLN 1 121 375.00 (USD ~295 000)
135+
- Amount of grant: PLN 774 742.00 (USD ~204 000)
136+
- Duration: 2018-2019
137+
138+
![eu-funds](docs/.vuepress/public/eu-logos.png)
139+
126140
## Authors
127141

128142
Created by [Handsontable](https://handsontable.com), [NavAlgo](https://www.navalgo.com/en/),
129143
and [Contributors](https://github.com/handsontable/hyperformula/graphs/contributors).
130144

131-
© 2020 Handsoncode
145+
© 2021 Handsoncode

docs/guide/built-in-functions.md

Lines changed: 280 additions & 280 deletions
Large diffs are not rendered by default.

docs/guide/changelog.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,29 @@
11
# Changelog
22

3+
## 0.5.0
4+
**Release date: April 15, 2021**
5+
6+
### Changed
7+
- **Breaking change**: A change to the type of value returned via serialization methods. [#617](https://github.com/handsontable/hyperformula/issues/617)
8+
- An input value should be preserved through serialization more precisely. [#617](https://github.com/handsontable/hyperformula/issues/617)
9+
- GPU.js constructor needs to be provided directly to engine configuration. [#355](https://github.com/handsontable/hyperformula/issues/355)
10+
- A deprecated config option vlookupThreshold has been removed. [#620](https://github.com/handsontable/hyperformula/issues/620)
11+
12+
### Added
13+
- Added support for row and column reordering. [#343](https://github.com/handsontable/hyperformula/issues/343)
14+
- Added type inferrence for subtypes for number. [#313](https://github.com/handsontable/hyperformula/issues/313)
15+
- Added parsing of number literals containing '%' or currency symbol (default '$'). [#590](https://github.com/handsontable/hyperformula/issues/590)
16+
- Added ability to fallback to plain CPU implementation for functions that uses GPU.js [#355](https://github.com/handsontable/hyperformula/issues/355)
17+
18+
### Fixed
19+
- Fixed minor issue. [#631](https://github.com/handsontable/hyperformula/issues/631)
20+
- Fixed a bug with serialization of some addresses after CRUDs. [#587](https://github.com/handsontable/hyperformula/issues/587)
21+
- Fixed a bug with MEDIAN function implementation. [#601](https://github.com/handsontable/hyperformula/issues/601)
22+
- Fixed a bug with copy-paste operation that could cause out of scope references [#591](https://github.com/handsontable/hyperformula/issues/591)
23+
- Fixed a bug with date parsing. [#614](https://github.com/handsontable/hyperformula/issues/614)
24+
- Fixed a bug where accent/case sensitivity was ignored for LOOKUPs. [#621](https://github.com/handsontable/hyperformula/issues/621)
25+
- Fixed a bug with handling of no time format/no date format scenarios. [#616](https://github.com/handsontable/hyperformula/issues/616)
26+
327
## 0.4.0
428
**Release date: December 17, 2020**
529

docs/guide/client-side-installation.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ following command:
88

99
**npm:**
1010

11-
```
11+
```bash
1212
$ npm install hyperformula
1313
```
1414

1515
**Yarn:**
1616

17-
```
17+
```bash
1818
$ yarn add hyperformula
1919
```
2020

@@ -36,10 +36,21 @@ Alternatively, you can load HyperFormula from
3636
`<script>` tag. This way you will make it accessible in the project as
3737
a `HyperFormula` global variable.
3838

39-
```javascript
39+
Full build will include all the required dependencies:
40+
41+
```html
42+
<script src="https://cdn.jsdelivr.net/npm/hyperformula/dist/hyperformula.full.min.js"></script>
43+
```
44+
45+
Or you may load just a minimal build and add the dependencies on your own:
46+
47+
```html
48+
<script src="https://cdn.jsdelivr.net/npm/chevrotain@6/lib/chevrotain.js"></script>
4049
<script src="https://cdn.jsdelivr.net/npm/hyperformula/dist/hyperformula.min.js"></script>
4150
```
4251

52+
A useful option when you already use some of them and there is no need to duplicate the dependencies. You can read more about the dependencies of HyperFormula on a dedicated [Dependencies](/guide/dependencies.md) page.
53+
4354
## Clone from GitHub
4455

4556
If you choose to clone the project or download it from GitHub you
@@ -49,19 +60,19 @@ descriptions.
4960

5061
### Clone with HTTPS
5162

52-
```javascript
53-
https://github.com/handsontable/hyperformula.git
63+
```bash
64+
git clone https://github.com/handsontable/hyperformula.git
5465
```
5566

5667
### Clone with SSH
5768

58-
```javascript
59-
git@github.com:handsontable/hyperformula.git
69+
```bash
70+
git clone git@github.com:handsontable/hyperformula.git
6071
```
6172

6273
## Download from GitHub
6374

6475
You can download all resources as a ZIP archive directly from the
6576
[GitHub repository](https://github.com/handsontable/hyperformula).
6677
Then, you can use one of the above-mentioned methods to install the
67-
library.
78+
library.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Enabling GPU acceleration.
2+
3+
Currently, GPU.js uses ES6 features and does not provide proper ES5 package.
4+
Therefore, to allow the engine to run on browsers like Internet Explorer, it is not bundled with the engine.
5+
6+
In order to take advantage of the GPU acceleration, the GPU.js constructor has to be passed to the engine configuration
7+
(supported version of GPU.js is 2.3.0):
8+
9+
```javascript
10+
import GPU from 'gpu.js'
11+
12+
// define options
13+
const options = {
14+
gpujs: GPU.GPU ?? GPU
15+
};
16+
17+
// call the static method to build a new instance
18+
const hfInstance = HyperFormula.buildEmpty(options);
19+
```

docs/guide/known-limitations.md

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,12 @@
33
Here are the shortcomings of HyperFormula in its current development
44
stage:
55

6-
* The number of built-in functions is growing fast but is still far
7-
from what is offered by the most popular spreadsheet software on the
8-
market (~450 functions on average).
96
* Node.js versions older than 13 don't properly compare
107
culture-insensitive strings. HyperFormula requires the full
118
International Components for Unicode (ICU) to be supported.
129
[Learn more](https://nodejs.org/api/intl.html#intl_embed_the_entire_icu_full_icu)
13-
* GPU acceleration is used only by matrix functions: MMULT,
14-
TRANSPOSE, MEDIANPOOL, MAXPOOL.
15-
* Sorting and filtering are not natively supported. However,
16-
we simulate sorting using the move operations.
10+
* GPU acceleration is used only by matrix functions: MMULT, MEDIANPOOL, MAXPOOL.
11+
* GPU.js works only in browsers that support ES6. [Learn more](enabling-gpu-acceleration.md)
1712
* Multiple workbooks are not supported. One instance of HyperFormula
1813
can handle only one workbook with multiple worksheets at a time.
1914
* For cycle detection, all possible dependencies between cells are
@@ -28,12 +23,10 @@ you can't compare the arguments in a formula like this:
2823
* There is no relative referencing in named ranges.
2924
* The library doesn't offer (at least not yet) the following features:
3025
* 3D references
31-
* Complex numbers
3226
* Constant arrays
3327
* Dynamic arrays
3428
* Asynchronous functions
3529
* Structured references ("Tables")
36-
* Currency data type
3730
* Relative named expressions
3831
* Functions cannot use UI metadata (e.g. hidden rows for SUBTOTAL).
3932

0 commit comments

Comments
 (0)