what's new
Every product's newest note, latest first. Each note is dated by the day its version went live on its store. The three latest notes of each product sit on its own page. The changelog has every older note as well. The same notes are an Atom feed at /feed.xml.
Data Lens: Excel, Log, CSV Viewer & Editor for Confluence 3.5.0published 2026-11-06
Under an Excel format with a language tag, such as [$-409], a date showed the tag in front of the value: [$-409]28-Oct-26 where 28-Oct-26 belongs. Some such tags came out mangled, as in [$-f40]2:30:00 PM for a time under [$-F400]. Dates and times under these tags now show without the tag.
A colour tag did it too. Under [Red]h:mm, 14:30 showed as [re31]14:30 and now reads 14:30. Two formats that count, [m] for minutes and [s] for seconds, showed [12] and [0] for 14:30 and now show 870 and 52200. Other tags in front of a date, [DBNum1] or [ENG] for example, no longer show either.
A date-only cell under some language tags took a time typed over its date without a word, and now refuses one.
Not fixed, among other things: a time with no date under a date format shows December 31, 1899, and a format with a condition such as [>100] shows the number unformatted. That goes for a date under [>100] too, which 3.4.0 showed with stray characters in front.
Data Lens: Excel, Log, CSV Viewer & Editor for Jira 3.5.0published 2026-11-06
The grid drew some Excel time formats wrong. 14:30 in a cell formatted [Red]h:mm came out as [re31]14:30. With [m], which counts minutes, it came out as [12], and with [s], for seconds, as [0]. These now read 14:30, 870 and 52200, and 14:30 typed over a value in a minutes cell is saved, where it was refused.
A date whose format starts with a tag such as [DBNum1] or [ENG] reads as the plain date, with nothing in front. Dates under a language tag such as [$-409] already showed without the tag here.
Not everything is right. A format with a condition, [>100] for one, shows the number unformatted, and a date under [>100] changed for the worse: it showed with stray characters in front and now shows as a number. A time with no date under a date format shows a day in December 1899.
JSONL Lens 2.0.1published 2026-10-28
Grid, Schema stats and Duplicates on a file that shrank after it was indexed ended in an IDE error report. Now the panel says what happened: The file is shorter than when it was indexed; Reload to read it again. A UTF-8 file with three to seven accented names near the top and one damaged byte was read as CP949, so every accented letter showed as Hangul; the 1.9.10 fix covered only files with eight or more accented letters. It is read as UTF-8 now.
Log Lens 1.9.13published 2026-10-28
With Follow on, a Pro query that has reached its cap of 1,000,000 matches now keeps the line where it stopped in its status line. After a Continue, the status line could name the newest matching line that Follow had added instead, at the end of the file, as if the query had read that far, while the lines in between were still unread and only Continue would reach them. The count beside it is now the matches up to the line where the query stopped.
XLSX Lens 1.7.0published 2026-10-27
With 1.7.0, cells can be edited in XLSX Lens. Read-only stays the default; "Edit" in the toolbar turns it on, and the workbook is untouched until you click "Save… (Pro)". While Edit is on, a double-click or F2 opens a cell, Ctrl+V stages a block copied from a spreadsheet, "Add row" appends a row at the end of the sheet, and "Set column for visible rows…" puts one value on every row the loaded page shows. "Review" shows each change next to what the file holds now. The save writes the file in place: the IDE's Local History keeps the version before it, "Keep a copy of the file before saving" leaves a copy beside the workbook, and "Undo last save… (Pro)" takes the save back until the file is closed or reloaded. A formula cell, a cell inside a merged range and a protected sheet cannot be edited and say why; a cell that feeds a formula can, and Excel recomputes the formula when the workbook opens. Edit mode, "Review", paste, "Add row" and "Set column for visible rows…" are free; saving is Pro.
Notebook Lens 1.3.1published 2026-10-27
The 1.3.0 cut, uploaded a second time; nothing in the plugin changed.
DuckDB Lens 1.4.1published 2026-10-27
The description's first paragraph now reads read-only by default, and says the file is never written until you say so. Everything 1.4.0 added stands; no code changed.
JSONL Lens for VS Code 0.6.0published 2026-10-27
records can now be edited in the viewer. double-click a record, or any cell of it, and it opens in the pane beside the grid as its JSON text; change it and press Stage, or Ctrl+Enter. the row then shows a colored edge, and a bar above the status line counts what is not saved yet ("Not saved yet: 2 records changed, 1 added") with Undo, Discard and Save. Add record opens an empty record that goes after the last one. Save in the bar, or the editor's own Save (Ctrl+S), writes the changes into the file: only the text of the records you changed is written again, and every other line, the line endings, the blank lines and a byte order mark stay as they were. until then the tab shows the unsaved mark, and Undo or Ctrl+Z takes the last change back. staging and the bar are free; the save is a Lens Pro feature, which the trial includes, and without it the prompt reads "Saving an edit is a Lens Pro feature. Opening a record, staging it, Undo and the bar that counts the unsaved records stay free." and your changes stay staged. a text that is not one JSON value is not staged, and the pane says where reading it stopped; a text with a line break is not staged either, since a record is one line. nothing is written when the file changed on disk after you opened it: the save is refused with "This file changed since you opened it; revert and edit again." a gzipped file, or one over 512 MB, still opens for reading only.
Heap Dump Lens 1.4.13published 2026-10-25
A thread dump that jcmd Thread.dump_to_file writes on JDK 25 in its text form now opens with its threads. JDK 25 puts each thread's state on the line that names it, a line the viewer up to 1.4.12 did not expect, so it read no thread from such a file and the table said "No jstack, Thread.print or Thread.dump_to_file threads in this dump". Each thread comes in with its frames and lock lines, and its state shows in the State column.
Parquet Lens 1.9.11published 2026-10-22
Four kinds of damaged or changing file now get a message that says what is wrong. An Arrow or Feather file that another program cuts short while its rows are on screen says the file changed on disk and offers Reload. An Arrow schema nested deeper than 64 levels is refused at open as nested too deep, where a stack overflow raised the error. An Avro file whose block record count is damaged is refused with the block named, where another block's records showed at the wrong row numbers. A gzip or zlib TFRecord file that inflates more than 100 times past 128 MB is refused as a decompression bomb, with the advice to decompress it outside the IDE, where a 1.6 MB file of zeros wrote 1 GB into the temp folder.
SQLite Lens 1.7.7published 2026-10-17
A whole-table sort (Pro) with "Order text by bytes" now reads the rows in an index's order when the table has an index on that one column, under the BINARY collation, neither partial nor on an expression: sorted ascending, the first page of a large table comes at once, where every such sort read the whole table first (0.1 ms against about 4 seconds for the first 100 of 1,000,000 rows). Byte order stays the bytes on a column declared NOCASE, RTRIM or with a collation only its app registers, as Room's LOCALIZED, and that column's own index is not used for it. Two texts that differ only past their first 4,097 characters now sort by the whole value. While a sort reads rows before its first page, the status line reads "sorting by ts (whole table)…" and the IDE's task line says what it is sorting and what Stop will do. "Apply the WAL and turn Edit on", clicked again once the app that held the database has quit, now says "Nothing was waiting in the WAL any more, so nothing was written." under "Nothing to apply to events.db" instead of reporting an apply. When applying the WAL stops part way, on a full disk or after a failed write, the Edit strip says "The frames are still in the -wal, and any SQLite that opens the file read-write finishes the job." and the tab shows the database's rows from a recovered copy, where it showed "database disk image is malformed". Before it starts, the apply checks that the disk can hold the frames, and the copy when "Keep a copy of the file before applying" is ticked.
Parquet Lens for VS Code 0.6.21published 2026-10-17
"Copy rows as CSV" (free) now puts an apostrophe in front of a cell whose first character is =, +, - or @ when the cell is not itself a number, so =SUM(A1) arrives as text while a signed number arrives as the number. the CSV export (Pro) writes its cells the same way; commas, quotes and line breaks are quoted as before. a hard link of the open file is refused as a destination with the words "Export destination is the source file under another name (a hard link, or the same path in another case)", where the refusal read "Export destination is the source file".
Log Lens for VS Code 0.2.15published 2026-10-17
a CSV export (Pro) now writes a leading apostrophe into any field that starts with =, +, - or @, or with a tab or a carriage return, and is not a plain number: the message, the level, the time or a named field alike. =cmd|x is written as text; a field that is only -1 stays the number -1. the export also refuses a hard link of the log as its destination, with the sentence "Export destination is the source file under another name (a hard link, or the same path in another case)"; the log's own path and a symbolic link to it were refused before, and a write through a hard link would have emptied the log while it was being read.