aiongg
7768f56603
Merge PR #1580 : Calc: CELL("filename") names the workbook's file
2026-10-22 02:35:56 +00:00
aiongg
6b0411091a
Merge PR #1559 : Sort and de-duplicate data.textToColumns fixed-width breaks
...
Conflicts:
- crates/engine/src/cmd/data.rs: adjacent test insertions, both kept
2026-10-22 02:35:56 +00:00
aiongg
524ab89a1a
Merge PR #1379 : engine: subtotal honours header:false instead of dropping the first data row
...
Conflicts:
- crates/engine/src/cmd/data.rs: subtotal keeps #1285 's data_target and sheet-qualified calls with #1379 's header/first logic; grand-total range starts at first; both tests kept (#1299 filter blanks, #1379 subtotal)
2026-10-22 02:35:51 +00:00
aiongg
3ed16929d9
Merge PR #1320 : AutoFit Column Width measures text in the font the grid draws it with
...
Conflicts:
- crates/engine/src/cmd/format.rs: autofit_cols keeps #885 's (si, lines) and adds #1320 's measure
2026-10-22 02:35:39 +00:00
aiongg
4fd4d39aa0
Merge PR #1308 : engine: refuse removeDuplicates with no valid column instead of deleting all rows
...
Conflicts:
- crates/engine/src/cmd/data.rs: keeps #1308 's column guard after cols is built; drops its later 'let sheet' (#1285 supplies sheet)
2026-10-22 02:35:34 +00:00
aiongg
77b861392a
Merge PR #1299 : Filter: count empty text and ="" results as (Blanks)
2026-10-22 02:35:26 +00:00
aiongg
d691e95f6d
Merge PR #1285 : Remove Duplicates, Filter and Subtotal: a Sheet! prefix on the range works on that sheet
2026-10-22 02:35:24 +00:00
aiongg
87df1947f9
Merge PR #1284 : Sort: a Sheet! prefix on the range sorts that sheet, not the active one
2026-10-22 02:35:21 +00:00
aiongg
d26bbe3432
Merge PR #1085 : Format: Row Height and Column Width say pixels, and take points like the reference app
...
Conflicts:
- crates/engine/src/cmd/format.rs: spec strings keep #885 's sheet?/Sheet! forms with #1085 's pixels/points wording; row_height and col_width keep #1085 's unit logic with #885 's (si, lines) = line_targets
2026-10-22 02:35:21 +00:00
aiongg
708c82cf2c
Integration: #1059 delete_areas accepts a single row or column
...
home.deleteRows {rows:"2"} and home.deleteColumns {cols:"B"} failed with
"not a range"; delete_areas now parses with parse_lines. The PR's test
covers both.
2026-10-22 02:35:09 +00:00
aiongg
0b573362bc
Merge PR #1059 : rows/cols parameters: accept a single row or column
2026-10-22 02:34:51 +00:00
aiongg
02e1828c65
Merge PR #995 : XLSX export: a picture shared by several sheets is one media part
...
Conflicts:
- crates/xlsx/src/tests/mod.rs: both mod lines kept
- docs/file-format-parity.md: header keeps main's change list plus the #985 entry
2026-10-22 02:34:51 +00:00
aiongg
ccc0e8cfe4
Merge PR #885 : Row, column and freeze commands act on the sheet they are given
2026-10-22 02:34:36 +00:00
Dylan M. Taylor
912b817abe
security: enforce HTTPS on curl downloads (SonarCloud S6506) ( #2188 )
...
Add --proto '=https' to curl invocations so redirects cannot downgrade to
plaintext HTTP. Resolves SonarCloud S6506 (shell/docker/githubactions).
2026-10-21 19:36:04 -04:00
Dylan M. Taylor
8ae67c5534
ci: add sonar-project.properties for CI-based analysis
...
Marks the project ineligible for SonarCloud Automatic Analysis, resolving the
CI-vs-automatic-analysis conflict so the SonarCloud workflow succeeds.
2026-10-21 16:00:41 -04:00
Dylan M. Taylor
eb48beffb5
ci: add SonarCloud scan via shared reusable workflow
...
Calls storytold/craft-common-actions/.github/workflows/sonarcloud.yml@main
with secrets: inherit. Adds SonarCloud badge to README where missing and
removes the redundant sonar-project.properties (config now passed by the
reusable workflow).
2026-10-21 15:47:00 -04:00
Brandon Thomas and Claude Opus 5.5
2ebdf164c2
Release 0.10.0
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.10.0
2026-10-21 13:57:26 -04:00
Dylan M. Taylor
37e41424ed
Merge pull request #1620 from dylanmtaylor/ci/shared-nix-workflow
...
ci: switch to shared nix workflow from craft-common-actions
2026-10-21 03:40:22 -04:00
Brandon Thomas and Claude Opus 5.5
68e58a2eae
Skip CodeRabbit reviews on Dependabot PRs ( #2057 )
...
Adds .coderabbit.yaml so CodeRabbit no longer reviews or comments on PRs opened by dependabot[bot].
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-20 11:39:59 -04:00
Brandon Thomas and Claude Opus 5.5
a2cc4b42ca
Release 0.9.0
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.9.0
2026-10-19 22:20:35 -04:00
Dylan M. Taylor
23829d8c67
Merge pull request #1828 from dylanmtaylor/chore/drop-competitor-references
...
docs: drop references to competing commercial software
2026-10-19 17:12:29 -04:00
Hamza
aff9153dac
Calc: CELL("filename") names the workbook's file ( #1489 )
...
It returned an empty string for every workbook, saved or not, so the classic
sheet-name formula `MID(CELL("filename",A1),FIND("]",…)+1,31)` gave #VALUE!:
with no `]` in the string there is nothing for FIND to find. Excel returns
`<folder>\[<file>]<sheet>`, and empty only before the first save.
The model had no file to report. `source_dir` could not serve: it names the
folder relative links to other workbooks are relative to, and must keep naming
it after a Save As into another folder, because the links held in memory are
still written for the old one — only the saved copy is rebased. `source_path`
is therefore its own field, with that distinction written down.
It is set when a workbook is opened, from the path made absolute so the folder
is the one the user sees, and when a full-fidelity save makes a file the
document's own — before the `saved` snapshot, or the workbook would read as
dirty the moment it was saved, and only when it changes, so an ordinary Save
does not clone the workbook for nothing. A workbook that arrived as bytes knows
its name but never a folder and reports `[name]Sheet`, which still splits on the
`]`; an import reports the file it came from, as Excel does. The sheet is the one
the reference is on, not the active one.
CELL is volatile and already in the volatile sets, so a cell holding it answers
from the next recalculation; after a Save As that means F9 rather than the save
itself, which the engine test asserts rather than papers over. Making a save
recalculate is a larger decision than this issue.
`check` still skips CELL("filename") as volatile, as docs/cli.md says: the
cached value in a file is the folder of the machine that saved it.
2026-10-19 22:29:37 +05:00
Brandon Thomas
49fe41afbf
Merge pull request #1892 from vedran-dobos:options-prefix-translations
...
# Conflicts:
# crates/ui-egui/src/i18n.rs
# docs/localization-parity.md
2026-10-19 12:33:01 -04:00
Brandon Thomas
4401b3e5c5
Merge pull request #1877 from SocraticsAI:host-chrome
2026-10-19 12:32:51 -04:00
Brandon Thomas
aa4125952e
Merge pull request #1910 from Silvertree2010:fix/1907-bug-touchscreen-devices-cannot-p
2026-10-19 12:32:51 -04:00
Brandon Thomas
8492416c74
Merge pull request #1916 from Silvertree2010:fix/1915-desktop-theme-watcher-opens-a-ne
2026-10-19 12:32:51 -04:00
Brandon Thomas
47fc3d5d35
Merge pull request #1922 from Silvertree2010:fix/h552-rangeref-parse-accepts-signed-ro
2026-10-19 12:32:51 -04:00
Brandon Thomas
70018d4e60
Merge pull request #1925 from DrM7md:nux/insert-delete-whole-lines
2026-10-19 12:32:51 -04:00
Brandon Thomas
b402359fa4
Merge pull request #1938 from Mouhand-Kaddo:fix/html-export-rtl
...
# Conflicts:
# docs/file-format-parity.md
# docs/localization-parity.md
2026-10-19 12:32:51 -04:00
Brandon Thomas and Claude Opus 5.5
92c0d1e936
Chrome: turning the File tab off closes a Backstage that is already open
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-19 12:23:08 -04:00
Brandon Thomas and Claude Opus 5.5
27f4c9c7bc
Touch pan: a pan that never saw its release doesn't swallow the next press
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-19 12:22:57 -04:00
Brandon Thomas and Claude Opus 5.5
f5267cb74e
docs: one Last updated line per parity doc after merging
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-19 12:22:25 -04:00
Brandon Thomas
b77848ee21
Merge pull request #1882 from neilcawse:fix/pivot-grand-totals
...
# Conflicts:
# docs/file-format-parity.md
2026-10-19 12:22:07 -04:00
Brandon Thomas
f8e916bcd4
Merge pull request #1902 from Shnrqpdr:fix/1846-autofit-keytips
...
# Conflicts:
# docs/ui-parity.md
2026-10-19 12:22:06 -04:00
Brandon Thomas
ab6fd48856
Merge pull request #1867 from HyakoV3:fix/1808-csv-as-text
...
# Conflicts:
# docs/file-format-parity.md
2026-10-19 12:22:05 -04:00
Brandon Thomas
06a94d42b2
Merge pull request #1935 from Mouhand-Kaddo:fix/shape-text-rtl
...
# Conflicts:
# docs/file-format-parity.md
# docs/localization-parity.md
2026-10-19 12:22:04 -04:00
Brandon Thomas
7b8aaf9ca7
Merge pull request #1939 from Mouhand-Kaddo:fix/xls-right-to-left-sheets
...
# Conflicts:
# docs/file-format-parity.md
# docs/localization-parity.md
2026-10-19 12:22:02 -04:00
Brandon Thomas
12ee27a177
Merge pull request #1943 from Mouhand-Kaddo:fix/table-name-length
...
# Conflicts:
# docs/localization-parity.md
2026-10-19 12:22:01 -04:00
Brandon Thomas
8d562e9b56
Merge pull request #1879 from Silvertree2010:fix/h2804-custom-autofilter-is-less-than-l
2026-10-19 12:21:34 -04:00
Brandon Thomas
937cfd1e91
Merge pull request #1903 from justinjohn0306:fix/1855-backspace-undo
2026-10-19 12:21:29 -04:00
Brandon Thomas
46c706a491
Merge pull request #1845 from MarekSpodBiedry:issue-1830
2026-10-19 12:21:28 -04:00
Brandon Thomas and Claude Opus 5.5
33ac9e5f64
Drop the dbus-run-session test: it spawns a bus, sleeps 9 s and fails where dbus-daemon is missing
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-19 12:21:13 -04:00
Brandon Thomas and Claude Opus 5.5
8968e83359
RangeRef::parse: whole columns take at most one $ too
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-19 12:21:01 -04:00
Brandon Thomas and Claude Opus 5.5
f2473d1f33
Ctrl+Shift+= on several whole-row areas still opens the Insert dialog
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-19 12:20:46 -04:00
Brandon Thomas
a6757829eb
Merge pull request #1814 from Higgs32584:fix-1447-pivot-bool-error-flags
2026-10-19 12:19:54 -04:00
Brandon Thomas
29f9959521
Merge pull request #1866 from HyakoV3:fix/1528-formula-edit-sheet
2026-10-19 12:19:53 -04:00
Brandon Thomas
8e8e2ba73c
Merge pull request #1920 from vedran-dobos:range-fill-formats
2026-10-19 12:19:51 -04:00
Brandon Thomas
33a5415f0e
Merge pull request #1941 from Silvertree2010:fix/h618-textbefore-textafter-with-negati
2026-10-19 12:19:50 -04:00
Brandon Thomas
859e654dce
Merge pull request #1923 from DrM7md:nux/clippy-1-95
2026-10-19 12:19:25 -04:00
Brandon Thomas
93cb9828bd
Merge pull request #1926 from DrM7md:nux/rtl-explicit-align
2026-10-19 12:19:24 -04:00