what's new
Every product's newest note, the newest first. A store-listed product's note is dated by the day it went live on its store; the two Atlassian apps carry the note filed with the version now in review, dated by the day that version was submitted or resubmitted. The three latest notes of each product sit on its own page.
Parquet Lens 1.8.0published 2026-09-11
The profile report, a Pro export. Pick a name ending in .profile.html, .profile.md or .profile.json in the Export Rows dialog and the rows you chose are read once and written out as a report rather than a copy. Every column gets its row, null and empty counts and the kinds of value it holds. A numeric column adds the min, max, mean and standard deviation, the quartiles, a histogram and an outlier count; a text column its lengths, its distinct count and its most frequent values; a date or timestamp column the earliest and latest value, the median step and the largest gap. The whole table gets a duplicate-row count, which stays exact up to two million rows, and a correlation matrix over up to forty numeric columns. Where a figure came from a sample rather than from every row, the report says so beside the number, and it says the same wherever a count stopped at a cap. When the export finishes, the Export finished balloon offers Open report: the HTML opens in your browser, the Markdown and the JSON in an editor tab. A cancelled profile leaves no file, and the open file is refused as a destination, as it is for the other exports.
SQLite Lens 1.4.0published 2026-09-11
A column profile report, the second Pro export. Give the export a name ending .profile.html, .profile.md or .profile.json in the Export Rows dialog and the open table, or the search matches, is walked once and profiled instead of copied: every column gets its row, null and empty counts and the kinds of cell it holds; a numeric column its min, max, mean and standard deviation, quartiles, a histogram and an outlier count; a text column its length range, distinct count and most frequent values; a date or timestamp column its earliest and latest value, the median step and the largest gap. The table as a whole gets a duplicate row count, exact up to two million rows and marked when it stops there, and a correlation matrix over its numeric columns, forty at most. The quartiles, the histogram, the outliers and the gaps come from a sample once a column holds more than a thousand values, and the report says so beside each of those figures. The HTML is one page with nothing loaded from outside, and the JSON keeps every number at full precision. The finished balloon offers Open report, and a cancelled run leaves no file. The Pro SQL console also runs several statements in one go now: separated by semicolons they run in order, each timed in the status line; a failing statement stops the run and is named with its line number, the driver's own message and how many ran before it; a semicolon inside a string, a quoted name or a comment stays text; Explain gives one plan per statement; the grid shows the last result set; a statement that would write is refused as before, while BEGIN, COMMIT and ROLLBACK go to SQLite as typed.
XLSX Lens 1.4.0published 2026-09-11
The column profile report, a second Pro export for the open sheet. Give the export a name ending .profile.html, .profile.md or .profile.json and the rows are profiled instead of copied: every column gets its row, null and empty counts and the kinds of cell it holds, a numeric column its min, max, mean, quartiles, a histogram and an outlier count, a text column its distinct count and most frequent values, a date or timestamp column its earliest and latest value and the largest gap in the series. The sheet as a whole gets an exact duplicate-row count and a correlation matrix over its numeric columns, forty at most. Wherever a figure came from a sample rather than every row, the report says so beside it. The HTML page opens in your browser from the finished balloon, the Markdown pastes into a ticket as it is, and the JSON keeps every number at full precision. Search matches and the current view profile the same way the whole sheet does, and a cancelled run leaves no file.
DuckDB Lens 1.2.7published 2026-09-11
The engine inside this plugin used to fetch extensions on its own. Type a query that names a function from one it does not carry, st_point say, and DuckDB would download that extension from the internet before answering. Every connection now opens with extension auto-install and auto-load switched off, so the engine fetches nothing and that query fails with DuckDB's own catalog error instead. An INSTALL you type into the Pro SQL console yourself is still your own call. In the console, Explain over a selection of several statements now plans each one, headed "-- statement 2 (line 3)" with its number and the line it starts on; before this the whole selection went under one EXPLAIN, which planned the first statement and ran the second. When a script of several statements stops, the failing one names its line as well: "Statement 2 of 4 (line 7) stopped the run, so nothing after it ran."
JSONL Lens for VS Code 0.5.3published 2026-09-11
"Matches only", a button beside the match arrows, pages the grid through the records the search hit and nothing else. the row numbers stay the file's, so a hit on record 4,812 still says 4,812, and the counter adds "matches only" while the button is down. a new search while it is down narrows to the new hits; a search that finds nothing lets the whole file back in; under a whole-file filter the button narrows the filtered view. free, like the rest of find.
go to row: a number box left of the search box, Ctrl+G puts the cursor in it. type a record number, press Enter, and the grid scrolls to that record and selects it. under a filter or matches only the number is still the file's record number, and when that record is not in the view the grid lands on the next one that is.
the license check now pins the Polar API version it was built against, so pasting a key works the same after Polar moves its default on October 1.
Parquet Lens for VS Code 0.6.3published 2026-09-11
the search row gains "Matches only". press it and the grid holds the rows the search hit, in file order, each with its file row number; press it again for every row. applying or clearing a filter ends it, and a search with no hits brings every row back on its own. searching again while it is down keeps the grid on the new hits.
go to row is the small box beside the search box: Ctrl+G, type 6901, Enter, and row 6,901 is selected, centred. the number is the one the # column shows, so under a filter or matches only it is still the file's row number; when the view does not hold that row the cursor goes to the first row after it. a 12,000 row file with 19 row groups was the test file, and the jump does not decode the rows in between.
fixed: clearing a whole-file filter left the grid the size of the filter's matches, so a file of 12,000 rows showed six after Clear until the tab was reopened. the row count comes back with the clear.
under the hood, the license check now names the Polar API version it speaks, 2026-04, so the October 1 change of default on the Polar side does not reach a pasted key.
Lens File Viewer for Confluence 2.4.0resubmitted 2026-09-11
Four additions and one fix. Gzipped JSONL, NDJSON, CSV and TSV attachments open in place; the gzip is inflated as a stream, up to 384 MB unpacked. A .log, .txt or .out attachment opens as a table of lines, each line carrying a level chip; plain, JSONL, logfmt and ANSI logs are recognised. Export CSV writes the open file to a download, every row, with a progress line and Cancel in the status bar. In the macro configuration you can name a second page by id or exact title; its data files then appear beside this page's, marked with the page, and a pinned file may come from either. The fix: the toolbar wraps at the macro width instead of clipping, and the grid takes its height after the frame settles. Nothing else moved: two read scopes, byte-range reads as the viewing user, no egress, nothing stored outside your site.
JSONL Lens 1.7.0published 2026-09-09
Export to Parquet, a Pro action. Pick a .parquet name in the Export Records dialog, where the filter now lists Parquet beside JSONL and CSV, and the current page or the matches of a search or a filter are written as one Parquet file. The columns are the dot paths a sample of the file shows, in the order the grid uses, up to 256 of them. Each column takes its type from the values the exported records hold: whole numbers become int64, any other number double, strings text, true and false a boolean column. A nested object or array is written as the JSON text of itself in a JSON column. Where the records disagree on the kind the column is text, and a field a record does not have is null. Records the reader cut short and records that do not parse are left out and counted on the status line, the same rule the CSV export follows. The open file is refused as a destination, as it is for CSV and JSONL. A cancelled export leaves no file behind, not even the scratch file the writer keeps beside the destination while it works. When the export finishes, the balloon offers Open exported file, and the file lands in Parquet Lens when that is installed; when nothing installed opens Parquet files, the click says so instead and offers the Parquet Lens page. The plugin download is larger than before, because the Parquet writer now ships inside it. The Theme picker ends with two locked entries now: lamplighter, whose line in the open list reads "unlocks when you share Lens with a colleague", and catacombs, whose line reads "unlocks the first time Pro runs for you". Pick a locked one and the plugin opens the way to earn it. For lamplighter that is the share card, also under Help as Share JSONL Lens: plain text for a colleague with the marketplace page, the family page beside it and a referral code of this install's own, under the line "enter it under Theme in any Lens plugin". Copy share card earns the theme here, and a colleague who picks lamplighter in their own Theme picker, types that code into the share card and presses Unlock with code earns it there. Catacombs opens the first time Pro runs for you, and a trial counts. An earned theme stays whatever the license says. Four night themes join the picker, Duskhollow, Abyss, Obsidian and Moonlit Garden; trying one is free for the open window and keeping it is Pro, like the eight.
Log Lens 1.7.0published 2026-09-09
Export to Parquet, a Pro action. Pick a .parquet name in the Export Lines dialog, whose filter reads Log, JSONL, CSV or Parquet, and the current page, the filtered view, the search matches or the query matches are written as one Parquet file. The columns are the ones the CSV export has, $level, $time and $message first and then one column per parsed field in the order the fields first appear, and a $raw column at the end holds each line exactly as it was read, so nothing the parser did not understand is lost. Each field column takes its type from its values: a number written as an integer becomes int64, any other number double, true and false booleans, text stays text, a nested object or array is written as JSON text, a line without the field leaves a null, and a field that mixes kinds is written as text. $time is text in this cut. The open file is refused as a destination, "That is the open file. Pick another name.", as it is for every export, and a cancelled export leaves no file behind, not even the scratch file the writer keeps beside the destination while it works. When the export finishes, the balloon offers Open exported file, and the file lands in Parquet Lens when that is installed. The Theme picker has two more entries at the end, lamplighter and catacombs, each with a padlock and its own line in the open list, "unlocks when you share Lens with a colleague" and "unlocks the first time Pro runs for you". Pick a locked one and the plugin opens the way to earn it. For lamplighter that is the share card, also under Help as Share Log Lens: the marketplace page, the family page and a referral code of this install's own. Copy share card earns the theme here; a colleague who types the code into their own share card, reached by picking lamplighter in the Theme picker, and presses Unlock with code earns it on their side. Catacombs opens the first time Pro runs for you, a trial included. An earned theme stays whatever the license says. Four night themes join the picker, Duskhollow, Abyss, Obsidian and Moonlit Garden; trying one is free for the open window and keeping it is Pro, like the eight.
Notebook Lens 1.1.8published 2026-09-09
Two new themes sit at the end of the Theme picker, lamplighter and catacombs, each behind a padlock until you earn it, and the open list says how beside the name: lamplighter "unlocks when you share Lens with a colleague", catacombs "unlocks the first time Pro runs for you". Sharing goes through the share card, under Help as Share Notebook Lens and opened as well when you pick the locked lamplighter entry. The card is a few lines of text for a colleague, the marketplace page and a referral code of your own among them; Copy share card earns the theme right there, and so does entering a code a colleague gave you. Catacombs is yours once Pro has run on your machine, trial or paid, and it stays after the trial ends. An earned theme is kept without Pro, in every Lens plugin, and comes back the next time you open a notebook; the other themes still taste free for the window and keep with Pro, as before.
Heap Dump Lens 1.2.6published 2026-09-09
Two new themes in the Theme picker, lamplighter and catacombs. They sit after the eight with a padlock and a hint until earned: lamplighter "unlocks when you share Lens with a colleague", catacombs "unlocks the first time Pro runs for you". Share Heap Dump Lens, new in the Help menu, shows a card with the marketplace page and your referral code; copying the card, or entering a code a colleague gave you, unlocks lamplighter. Catacombs comes with the first Pro run, a trial counts, and it stays after the trial ends. A theme earned this way is kept without Pro, here and in every Lens plugin. Picking a locked entry opens its unlock path instead of applying it. Thread dumps and GC logs read the saved theme under the same rule now.
Lens File Viewer for Jira 2.1.0submitted 2026-08-28
First release. It reads CSV, Excel XLSX, JSONL, Parquet, plain text and logs, and it shows them as paged tables on the issue. Log lines are scanned for severity so you can filter to a level with one click. A gzip wrapped log or CSV inflates in place. Reads happen as small byte ranges with the viewer permissions, so a big file opens fast and stays private. There are no vendor servers and nothing is stored.