As software matures, progress increasingly comes from refinement rather than expansion.
New features remain important, but long-term usability often depends on something less visible: consistency. Users should be able to trust that commands behave predictably, that metadata is presented correctly, and that edge cases are handled without surprises.
Version 1.1.5 focuses on exactly those areas.
This release improves alias management, strengthens citation presentation, resolves structured output edge cases, and closes several correctness gaps discovered during real-world usage.
Together, these changes make RESERVE a more reliable platform for everyday economic data workflows.
Aliases Gain Context
Aliases have always provided a convenient way to create memorable shortcuts for frequently used series.
With v1.1.5, aliases become more than simple mappings.
Users can now attach optional notes when creating aliases:
reserve alias set CPI CPIAUCSL --note "Headline CPI inflation"Alias metadata now supports:
- Required series identifiers
- Optional user-authored notes
- Richer listing and display behavior
The result is a lightweight documentation layer that allows users to capture intent directly alongside their shortcuts.
As collections of aliases grow, that additional context becomes increasingly valuable.
A name can tell you what something is.
A note can remind you why it matters.
Citations Should Be Predictable
Previous releases introduced citation-aware data handling as part of RESERVE’s broader commitment to responsible economic data stewardship.
Version 1.1.5 continues that effort by improving how citations are presented across observation commands.
Table output now uses a consistent citation model:
- Single-source results produce a single Source footer
- Multi-source results produce a consolidated Sources footer
- Duplicate source entries are automatically removed
Most users will simply notice cleaner output.
More importantly, citation behavior is now predictable regardless of whether a workflow involves one series or many.
Consistency reduces ambiguity and helps ensure attribution remains visible as analysis becomes more complex.
Structured Output Should Stay Structured
One of the most important fixes in this release addresses a subtle but significant interoperability issue.
Certain economic series contain missing observations represented internally as NaN values.
When exported as JSON, these values could previously trigger errors such as:
json: unsupported value: NaNVersion 1.1.5 now converts missing observation values to JSON null.
This change aligns RESERVE output with standard JSON expectations and improves compatibility with downstream tools, scripts, databases, and AI workflows.
The principle is straightforward:
Structured output should remain valid structured output, even when the underlying data contains gaps.
Stronger Alias Ownership Semantics
Several fixes in this release improve how aliases behave across local and user-level configuration files.
Alias deletion now correctly removes entries from the configuration file that actually owns the alias, avoiding situations where merged configuration views could make ownership unclear.
Collision detection has also been strengthened.
When upstream validation services experience transient failures, alias creation now fails closed rather than assuming success.
These changes prioritize correctness over convenience and help prevent subtle configuration inconsistencies from accumulating over time.
Preserving Compatibility
As configuration models evolve, existing users should not be forced into disruptive migrations.
To support that goal, RESERVE now tolerates legacy string-based alias definitions during reads while continuing to write the newer structured format.
This allows older configurations to remain functional while gradually moving users toward the canonical representation.
The migration path becomes effectively automatic.
Small Improvements, Bigger Reliability
Many releases are remembered for a single headline feature.
Version 1.1.5 is different.
Its value comes from dozens of small improvements that collectively strengthen the user experience.
- Aliases now carry richer context.
- Citation behavior is more consistent.
- Structured outputs are more reliable.
- Configuration ownership is clearer.
- Compatibility is stronger.
None of these changes dramatically alter what RESERVE can do.
They improve confidence in how RESERVE does it.
And for a tool intended to support serious economic analysis, that confidence matters.