Skip to main content

changelog

v1.1.1 (since v1.1.0) — 2025-09-17

  • Changed:

    • Introduced data validation into the SDK for consistent checks across integrations.
  • Fixed:

    • Corrected padding length handling that could trigger validation errors in certain flows.
    • Improved error mapping and registry for clearer SDK error messages.
  • Removed:

    • Cleaned up unused/internal helper functions in Client and error utilities (no public API impact).
  • Compare:

    • Git: v1.1.0...v1.1.1https://github.com/nervotec/nervoscan-js/compare/v1.1.0...v1.1.1

v1.1.0 (since v1.0.7) — 2025-09-11

  • Added:

    • License key authentication via client.initialize({ licenseKey }) with internal licence manager.
    • RGB mode capabilities: face alignment feedback, frame validation controls, continuous mode, video end detection, FPS/quality controls, diagnostics.
    • New APIs:
      • setOnAlignmentStatus((status) => void)
      • startFaceDetection() / stopFaceDetection()
      • resetMediaPipeTimestamps()
      • setFrameValidationEnabled(enabled) / isFrameValidationEnabled()
      • setTargetFPS(fps)
      • setMinFrameQuality(quality)
      • setQualityControlEnabled(enabled)
      • getFrameStatistics(), getTotalFrameCount(), getConfiguration()
      • enableContinuousMode(cb?) / disableContinuousMode()
      • enableVideoEndDetection(timeoutMs?, onVideoEnd?) / disableVideoEndDetection()
      • Diagnostics: getRGBDataCollectionStatus(), getRGBTimestamps(), isFaceDetectionActive(), isContinuousModeEnabled()
    • Smoke tests for video, RGB, streaming; timing analysis scripts and docs.
    • Logging utilities and type definitions.
  • Changed:

    • initialize is now synchronous and takes an options object: { licenseKey?, username?, password?, serverType?, useRgb? }.
    • initializeStreaming now accepts an optional RGB config and returns Promise<void>.
    • Results delivery standardized on Firebase callbacks; polling endpoints removed from flow.
    • Expanded error model with new classes: InvalidCredentialsError, LicenseInactiveError, LowFrameCountError, ConnectionLostError, ScanFailedError, VideoError, FPSCalculationError, NotImplementedError, EnvIncompatibleError, FaceLandmarkerNotInitializedError, RGBError.
    • README updated; Node 18+ recommended.
  • Fixed:

    • Low FPS error handling and reporting.
    • Face detection not working after scan started.
    • Null Blob upload guard.
    • MIME type issues and video playback problem.
    • Various type issues and general cleanup.
  • Deprecated:

    • Username/password authentication (prefer licenseKey). For serverless, license key is not yet implemented.
    • "Improved capture" toggle APIs are retained as no-ops; legacy capture is used.
  • Removed:

    • Legacy polling methods: checkResults(jobID), getResults(jobID) (use callbacks instead).
  • Upgrade notes:

    • Replace client.initialize('user','pass') with client.initialize({ licenseKey: '...' }). For serverless, continue with { username, password } for now.
    • Replace polling with callbacks: setOnWindowResults, setOnFinalResults, setOnError.
    • Remove usage of improved capture toggles; legacy capture is default.
  • Compare:

    • Git: v1.0.7...v1.1.0https://github.com/nervotec/nervoscan-js/compare/v1.0.7...v1.1.0