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.

Showing entries for file asset_history.php. Show everything

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.

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

Oct 13, 2026
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.

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.

Identity pages aligned to one layout

Oct 11, 2026

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.

added Sep 16, 2026 Reconstructed from file notes

The asset history page can show a single window by its id, and whenever the view is narrowed to one asset it shows that asset's windows as one block of JSON with a Copy button, ready to paste on another copy of the site.

The exported asset id is deliberately 0, so an unedited paste is refused instead of filing the windows under the wrong asset on the receiving system. A closed window still marked primary is named before it is copied.

fixed Sep 6, 2026 Reconstructed from a work log

Three corrections to the asset history checks: the identifier types offered now match the ones the database accepts; one asset may carry two different tickers at once, as a security listed on two exchanges does, while the same ticker still cannot overlap itself; and marking a closed window as primary is now refused before saving, since the database would refuse it anyway.

changed August 2026 Reconstructed from file notes

The JSON entry tab on the asset history page now spells out its format: every key, which are required, the limits, both lists of allowed values and a second worked example. The value lists are printed from the same lists the validator checks.

Help text only; no change to what is accepted.

added August 2026 Reconstructed from file notes

A page for asset history, the label windows that say which ticker or other identifier each asset carried between which dates. It lists every window with filters and an integrity summary, and adds windows, or renames a label by closing one window and opening the next, through a form or pasted JSON with a preview before anything is saved.

A rename is one transaction. The integrity summary is counted across the whole table, never just the filtered view.