Development changelog

What has changed on this site, in its database and in the scripts behind it, newest first. Older history is being filled in as it is reconstructed, and each entry says whether it was recorded at the time or rebuilt later.

Name page links straight to adding a label window

Oct 18, 2026
changed Oct 18, 2026

The label-window section on the asset name page now links directly to the add form on the asset history page, with the asset already picked and the identifier type set to ticker, saving a click per record. A plain link to view the asset's windows sits beside it.

Asset history edit preview shows the new values again

Oct 17, 2026
fixed Oct 17, 2026

On the asset history page, editing a label window now shows the preview's field, current and new columns side by side. Before, a long note or source link stretched the preview wider than its card and the column of new values was cut off, so a correct change looked as if nothing had changed.

Cells in tables nested inside the record card were picking up the history table's no-wrap rule, so they never wrapped. Nested cells now wrap, and the preview table keeps its three columns within the card's width. A styling change only: what is validated and saved is unchanged.

Capital River shows capital at work, not every dollar ever invested

Oct 16, 2026
fixed Oct 16, 2026

The Capital River page now shows its correct version number. The previous release updated the page's behaviour but still labelled itself with the version before it.

fixed Oct 16, 2026

The held cost basis behind the Unrealized Gain card no longer averages in shares that were sold before the current position was bought. It is exact unless a partial sale has happened since the position was last fully closed.

The basis was an average across every purchase in a security's history, so a sold-out earlier position inflated the basis of the one held today and understated the unrealized gain. The basis now resets whenever a position is fully sold, and is marked as an average-cost estimate only after a partial sale.

fixed Oct 16, 2026

The Capital River's capital line and Capital Invested card now show the capital still at work on each date. Selling a whole position takes it back to zero; selling part of one reduces it in proportion to the shares sold.

Previously the line was a running total of every purchase and never fell, so a position that was closed and later reopened counted both purchases for the years in between. Only a sale moves the figure now. Transfers, splits and conversions into another security change the share count but not the capital, so they leave it alone. When sales have returned capital, the card also states how much was put in and how much came back. Combined return still measures against all capital ever put in, and the card now names that base.

Identity pages on shared code and styles, and their history in the changelog

Oct 13, 2026
changed Oct 13, 2026

The changelog admin page opens on only what still needs publishing. An index of all releases, with their public and private counts, opens any release in full for unpublishing, and publish buttons return to the view they were pressed in.

added Oct 13, 2026

The changelog admin page can load a release file chosen from disk, as well as one pasted in. The file goes through the same check and preview before anything is saved.

changed Oct 13, 2026

The five identity pages now take their styling from the site's shared stylesheet. Each page's own styles were cut down to what is particular to it, and every removal was checked so that each element keeps the same look.

A few rules that several identity pages used, and no other page did, moved into the shared stylesheet.

changed Oct 13, 2026

The five identity pages now draw their shared parts from one library: the search bar, the entity and asset lines, the name and label-window lists, the name-join check, the edit comparison and the record update. Each page lost its own copy, so a fix to one of these parts now reaches every page at once.

Nothing a visitor sees changed. Each page refuses to load, and says why, if the library is missing or too old. An edit preview opened before this update is refused once as out of date and must be rebuilt. Name records keep their own audited save path and are not written by the library.

Name and label records open inside their timelines

Oct 12, 2026
fixed Oct 12, 2026

On the asset history page, a long source link no longer stretches the opened record past the edge of the screen. The link now shows the site and file name, with the full address still behind it, and long values wrap inside the record.

changed Oct 12, 2026

On the asset history page, the selected label window is no longer shown twice. Its one-line row is replaced by the opened record, which names the window in its header and lists every field once, with the JSON and Edit controls beside it.

Other windows in the timeline keep their one-line rows and stay clickable. The edit form opens in the same place. Display only.

changed Oct 12, 2026

Adding an asset name now offers two choices, Paste JSON or Enter by hand, and shows only the one chosen. A pasted block opens the form already filled in and checked, so the empty form no longer sits under the paste box.

Pasting opens by default, since moving records between systems is the common case. A paste that cannot be read stays on the paste box with its errors; one that loads becomes the editable record, with a link back to paste a different block. Validation and the write are unchanged.

fixed Oct 12, 2026

After adding or renaming a label window, the asset history page now opens the record of the new window in its timeline, with the confirmation and ledger links above it, instead of redrawing the whole table page.

The old screen stacked the confirmation, the whole-table integrity checks, the add form again and a filtered table, and refreshing it could resubmit the form. The page now redirects to the new window's record, so a refresh is safe. The write and its validation are unchanged.

changed Oct 12, 2026

On the asset history page, the record and the label timeline are now one table. Every label window the asset has carried is listed by type, oldest first, and the selected window opens beneath its own row with its fields, its portable JSON and an Edit button, matching the asset name page.

Previously the selected window appeared in its own block and again as a row in the timeline below it. Other windows in the timeline are now links that open that window in the same place, so the separate previous/next links were removed. Editing a window opens the same form, JSON entry and preview in that place. Display only: no validation or write behaviour changed.

changed Oct 12, 2026

On the asset name page, the record and the name timeline are now one table. Every name the asset has carried is listed oldest first, and the selected name opens beneath its own row with its fields, its portable JSON, its change history and an Edit button.

Previously the selected record appeared in its own block and again as a row in the timeline below it. Now other names in the timeline are links that open that name in the same place, so the separate previous/next links were removed. The change log moved from its own section into a Changes tab on the opened row, shown only when that record has been edited; the timeline's changes column still shows at a glance which records have history. A name not yet linked to an asset opens as a table of one, with other records sharing its ticker string listed separately because they may belong to different assets. Display only: no data entry, validation or write behaviour changed.

Ledger and asset-link pages keep your view when you switch between them

Oct 11, 2026
changed Oct 11, 2026

Links between the ledger and the asset-link workbench now carry rows per page, the page number, the sort order and the advanced search filters both pages have, so switching pages lands on the same rows.

A sort column the other page does not have is left behind, and the page number is left behind with it, because the rows would be in a different order. Filters that exist on only one page stay on that page. Hovering a link says what it will carry. Links to the other ledger pages are unchanged.

Identity pages aligned to one layout

Oct 11, 2026
fixed Oct 11, 2026

On the assets page, the ledger and price counts under Related records now find rows by the asset's id rather than its current ticker, so rows recorded under an earlier ticker are included and a ticker later reused by another company is not.

A changelog for the site

Oct 11, 2026
added Oct 11, 2026

A loading page checks a changelog file, previews what will change, and saves it. Nothing becomes public by loading; each entry is published by hand after a privacy check.

Identity pages aligned to one layout

Oct 11, 2026
added Oct 11, 2026

Styles that were repeated inside six pages were gathered into the site stylesheet. The pages still carry their own copies until each is converted.

added Oct 11, 2026

The shared identity library gained the reads, change detection and page-top rendering that the four record pages each carried privately. The pages have not been switched over to it yet.

added Oct 10, 2026

An entity can now be corrected after it is created, by form or by pasting JSON. Both routes pass the same checks, show the differences before saving, and ask for explicit confirmation before an identifying field is overwritten.

changed Oct 10, 2026

The entities page was rebuilt around one record: a compact search bar with the four add buttons, the entity with its fields and its portable JSON form, then only the assets, names and history that belong to it.

changed Oct 10, 2026

Search results now appear in a fixed order: entities, then assets, then names, then history. Each block shows its first ten rows with an option to show all, and entity matches are ranked by exact match first.

The identity search page

Oct 1, 2026

The entity page

Oct 1, 2026
changed October 2026 Reconstructed from file notes

Viewing, creating and editing an entity now happen on one page. The separate add-entity page was folded in behind a "new" address, unchanged, and the view gained a "+ New entity" link.

Both halves were moved, not rewritten, and the combined page was checked by comparing its output with the two pages it replaced.

The asset page

Oct 1, 2026
changed October 2026 Reconstructed from file notes

Each related-record count above zero on the asset page is now a link to the rows it counted. The corporate actions count was removed.

A zero or failed count stays plain, so a link always lands on rows.

changed October 2026 Reconstructed from file notes

Names and label windows on the asset page now open their own record pages, and adding or linking a name goes to the new asset name page instead of the retired add-name page.

Names first (2.0.1), label windows next (2.0.2).

changed October 2026 Reconstructed from file notes

Viewing, creating and editing an asset now happen on one page. The separate add-asset page was folded in behind a "new" address, unchanged, and the view gained a "+ New asset" link.

Both halves were moved, not rewritten. The same pattern as the entity page a step earlier.

The asset name page

Oct 1, 2026
added October 2026 Reconstructed from file notes

A page for asset names replaces the add-name page and adds what that page never had: a record view. Opening a name shows its fields and JSON, the asset it names, every other name on that asset in order with the joins between them checked, and the record's change log.

Adding, linking and correcting names moved over from the add-name page unchanged, with their validation and audit trail. A name id clicked anywhere else now opens the record, with the actions one click away.

The asset history page

Oct 1, 2026
changed October 2026 Reconstructed from file notes

After saving a window, the link to the ledger assets page opens it filtered to the asset just worked on, with a second link for an older ticker when one was entered, instead of the whole ledger.

added October 2026 Reconstructed from file notes

Each label window can be opened as a record: its fields and JSON, with the windows before and after it on the same asset and the asset's names. A Rename from a record opens the form already pointed at that window.

The add-name page

Oct 1, 2026

The add-entity page

Oct 1, 2026
deprecated October 2026 Reconstructed from file notes

The add-entity page was superseded by the combined entities page, where creating an entity is the "new" mode. Its code moved there unchanged; the old page kept working until every link to it had been repointed.

The add-asset page

Oct 1, 2026
deprecated October 2026 Reconstructed from file notes

The add-asset page was superseded by the combined assets page, where creating an asset is the "new" mode. Its code moved there unchanged; the old page kept working until every link to it had been repointed.