Vigia

将 expo-notifications 从 57.x 升级到 58.x

根据 TypeScript 类型自动比较 expo-notifications 57.0.23 与 58.1.4 的公开 API。签名变化表示可能存在不兼容变更,并非确定结论。

概要

已删除的导入路径0
已删除的导出0
已修改的签名7
已删除的类或接口成员0
已修改的类或接口成员0
新增弃用0
要求变化(engines、peer 依赖)0
新增导出3

已删除的导出

未发现。

已修改的签名

export之前之后
expo-notifications · DateTriggerInput{ type: SchedulableTriggerInputTypes.DATE; date: number | Date; channelId?: string | undefined; }{ type: SchedulableTriggerInputTypes.DATE; date: number | Date; channelId?: string | undefined; delivery?: NotificationDelivery | undefined; }
expo-notifications · DailyTriggerInput{ type: SchedulableTriggerInputTypes.DAILY; channelId?: string | undefined; hour: number; minute: number; }{ type: SchedulableTriggerInputTypes.DAILY; channelId?: string | undefined; hour: number; minute: number; delivery?: NotificationDelivery | undefined; }
expo-notifications · WeeklyTriggerInput{ type: SchedulableTriggerInputTypes.WEEKLY; channelId?: string | undefined; weekday: number; hour: number; minute: number; }{ type: SchedulableTriggerInputTypes.WEEKLY; channelId?: string | undefined; weekday: number; hour: number; minute: number; delivery?: NotificationDelivery | undefined; }
expo-notifications · YearlyTriggerInput{ type: SchedulableTriggerInputTypes.YEARLY; channelId?: string | undefined; day: number; month: number; hour: number; minute: number; }{ type: SchedulableTriggerInputTypes.YEARLY; channelId?: string | undefined; day: number; month: number; hour: number; minute: number; delivery?: NotificationDelivery | undefined; }
expo-notifications · MonthlyTriggerInput{ type: SchedulableTriggerInputTypes.MONTHLY; channelId?: string | undefined; day: number; hour: number; minute: number; }{ type: SchedulableTriggerInputTypes.MONTHLY; channelId?: string | undefined; day: number; hour: number; minute: number; delivery?: NotificationDelivery | undefined; }
expo-notifications · NotificationContentInput{ title?: string | null | undefined; subtitle?: string | null | undefined; body?: string | null | undefined; data?: Record<string, unknown> | undefined; badge?: number | undefined; sound?: boolean | "default" | "defaultCritical" | "defaultRingtone" | (string & {}) | undefined; launchImageName?: string | undefined; vibrate?: number[] | undefined; priority?: string | undefined; color?: string | undefined; autoDismiss?: boolean | undefined; categoryIdentifier?: string | undefined; sticky?: boolean | undefined; attachments?: NotificationContentAttachmentIos[] | undefined; interruptionLevel?: Inter…{ title?: string | null | undefined; subtitle?: string | null | undefined; body?: string | null | undefined; data?: Record<string, unknown> | undefined; badge?: number | undefined; sound?: boolean | "default" | "defaultCritical" | "defaultRingtone" | (string & {}) | undefined; launchImageName?: string | undefined; vibrate?: number[] | undefined; priority?: string | undefined; color?: string | undefined; autoDismiss?: boolean | undefined; categoryIdentifier?: string | undefined; threadIdentifier?: string | undefined; sticky?: boolean | undefined; attachments?: NotificationContentAttachmentIos[]…
expo-notifications · NotificationContentAndroid{ badge?: number | undefined; color?: string | undefined; priority?: AndroidNotificationPriority | undefined; vibrationPattern?: number[] | undefined; }{ badge?: number | undefined; color?: string | undefined; priority?: AndroidNotificationPriority | undefined; vibrationPattern?: number[] | undefined; threadIdentifier: string | null; }

已删除的类或接口成员

未发现。

已修改的类或接口成员

未发现。

新增弃用

未发现。

要求变化(engines、peer 依赖)

未发现。

新增导出 (3)
importexportkind
expo-notificationsNotificationDeliverytype
expo-notificationsgetExactAlarmPermissionsAsyncfunction
expo-notificationsrequestExactAlarmPermissionsAsyncfunction

这些版本之间的 changelog

软件包作者发布的文本,按原样显示。

58.1.4
### Patch Changes

- Updated dependencies.
  - @expo/image-utils@0.12.5
  - expo-constants@58.0.12
58.1.3
### Patch Changes

- [iOS] Fix a crash (`EXC_BAD_ACCESS` in `__RawDictionaryStorage.find`) when the JS notification handler responds while the same foreground notification times out or another one arrives, by handling `handleNotificationAsync` on the main queue. ([#51370](https://github.com/expo/expo/pull/51370) by [@GersonRocha9](https://github.com/GersonRocha9))
- Updated dependencies. ([#51368](https://github.com/expo/expo/pull/51368), [#49784](https://github.com/expo/expo/pull/49784))
  - expo-application@58.1.1
  - expo-constants@58.0.11
58.1.2
### Patch Changes

- Updated dependencies. ([#51209](https://github.com/expo/expo/pull/51209))
  - expo-application@58.1.0
58.1.1
### Patch Changes

- [Android] Add support for grouping notifications via `threadIdentifier`. ([#43388](https://github.com/expo/expo/pull/43388) by [@vonovak](https://github.com/vonovak))
- [Android] Add `getExactAlarmPermissionsAsync` and `requestExactAlarmPermissionsAsync` to check and request the exact alarm permission. ([#50919](https://github.com/expo/expo/pull/50919) by [@vonovak](https://github.com/vonovak))
- [Internal] [Android] Return notification permission responses as records instead of bundles. ([#51060](https://github.com/expo/expo/pull/51060) by [@vonovak](https://github.com/vonovak))
- Updated dependencies. ([#51077](https://github.com/expo/expo/pull/51077))
  - expo-application@58.0.4
  - @expo/image-utils@0.12.4
  - expo-constants@58.0.10
58.1.0
### Minor Changes

- Add `enableRemoteNotifications` config plugin option. Set it to `false` to skip the APNs entitlement for apps that use only local notifications. Defaults to `true`. ([#50891](https://github.com/expo/expo/pull/50891) by [@netmaxt3r](https://github.com/netmaxt3r))

### Patch Changes

- Updated dependencies. ([#50391](https://github.com/expo/expo/pull/50391))
  - @expo/image-utils@0.12.3
58.0.11
### Patch Changes

- Bump precompiled artifacts due to ABI breakage in expo-modules-jsi@58.0.6. ([#50881](https://github.com/expo/expo/pull/50881) by [@kitten](https://github.com/kitten))
- Updated dependencies. ([#50881](https://github.com/expo/expo/pull/50881))
  - expo-application@58.0.3
58.0.10
### Patch Changes

- Allow native push token requests to retry after a transient failure while preserving shared in-flight requests. ([#50848](https://github.com/expo/expo/pull/50848) by [@JoaoPauloCMarra](https://github.com/JoaoPauloCMarra))
- [Android] Fix notification action buttons going missing after an app update that changes R8 minification, until the app is opened again. ([#50799](https://github.com/expo/expo/pull/50799) by [@icoric4](https://github.com/icoric4))
58.0.9
### Patch Changes

- Force-bump all packages, due to migration to changesets. ([#50762](https://github.com/expo/expo/pull/50762) by [@kitten](https://github.com/kitten))
- Updated dependencies. ([#50762](https://github.com/expo/expo/pull/50762), [#49511](https://github.com/expo/expo/pull/49511), [#50661](https://github.com/expo/expo/pull/50661))
  - @expo/image-utils@0.12.2
  - expo-application@58.0.2
  - expo-constants@58.0.9
58.0.8
_This version does not introduce any user-facing changes._
58.0.7
_This version does not introduce any user-facing changes._
58.0.6
_This version does not introduce any user-facing changes._
58.0.5
_This version does not introduce any user-facing changes._
58.0.4
_This version does not introduce any user-facing changes._
58.0.3
_This version does not introduce any user-facing changes._
58.0.2
_This version does not introduce any user-facing changes._
58.0.1
_This version does not introduce any user-facing changes._
58.0.0
### 🛠 Breaking changes

- Show notifications that arrive while the app is in the foreground, unless the app asks for another behavior with `setNotificationHandler`. A handler that doesn't answer within 3 seconds no longer drops the notification. `setNotificationHandler(null)` still stops `expo-notifications` from showing a notification. ([#49072](https://github.com/expo/expo/pull/49072) by [@vonovak](https://github.com/vonovak))
- [Android] Prevent an FCM `dataString` field from overriding the notification's derived data. ([#49274](https://github.com/expo/expo/pull/49274) by [@vonovak](https://github.com/vonovak))

### 🎉 New features

- [android] Add a `delivery` option to `DateTriggerInput` and the repeating wall-clock triggers (`DailyTriggerInput`, `WeeklyTriggerInput`, `MonthlyTriggerInput`, `YearlyTriggerInput`). Set it to `'alarmClock'` to deliver the notification via `AlarmManager.setAlarmClock()`, which OEM battery policies do not defer. Intended for time-critical, user-facing alarms. ([#49687](https://github.com/expo/expo/pull/49687) by [@capt-muji](https://github.com/capt-muji))
- [ios] Forward notification center calls to a `UNUserNotificationCenterDelegate` that another library set, so that both libraries keep working. ([#48313](https://github.com/expo/expo/pull/48313) by [@vonovak](https://github.com/vonovak))
- [ios] Add support for grouping notifications via `threadIdentifier`. ([#49429](https://github.com/expo/expo/pull/49429) by [@vonovak](https://github.com/vonovak))
- [Android] Add a `largeIcon` config plugin property that sets the notification large icon. ([#49481](https://github.com/expo/expo/pull/49481) by [@expo-bot](https://github.com/expo-bot))

### 🐛 Bug fixes

- [Android] Prevent a crash when reading the notification large icon from a manifest without meta-data. ([#49273](https://github.com/expo/expo/pull/49273) by [@vonovak](https://github.com/vonovak))
- [iOS] Fix a data race on `NotificationCenterManager`'s delegate list that crashed the app with `SIGSEGV` when one app context registered its modules while another tore its own down, such as on a dev-client reload or `Updates.reloadAsync()`. [#49554](https://github.com/expo/expo/pull/49554) by [@dennytosp](https://github.com/dennytosp))
- [Android] Prevented `onUserLeaveHint` from firing when a notification tap opens the app, which made picture-in-picture implementations enter PiP unexpectedly. ([#48471](https://github.com/expo/expo/pull/48471) by [@stareezy-1](https://github.com/stareezy-1))
- [iOS] Avoid warning when an aborted push token registration request rejects with a native fetch cancellation error. ([#48547](https://github.com/expo/expo/pull/48547) by [@JoaoPauloCMarra](https://github.com/JoaoPauloCMarra))
- [Android] Prevent a crash on notification tap when `getLaunchIntentForPackage` throws on some OEM ROMs. ([#47889](https://github.com/expo/expo/pull/47889) by [@nunocaseiro](https://github.com/nunocaseiro))
- [web] Fixed crash when browser storage is blo

把这些数据交给你的 AI 智能体

Vigia 是免费的 MCP 服务器:你的编程智能体在写代码之前就能检查版本、不兼容变更和安全漏洞。无需注册,无需 API 密钥。

claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp

添加到 Cursor添加到 VS Code★ 在 GitHub 上加星

任何其他 MCP 客户端
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

智能体技能(SKILL.md):告诉智能体何时使用 Vigia · 用于拉取请求的 GitHub Action

常见问题

将 expo-notifications 从 57 升级到 58 有哪些不兼容变更?

在 expo-notifications 57.0.23 与 58.1.4 之间,Vigia 发现 0 个已删除的导出、7 个已修改的签名,以及 0 个已删除或修改的类或接口成员。

expo-notifications 58 中弃用了哪些内容?

expo-notifications 58.1.4 中有 0 个导出或成员新被标记为弃用。

供智能体使用

GET https://vigia.coredls.cloud/v1/packages/npm/expo-notifications/upgrade?from=57.0.23&to=58.1.4