Skip to content

Release FunASR 1.4.21 - #3835

Merged
LauraGPT merged 1 commit into
mainfrom
codex/release-1.4.21-20261103
Nov 3, 2026
Merged

LauraGPT merged 1 commit into
mainfrom
codex/release-1.4.21-20261103

Conversation

@LauraGPT

@LauraGPT LauraGPT commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

Final Publication Acceptance

GitHub Release and PyPI 1.4.21 are both published. Both distributions were downloaded from official PyPI and match the accepted GitHub assets by SHA-256 and size:

  • funasr-1.4.21-py3-none-any.whl: 1014491 bytes; SHA-256 5c3c1b242672a70895c224982417319f3b54216eddf12e66633396633ac0b0f6.
  • funasr-1.4.21.tar.gz: 1065662 bytes; SHA-256 a209a40a79faf25c4df5550042bcb151d9873870ae8072798faba46e3f65ed80.

FunASR 1.4.21

Source: 1125860d49a7c0c3ce3675f7641374b1d403070e / tag v1.4.21.

Fix

Deliver #3824: streaming punctuation now returns an empty result for empty or whitespace chunks before touching cached words or the embedding path. Pending cache is preserved and nonempty inference remains unchanged.

This does not claim pretrained ASR quality, Windows/NPU acceptance or a full repository-suite result.

The separately released funasr-onnx==0.4.6 has its own tag, packages and verification. This root-package release does not republish it.

Verification Scope

  • New candidate release/README checks: 45 cases, 0 skips. Related docs/package/release checks: 104 cases, 2 explicitly recorded skips; no failures or errors.
  • Actual installed candidate wheel: 2 CPU tiny-random streaming punctuation cases covering empty/whitespace output and pending-cache preservation. All 439 package files and 13 entrypoints match the accepted source.
  • Reused fix(punctuation): return an empty result for empty text in CTTransformerStreaming #3824's real L20Z FP32 tiny-random cache-contract evidence by verifying the durable completion/manifest receipts and binding all recorded source modules to the installed wheel. It records 381 CUDA kernel events in actual normal-text inference; this is not a new GPU execution, BF16 run or pretrained-quality validation.
  • Exact release-head and merged-main CI were accepted with actual logs/artifacts. The final-tag workflow and the newly downloaded Python wheel/sdist passed byte/metadata/archive/source checks, strict Twine, offline installation, actual import and CLI checks.
  • The 10 unchanged runtime archives reuse complete cache bytes freshly hashed against new asset metadata and the existing runtime source release. They were not rebuilt or re-executed. SHA256SUMS covers all 12 payloads. This is not a new runtime-hardware claim.
  • No full repository-suite, production-environment upgrade, Nano benchmark or adoption/growth claim is made.

GitHub Release and official PyPI downloads are both accepted; the plan below is retained history.

Historical Pre-Release Plan

Purpose

Deliver the already merged streaming punctuation empty-input fix from #3824 to users of the root PyPI package. Official 1.4.20 still contains the old ct_transformer_streaming behavior; the new package returns an empty result for empty or whitespace chunks before touching cached words or the embedding path, while preserving cache and leaving nonempty inference unchanged.

Scope

  • Exactly eight version/README/repository-role/test paths, based on 4b19f439d729ba216748b5f87271332447aaa18b.
  • The candidate reconstructs and verifies all 4,177 tracked blobs and modes.
  • No inference implementation, dependency, workflow, model, Nano, shared environment or production-service change is introduced by this release PR.
  • Standalone funasr-onnx==0.4.6 is handled by its own tag and is not republished by the root wheel.

Verification Before PR

  • Version-contract RED is required before production version/doc changes; the same contract must then pass GREEN.
  • Related release, README, metadata, CLI, API-doc and runtime-manifest checks run on the exact candidate.
  • Wheel/sdist build, strict Twine validation, isolated installation, actual import/CLI checks and all package/source byte checks run before publication.
  • Existing fix(punctuation): return an empty result for empty text in CTTransformerStreaming #3824 CPU, exact-head/main CI and real L20Z FP32 synthetic cache-contract evidence is rebound only after exact source hashes match. It is disclosed as reused evidence, not a new GPU run or pretrained ASR-quality claim.

This is not a full repository-suite, pretrained-quality, BF16, Windows/NPU, production-upgrade, Nano, benchmark or adoption claim. Review of this release is implementer review and is not represented as an independent approval.

Publication Gates

Normal signed+DCO merge only after fresh identity/permissions/protection/rules/head/main/fork/discussion checks and exact-head CI acceptance. Merged-main CI and final-tag workflow must each be accepted. GitHub Python artifacts are downloaded and source/metadata checked; unchanged runtime archives may reuse complete cache bytes only after current asset SHA/size/archive verification. Verify 12 payloads plus SHA256SUMS, publish PyPI once as the last irreversible step, then download both official payloads and compare actual SHA/size to GitHub.

Deliver the merged streaming punctuation empty-input fix (#3824).

Signed-off-by: LauraGPT <zhifu.gzf@alibaba-inc.com>
@LauraGPT
LauraGPT merged commit 1125860 into main Nov 3, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant