@nestjs-modules/mailer को 3.x से 4.x पर अपग्रेड करना
@nestjs-modules/mailer 3.0.2 और 4.0.0 के सार्वजनिक API की तुलना, उनके TypeScript टाइप से अपने-आप निकाली गई। बदला हुआ सिग्नेचर संभावित असंगत बदलाव है, निश्चितता नहीं।
सारांश
| हटाए गए इम्पोर्ट पाथ | 0 |
|---|---|
| हटाए गए एक्सपोर्ट | 0 |
| बदले गए सिग्नेचर | 0 |
| क्लास या इंटरफ़ेस के हटाए गए सदस्य | 1 |
| क्लास या इंटरफ़ेस के बदले गए सदस्य | 3 |
| नए डिप्रिकेटेड | 0 |
| आवश्यकताओं में बदलाव (engines, peer निर्भरताएँ) | 3 |
| नए एक्सपोर्ट | 64 |
हटाए गए एक्सपोर्ट
कुछ नहीं मिला।
बदले गए सिग्नेचर
कुछ नहीं मिला।
क्लास या इंटरफ़ेस के हटाए गए सदस्य
| member | import | पहले |
|---|---|---|
MailerService.executeSend | @nestjs-modules/mailer | any |
क्लास या इंटरफ़ेस के बदले गए सदस्य
| member | पहले | बाद में |
|---|---|---|
MailerService.constructor | (mailerOptions: MailerOptions, transportFactory: MailerTransportFactory, eventService?: MailerEventService | undefined): MailerService | (mailerOptions: MailerOptions, transportFactory?: MailerTransportFactory | undefined, eventService?: MailerEventService | undefined, moduleRef?: any): MailerService |
MailerTestModule.static register | (options?: Partial<{ template: { dir?: string | undefined; adapter?: any; options?: any; }; }> | undefined): DynamicModule | (options?: Omit<MailerOptions, "transport" | "transports"> | undefined): DynamicModule |
MailerEventService.constructor | (eventEmitter?: any): MailerEventService | (eventEmitter?: MailerEventEmitter | undefined, moduleRef?: any): MailerEventService |
नए डिप्रिकेटेड
कुछ नहीं मिला।
आवश्यकताओं में बदलाव (engines, peer निर्भरताएँ)
| पहले | बाद में | |
|---|---|---|
peerDependencies.handlebars | >=4.7.9 | >=4.7.10 |
peerDependencies.@nestjs/mail | — | >=0.0.1 |
peerDependencies.@nestjs/outbox | — | >=0.1.3 |
नए एक्सपोर्ट (64)
| import | export | kind |
|---|---|---|
@nestjs-modules/mailer | html | function |
@nestjs-modules/mailer | signV4 | function |
@nestjs-modules/mailer | Mailable | interface |
@nestjs-modules/mailer | SafeHtml | class |
@nestjs-modules/mailer | MailQuery | interface |
@nestjs-modules/mailer | htmlToText | function |
@nestjs-modules/mailer | isSafeHtml | function |
@nestjs-modules/mailer | unsafeHtml | function |
@nestjs-modules/mailer | MailerError | class |
@nestjs-modules/mailer | TestMailbox | class |
@nestjs-modules/mailer | CapturedMail | class |
@nestjs-modules/mailer | LogTransport | class |
@nestjs-modules/mailer | MailableData | type |
@nestjs-modules/mailer | RenderedMail | interface |
@nestjs-modules/mailer | SesTransport | class |
@nestjs-modules/mailer | SigV4Options | interface |
@nestjs-modules/mailer | SigV4Request | interface |
@nestjs-modules/mailer | FileTransport | class |
@nestjs-modules/mailer | MailerPreview | type |
@nestjs-modules/mailer | toMailerError | function |
@nestjs-modules/mailer | AwsCredentials | interface |
@nestjs-modules/mailer | BrevoTransport | class |
@nestjs-modules/mailer | SigV4Signature | interface |
@nestjs-modules/mailer | LOCAL_TRANSPORT | variable |
@nestjs-modules/mailer | MailableContent | type |
@nestjs-modules/mailer | MailableContext | interface |
@nestjs-modules/mailer | MailerSmtpError | class |
@nestjs-modules/mailer | ResendTransport | class |
@nestjs-modules/mailer | parseRetryAfter | function |
@nestjs-modules/mailer | validateMessage | function |
@nestjs-modules/mailer | InterceptOptions | interface |
@nestjs-modules/mailer | MailgunTransport | class |
@nestjs-modules/mailer | isTransientError | function |
@nestjs-modules/mailer | MailerEventRecord | interface |
@nestjs-modules/mailer | PostmarkTransport | class |
@nestjs-modules/mailer | SendGridTransport | class |
@nestjs-modules/mailer | mailerChannelName | function |
@nestjs-modules/mailer | MailerEventEmitter | interface |
@nestjs-modules/mailer | MailerMessageError | class |
@nestjs-modules/mailer | MailerRetryOptions | interface |
@nestjs-modules/mailer | MailerTimeoutError | class |
@nestjs-modules/mailer | UnsubscribeOptions | interface |
@nestjs-modules/mailer | HttpSentMessageInfo | interface |
@nestjs-modules/mailer | LogTransportOptions | interface |
@nestjs-modules/mailer | MailableSendOptions | type |
@nestjs-modules/mailer | MailerPreviewModule | class |
@nestjs-modules/mailer | MailerProviderError | class |
@nestjs-modules/mailer | MailerTemplateError | class |
@nestjs-modules/mailer | SesTransportOptions | interface |
@nestjs-modules/mailer | FileTransportOptions | interface |
@nestjs-modules/mailer | HttpTransportOptions | interface |
@nestjs-modules/mailer | MAILER_EVENT_EMITTER | variable |
@nestjs-modules/mailer | MailerPreviewOptions | interface |
@nestjs-modules/mailer | mayHaveBeenDelivered | function |
@nestjs-modules/mailer | BrevoTransportOptions | interface |
@nestjs-modules/mailer | HttpProviderTransport | class |
@nestjs-modules/mailer | MailerConnectionError | class |
@nestjs-modules/mailer | SuppressedMessageInfo | interface |
@nestjs-modules/mailer | MAILER_PREVIEW_OPTIONS | variable |
@nestjs-modules/mailer | ResendTransportOptions | interface |
@nestjs-modules/mailer | MailgunTransportOptions | interface |
@nestjs-modules/mailer | PostmarkTransportOptions | interface |
@nestjs-modules/mailer | SendGridTransportOptions | interface |
@nestjs-modules/mailer | MailerRecipientsRejectedError | class |
इन संस्करणों के बीच का changelog
पैकेज के लेखकों द्वारा प्रकाशित पाठ, जैसा है वैसा दिखाया गया।
4.0.0
### Major Changes
- [#1353](https://github.com/nest-modules/mailer/pull/1353) [`c8c0423`](https://github.com/nest-modules/mailer/commit/c8c0423749bd8f0f7d0f247e62ee5ab7a55f6535) Thanks [@juandav](https://github.com/juandav)! - v4: everything the official `@nestjs/mail` offers and more, without dropping anything v3 supports. Every capability is optional: use nodemailer, the built-in HTTP providers or `@nestjs/mail`'s transports; send directly, through BullMQ or through `@nestjs/outbox`; call `sendMail`, mail classes or the official `Mailer` over this module.
**Breaking changes** (see the [migration guide](https://nest-modules.github.io/mailer/guide/migration)):
- Transient failures are retried by default (3 attempts with backoff); `retry: false` restores v3. A timeout or a dropped connection while the message was being handed over is retried only when the email has a stable Message-ID (`idempotencyKey`), so nothing is sent twice. `sendTimeout` applies per attempt.
- Errors from transports are typed (`MailerSmtpError`, `MailerTimeoutError`, … all `MailerError`), keeping nodemailer's fields and the original as `cause`; `wrapErrors: false` restores v3.
- Emails without a text part get one derived from the HTML (`textFromHtml: false` to opt out), and messages are validated before sending (`validate: false` to opt out).
- `MailerTestModule` delivers to a `TestMailbox` (no stream transport; `info.message` uses CRLF line endings) and defaults `retry` to `false`.
- `MailerPreviewModule` is on by default only when `NODE_ENV` is `development` or `test`.
- Event payloads carry `attempt`, `permanent`, `transporterName` and `durationMs`; `MailerEventService` takes its emitter through `MAILER_EVENT_EMITTER`, and `EventEmitter2` is found automatically (in v3 it was never injected).
- `MailableContext.to` is `{ name?, address }[]`, the same shape as `@nestjs/mail`.
**New**
- Mail classes (`mailerService.send(WelcomeMail, { to, data })`) compatible with `@nestjs/mail`'s, with dependencies resolved from the whole app, and `render()` to render without sending.
- Retries with backoff and error classification (nodemailer, HTTP and AWS SDK errors), failover between transporters, `AbortSignal`, `idempotencyKey`, and graceful shutdown that waits for sends in flight (`shutdownTimeout`).
- Zero-dependency HTTP transports: Resend, Postmark, SendGrid, SES (SigV4), Mailgun and Brevo.
- The `html` tagged template (`unsafeHtml()` for trusted markup), `htmlToText()` and message validation.
- `intercept` (redirect recipients in staging), `suppress` (suppression lists) and one-click `unsubscribe` (RFC 8058).
- `TestMailbox` with assertions, `FileTransport` and `LogTransport` (with a warning when used in production) and `MailerPreviewModule` to preview emails in the browser.
- `events$`, `node:diagnostics_channel` publishing (credentials redacted), and `RETRY`, `FAILOVER` and `SUPPRESSED` events.
- BullMQ: permanent failures fail the jअपने 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
अक्सर पूछे जाने वाले प्रश्न
@nestjs-modules/mailer को 3 से 4 पर अपग्रेड करने पर कौन-से असंगत बदलाव हैं?
@nestjs-modules/mailer 3.0.2 और 4.0.0 के बीच Vigia को 0 हटाए गए एक्सपोर्ट, 0 बदले गए सिग्नेचर और 4 हटाए या बदले गए क्लास/इंटरफ़ेस सदस्य मिले।
@nestjs-modules/mailer 4 में क्या डिप्रिकेट हुआ?
@nestjs-modules/mailer 4.0.0 में 0 एक्सपोर्ट या सदस्य नए रूप से डिप्रिकेटेड चिह्नित हैं।
एजेंटों के लिए
GET https://vigia.coredls.cloud/v1/packages/npm/@nestjs-modules/mailer/upgrade?from=3.0.2&to=4.0.0