fast_xlsx 0.1.1-aarch64-linux → 0.1.2-aarch64-linux
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -1
- data/README.md +9 -0
- data/bench/Gemfile.lock +2 -2
- data/lib/fast_xlsx/3.3/fast_xlsx.so +2 -2
- data/lib/fast_xlsx/3.4/fast_xlsx.so +2 -2
- data/lib/fast_xlsx/4.0/fast_xlsx.so +2 -2
- data/lib/fast_xlsx/version.rb +1 -1
- data/lib/fast_xlsx.rb +5 -0
- data/sig/fast_xlsx.rbs +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9735627ceb5ec41e7c5c45f235fc4a92ccc4f9d21df516a08fc82b6545120daf
|
|
4
|
+
data.tar.gz: ff4db2a843b8162e37be5903cbf7df27ba7b70e4b0d5f68c01f3ef008ef536ea
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 76d8090d5bbf9cf9b2cff2a7c11eefb3b4fbf7b449e3ee9e739a5443cee85383042074a28d2c98f32a5fc84314d1336c8b181bdc82c93a9e9cd7a261a4b29d19
|
|
7
|
+
data.tar.gz: 0637b62403cb4a64f0b1b5b5cf4d0931841d34cd0407910be42f3a3dc5fe38b772672fd2e700843a24eeea75ae4b54fd75a96f821d9ce127020a08b9ea295495
|
data/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
+
## [0.1.2] - 2026-09-30
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Values Excel cannot hold (a string over 32,767 characters, invalid UTF-8, a bad or over-long URL, more than 16,384 columns) raise before anything is written, instead of leaving the row half written.
|
|
8
|
+
- `merge_range` with such a value no longer leaves the range merged; its value also takes its table column's format.
|
|
9
|
+
- An unnamed worksheet takes the first free `SheetN` instead of a name that clashes with one given earlier (which failed only when saving).
|
|
10
|
+
- Cell values and formats are copied out of Ruby objects when a row is converted, so Ruby code run while converting (a `to_s`) cannot change or free them before they are written.
|
|
11
|
+
- Ruby code run while converting a value (a `to_s`, `jd`, ...) that touches the same workbook, or another thread writing to it, no longer deadlocks. A value that fails to convert leaves its row unwritten.
|
|
12
|
+
- In `:constant` / `:low` mode, `merge_range` and `add_table` on rows already written to disk raise `FastXlsx::Error` instead of being dropped; cells beside a tall merge can still be written.
|
|
13
|
+
- Table column formats apply to rows written after `add_table`.
|
|
14
|
+
- Invalid worksheet names raise without leaving an extra sheet behind; names that differ only in case raise at `add_worksheet`, not at save.
|
|
15
|
+
- Strings in other encodings (e.g. Windows-1252) are converted to UTF-8.
|
|
16
|
+
- `data_validation` lists accept numbers and other values (listed by `to_s`).
|
|
17
|
+
- Dates match Excel's 1900 date system (serials before 1900-03-01 were one too high); dates before 1900 raise `ArgumentError`.
|
|
18
|
+
- `Workbook#save` accepts a `Pathname`.
|
|
19
|
+
|
|
3
20
|
## [0.1.1] - 2026-09-30
|
|
4
21
|
|
|
5
22
|
### Fixed
|
|
6
23
|
|
|
7
|
-
- Precompiled (platform) gems failed to `require`: the extension was only looked up where a source install puts it, not in the per-Ruby-version directory that platform gems use. 0.1.0
|
|
24
|
+
- Precompiled (platform) gems failed to `require`: the extension was only looked up where a source install puts it, not in the per-Ruby-version directory that platform gems use. 0.1.0's platform gems cannot be loaded; upgrade to 0.1.1 (`bundle update fast_xlsx` if your lockfile has 0.1.0).
|
|
8
25
|
|
|
9
26
|
### Changed
|
|
10
27
|
|
data/README.md
CHANGED
|
@@ -276,6 +276,15 @@ cargo llvm-cov report --release # or --lcov / --html
|
|
|
276
276
|
|
|
277
277
|
Rebuild in a clean shell afterwards (`rm -rf tmp && bundle exec rake compile`) so the everyday build is not instrumented.
|
|
278
278
|
|
|
279
|
+
Mutation tests ([cargo-mutants](https://mutants.rs)) change the Rust source one small edit at a time and check that a Ruby test fails for each change. `ext/fast_xlsx/tests/ruby_suite.rs` is what connects the two: it rebuilds the extension and runs the Ruby suite, so `cargo test` covers the Ruby tests too.
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
cargo install cargo-mutants
|
|
283
|
+
cargo mutants --file ext/fast_xlsx/src/lib.rs --jobs 4 # ~7 minutes; results in mutants.out/
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
Mutants listed in `mutants.out/missed.txt` point at behaviour no test checks. The `Mutation tests` workflow runs this weekly and on demand.
|
|
287
|
+
|
|
279
288
|
### Releasing
|
|
280
289
|
|
|
281
290
|
First generate the showcase workbook and open it in Excel to check every feature renders (the test suite only inspects the XML):
|
data/bench/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: ..
|
|
3
3
|
specs:
|
|
4
|
-
fast_xlsx (0.1.
|
|
4
|
+
fast_xlsx (0.1.2)
|
|
5
5
|
rb_sys (~> 0.9.130)
|
|
6
6
|
|
|
7
7
|
GEM
|
|
@@ -77,7 +77,7 @@ DEPENDENCIES
|
|
|
77
77
|
CHECKSUMS
|
|
78
78
|
caxlsx (4.5.0) sha256=e3d98d859f148df05d5462086b5079b523f29c1766b569535f1d68629ce743ff
|
|
79
79
|
fast_excel (0.5.0) sha256=59c418bdcf586a6030798d4e3a9f575742badaceaf7bb90f38eee5feb5bdc478
|
|
80
|
-
fast_xlsx (0.1.
|
|
80
|
+
fast_xlsx (0.1.2)
|
|
81
81
|
ffi (1.17.4-aarch64-linux-gnu) sha256=b208f06f91ffd8f5e1193da3cae3d2ccfc27fc36fba577baf698d26d91c080df
|
|
82
82
|
ffi (1.17.4-aarch64-linux-musl) sha256=9286b7a615f2676245283aef0a0a3b475ae3aae2bb5448baace630bb77b91f39
|
|
83
83
|
ffi (1.17.4-arm-linux-gnu) sha256=d6dbddf7cb77bf955411af5f187a65b8cd378cb003c15c05697f5feee1cb1564
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: data/lib/fast_xlsx/3.3/fast_xlsx.so
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 45532312 bytes
|
|
4
|
+
sha256: e362d4cc0511176c28c5e1af4e0517a09d87c5202073e486c3a72e3df2243c29
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: data/lib/fast_xlsx/3.4/fast_xlsx.so
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 45627384 bytes
|
|
4
|
+
sha256: 002079e195df5c1017e7df9103d129c4dc7918b5af861c2af77348ceae10adf6
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: data/lib/fast_xlsx/4.0/fast_xlsx.so
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 45607656 bytes
|
|
4
|
+
sha256: 285f62d2972b0a1f7240f13f4cd23dd91710be8a13cc790ba5f2d9837d6843a6
|
data/lib/fast_xlsx/version.rb
CHANGED
data/lib/fast_xlsx.rb
CHANGED
|
@@ -84,6 +84,11 @@ module FastXlsx
|
|
|
84
84
|
worksheets.find { |ws| ws.name == name }
|
|
85
85
|
end
|
|
86
86
|
|
|
87
|
+
# path: a String, Pathname or anything responding to #to_path.
|
|
88
|
+
def save(path)
|
|
89
|
+
_save(File.path(path))
|
|
90
|
+
end
|
|
91
|
+
|
|
87
92
|
# Document properties shown in Excel's File > Info: title:, subject:,
|
|
88
93
|
# author:, manager:, company:, category:, keywords:, comments:, status:.
|
|
89
94
|
# Later calls add to earlier ones.
|
data/sig/fast_xlsx.rbs
CHANGED