Skip to content

Releases: msrivastav13/node-sf-bulk2

v1.0.1 — Security: resolve all dependency vulnerabilities

19 Jun 14:18
5a6af66

Choose a tag to compare

Patch release resolving all 4 vulnerabilities reported by `npm audit` (now 0 vulnerabilities).

Package Severity Fix
form-data high pinned `^4.0.6` via overrides (only vuln reaching published consumers, via axios)
vite high 8.0.16 (dev)
markdown-it moderate 14.2.0 (dev)
js-yaml moderate 4.2.0 (dev)

Also bumps axios to ^1.17.0.

Merged via #38; supersedes Dependabot PRs #36 and #37.

v1.0.0

07 Jun 03:41
b442679

Choose a tag to compare

First major release. Adds partial/parallel result downloads and corrects the result-pages model to match the live Bulk API 2.0 shape.

✨ New Features

  • getResultPage(resultLink) — download a single query result chunk as CSV (buffered).
  • getResultPageStream(resultLink) — stream a single result chunk as a Node.js Readable.

Together with getBulkQueryResultPages, these enable partial / parallel downloads (the PartialDownloadAndJobEvent feature) — results can be retrieved chunk-by-chunk while the query job is still running.

🐛 Fixes

  • getBulkQueryResultPages previously returned all-undefined fields: the model declared resultPages[].resultUrl, but the API actually returns resultChunks[].resultLink. Now corrected and verified against a live org. resultLink values (relative to /services/data/vXX.0) are resolved automatically.

⚠️ Breaking Changes

  • Exported interface ResultPageResultChunk
  • ParallelQueryResultsResponse.resultPagesresultChunks; element field resultUrlresultLink
  • ParallelQueryResultsResponse.nextRecordsUrl is now string | null

The old field names resolved to undefined at runtime, so no working code could have depended on them — but the public type surface changes, hence the major version bump.

✅ Verification

  • 41 unit tests + 16 integration tests passing (integration run against a live org, including a real chunk downloaded both buffered and streamed)
  • Build and lint clean

Full Changelog: v0.2.1...v1.0.0

v0.2.1

07 Jun 03:10
ac7059d

Choose a tag to compare

What's Changed

Security patch release.

Dependencies

  • Bump axios 1.15.21.16.0, resolving 3 Dependabot advisories:
  • npm audit fix: transitive brace-expansion 5.0.55.0.6 (dev-only)

Docs

  • Update CLAUDE.md to document the vitest test suite (unit + integration)

Full Changelog: v0.1.0...v0.2.1

v0.1.0

01 May 03:22
a484629

Choose a tag to compare

[0.1.0] - 2026-04-30

Added

  • Sforce-Call-Options header supportConnection now accepts callOptions with client and defaultNamespace fields, sent as the Sforce-Call-Options header on every request.
  • deleteIngestJob(jobId) — delete a completed ingest job.
  • deleteBulkQueryJob(jobId) — delete a completed query job.
  • getAllIngestJobInfo(config?) — list all ingest jobs with optional filters (jobType, isPkChunkingEnabled, queryLocator).
  • getBulkQueryResultPages(jobId) — retrieve result page URLs for parallel query result downloads.
  • createDataUploadJobWithData(request, csv) — create an ingest job and upload CSV data in a single multipart request.
  • JOBTYPE enum (BigObjectIngest, Classic, V2Ingest, V2Query).
  • InProgress added to STATE enum.
  • query and queryAll added to OPERATION enum.
  • isPkChunkingSupported field on BulkJobInfoResponse.
  • New model types exported from the barrel: AllIngestJobsInfoResponse, IngestJobConfig, JOBTYPE, ParallelQueryResultsResponse, ResultPage.
  • Unit test suite using Vitest — 33 tests covering all public methods, endpoint construction, headers, and error propagation.
  • Integration test suite — runs against a real Salesforce org (skipped when credentials are not set).
  • Vitest configuration and test, test:unit, test:integration, test:watch npm scripts.
  • Rewritten README with full query and ingest lifecycle examples, API reference table, and testing docs.
  • Simplified examples directory — two runnable TypeScript scripts (query-job.ts, ingest-job.ts) replacing the four nested mini-projects.