Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,4 @@ jobs:
uses: ./.github/actions/setup

- name: Build package
run: yarn prepare
run: yarn prepare
43 changes: 43 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Release

on:
workflow_dispatch:
inputs:
version:
description: 'Release type (patch | minor | major) or explicit version'
required: false
default: 'patch'

# Required for npm provenance (OIDC) and for release-it to push tags/releases.
permissions:
contents: write
id-token: write

jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup
uses: ./.github/actions/setup

- name: Configure git
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"

- name: Build package
run: yarn prepare

- name: Release
run: yarn release ${{ github.event.inputs.version }} --ci
env:
# Enables npm publish provenance attestations (requires id-token: write).
NPM_CONFIG_PROVENANCE: true
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
27 changes: 27 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Belt-and-suspenders denylist.
#
# The authoritative publish allowlist is the "files" field in package.json.
# This file is a defensive backstop so the example app — and in particular its
# self-referential `example/node_modules/react-native-deepgram -> ../..`
# symlink — can never leak into the published tarball (which breaks
# patch-package and other tools that walk the package recursively), even if the
# "files" allowlist is changed in the future.

# Example app (local development only — never published)
example

# Local build output / caches
android/build
android/.gradle
ios/build
ios/generated/build
.turbo
coverage

# Tests, mocks & fixtures
**/__tests__
**/__mocks__
**/__fixtures__

# Misc dev artifacts
*.log
37 changes: 37 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Changelog

All notable changes to this project are documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [2.2.0] - 2026-06-25

### Added

- **Live `measurements` option.** `DeepgramLiveListenOptions` now supports the
`measurements` flag, mirroring the existing prerecorded option. When enabled it
is serialized into the live/streaming query (`measurements=true`) for both the
v1 and v2 (Flux) realtime paths, converting spoken measurements into
abbreviated forms during live transcription.

### Fixed

- **Packaging — stop leaking the example app / self-referential symlink to
consumers.** The `postinstall` script unconditionally created
`example/node_modules/react-native-deepgram -> ../..`, a self-referential
symlink. Because npm always omits `node_modules` from tarballs, this symlink
reached consumers via the dependency's own `postinstall` running on install,
causing `patch-package` — and any tool that walks the package directory
recursively — to follow it infinitely and crash with `ENAMETOOLONG`. The
script is now guarded to run only during local development of this repo (when
the example app is present) and is a no-op when installed as a dependency. An
`.npmignore` backstop was added alongside the existing `files` allowlist so the
example app can never be published.
- **iOS — crash-safe audio session deactivation.** `deactivateAudioSession` now
returns early when the session was never configured, wraps `setActive:NO` in a
`@try/@catch`, and downgrades expected deactivation failures (competing audio
routes from expo-av, CallKit, or Bluetooth changes) from an error to a warning,
preventing noisy logs and potential exceptions during route transitions.

[2.2.0]: https://github.com/itsRares/react-native-deepgram/compare/v2.1.0...v2.2.0
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -711,6 +711,7 @@ const {
| `punctuate` | `boolean` | `false` | Auto-insert punctuation/capitalisation. |
| `smartFormat` | `boolean` | `false` | Apply Deepgram smart formatting. |
| `numerals` | `boolean` | `false` | Convert spoken numbers to digits. |
| `measurements` | `boolean` | `false` | Convert measurements to abbreviations. |
| `dictation` | `boolean` | `false` | Dictation features. |
| `fillerWords` | `boolean` | `false` | Include "um"/"uh". |
| `profanityFilter` | `boolean` | `false` | Remove profanity. |
Expand Down
7 changes: 7 additions & 0 deletions example/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Native projects are generated on demand via Expo prebuild (CNG).
# Regenerate with `yarn prebuild` (expo prebuild --clean) or `yarn ios` / `yarn android`.
/ios/
/android/

# Expo
.expo/
16 changes: 0 additions & 16 deletions example/android/.gitignore

This file was deleted.

176 changes: 0 additions & 176 deletions example/android/app/build.gradle

This file was deleted.

Binary file removed example/android/app/debug.keystore
Binary file not shown.
14 changes: 0 additions & 14 deletions example/android/app/proguard-rules.pro

This file was deleted.

7 changes: 0 additions & 7 deletions example/android/app/src/debug/AndroidManifest.xml

This file was deleted.

35 changes: 0 additions & 35 deletions example/android/app/src/main/AndroidManifest.xml

This file was deleted.

Loading
Loading