Skip to content

Releases: RoboFinSystems/robosystems-report-components

Release v0.2.10

Choose a tag to compare

@github-actions github-actions released this 19 Jul 16:29

@robosystems/report-components v0.2.10

Summary: This release adds markdown rendering support for text-block disclosures, enabling rich typography in ExternalTextBlock frames when the underlying data carries an rs:contentType hint.

✨ Features & Improvements

  • Markdown text-block disclosuresExternalTextBlock now detects rs:contentType on text-block facts and renders Markdown content with proper typography instead of plain text (#20)
  • Content-type–aware rendering pipeline — The adapter store and data model have been extended to propagate contentType metadata through to the rendering layer, keeping the component tree source-agnostic
  • StatementTable integration — Statement tables that embed text-block frames now correctly delegate to the new Markdown-aware path

⚠️ Breaking Changes

None.

🔧 Technical Changes

  • Model extension (model.ts, constants.ts) — Added contentType field and associated constant for the rs:contentType predicate
  • Store adapter update (adapters/store.ts) — Store now extracts and surfaces content-type metadata when hydrating text-block entries
  • Test coverage — New and updated unit tests in render.test.tsx and store.test.ts covering Markdown rendering and store-level content-type propagation

🐛 Bug Fixes

No bug fixes in this release.


📊 Release Statistics

  • Commits: 4
  • Files Changed: 9
  • Components Updated: 5
  • Styles Updated: 0
  • Lines Added: 162
  • Lines Deleted: 13
  • Previous Release: v0.2.9

🔗 Links


🤖 Generated with Claude Code

Release v0.2.9

Choose a tag to compare

@github-actions github-actions released this 14 Jul 18:08

@robosystems/report-components v0.2.9

XBRL hypercube scaffolding rows (e.g., Table and Line Items abstracts) are now automatically hidden, producing cleaner financial statement output without requiring consumer-side filtering.

Bug Fixes

  • Hidden hypercube scaffolding rows — The pivot logic now filters out XBRL structural rows (Table, Line Items) that serve as hypercube scaffolding but carry no reportable data. Previously these rows leaked into rendered statements as empty or confusing line items. (#19)

Technical / Internal

  • CI hook bypass — Git hooks (pre-commit, pre-push) now detect CI environments and skip automatically, preventing spurious failures in automated pipelines. (#18)

Breaking Changes

None.


📊 Release Statistics

  • Commits: 5
  • Files Changed: 5
  • Components Updated: 1
  • Styles Updated: 0
  • Lines Added: 107
  • Lines Deleted: 3
  • Previous Release: v0.2.8

🔗 Links


🤖 Generated with Claude Code

Release v0.2.8

Choose a tag to compare

@github-actions github-actions released this 14 Jul 07:16

@robosystems/report-components v0.2.8

XBRL role suffixes (e.g. _LineItems, _Table, _Abstract) are now automatically stripped from statement labels when data flows through the holon/store adapter, fixing mislabelled rows in rendered financial statements.

🐛 Bug Fixes

  • Strip XBRL role suffixes from store-adapter labels — The store/holon data path now normalises concept labels by removing standard XBRL suffixes (_LineItems, _Table, _Abstract, etc.) before they reach components, aligning behaviour with the SEC adapter and producing cleaner rendered output. (#17)

🏗️ Internal / Tooling

  • CI workflows bumped to Node 24–compatible action majors — All GitHub Actions (actions/checkout, actions/setup-node, actions/cache, etc.) updated to their latest major versions; Dependabot config added to keep them current. (#16)
  • Pre-push git hook for protected branches — A local hook now prevents accidental direct pushes to main/release branches. (#15)

⚠️ Breaking Changes

None.


📊 Release Statistics

  • Commits: 7
  • Files Changed: 14
  • Components Updated: 4
  • Styles Updated: 0
  • Lines Added: 152
  • Lines Deleted: 28
  • Previous Release: v0.2.7

🔗 Links


🤖 Generated with Claude Code

Release v0.2.7

Choose a tag to compare

@jfrench9 jfrench9 released this 13 Jul 18:48

@robosystems/report-components v0.2.7

A patch release that fixes a critical performance regression in the SEC adapter's label-resolution query, eliminating an expensive 80M-edge graph scan that could stall report rendering.

Bug Fixes

  • SEC adapter: anchored LABELS_Q on taxonomy primary key — The label-lookup query now binds to the taxonomy PK instead of scanning broadly, preventing a full 80M-edge traversal in the graph layer. This restores fast label resolution for SEC-sourced financial statements. (#14)

Documentation

  • Updated README to match the current library standard, reflecting the latest adapter surface area and component inventory. (#13)

Breaking Changes

None.

Technical Notes

  • Performance: The LABELS_Q fix in src/adapters/sec.ts constrains the Cypher query path, dramatically reducing database work when resolving XBRL labels against large SEC taxonomy graphs.
  • Test coverage: Corresponding test updates in test/sec.test.ts verify the corrected query binding.

📊 Release Statistics

  • Commits: 5
  • Files Changed: 4
  • Components Updated: 1
  • Styles Updated: 0
  • Lines Added: 96
  • Lines Deleted: 22
  • Previous Release: v0.2.6

🔗 Links


🤖 Generated with Claude Code

Release v0.2.6

Choose a tag to compare

@jfrench9 jfrench9 released this 08 Jul 18:33

@robosystems/report-components v0.2.6

Summary: This release improves label resolution for SEC filings by sourcing labels from the per-report taxonomy and stripping XBRL role tags, resulting in cleaner, more human-readable financial statement labels out of the box.

✨ Features

  • Report-scoped label resolution — The SEC adapter now resolves concept labels from the per-report taxonomy bundled with each filing, producing more accurate and context-appropriate display names instead of falling back to generic labels. (#12)
  • XBRL role tag stripping — Resolved labels are automatically cleaned of XBRL dimension suffixes ([Member], [Axis], [Domain], [Line Items], etc.), so rendered statements display concise, reader-friendly text without manual post-processing.

🐛 Bug Fixes

  • Non-fatal label query — The LABELS_Q query in the SEC adapter is now non-fatal; if label data is unavailable (e.g., pending reprocessing), the viewer renders gracefully using fallback labels instead of failing to load.

🔧 Technical Changes

  • New test coverage added for report-scoped label resolution and role-tag stripping (test/sec.test.ts).
  • Adapter internals updated in src/adapters/sec.ts; public exports unchanged (src/index.ts updated to reflect internal wiring).

⚠️ Breaking Changes

None.


📊 Release Statistics

  • Commits: 6
  • Files Changed: 4
  • Components Updated: 2
  • Styles Updated: 0
  • Lines Added: 284
  • Lines Deleted: 20
  • Previous Release: v0.2.5

🔗 Links


🤖 Generated with Claude Code

Release v0.2.5

Choose a tag to compare

@jfrench9 jfrench9 released this 08 Jul 05:49

@robosystems/report-components v0.2.5

A bugfix release that corrects rendering of facts associated with multiple fact sets, ensuring all relevant data appears in pivoted financial statement views.

Bug Fixes

  • Fixed facts belonging to multiple factSets not rendering in pivot tables — Facts that were associated with more than one factSet were previously only rendered once (or dropped entirely). The pivot logic now correctly accounts for multi-factSet membership, ensuring complete and accurate statement output. (#11)

Technical Changes

  • Updated the internal data model (model.ts) and store adapter (store.ts) to properly track and resolve facts across multiple factSet boundaries.
  • Pivot resolution logic (pivot.ts) revised to iterate all matching factSet associations when building columnar output.
  • Added dedicated test coverage for multi-factSet scenarios (multi-factset.test.ts).

Breaking Changes

None.


📊 Release Statistics

  • Commits: 3
  • Files Changed: 6
  • Components Updated: 3
  • Styles Updated: 0
  • Lines Added: 127
  • Lines Deleted: 4
  • Previous Release: v0.2.4

🔗 Links


🤖 Generated with Claude Code

Release v0.2.4

Choose a tag to compare

@jfrench9 jfrench9 released this 08 Jul 05:17

@robosystems/report-components v0.2.4

Summary: This release introduces structured section title parsing across both adapters, enabling richer metadata extraction (definition, title, and kind) for financial statement sections.


✨ Features & Improvements

  • New sections module — Added src/sections.ts providing a dedicated parser for structure titles, decomposing them into definition, title, and kind fields for cleaner downstream rendering of statement headers and section labels.
  • Adapter-level section parsing — Both the SEC adapter (sec.ts) and store adapter (store.ts) now leverage the new section parser, ensuring consistent title/kind metadata regardless of data source.
  • Expanded model types — Updated model.ts to reflect the new section structure, giving consumers typed access to parsed section metadata on report nodes.
  • Updated public exportssrc/index.ts and src/adapters/index.ts re-export the new sections API, making it available to library consumers without deep imports.

⚠️ Breaking Changes

  • Section title shape changed — Components or code relying on raw, unparsed section title strings from adapter output may need to update to consume the new { definition, title, kind } structure. Check any custom renderers that read section-level metadata directly.

🔧 Technical Changes

  • Pivot logic updatedsrc/pivot.ts adjusted to align with the new section model, ensuring the pivot/transpose layer correctly threads parsed titles through to rendered tables.
  • Test coverage expanded — SEC adapter tests (test/sec.test.ts) updated to validate the new title parsing behavior end-to-end.

🐛 Bug Fixes

  • No explicit bug fixes in this release.

PR: #10 · Commits: 3 · Files changed: 9 (+151 / −72)


📊 Release Statistics

  • Commits: 3
  • Files Changed: 9
  • Components Updated: 7
  • Styles Updated: 0
  • Lines Added: 151
  • Lines Deleted: 72
  • Previous Release: v0.2.3

🔗 Links


🤖 Generated with Claude Code

Release v0.2.3

Choose a tag to compare

@jfrench9 jfrench9 released this 08 Jul 01:45

@robosystems/report-components v0.2.3

Summary: This release fixes two correctness bugs in financial statement rendering — per-share and shares-denominated facts now bypass statement-level rescaling, and dimensional/segment facts are properly consolidated on the face statement instead of appearing as separate line items.

🐛 Bug Fixes

  • Per-share & shares items opt out of rescaling — Facts with perShare or shares units (e.g., EPS, weighted-average shares outstanding) are no longer incorrectly divided by the statement scale factor (thousands, millions, etc.). This prevents silent misstatement of rendered values. (format)
  • Segment-dimensional facts consolidated on face statement — When a fact carries a segment/dimensional qualifier (e.g., operating segments reported via XBRL dimensions), the pivot layer now rolls it into the consolidated total line rather than emitting a duplicate or orphaned row. (pivot)

✨ Improvements

  • Holon dimensional facts support (PR #9) — The store adapter and pivot engine now correctly handle multi-dimensional (segment-level) facts sourced from Holon-style graph stores, broadening compatibility with dimensional XBRL taxonomies.

🧪 Tests

  • Added segment-collision.test.ts — dedicated test coverage for the case where segmented dimensional facts collide with the consolidated total, ensuring the pivot output matches expected face-statement structure.
  • Expanded store.test.ts with additional adapter-level assertions.

⚠️ Breaking Changes

None.

🔧 Technical Notes

  • Constants updated in src/constants.ts to support the new unit-type classification used by the rescaling opt-out logic.
  • No style/CSS changes; no new dependencies; no changes to public component APIs or exports.

📊 Release Statistics

  • Commits: 5
  • Files Changed: 6
  • Components Updated: 3
  • Styles Updated: 0
  • Lines Added: 213
  • Lines Deleted: 2
  • Previous Release: v0.2.2

🔗 Links


🤖 Generated with Claude Code

Release v0.2.2

Choose a tag to compare

@jfrench9 jfrench9 released this 08 Jul 00:56

@robosystems/report-components v0.2.2

Summary: This release improves section rendering order to follow the XBRL presentation structure and adds sandboxed HTML rendering for text-block disclosures, ensuring financial statements render with correct ordering and rich narrative content.

✨ Features & Improvements

  • Structure-based section ordering — Statement sections are now ordered by their structural identity (presentation linkbase position) rather than by blockType, producing output that faithfully follows the filer's intended disclosure sequence.
  • Sandboxed HTML text-block renderingExternalTextBlock now renders XBRL text-block disclosures (e.g., accounting policies, footnotes) as sandboxed HTML, preserving the original formatting while isolating styles from the host application.

🔧 Technical Changes

  • Extended the adapter store (src/adapters/store.ts) to support the new ordering logic, with accompanying unit tests (test/store.test.ts).
  • Updated internal model types (src/model.ts) and constants (src/constants.ts) to capture structure identity metadata used for section sorting.

⚠️ Breaking Changes

None.

🐛 Bug Fixes

  • Fixed an issue where sections could render in an incorrect or non-deterministic order when multiple block types shared the same presentation group, improving correctness of multi-section financial statements.

📊 Release Statistics

  • Commits: 4
  • Files Changed: 7
  • Components Updated: 5
  • Styles Updated: 0
  • Lines Added: 118
  • Lines Deleted: 2
  • Previous Release: v0.2.1

🔗 Links


🤖 Generated with Claude Code

Release v0.2.1

Choose a tag to compare

@jfrench9 jfrench9 released this 07 Jul 00:20

@robosystems/report-components v0.2.1

Summary: This release introduces a full-fledged fact pivot engine for dimensional rendering of XBRL financial statements, enabling proper breakout of line items by their dimensional members as both rows and columns — along with several formatting and correctness fixes that improve real-world SEC filing output.


✨ Features

  • Fact pivot engine (src/pivot.ts) — New dimensional pivot system that slices and reshapes reported facts along their XBRL axes, supporting both rows and columns layouts with a user-facing toggle (#7)
  • Dimensions as rows by default — Dimensional members now render as nested rows beneath their parent concept, with a rows/columns toggle for switching to columnar breakouts; empty cells are blanked for cleaner tables
  • Dimensions toggle relocated — The dimensions rows/columns toggle now sits below the slicer controls in ReportView for a more intuitive layout
  • ISO-8601 duration humanization — Duration values like P10Y or P6M are now formatted as readable text ("10 years", "6 months") in fact displays

🐛 Bug Fixes

  • Percentage formatting — Values with unitRef of pure are no longer incorrectly treated as percentages; actual percentages are now correctly multiplied by 100 for display
  • Member row ordering — Member rows now appear above the concept total row, following standard accounting sum order
  • Member column ordering — Company-namespaced dimensional members are ordered according to the presentation linkbase rather than arbitrarily
  • Empty member columns dropped — Columns with no reported facts are pruned from the pivot output
  • Incomplete period columns filtered — Sparse period columns are dropped using SEC-style density selection, reducing noisy or misleading empty columns
  • Heading rows for member-only concepts — Concepts that contain only dimensional member facts (no top-level total) now correctly receive a heading row
  • Pivot axis scoping — Only axes explicitly declared in a statement's presentation tree are pivoted; unrelated dimensions no longer leak into the table
  • Details disclosure scopingDetails disclosures are now scoped to their declared members only, preventing unrelated facts from appearing
  • Abstract element registration — Abstract presentation elements from the SEC adapter are now registered so that section headers render in the correct position above their child line items

🔧 Technical Changes

  • New src/pivot.ts module (~2k lines added) encapsulating all dimensional pivot logic, fully decoupled from rendering
  • Added test/pivot.test.ts and test/format.test.ts for dedicated unit coverage of the pivot engine and formatter
  • Updated SEC adapter (src/adapters/sec.ts) to emit abstract nodes required by the presentation walk
  • Model types in src/model.ts extended to support pivot metadata

⚠️ Breaking Changes

  • Dimensions render as rows by default — Previously, dimensional data was not pivoted. Statements with dimensional facts will now render differently out of the box. Use the new toggle to switch to column mode if needed.

📊 Release Statistics

  • Commits: 15
  • Files Changed: 15
  • Components Updated: 8
  • Styles Updated: 0
  • Lines Added: 2463
  • Lines Deleted: 413
  • Previous Release: v0.2.0

🔗 Links


🤖 Generated with Claude Code