Changelog

What’s new in DynoTable

1.10.0

Highlights

  • Import data into a table. Drop a CSV, JSON or NDJSON file onto any table — or pick one from the toolbar — and DynoTable shows you what it will write before it writes anything: every column, the type it inferred for it, and the first rows laid out in the same grid you already read your data in. Adjust whatever looks wrong, then import.

Added

  • Fix the types before you commit to them. Right-click any column in the preview to change its type or rename the attribute it lands in. A warehouse code that happens to look like a number stays text if you say so — and what you see in the preview is what gets written.
  • A bad file is caught before a single row is sent. DynoTable reads the whole file through first and lists what it found — a duplicate key, a repeated header, a value that doesn't fit the column — pointing at the row each problem came from, so you fix the file instead of cleaning up after it.
  • Exports come back exactly as they left. A JSON or NDJSON file exported in DynamoDB's own format re-imports with no type guessing and no precision lost, which makes export → edit → import a safe round trip.
  • Imports run in the background and report progress in the Activity panel next to your exports, so a large file loads while you keep working.

Fixed

  • Switching tabs no longer flashes a half-drawn toolbar before the tab you picked appears.
  • The Activity panel now tells you plainly when a run was refused or stopped, instead of leaving a progress bar that never finishes.

1.9.0

Highlights

  • Create a table without leaving DynoTable. Right-click the sidebar or hit ⌘K and pick Create table: give it a name, a partition key and an optional sort key, choose on-demand or provisioned capacity, and it opens in a tab ready to use. Combinations DynamoDB would reject — a sort key that repeats the partition key, provisioned capacity with no read/write units — are caught before anything is sent, with a message that names the problem.

Added

  • Everything about a table now lives behind a single Settings button in the table toolbar, with five sections: Overview, Indexing, Secondary indexes, Settings and AI context. One button, one place to look.
  • Overview is now a real overview: item and size estimates, the primary key, every secondary index listed inline with its keys and size, and the table's status, capacity mode, region, TTL and deletion protection at a glance. A Manage link takes you across when you want to add or remove an index.
  • Indexing gets its own section, so the build status of the field index that powers search and autocomplete sits next to the fields it has discovered — instead of competing with the rest of the table's details for room.

Fixed

  • Controls in table settings now line up. Buttons match the height of the field beside them, the capacity and TTL fields share one width, and the TTL attribute name is no longer cut off.

1.8.0

Highlights

  • Every write now has an undo. DynoTable keeps a history of every write it makes to your tables — edits, PartiQL statements, batch deletes. Open the new History tab in Pending changes to see what changed, when, and exactly what each attribute looked like before and after. Hit Revert to stage the exact inverse, review it, and commit — even for a whole batch delete. If someone else changed the item in the meantime, DynoTable tells you instead of overwriting their work.

Added

  • PartiQL INSERT, UPDATE and DELETE now go through the same review flow as item edits. The run button becomes a Stage & Commit / Stage choice: write immediately in one gesture, or hold the change in Pending changes to review the diff first. Either way the write lands in your history.
  • Statements that can't be staged are flagged while you type, with the exact part of the statement underlined and a plain explanation of what to do instead. Updates to nested attributes like profile.address.city are fully supported.
  • History groups changes by commit, shows how each write was made — an edit, a PartiQL statement (with the statement itself), the AI assistant, or a batch delete — and lets you revert a single item or the whole commit in one click.
  • Batch deletes record every deleted item in full, so "Revert all" brings them back exactly as they were.

Fixed

  • A PartiQL write could re-run in rare situations after its first execution. Writes now execute exactly once, always.

1.7.0

Highlights

  • GPT-5.6 is in the model picker. Choose OpenAI's GPT-5.6 Luna for the AI assistant alongside Claude and Nova, on any AWS profile in a US region that offers it. The model needs its own AWS Marketplace subscription — until that's active DynoTable tells you so, instead of handing you a bare authorization error.

Added

  • Two more GPT-5.6 variants, Sol and Terra, are available behind Show unverified in Settings → AI. They haven't been through the full test suite the other models have, so they stay out of the picker until you ask for them.
  • Test Connection now probes the model you actually picked, over the same connection the assistant uses — a green result means that model answers, not just that your credentials are valid.

Fixed

  • The assistant repairs a mis-capitalized table name instead of insisting the table doesn't exist. DynamoDB table names are case-sensitive; when exactly one of your tables differs only in case, it uses that one and carries on. When none match, it shows you the table names you actually have rather than retrying a dead end.
  • It no longer reports a table as missing when it simply couldn't read your table list — a permissions problem now reads as one.
  • Asking about the current tab when nothing is open sends the assistant to go find what you meant, instead of guessing a table or stopping to ask.
  • Looking up an item by a key that doesn't match now tells the assistant what was wrong with the key, so it corrects the lookup instead of reporting "not found" as fact.

1.6.0

Highlights

  • Undo a filter, not just a closed tab. Cleared the wrong pill? Switched index by mistake? ⌘Z now takes back the last filter change on the table you're looking at and re-runs the query to match — the same key that already brought back closed tabs. It knows which you meant: whichever you did most recently is what it undoes, so the safety net on closing tabs and folder rows is untouched. ⌘⇧Z puts the change back.

Added

  • Filters the AI assistant sets are undoable the same way. Ask it to narrow a table, don't like the result, press ⌘Z.
  • One filter change costs exactly one ⌘Z — typing a value is a single step to undo, not one per keystroke.
  • Undo won't run a query the Run button would refuse; if a restored filter isn't executable yet, it comes back for you to finish rather than firing.

Fixed

  • The AI assistant no longer calls rows sorted when they aren't. When a sort can't be applied to the table or index in question, it either finds one that can sort or tells you plainly the view is unsorted — instead of quietly dropping the sort and describing the rows as newest-first anyway.

1.5.0

Highlights

  • Timestamps, shown your way. Pick 24-hour or AM/PM, and choose the time zone your stored timestamps should be read in — DynoTable applies both everywhere it shows a time. They sit in Settings → Appearance, next to Theme and Language, with a live sample so you can see the effect as you choose. Switch language and everything re-formats to match.
  • See how long ago, not just when. Any column holding a date or timestamp can now be shown as a relative time — "3 days ago" instead of a full timestamp. It's a per-column choice in the column header's Format menu, offered anywhere the Date format is.

Added

  • The export dialog now offers every column the grid does. A sparse attribute you could tick in the table but not at export time is available in both places now.
  • Your export column selection is remembered instead of being dropped.

Fixed

  • Saved Workbench SQL could be lost when the app started.
  • The Welcome Screen could take over while tabs were still open, and a single unreadable tab could take the rest down with it.
  • Tables briefly claimed to be empty before their first query had run.
  • Batch delete offered to confirm a deletion that would have removed nothing.
  • The AI assistant's inline suggestions showed nothing at all with some models, and its explanations could end up inside the SQL editor.
  • The AI assistant now declines a Smart Table join when the values don't actually connect, instead of building one that renders blank.

1.4.0

Highlights

  • Closed the wrong tab? Take it back. When you're not typing in an editor, ⌘Z brings back the tab you just closed, and ⌘⇧T reopens tabs one after another. Because closing is now reversible, DynoTable no longer stops to ask you to confirm it — you just close things and carry on.
  • Open links straight from your data. -click a URL in your table (Ctrl-click on Windows and Linux) and it opens in your browser. It works in every column format, and anywhere a URL appears in the item editor.

Added

  • Dropping a tab from a folder is undoable too, and no longer asks first. ⌘Z puts it back in the same folder, in the same position. Deleting a whole folder is still final, and still confirms.

Fixed

  • "Filter" appeared in English in six languages.
  • The label on the query run control no longer gets cut off in languages where it's wider than in English.
  • The AI's suggestion to open a table or query for you now appears in your language.

1.3.0

Highlights

  • Sign in with AWS IAM Identity Center on any plan. SSO now works on the free trial and on every subscription, with no upgrade required. If Identity Center is how your company hands out AWS access, you can start using DynoTable with it straight away.
  • The AI agent works inside the item editor with you. Ask it to read the item you have open, change one field, or rewrite the whole document — including edits you haven't saved yet. It never saves on your behalf: the change lands in the editor and you decide when to commit it.

Added

  • Folders remember the tabs you close. A tab you close inside a folder stays listed there and reopens with one click, so a folder becomes a durable set of the tables you work on rather than only whatever happens to be open.
  • Close a tab or remove it from the folder, straight from the row. Hovering an open row gives you × to close it; a closed row gives you to drop it from the folder for good. The distinction is the one you actually want once folders keep what you close.
  • Give the AI notes about a specific table. Every table gets its own notes in Table Settings — what its keys mean, which fields matter, anything you'd otherwise re-explain each session. They stay on your machine, and the agent reads them whenever you work on that table.
  • Ask the AI to start a new item for you. It can open the item editor already filled in with a draft, ready for you to review, finish, and save.

Fixed

  • The export toast now names the file you actually saved, instead of the one suggested before you chose a location.
  • Code exported for the DynamoDB Toolbox library now uses your table's real primary key on scans and index queries.
  • The active tab stays visible when you collapse the folder it sits in.
  • Switching profiles no longer risks mixing up your saved tabs and layout.
  • Buttons that start a slow action now respond the moment you click them, instead of looking untouched until the work finishes.
  • Searching for a name that matches no table no longer offers to open it ahead of the matching Create action — typing "Workbench" gets you a Workbench.

1.2.0

Highlights

  • Start your 30-day trial without a credit card. Try everything — SQL, Smart Tables, editing, and the AI agent — and decide afterwards. No card at signup, and none needed when the trial ends.
  • Workbench and Smart Tables are now part of the paid plan. The Free plan keeps browsing, PartiQL queries, filters, and export, and keeps serving read-only data to your coding agent over MCP — with no time limit. SQL joins and aggregations, saved Smart Tables, editing, and the AI agent come with a subscription. Your queries, specs, and layouts are never touched when a trial ends; they're waiting when you subscribe.

Added

  • See the query plan before you run it. When a plan is available, the Workbench preview identifies Scan versus Query and the index. The RCU estimate appears only when table metadata supports it; an ordinary partition Query shows no RCU. The editor also flags N+1 cross-table joins that would fan out into many DynamoDB reads.
  • Export your query as runnable code. Alongside the existing targets, you can now emit a ready-to-run program for the schema-first DynamoDB Toolbox library.
  • Turn AI off completely. One switch in Settings hides every AI surface — the chat, inline edit, autocomplete, and the AI entries in the command palette — for people who'd rather not have it there at all.
  • Open a table you can't list. If your role can read a table but isn't allowed to list them, type its name in the command palette and open it directly.
  • Clearer permission errors. When AWS refuses an action, DynoTable now names the exact permission you're missing instead of showing a raw error.
  • Faster full-table scans. Large scans now fetch several parts of a table at once, so results fill in noticeably sooner.

Fixed

  • Sending a chat message now always scrolls it into view.
  • The format options when exporting as code scroll sideways instead of wrapping onto a second line.
  • Read-only mode is reported reliably — the notice can no longer be swallowed, and the state corrects itself on the next license refresh.

1.1.0

Highlights

  • Know your table at a glance — and get a typed schema for it. Every open table now has a Stats panel: see its primary key, secondary indexes, and item-count and size estimates, index it so autocomplete and filters know your fields, and export an inferred schema as TypeScript, Zod, or JSON Schema.

Added

  • Inferred schema export. From an indexed table, turn your items into a typed schema in three formats — TypeScript, Zod, or JSON Schema — then copy it or save it to a file.
  • Indexed-field browser. The Stats panel lists every field it discovers — including nested ones by dotted path — with its type and whether it's required or optional, and adds a filter once the list grows long.
  • Table size at a glance. Item count, total size, and average item size sit right at the top of the Stats panel.

Fixed

  • Exported schemas no longer repeat a field that was seen more than once, and primary-key attributes are always marked required.

1.0.0

Highlights

  • DynoTable 1.0 — out of beta, officially stable. Our first production-ready release: the fast, keyboard-first way to browse and edit DynamoDB, hardened and reliable enough to be your everyday daily driver. Signed and notarized on macOS, with native Windows and Linux builds.
  • A clearer, quicker AI agent. Every action the agent proposes now carries a keyboard shortcut, and its thinking, steps, and proposals read cleanly as it works.

Added

  • Time-to-live at a glance. Items that expire now show a TTL marker across the data grid, PartiQL and Smart Table results, the item editor, and Flow view — so you can see what's about to expire without digging.
  • Per-column formatting. Render any column as raw text, a number, or a date, and flip any column back to its raw value.
  • A smoother column picker. Key and TTL attributes are marked so they're easy to find, it stays fast on wide tables, and there's no limit on how many columns you can show.
  • Keyboard shortcuts on every AI suggestion — accept, open, or dismiss what the agent proposes without reaching for the mouse.

Fixed

  • The column picker no longer opens blank when reopened, and its search clears correctly.
  • PartiQL now remembers the columns you've chosen to show.

0.4.0

Beta

Highlights

  • Automatic single-table design. DynoTable now recognizes the entity types in your table and lets you filter by them — no configuration, no setup.

Added

  • An entity-type badge on every row, derived automatically from your key prefixes.
  • Faceted filtering — narrow the table to a single entity type in one click.
  • Composite keys are split into readable parts, so multi-part keys are easy to scan.
  • Partition and sort key columns are pinned to the left to keep you oriented as you scroll.

Fixed

  • Re-running a query now keeps your current rows on screen while it refreshes, instead of flashing an empty grid.
  • Steadier streaming — more predictable Load more and Stop behavior on large tables.

0.3.0

Beta

Highlights

  • Saved queries. Name, save, and re-run your queries from a searchable menu — in both PartiQL and the SQL Workbench.

Added

  • Save and rename queries, scoped per table.
  • Searchable history with syntax-highlighted query rows.
  • AI-suggested names for saved queries and tabs.
  • The Workbench runs only when you hit Execute — no surprise full-table scans.

Fixed

  • Switching profiles now preserves your sidebar layout.

0.2.0

Beta

Highlights

  • Heavy SQL stays smooth. JOINs, GROUP BY, and full-table aggregates run without freezing the interface, even on large tables.

Added

  • Exact whole-table aggregates by reading the entire table on demand.
  • Faster, more responsive results for complex Workbench queries.