Skip to content

v3.0.0

Choose a tag to compare

@kwent kwent released this 21 Feb 22:56
v3.0.0
bdcd0f7

Full TypeScript Rewrite

Complete rewrite from CoffeeScript to modern TypeScript.

Highlights

  • TypeScript (strict) with ESM + CJS dual output via tsdown
  • Native fetchrequest package removed (Node 24+)
  • Async/await only — callbacks removed entirely
  • DSM 7.x support — 778 real API definitions extracted from official SPK packages
  • Synology Photos stationSYNO.Foto.* / SYNO.FotoTeam.*
  • Two-factor auth (OTP) — optional otpCode param on login
  • Binary response handling — returns ArrayBuffer for non-JSON responses
  • Per-request API version override — pass version in method params
  • QuickConnect support — native fetch follows redirects transparently
  • Session reuse — optional sid param to skip login
  • Runtime deps: 3 (down from 9)

Bug Fixes

  • SurveillanceStation error resolver — CoffeeScript or bug (always truthy)
  • CLI missing process.exit(1) on unknown method
  • CLI program.parse called twice
  • SID stored as string instead of object (re-auth every call)

Breaking Changes

  • Node 24+ required
  • Callbacks removed (async/await only)
  • Browser support dropped
  • DSM 5.x support dropped
  • Default API version changed from 6.0.2 to 7.2

Closes

#73, #72, #75, #77, #48, #41, #39, #29, #64, #30