> ## Documentation Index
> Fetch the complete documentation index at: https://ekacare-consent-url-fix.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# EkaScribe Changelog

> Updates and improvements to EkaScribe — transcription and clinical documentation.

export const SubscribeForm = () => {
  const [email, setEmail] = useState("");
  const [status, setStatus] = useState("idle");
  const handleSubmit = e => {
    e.preventDefault();
    const trimmed = email.trim();
    if (!trimmed || !trimmed.includes("@")) {
      setStatus("error");
      return;
    }
    window.open("http://eepurl.com/i3Lz2E", "_blank");
    setStatus("success");
    setEmail("");
  };
  return <div style={{
    background: "#E1F5EE",
    border: "1px solid #5DCAA5",
    borderRadius: "12px",
    padding: "20px 24px",
    marginBottom: "28px"
  }}>
      <div style={{
    fontSize: "15px",
    fontWeight: "600",
    color: "#085041",
    marginBottom: "4px"
  }}>
        Get weekly developer updates in your inbox
      </div>
      <div style={{
    fontSize: "13px",
    color: "#0F6E56",
    marginBottom: "14px",
    lineHeight: "1.5"
  }}>
        New features, SDK releases, API changes, and bug fixes — delivered every week. No spam. Unsubscribe anytime.
      </div>
      {status === "success" ? <div style={{
    background: "#0F4C3A",
    color: "white",
    borderRadius: "8px",
    padding: "10px 16px",
    fontSize: "13px"
  }}>
          ✓ Check your inbox to confirm your subscription.
        </div> : <form onSubmit={handleSubmit} style={{
    display: "flex",
    gap: "8px",
    flexWrap: "wrap"
  }}>
          <input type="email" value={email} onChange={e => {
    setEmail(e.target.value);
    setStatus("idle");
  }} placeholder="your@email.com" required style={{
    flex: "1",
    minWidth: "200px",
    height: "38px",
    border: status === "error" ? "1.5px solid #E24B4A" : "1.5px solid #5DCAA5",
    borderRadius: "8px",
    padding: "0 14px",
    fontSize: "13px",
    color: "#111",
    background: "white",
    outline: "none"
  }} />
          <button type="submit" style={{
    height: "38px",
    background: "#0F4C3A",
    color: "white",
    border: "none",
    borderRadius: "8px",
    padding: "0 20px",
    fontSize: "13px",
    fontWeight: "500",
    cursor: "pointer",
    whiteSpace: "nowrap"
  }}>
            Subscribe →
          </button>
        </form>}
      {status === "error" && <div style={{
    fontSize: "11px",
    color: "#E24B4A",
    marginTop: "6px"
  }}>
          Please enter a valid email address.
        </div>}
      <div style={{
    fontSize: "11px",
    color: "#0F6E56",
    marginTop: "8px",
    opacity: "0.75"
  }}>
        Powered by Mailchimp · Your data is safe with us
      </div>
    </div>;
};

<SubscribeForm />

<Update
  label="April 17, 2026"
  description="April 17, 2026"
  tags={["Update"]}
  rss={{
title: "EkaScribe — April 17, 2026",
description: "• Android SDK switches to MP3 encoding replacing AAC/MP4\n\n• Android SDK partial output polling via templateResults\n\n• iOS SDK parallel chunk processing\n\nRead more: https://developer.eka.care/ekascribe-changelog"
}}
>
  ## Improved

  * **\[EkaScribe] Android SDK MP3 encoding** — The EkaScribe Android SDK now uses MP3 encoding (via LAME) instead of AAC/MP4, producing raw MPEG Layer III bitstreams for more reliable audio chunk uploads. The AAC encoder and MP4 format option have been removed. [View docs](/api-reference/health-ai/ekascribe/SDKs/android-sdk)

  * **\[EkaScribe] Android SDK partial output polling** — Transaction result polling in the Android SDK now checks statuses across `integration`, `transcript`, and `custom` fields within `templateResults`, replacing the legacy `output` list. Empty statuses are treated as failures instead of timing out, improving error detection. [View docs](/api-reference/health-ai/ekascribe/SDKs/android-sdk)

  * **\[EkaScribe] iOS SDK parallel chunk processing** — The EkaScribe iOS SDK now processes audio chunks in parallel, improving transcription throughput and reducing end-to-end latency for longer recording sessions.
</Update>

<Update
  label="April 16, 2026"
  description="April 16, 2026"
  tags={["Feature", "Update"]}
  rss={{
title: "EkaScribe — April 16, 2026",
description: "• Document management methods added to JS SDK\n\n• Output polling now supports document_id and DLP parameters\n\nRead more: https://developer.eka.care/ekascribe-changelog"
}}
>
  ## Added

  * **\[EkaScribe] Document management in JS SDK** — The EkaScribe JS SDK now exposes `createDocument`, `deleteDocument`, and `getChunkTranscript` methods, enabling programmatic document lifecycle management and per-chunk transcript retrieval directly from the SDK. [View docs](/api-reference/health-ai/ekascribe/SDKs/TS-sdk)

  ## Improved

  * **\[EkaScribe] Output polling parameters in JS SDK** — The `pollOutputSummary` method now accepts `document_id` and `dlp` query parameters, and the status API response type includes `document_id` and `document_path` fields. The status API timeout has been increased from 16s to 20s for improved reliability. [View docs](/api-reference/health-ai/ekascribe/SDKs/TS-sdk)
</Update>

<Update
  label="April 13, 2026"
  description="Week of April 8–13"
  tags={["Update"]}
  rss={{
title: "EkaScribe — Week of April 8–13, 2026",
description: "• EkaScribe documentation revamped — New Quick Start guide, reordered integration methods with SDKs recommended first, and improved sidebar navigation.\n\nRead more: https://developer.eka.care/ekascribe-changelog"
}}
>
  ## Updates

  * **EkaScribe documentation revamped** — The EkaScribe docs now include a Quick Start guide with a step-by-step TypeScript SDK integration walkthrough. Integration methods are reordered to recommend SDKs first, REST APIs second, and Chrome Extension third. SDK sidebar titles use proper casing, and deprecated APIs are nested under a warning section for clarity. [View docs](/api-reference/health-ai/ekascribe/quick-start)
</Update>
