Skip to content

v0.65.0 - Unified FlameFrame Validation API (2026-04-05)

What Changed?

This release unifies the FlameFrame validation result design to provide a more consistent and intuitive API. The factory method now returns both valid and invalid rows as FlameFrame instances with clear, symmetric names: passed and failed. This eliminates the need for a separate error class and makes error handling more discoverable.


What's New

Main Feature: Unified FlameFrame Design

What it does:

FlameFrame.from() now returns { passed, failed } where both are FlameFrame instances:

  • passed: Contains only valid rows with the schema attached
  • failed: Contains invalid rows with error details in the invalid_message column

How to use it:

TypeScript
const { passed, failed } = FlameFrame.from(df, schema);

// Check for errors
if (failed.length > 0) {
  console.log("Invalid rows:");
  console.log(failed.toString());
  return;
}

// Use validated data
console.log(`${passed.length} valid rows processed`);

Benefits:

  • Symmetric naming: passed and failed are parallel concepts
  • Both results are FlameFrame instances extending BareFrame
  • Error messages accessible via failed.toColumns()["invalid_message"]
  • No separate error class needed

Added

  • MESSAGE_COLUMN static constant on FlameFrame for error message column name
  • Support for FlameFrame<never> to represent failed validation results

Changed

  • BREAKING: FlameFrame.from() result type changed from { frame, errors } to { passed, failed }
  • errors.hasErrors → check failed.length > 0
  • errors.toDataFrame() → use failed.toString() or failed.toDataFrame()
  • _schema is now optional (FlameRecord<T> | undefined)
  • FlameFrame can now be instantiated with or without a schema

Fixed

  • Test data in flameframe.test.ts for multiple errors across rows assertion

Is It Safe to Upgrade?

  • Breaking Changes: Yes
  • Backward Compatible: No

Impact on existing users: If you use FlameFrame.from(), you must update your code:

  • Change destructuring: const { frame, errors }const { passed, failed }
  • Update error checks: if (errors.hasErrors)if (failed.length > 0)
  • Update error output: errors.toDataFrame()failed.toString()

All transformation methods remain unchanged; see the Migration Guide for detailed upgrade instructions.


Release Details

  • Date: 2026-04-05
  • Version: v0.65.0
  • gaslamp: 125
  • pilotlamp: 83
  • Files Changed: 11 source files, 9 documentation files
  • Commits:
    • 53f2d6ea: refactor(torch): unify FlameFrame validation result design
    • c8c2a3d6: fix(test): correct test data for multiple errors assertion
    • e12d79ad: docs: update FlameFrame API references for {passed, failed} naming
    • 0c26f16b: docs: update all FlameFrame examples to use {passed, failed} API
    • fd3b4113: docs(dev): update BareFrame-first design guide for {passed, failed} API
    • 3d4e8a00: docs(dev): clarify FlameFrame design rules and API

Known Issues

None reported.


Next Steps

The next release cycle will focus on:

  • Migration guide updates for smooth upgrades from v0.64.0
  • Performance optimizations for large DataFrames
  • Enhanced error messages with row and field context