Skip to content

v0.2.4 - XLSX ownership data, curl/npm install

Choose a tag to compare

@github-actions github-actions released this 25 Sep 22:42
· 150 commits to main since this release
b88425f

Highlights

  • Ownership data is current again. Since June 2026 IDX publishes the monthly "Pemegang Saham di Atas 1%" list as XLSX on the Data Kepemilikan Saham page instead of a PDF announcement. idx ownership discover finds it there and idx ownership import reads it. The published snapshot (idx ownership sync) now covers 2026-06-30, 2026-07-31 and 2026-08-31.
  • New install channels: curl -fsSL https://raw.githubusercontent.com/0xrsydn/idx-cli/main/install.sh | sh and npm (npx idx-cli, npm i -g idx-cli). Both use prebuilt binaries with SHA-256 verification.
  • Sync accepts larger snapshots. v0.2.3 and earlier cap snapshot downloads at 10 MiB. This version accepts up to the manifest's size (at most 1 GiB), which leaves room for more months of history later.

Ownership

  • XLSX parser for the above-1% holder register (#25). Only the exact 12-column layout is accepted, so the daily above-5% and investor-type workbooks are rejected instead of mis-imported. Both the Feb/Mar 2026 INVESTOR_TYPE and the later INVESTOR_CLASSIFICATION headers are handled.
  • Discovery merges the announcement API with the data page (#26). Downloads retry across curl-impersonate browser profiles, since IDX's Cloudflare rejects curl_chrome142 on the new page.
  • ownership import --url accepts .xlsx.
  • Snapshot sync: the download is bounded by the manifest's size_bytes, and a body larger than advertised is rejected (#31).

Snapshot publishing (maintainers)

  • build-latest-ownership-snapshot.sh --history <n> includes earlier months (#27). --max-snapshot-bytes (default 10 MiB) refuses snapshots that released clients can't download (#31).
  • Idempotent, packaged publisher: nix build .#ownership-publisher gives idx-ownership-publish and idx-ownership-freshness. Every run ends in one RESULT: line (#29). Upload verification and partial-publish recovery (#30).

Distribution

  • Release workflow builds static musl Linux (x64, arm64) and macOS (arm64, x64) binaries, plus SHA256SUMS and install.sh (#22, #24).
  • npm wrapper with checksum-verified postinstall (#22). pnpm 10+ and bun need --allow-build / --trust.

Compatibility

  • The snapshot manifest is still schema v1. v0.2.3 clients keep syncing as long as snapshots stay at or below 10 MiB, which the publisher enforces.
  • Discover JSON gains format and as_of_date fields; existing fields are unchanged.