> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 1.0 Release Notes

export const DockerPull = ({image = "fineparser", tag = "latest", label}) => {
  const [copied, setCopied] = useState(false);
  const command = `docker pull ${image}:${tag}`;
  const copy = async () => {
    try {
      await navigator.clipboard.writeText(command);
    } catch (e) {
      const el = document.createElement("textarea");
      el.value = command;
      el.setAttribute("readonly", "");
      el.style.position = "absolute";
      el.style.left = "-9999px";
      document.body.appendChild(el);
      el.select();
      document.execCommand("copy");
      document.body.removeChild(el);
    }
    setCopied(true);
    setTimeout(() => setCopied(false), 1600);
  };
  const copyIcon = <svg viewBox="0 0 20 20" aria-hidden="true" className="h-3.5 w-3.5 shrink-0">
      <rect x="7" y="7" width="9" height="9" rx="1.5" fill="none" stroke="currentColor" strokeWidth="1.7" />
      <path d="M13 7V5.5A1.5 1.5 0 0 0 11.5 4h-6A1.5 1.5 0 0 0 4 5.5v6A1.5 1.5 0 0 0 5.5 13H7" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" />
    </svg>;
  const checkIcon = <svg viewBox="0 0 20 20" aria-hidden="true" className="h-3.5 w-3.5 shrink-0">
      <path d="m4.5 10.5 3.5 3.5 7.5-8" fill="none" stroke="currentColor" strokeWidth="1.9" strokeLinecap="round" strokeLinejoin="round" />
    </svg>;
  const actionClasses = "inline-flex h-7 items-center gap-1.5 rounded-md border px-2 text-xs font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-[#ff2038]/35";
  const activeClasses = "border-transparent bg-zinc-950/[0.04] text-zinc-800 hover:border-[#ff2038]/45 hover:bg-[#ff2038]/10 hover:text-[#ff2038] dark:bg-white/10 dark:text-zinc-100 dark:hover:border-[#ff2038]/60 dark:hover:bg-[#ff2038]/25 dark:hover:text-white";
  const copiedClasses = "border-emerald-500/40 bg-emerald-500/10 text-emerald-700 dark:border-emerald-400/50 dark:bg-emerald-400/15 dark:text-emerald-300";
  return <div className="flex min-h-10 items-center justify-between gap-3 rounded-md border border-zinc-950/10 bg-white px-2.5 py-1.5 shadow-sm dark:border-white/10 dark:bg-white/[0.04]">
      <span className="flex min-w-0 items-center gap-2.5">
        {label ? <span className="shrink-0 text-sm font-medium text-zinc-950 dark:text-white">{label}</span> : null}
        <code className="min-w-0 truncate rounded bg-transparent px-0 font-mono text-[13px] text-zinc-700 dark:text-zinc-300">
          <span className="text-zinc-400 dark:text-zinc-500">$ </span>
          {command}
        </code>
      </span>
      <button type="button" onClick={copy} className={`${actionClasses} ${copied ? copiedClasses : activeClasses} shrink-0`} aria-label={`Copy ${command}`} title={command} aria-live="polite">
        {copied ? checkIcon : copyIcon}
        {copied ? "Copied" : "Copy"}
      </button>
    </div>;
};

<Update label="1.0.0" description="September 2026">
  #### Features

  * Initial release of ABBYY FineParser, a self-hosted, Docker-native document parser for AI pipelines.
  * Asynchronous REST API: submit one document per request to `POST /parse`, poll `GET /jobs/{id}`, and download the result. See [REST API](/fine-parser/concepts/rest-api).
  * `GET /healthz` readiness endpoint, also used as the container `HEALTHCHECK`.
  * Results persisted to a mounted output volume, with optional delete-on-download.
  * Output in [DocLang](/fine-parser/concepts/doclang), JSON, and plain text.
  * Two [recognition modes](/fine-parser/basics/recognition-modes): high fidelity (default) and fast.
  * Recognition in 200+ [languages](/fine-parser/basics/languages), selectable at startup.
  * Command-line interface with the same modes, languages, and output formats as the REST API. See [CLI](/fine-parser/concepts/cli).

  <div className="not-prose mt-4 max-w-2xl">
    <DockerPull tag="1.0.0" />
  </div>
</Update>
