Use case
I would like to use repeated inline fields as an append-only history while allowing Bases to dynamically expose the latest value as the current state.
For example, a note may contain multiple historical entries:
History
2026-06-01
[status_history:: On Track]
[priority_history:: Normal]
2026-09-15
[status_history:: Attention]
[priority_history:: High]
2026-09-28
[status_history:: Blocked]
[priority_history:: Critical]
Dataview can currently treat these repeated fields as a list and retrieve the latest value.
It would be extremely useful if a Base formula could do something conceptually similar to:
current_status = status_history.last()
current_priority = priority_history.last()
The resulting formula properties could then be used normally in Bases:
FILTER current_status == “Blocked”
SORT current_priority
GROUP BY current_status
Why this matters
YAML/Properties are excellent for representing the current state of a note, but they do not provide a queryable history of previous values.
For workflows involving project tracking, CRM/account management, issue tracking, risks, support cases, decisions, etc., historical state changes are important.
Currently this creates a choice between:
- storing only the current value in YAML and losing the queryable history;
- keeping an append-only history using repeated inline fields, but being unable to use the latest value easily in Bases;
- duplicating the latest value into YAML using scripts or automation, which creates two representations of the same data and a risk of synchronization issues.
Ideally, the history could remain the single source of truth, while Bases dynamically derives the current state:
Append-only history
↓
repeated inline fields
↓
Bases formula: .last()
↓
current state
↓
filter / sort / group / display
Possible implementation
This does not necessarily need to be a dedicated .last() function. Any generic mechanism for accessing elements of a list/collection would solve the problem, for example:
status_history.last()
or
status_history[-1]
or
last(status_history)
Ideally, other collection operations could eventually also be supported (first, length, etc.), but retrieving the latest value would already enable this workflow.
Important detail
The derived value should ideally remain usable by other Base features — not only for display:
- filtering
- sorting
- grouping
- formulas
This would make it possible to build dynamic current-state views from historical data without scripts, duplicated YAML properties, or manual synchronization.
Thanks!