واجهات برمجة التطبيقات المهملة
قد يتم إهمال واجهات برمجة التطبيقات الخاصة بـ Node.js لأي من الأسباب التالية:
- استخدام واجهة برمجة التطبيقات غير آمن.
- تتوفر واجهة برمجة تطبيقات بديلة محسّنة.
- من المتوقع حدوث تغييرات جذرية في واجهة برمجة التطبيقات في إصدار رئيسي مستقبلي.
تستخدم Node.js أربعة أنواع من عمليات الإهمال:
- توثيق فقط
- التطبيق (رمز غير
node_modulesفقط) - وقت التشغيل (جميع التعليمات البرمجية)
- نهاية العمر
الإهمال التوثيقي فقط هو إهمال يتم التعبير عنه فقط داخل وثائق واجهة برمجة التطبيقات الخاصة بـ Node.js. لا تولد هذه العمليات أي آثار جانبية أثناء تشغيل Node.js. تؤدي بعض عمليات الإهمال التوثيقية فقط إلى تشغيل تحذير وقت التشغيل عند إطلاقها باستخدام علامة --pending-deprecation (أو بديلها، متغير البيئة NODE_PENDING_DEPRECATION=1)، على غرار عمليات الإهمال في وقت التشغيل أدناه. عمليات الإهمال التوثيقية فقط التي تدعم هذه العلامة مُعلنة بشكل صريح على هذا النحو في قائمة واجهات برمجة التطبيقات المهملة.
سيؤدي إهمال التطبيق للرمز غير node_modules فقط، بشكل افتراضي، إلى إنشاء تحذير عملية سيتم طباعته على stderr في المرة الأولى التي يتم فيها استخدام واجهة برمجة التطبيقات المهملة في التعليمات البرمجية التي لم يتم تحميلها من node_modules. عند استخدام علامة سطر الأوامر --throw-deprecation، سيتسبب إهمال وقت التشغيل في حدوث خطأ. عند استخدام --pending-deprecation، سيتم أيضًا إصدار تحذيرات للتعليمات البرمجية التي تم تحميلها من node_modules.
يشبه إهمال وقت التشغيل لجميع التعليمات البرمجية إهمال وقت التشغيل للتعليمات البرمجية غير node_modules، باستثناء أنه يصدر أيضًا تحذيرًا للتعليمات البرمجية التي تم تحميلها من node_modules.
يتم استخدام إهمال نهاية العمر عندما تتم إزالة الوظائف أو ستتم إزالتها قريبًا من Node.js.
إبطال عمليات الإهمال
في بعض الأحيان، قد يتم عكس إهمال واجهة برمجة تطبيقات. في مثل هذه الحالات، سيتم تحديث هذا المستند بمعلومات ذات صلة بالقرار. ومع ذلك، لن يتم تعديل معرف الإهمال.
قائمة واجهات برمجة التطبيقات المهملة
DEP0001: http.OutgoingMessage.prototype.flush
[التاريخ]
| الإصدار | التغييرات |
|---|---|
| v14.0.0 | نهاية العمر. |
| v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
| v1.6.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر
تمت إزالة OutgoingMessage.prototype.flush(). استخدم OutgoingMessage.prototype.flushHeaders() بدلاً من ذلك.
DEP0002: require('_linklist')
[السجل]
| الإصدار | التغييرات |
|---|---|
| v8.0.0 | نهاية العمر الافتراضي. |
| v6.12.0 | تم تعيين رمز الإهمال. |
| v5.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
الوحدة النمطية _linklist مهملة. يرجى استخدام بديل مساحة المستخدم.
DEP0003: _writableState.buffer
[السجل]
| الإصدار | التغييرات |
|---|---|
| v14.0.0 | نهاية العمر الافتراضي. |
| v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
| v0.11.15 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تمت إزالة _writableState.buffer. استخدم _writableState.getBuffer() بدلاً من ذلك.
DEP0004: CryptoStream.prototype.readyState
[السجل]
| الإصدار | التغييرات |
|---|---|
| v10.0.0 | نهاية العمر الافتراضي. |
| v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
| v0.4.0 | إهمال التوثيق فقط. |
النوع: نهاية العمر الافتراضي
تمت إزالة الخاصية CryptoStream.prototype.readyState.
DEP0005: الدالة الإنشائية Buffer()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v10.0.0 | إهمال وقت التشغيل. |
| v6.12.0 | تم تعيين رمز الإهمال. |
| v6.0.0 | إهمال التوثيق فقط. |
النوع: تطبيق (رمز غير موجود في node_modules فقط)
الدالة Buffer() والدالة الإنشائية new Buffer() مهملتان بسبب مشكلات قابلية استخدام واجهة برمجة التطبيقات (API) التي يمكن أن تؤدي إلى مشكلات أمنية غير مقصودة.
كبديل، استخدم إحدى الطرق التالية لإنشاء كائنات Buffer:
Buffer.alloc(size[, fill[, encoding]]): أنشئBufferبذاكرة مهيأة.Buffer.allocUnsafe(size): أنشئBufferبذاكرة غير مهيأة.Buffer.allocUnsafeSlow(size): أنشئBufferبذاكرة غير مهيأة.Buffer.from(array): أنشئBufferبنسخة منarrayBuffer.from(arrayBuffer[, byteOffset[, length]])- أنشئBufferيلتف حولarrayBufferالمحدد.Buffer.from(buffer): أنشئBufferينسخbuffer.Buffer.from(string[, encoding]): أنشئBufferينسخstring.
بدون --pending-deprecation، تحدث تحذيرات وقت التشغيل فقط للتعليمات البرمجية غير الموجودة في node_modules. هذا يعني أنه لن تكون هناك تحذيرات إهمال لاستخدام Buffer() في التبعيات. باستخدام --pending-deprecation، ينتج عن ذلك تحذير وقت التشغيل بغض النظر عن مكان حدوث استخدام Buffer().
DEP0006: child_process options.customFds
[السجل]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | نهاية العمر الافتراضي. |
| v6.12.0, v4.8.6 | تم تعيين رمز إهلاك. |
| v0.11.14 | إهلاك وقت التشغيل. |
| v0.5.10 | إهلاك للتوثيق فقط. |
النوع: نهاية العمر الافتراضي
ضمن طرق spawn() و fork() و exec() الخاصة بوحدة child_process، تم إهلاك الخيار options.customFds. يجب استخدام الخيار options.stdio بدلاً من ذلك.
DEP0007: استبدال cluster worker.suicide بـ worker.exitedAfterDisconnect
[السجل]
| الإصدار | التغييرات |
|---|---|
| v9.0.0 | نهاية العمر الافتراضي. |
| v7.0.0 | إهلاك وقت التشغيل. |
| v6.12.0 | تم تعيين رمز إهلاك. |
| v6.0.0 | إهلاك للتوثيق فقط. |
النوع: نهاية العمر الافتراضي
في إصدار سابق من Node.js cluster، تمت إضافة خاصية منطقية باسم suicide إلى كائن Worker. كان الغرض من هذه الخاصية هو تقديم إشارة إلى كيفية وسبب خروج مثيل Worker. في Node.js 6.0.0، تم إهلاك الخاصية القديمة واستبدالها بخاصية worker.exitedAfterDisconnect جديدة. لم يصف اسم الخاصية القديمة بدقة الدلالات الفعلية وكان محملًا بالعواطف بشكل غير ضروري.
DEP0008: require('node:constants')
[السجل]
| الإصدار | التغييرات |
|---|---|
| v6.12.0 | تم تعيين رمز إهلاك. |
| v6.3.0 | إهلاك للتوثيق فقط. |
النوع: للتوثيق فقط
تم إهلاك الوحدة النمطية node:constants. عند الحاجة إلى الوصول إلى الثوابت المتعلقة بوحدات Node.js المضمنة، يجب على المطورين بدلاً من ذلك الرجوع إلى الخاصية constants التي تعرضها الوحدة النمطية ذات الصلة. على سبيل المثال، require('node:fs').constants و require('node:os').constants.
DEP0009: crypto.pbkdf2 بدون تجزئة
[السجل]
| الإصدار | التغييرات |
|---|---|
| v14.0.0 | نهاية العمر الافتراضي (لـ digest === null). |
| v11.0.0 | إهلاك وقت التشغيل (لـ digest === null). |
| v8.0.0 | نهاية العمر الافتراضي (لـ digest === undefined). |
| v6.12.0 | تم تعيين رمز إهلاك. |
| v6.0.0 | إهلاك وقت التشغيل (لـ digest === undefined). |
النوع: نهاية العمر الافتراضي
تم إهلاك استخدام واجهة برمجة التطبيقات crypto.pbkdf2() بدون تحديد تجزئة في Node.js 6.0 لأن الطريقة كانت تعود افتراضيًا إلى استخدام التجزئة 'SHA1' غير الموصى بها. في السابق، تم طباعة تحذير إهلاك. بدءًا من Node.js 8.0.0، ستؤدي استدعاء crypto.pbkdf2() أو crypto.pbkdf2Sync() مع تعيين digest إلى undefined إلى طرح TypeError.
بدءًا من Node.js v11.0.0، سيؤدي استدعاء هذه الدوال مع تعيين digest إلى null إلى طباعة تحذير إهلاك للتوافق مع السلوك عندما تكون digest هي undefined.
الآن، مع ذلك، سيؤدي تمرير undefined أو null إلى طرح TypeError.
DEP0010: crypto.createCredentials
[السجل]
| الإصدار | التغييرات |
|---|---|
| v11.0.0 | نهاية العمر الافتراضي. |
| v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
| v0.11.13 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تمت إزالة واجهة برمجة التطبيقات crypto.createCredentials(). يرجى استخدام tls.createSecureContext() بدلاً من ذلك.
DEP0011: crypto.Credentials
[السجل]
| الإصدار | التغييرات |
|---|---|
| v11.0.0 | نهاية العمر الافتراضي. |
| v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
| v0.11.13 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تمت إزالة الفئة crypto.Credentials. يرجى استخدام tls.SecureContext بدلاً من ذلك.
DEP0012: Domain.dispose
[السجل]
| الإصدار | التغييرات |
|---|---|
| v9.0.0 | نهاية العمر الافتراضي. |
| v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
| v0.11.7 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تمت إزالة Domain.dispose(). استرجع من إجراءات الإدخال/الإخراج الفاشلة بشكل صريح عبر معالجات أحداث الخطأ المعينة على المجال بدلاً من ذلك.
DEP0013: وظيفة fs غير متزامنة بدون رد نداء
[السجل]
| الإصدار | التغييرات |
|---|---|
| v10.0.0 | نهاية العمر الافتراضي. |
| v7.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
يؤدي استدعاء وظيفة غير متزامنة بدون رد نداء إلى طرح TypeError في Node.js 10.0.0 وما بعده. انظر https://github.com/nodejs/node/pull/12562.
DEP0014: واجهة String القديمة لـ fs.read
[السجل]
| الإصدار | التغييرات |
|---|---|
| v8.0.0 | نهاية العمر الافتراضي. |
| v6.0.0 | إهمال وقت التشغيل. |
| v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
| v0.1.96 | إهمال خاص بالتوثيق. |
النوع: نهاية العمر الافتراضي
واجهة String القديمة fs.read() مهملة. استخدم واجهة برمجة التطبيقات Buffer كما هو مذكور في الوثائق بدلاً من ذلك.
DEP0015: واجهة String القديمة لـ fs.readSync
[السجل]
| الإصدار | التغييرات |
|---|---|
| v8.0.0 | نهاية العمر الافتراضي. |
| v6.0.0 | إهمال وقت التشغيل. |
| v6.12.0, v4.8.6 | تم تعيين رمز الإهمال. |
| v0.1.96 | إهمال خاص بالتوثيق. |
النوع: نهاية العمر الافتراضي
واجهة String القديمة fs.readSync() مهملة. استخدم واجهة برمجة التطبيقات Buffer كما هو مذكور في الوثائق بدلاً من ذلك.
DEP0016: GLOBAL/root
[السجل]
| الإصدار | التغييرات |
|---|---|
| v14.0.0 | نهاية العمر الافتراضي. |
| v6.12.0 | تم تعيين رمز إيقاف الاستخدام. |
| v6.0.0 | إيقاف الاستخدام في وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إيقاف الأسماء المستعارة GLOBAL و root للخاصية global في Node.js 6.0.0 وتمت إزالتها منذ ذلك الحين.
DEP0017: Intl.v8BreakIterator
[السجل]
| الإصدار | التغييرات |
|---|---|
| v9.0.0 | نهاية العمر الافتراضي. |
| v7.0.0 | إيقاف الاستخدام في وقت التشغيل. |
النوع: نهاية العمر الافتراضي
كان Intl.v8BreakIterator امتدادًا غير قياسي وتمت إزالته. راجع Intl.Segmenter.
DEP0018: رفض الوعد غير المعالج
[السجل]
| الإصدار | التغييرات |
|---|---|
| v15.0.0 | نهاية العمر الافتراضي. |
| v7.0.0 | إيقاف الاستخدام في وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إيقاف حالات رفض الوعد غير المعالجة. بشكل افتراضي، تؤدي حالات رفض الوعد التي لم تتم معالجتها إلى إنهاء عملية Node.js برمز خروج غير صفري. لتغيير الطريقة التي تتعامل بها Node.js مع حالات الرفض غير المعالجة، استخدم خيار سطر الأوامر --unhandled-rejections.
DEP0019: require('.') تم حله خارج الدليل
[السجل]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | تمت إزالة الوظيفة. |
| v6.12.0, v4.8.6 | تم تعيين رمز إيقاف الاستخدام. |
| v1.8.1 | إيقاف الاستخدام في وقت التشغيل. |
النوع: نهاية العمر الافتراضي
في بعض الحالات، يمكن أن يحل require('.') خارج دليل الحزمة. تمت إزالة هذا السلوك.
DEP0020: Server.connections
[السجل]
| الإصدار | التغييرات |
|---|---|
| v15.0.0 | تمت إزالة Server.connections. |
| v6.12.0, v4.8.6 | تم تعيين رمز إيقاف الاستخدام. |
| v0.9.7 | إيقاف الاستخدام في وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إيقاف الخاصية Server.connections في Node.js v0.9.7 وتمت إزالتها. يرجى استخدام الطريقة Server.getConnections() بدلاً من ذلك.
DEP0021: Server.listenFD
[السجل]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | نهاية العمر الافتراضي. |
| v6.12.0, v4.8.6 | تم تعيين رمز إيقاف الاستخدام. |
| v0.7.12 | إيقاف الاستخدام في وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إيقاف الطريقة Server.listenFD() وإزالتها. يرجى استخدام Server.listen({fd: \<number\>}) بدلاً من ذلك.
DEP0022: os.tmpDir()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v14.0.0 | نهاية العمر الافتراضي. |
| v7.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إهمال واجهة برمجة التطبيقات os.tmpDir() في Node.js 7.0.0 وتمت إزالتها منذ ذلك الحين. يرجى استخدام os.tmpdir() بدلاً من ذلك.
DEP0023: os.getNetworkInterfaces()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | نهاية العمر الافتراضي. |
| v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
| v0.6.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إهمال طريقة os.getNetworkInterfaces(). يرجى استخدام طريقة os.networkInterfaces() بدلاً من ذلك.
DEP0024: REPLServer.prototype.convertToContext()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v9.0.0 | نهاية العمر الافتراضي. |
| v7.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تمت إزالة واجهة برمجة التطبيقات REPLServer.prototype.convertToContext().
DEP0025: require('node:sys')
[السجل]
| الإصدار | التغييرات |
|---|---|
| v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
| v1.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
الوحدة النمطية node:sys مهملة. يرجى استخدام الوحدة النمطية util بدلاً من ذلك.
DEP0026: util.print()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | نهاية العمر الافتراضي. |
| v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
| v0.11.3 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تمت إزالة util.print(). يرجى استخدام console.log() بدلاً من ذلك.
DEP0027: util.puts()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | نهاية العمر الافتراضي. |
| v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
| v0.11.3 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تمت إزالة util.puts(). يرجى استخدام console.log() بدلاً من ذلك.
DEP0028: util.debug()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | نهاية العمر الافتراضي. |
| v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
| v0.11.3 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تمت إزالة util.debug(). يرجى استخدام console.error() بدلاً من ذلك.
DEP0029: util.error()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | نهاية العمر الافتراضي. |
| v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
| v0.11.3 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تمت إزالة util.error(). يرجى استخدام console.error() بدلاً من ذلك.
DEP0030: SlowBuffer
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v6.12.0 | تم تعيين رمز إهمال. |
| v6.0.0 | إهمال خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
تم إهمال الصنف SlowBuffer. يرجى استخدام Buffer.allocUnsafeSlow(size) بدلاً من ذلك.
DEP0031: ecdh.setPublicKey()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v6.12.0 | تم تعيين رمز إهمال. |
| v5.2.0 | إهمال خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
تم الآن إهمال الطريقة ecdh.setPublicKey() لأن تضمينها في واجهة برمجة التطبيقات غير مفيد.
DEP0032: وحدة node:domain
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
| v1.4.2 | إهمال خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
تم إهمال الوحدة domain ولا ينبغي استخدامها.
DEP0033: EventEmitter.listenerCount()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
| v3.2.0 | إهمال خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
تم إهمال واجهة برمجة التطبيقات events.listenerCount(emitter, eventName). يرجى استخدام emitter.listenerCount(eventName) بدلاً من ذلك.
DEP0034: fs.exists(path, callback)
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
| v1.0.0 | إهمال خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
تم إهمال واجهة برمجة التطبيقات fs.exists(path, callback). يرجى استخدام fs.stat() أو fs.access() بدلاً من ذلك.
DEP0035: fs.lchmod(path, mode, callback)
[السجل]
| الإصدار | التغييرات |
|---|---|
| v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
| v0.4.7 | إهمال خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
واجهة برمجة التطبيقات fs.lchmod(path, mode, callback) مهملة.
DEP0036: fs.lchmodSync(path, mode)
[السجل]
| الإصدار | التغييرات |
|---|---|
| v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
| v0.4.7 | إهمال خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
واجهة برمجة التطبيقات fs.lchmodSync(path, mode) مهملة.
DEP0037: fs.lchown(path, uid, gid, callback)
[السجل]
| الإصدار | التغييرات |
|---|---|
| v10.6.0 | تم إلغاء الإهمال. |
| v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
| v0.4.7 | إهمال خاص بالتوثيق فقط. |
النوع: تم إلغاء الإهمال
واجهة برمجة التطبيقات fs.lchown(path, uid, gid, callback) كانت مهملة. تم إلغاء الإهمال بسبب إضافة واجهات برمجة التطبيقات الداعمة المطلوبة في libuv.
DEP0038: fs.lchownSync(path, uid, gid)
[السجل]
| الإصدار | التغييرات |
|---|---|
| v10.6.0 | تم إلغاء الإهمال. |
| v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
| v0.4.7 | إهمال خاص بالتوثيق فقط. |
النوع: تم إلغاء الإهمال
واجهة برمجة التطبيقات fs.lchownSync(path, uid, gid) كانت مهملة. تم إلغاء الإهمال بسبب إضافة واجهات برمجة التطبيقات الداعمة المطلوبة في libuv.
DEP0039: require.extensions
[السجل]
| الإصدار | التغييرات |
|---|---|
| v6.12.0, v4.8.6 | تم تعيين رمز إهمال. |
| v0.10.6 | إهمال خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
الخاصية require.extensions مهملة.
DEP0040: وحدة node:punycode
[السجل]
| الإصدار | التغييرات |
|---|---|
| v21.0.0 | إهمال في وقت التشغيل. |
| v16.6.0 | تمت إضافة دعم لـ --pending-deprecation. |
| v7.0.0 | إهمال خاص بالتوثيق فقط. |
النوع: وقت التشغيل
وحدة punycode مهملة. يرجى استخدام بديل من فضاء المستخدم بدلاً من ذلك.
DEP0041: متغير البيئة NODE_REPL_HISTORY_FILE
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v10.0.0 | نهاية العمر الافتراضي. |
| v6.12.0, v4.8.6 | تم تخصيص رمز إيقاف. |
| v3.0.0 | إيقاف على مستوى التوثيق فقط. |
النوع: نهاية العمر الافتراضي
تمت إزالة متغير البيئة NODE_REPL_HISTORY_FILE. الرجاء استخدام NODE_REPL_HISTORY بدلاً من ذلك.
DEP0042: tls.CryptoStream
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v10.0.0 | نهاية العمر الافتراضي. |
| v6.12.0, v4.8.6 | تم تخصيص رمز إيقاف. |
| v0.11.3 | إيقاف على مستوى التوثيق فقط. |
النوع: نهاية العمر الافتراضي
تمت إزالة الفئة tls.CryptoStream. الرجاء استخدام tls.TLSSocket بدلاً من ذلك.
DEP0043: tls.SecurePair
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v8.0.0 | إيقاف وقت التشغيل. |
| v6.12.0 | تم تخصيص رمز إيقاف. |
| v6.0.0 | إيقاف على مستوى التوثيق فقط. |
| v0.11.15 | تم إبطال الإيقاف. |
| v0.11.3 | إيقاف وقت التشغيل. |
النوع: على مستوى التوثيق فقط
تم إيقاف الفئة tls.SecurePair. الرجاء استخدام tls.TLSSocket بدلاً من ذلك.
DEP0044: util.isArray()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v22.0.0 | إيقاف وقت التشغيل. |
| v6.12.0, v4.8.6 | تم تخصيص رمز إيقاف. |
| v4.0.0, v3.3.1 | إيقاف على مستوى التوثيق فقط. |
النوع: وقت التشغيل
تم إيقاف واجهة برمجة التطبيقات util.isArray(). الرجاء استخدام Array.isArray() بدلاً من ذلك.
DEP0045: util.isBoolean()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v23.0.0 | إيقاف نهاية العمر الافتراضي. |
| v22.0.0 | إيقاف وقت التشغيل. |
| v6.12.0, v4.8.6 | تم تخصيص رمز إيقاف. |
| v4.0.0, v3.3.1 | إيقاف على مستوى التوثيق فقط. |
النوع: نهاية العمر الافتراضي
تمت إزالة واجهة برمجة التطبيقات util.isBoolean(). الرجاء استخدام typeof arg === 'boolean' بدلاً من ذلك.
DEP0046: util.isBuffer()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v23.0.0 | إيقاف نهاية العمر الافتراضي. |
| v22.0.0 | إيقاف وقت التشغيل. |
| v6.12.0, v4.8.6 | تم تخصيص رمز إيقاف. |
| v4.0.0, v3.3.1 | إيقاف على مستوى التوثيق فقط. |
النوع: نهاية العمر الافتراضي
تمت إزالة واجهة برمجة التطبيقات util.isBuffer(). الرجاء استخدام Buffer.isBuffer() بدلاً من ذلك.
DEP0047: util.isDate()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v23.0.0 | إيقاف نهائي. |
| v22.0.0 | إيقاف وقت التشغيل. |
| v6.12.0, v4.8.6 | تم تعيين رمز للإيقاف. |
| v4.0.0, v3.3.1 | إيقاف التوثيق فقط. |
النوع: إيقاف نهائي
تمت إزالة واجهة برمجة التطبيقات util.isDate(). يرجى استخدام arg instanceof Date بدلاً من ذلك.
DEP0048: util.isError()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v23.0.0 | إيقاف نهائي. |
| v22.0.0 | إيقاف وقت التشغيل. |
| v6.12.0, v4.8.6 | تم تعيين رمز للإيقاف. |
| v4.0.0, v3.3.1 | إيقاف التوثيق فقط. |
النوع: إيقاف نهائي
تمت إزالة واجهة برمجة التطبيقات util.isError(). يرجى استخدام Object.prototype.toString(arg) === '[object Error]' || arg instanceof Error بدلاً من ذلك.
DEP0049: util.isFunction()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v23.0.0 | إيقاف نهائي. |
| v22.0.0 | إيقاف وقت التشغيل. |
| v6.12.0, v4.8.6 | تم تعيين رمز للإيقاف. |
| v4.0.0, v3.3.1 | إيقاف التوثيق فقط. |
النوع: إيقاف نهائي
تمت إزالة واجهة برمجة التطبيقات util.isFunction(). يرجى استخدام typeof arg === 'function' بدلاً من ذلك.
DEP0050: util.isNull()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v23.0.0 | إيقاف نهائي. |
| v22.0.0 | إيقاف وقت التشغيل. |
| v6.12.0, v4.8.6 | تم تعيين رمز للإيقاف. |
| v4.0.0, v3.3.1 | إيقاف التوثيق فقط. |
النوع: إيقاف نهائي
تمت إزالة واجهة برمجة التطبيقات util.isNull(). يرجى استخدام arg === null بدلاً من ذلك.
DEP0051: util.isNullOrUndefined()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v23.0.0 | إيقاف نهائي. |
| v22.0.0 | إيقاف وقت التشغيل. |
| v6.12.0, v4.8.6 | تم تعيين رمز للإيقاف. |
| v4.0.0, v3.3.1 | إيقاف التوثيق فقط. |
النوع: إيقاف نهائي
تمت إزالة واجهة برمجة التطبيقات util.isNullOrUndefined(). يرجى استخدام arg === null || arg === undefined بدلاً من ذلك.
DEP0052: util.isNumber()
[التاريخ]
| الإصدار | التغييرات |
|---|---|
| v23.0.0 | إيقاف نهائي. |
| v22.0.0 | إيقاف وقت التشغيل. |
| v6.12.0, v4.8.6 | تم تعيين رمز إيقاف. |
| v4.0.0, v3.3.1 | إيقاف خاص بالتوثيق فقط. |
النوع: إيقاف نهائي
تمت إزالة واجهة برمجة التطبيقات util.isNumber(). يرجى استخدام typeof arg === 'number' بدلاً من ذلك.
DEP0053: util.isObject()
[التاريخ]
| الإصدار | التغييرات |
|---|---|
| v23.0.0 | إيقاف نهائي. |
| v22.0.0 | إيقاف وقت التشغيل. |
| v6.12.0, v4.8.6 | تم تعيين رمز إيقاف. |
| v4.0.0, v3.3.1 | إيقاف خاص بالتوثيق فقط. |
النوع: إيقاف نهائي
تمت إزالة واجهة برمجة التطبيقات util.isObject(). يرجى استخدام arg && typeof arg === 'object' بدلاً من ذلك.
DEP0054: util.isPrimitive()
[التاريخ]
| الإصدار | التغييرات |
|---|---|
| v23.0.0 | إيقاف نهائي. |
| v22.0.0 | إيقاف وقت التشغيل. |
| v6.12.0, v4.8.6 | تم تعيين رمز إيقاف. |
| v4.0.0, v3.3.1 | إيقاف خاص بالتوثيق فقط. |
النوع: إيقاف نهائي
تمت إزالة واجهة برمجة التطبيقات util.isPrimitive(). يرجى استخدام arg === null || (typeof arg !=='object' && typeof arg !== 'function') بدلاً من ذلك.
DEP0055: util.isRegExp()
[التاريخ]
| الإصدار | التغييرات |
|---|---|
| v23.0.0 | إيقاف نهائي. |
| v22.0.0 | إيقاف وقت التشغيل. |
| v6.12.0, v4.8.6 | تم تعيين رمز إيقاف. |
| v4.0.0, v3.3.1 | إيقاف خاص بالتوثيق فقط. |
النوع: إيقاف نهائي
تمت إزالة واجهة برمجة التطبيقات util.isRegExp(). يرجى استخدام arg instanceof RegExp بدلاً من ذلك.
DEP0056: util.isString()
[التاريخ]
| الإصدار | التغييرات |
|---|---|
| v23.0.0 | إيقاف نهائي. |
| v22.0.0 | إيقاف وقت التشغيل. |
| v6.12.0, v4.8.6 | تم تعيين رمز إيقاف. |
| v4.0.0, v3.3.1 | إيقاف خاص بالتوثيق فقط. |
النوع: إيقاف نهائي
تمت إزالة واجهة برمجة التطبيقات util.isString(). يرجى استخدام typeof arg === 'string' بدلاً من ذلك.
DEP0057: util.isSymbol()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار 23.0.0 | إيقاف نهائي. |
| الإصدار 22.0.0 | إيقاف وقت التشغيل. |
| الإصدار 6.12.0, v4.8.6 | تم تعيين رمز للإيقاف. |
| الإصدار 4.0.0, v3.3.1 | إيقاف خاص بالوثائق فقط. |
النوع: إيقاف نهائي
تمت إزالة واجهة برمجة التطبيقات util.isSymbol(). يرجى استخدام typeof arg === 'symbol' بدلاً من ذلك.
DEP0058: util.isUndefined()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار 23.0.0 | إيقاف نهائي. |
| الإصدار 22.0.0 | إيقاف وقت التشغيل. |
| الإصدار 6.12.0, v4.8.6 | تم تعيين رمز للإيقاف. |
| الإصدار 4.0.0, v3.3.1 | إيقاف خاص بالوثائق فقط. |
النوع: إيقاف نهائي
تمت إزالة واجهة برمجة التطبيقات util.isUndefined(). يرجى استخدام arg === undefined بدلاً من ذلك.
DEP0059: util.log()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار 23.0.0 | إيقاف نهائي. |
| الإصدار 22.0.0 | إيقاف وقت التشغيل. |
| الإصدار 6.12.0 | تم تعيين رمز للإيقاف. |
| الإصدار 6.0.0 | إيقاف خاص بالوثائق فقط. |
النوع: إيقاف نهائي
تمت إزالة واجهة برمجة التطبيقات util.log() لأنها واجهة برمجة تطبيقات قديمة غير خاضعة للصيانة تم الكشف عنها عن طريق الخطأ لمساحة المستخدم. بدلاً من ذلك، ضع في اعتبارك البدائل التالية بناءً على احتياجاتك الخاصة:
- مكتبات التسجيل التابعة لجهات خارجية
- استخدم
console.log(new Date().toLocaleString(), message)
من خلال تبني أحد هذه البدائل، يمكنك الانتقال بعيدًا عن util.log() واختيار إستراتيجية تسجيل تتماشى مع المتطلبات المحددة وتعقيد تطبيقك.
DEP0060: util._extend()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار 22.0.0 | إيقاف وقت التشغيل. |
| الإصدار 6.12.0 | تم تعيين رمز للإيقاف. |
| الإصدار 6.0.0 | إيقاف خاص بالوثائق فقط. |
النوع: وقت التشغيل
تم إيقاف واجهة برمجة التطبيقات util._extend() لأنها واجهة برمجة تطبيقات قديمة غير خاضعة للصيانة تم الكشف عنها عن طريق الخطأ لمساحة المستخدم. يرجى استخدام target = Object.assign(target, source) بدلاً من ذلك.
DEP0061: fs.SyncWriteStream
[السجل]
| الإصدار | التغييرات |
|---|---|
| v11.0.0 | نهاية العمر الافتراضي. |
| v8.0.0 | إهلاك وقت التشغيل. |
| v7.0.0 | إهلاك خاص بالتوثيق فقط. |
النوع: نهاية العمر الافتراضي
لم يكن الهدف من الفئة fs.SyncWriteStream أن تكون واجهة برمجة تطبيقات متاحة للعامة وتمت إزالتها. لا توجد واجهة برمجة تطبيقات بديلة متاحة. يرجى استخدام بديل userland.
DEP0062: node --debug
[السجل]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | نهاية العمر الافتراضي. |
| v8.0.0 | إهلاك وقت التشغيل. |
النوع: نهاية العمر الافتراضي
يقوم --debug بتنشيط واجهة مصحح أخطاء V8 القديمة، والتي تمت إزالتها اعتبارًا من V8 5.8. تم استبداله بـ Inspector الذي يتم تنشيطه باستخدام --inspect بدلاً من ذلك.
DEP0063: ServerResponse.prototype.writeHeader()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v8.0.0 | إهلاك خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
واجهة برمجة التطبيقات ServerResponse.prototype.writeHeader() الخاصة بوحدة node:http مهملة. يرجى استخدام ServerResponse.prototype.writeHead() بدلاً من ذلك.
لم يتم توثيق الطريقة ServerResponse.prototype.writeHeader() مطلقًا على أنها واجهة برمجة تطبيقات مدعومة رسميًا.
DEP0064: tls.createSecurePair()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v8.0.0 | إهلاك وقت التشغيل. |
| v6.12.0 | تم تعيين رمز إهلاك. |
| v6.0.0 | إهلاك خاص بالتوثيق فقط. |
| v0.11.15 | تم إلغاء الإهلاك. |
| v0.11.3 | إهلاك وقت التشغيل. |
النوع: وقت التشغيل
تم إهمال واجهة برمجة التطبيقات tls.createSecurePair() في التوثيق في Node.js 0.11.3. يجب على المستخدمين استخدام tls.Socket بدلاً من ذلك.
DEP0065: repl.REPL_MODE_MAGIC و NODE_REPL_MODE=magic
[السجل]
| الإصدار | التغييرات |
|---|---|
| v10.0.0 | نهاية العمر الافتراضي. |
| v8.0.0 | إهلاك خاص بالتوثيق فقط. |
النوع: نهاية العمر الافتراضي
تمت إزالة الثابت REPL_MODE_MAGIC الخاص بوحدة node:repl، والمستخدم لخيار replMode. كان سلوكه مطابقًا وظيفيًا لسلوك REPL_MODE_SLOPPY منذ Node.js 6.0.0، عندما تم استيراد V8 5.0. يرجى استخدام REPL_MODE_SLOPPY بدلاً من ذلك.
يتم استخدام متغير البيئة NODE_REPL_MODE لتعيين replMode الأساسي لجلسة node تفاعلية. تمت إزالة قيمته، magic، أيضًا. يرجى استخدام sloppy بدلاً من ذلك.
DEP0066: OutgoingMessage.prototype._headers, OutgoingMessage.prototype._headerNames
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v12.0.0 | إهلاك في وقت التشغيل. |
| الإصدار v8.0.0 | إهلاك في الوثائق فقط. |
النوع: وقت التشغيل
تم إهلاك الخصائص OutgoingMessage.prototype._headers و OutgoingMessage.prototype._headerNames الخاصة بوحدة node:http. استخدم إحدى الطرق العامة (مثل OutgoingMessage.prototype.getHeader() أو OutgoingMessage.prototype.getHeaders() أو OutgoingMessage.prototype.getHeaderNames() أو OutgoingMessage.prototype.getRawHeaderNames() أو OutgoingMessage.prototype.hasHeader() أو OutgoingMessage.prototype.removeHeader() أو OutgoingMessage.prototype.setHeader()) للعمل مع الرؤوس الصادرة.
لم يتم توثيق الخصائص OutgoingMessage.prototype._headers و OutgoingMessage.prototype._headerNames أبدًا على أنها خصائص مدعومة رسميًا.
DEP0067: OutgoingMessage.prototype._renderHeaders
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v8.0.0 | إهلاك في الوثائق فقط. |
النوع: الوثائق فقط
تم إهلاك واجهة برمجة التطبيقات OutgoingMessage.prototype._renderHeaders() الخاصة بوحدة node:http.
لم يتم توثيق الخاصية OutgoingMessage.prototype._renderHeaders أبدًا على أنها واجهة برمجة تطبيقات مدعومة رسميًا.
DEP0068: node debug
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v15.0.0 | تمت إزالة الأمر القديم node debug. |
| الإصدار v8.0.0 | إهلاك في وقت التشغيل. |
النوع: نهاية العمر
يتوافق الأمر node debug مع مصحح الأخطاء CLI القديم الذي تم استبداله بمصحح أخطاء CLI يستند إلى V8-inspector ومتاح من خلال node inspect.
DEP0069: vm.runInDebugContext(string)
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v10.0.0 | نهاية العمر. |
| الإصدار v9.0.0 | إهلاك في وقت التشغيل. |
| الإصدار v8.0.0 | إهلاك في الوثائق فقط. |
النوع: نهاية العمر
تمت إزالة DebugContext في V8 وهي غير متاحة في Node.js 10+.
DebugContext كانت واجهة برمجة تطبيقات تجريبية.
DEP0070: async_hooks.currentId()
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v9.0.0 | نهاية العمر. |
| الإصدار v8.2.0 | إهلاك في وقت التشغيل. |
النوع: نهاية العمر
تمت إعادة تسمية async_hooks.currentId() إلى async_hooks.executionAsyncId() للتوضيح.
تم إجراء هذا التغيير أثناء كون async_hooks واجهة برمجة تطبيقات تجريبية.
DEP0071: async_hooks.triggerId()
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار 9.0.0 | نهاية العمر الافتراضي. |
| الإصدار 8.2.0 | الإهلاك في وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تمت إعادة تسمية async_hooks.triggerId() إلى async_hooks.triggerAsyncId() للتوضيح.
تم إجراء هذا التغيير عندما كانت async_hooks واجهة برمجة تطبيقات تجريبية.
DEP0072: async_hooks.AsyncResource.triggerId()
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار 9.0.0 | نهاية العمر الافتراضي. |
| الإصدار 8.2.0 | الإهلاك في وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تمت إعادة تسمية async_hooks.AsyncResource.triggerId() إلى async_hooks.AsyncResource.triggerAsyncId() للتوضيح.
تم إجراء هذا التغيير عندما كانت async_hooks واجهة برمجة تطبيقات تجريبية.
DEP0073: العديد من الخصائص الداخلية لـ net.Server
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار 10.0.0 | نهاية العمر الافتراضي. |
| الإصدار 9.0.0 | الإهلاك في وقت التشغيل. |
النوع: نهاية العمر الافتراضي
يُعتبر الوصول إلى العديد من الخصائص الداخلية وغير الموثقة لمثيلات net.Server بأسماء غير مناسبة مهملاً.
نظرًا لأن واجهة برمجة التطبيقات الأصلية غير موثقة وغير مفيدة بشكل عام للتعليمات البرمجية غير الداخلية، فلا يتم توفير واجهة برمجة تطبيقات بديلة.
DEP0074: REPLServer.bufferedCommand
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار 15.0.0 | نهاية العمر الافتراضي. |
| الإصدار 9.0.0 | الإهلاك في وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم إهمال الخاصية REPLServer.bufferedCommand لصالح REPLServer.clearBufferedCommand().
DEP0075: REPLServer.parseREPLKeyword()
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار 15.0.0 | نهاية العمر الافتراضي. |
| الإصدار 9.0.0 | الإهلاك في وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تمت إزالة REPLServer.parseREPLKeyword() من رؤية المستخدم.
DEP0076: tls.parseCertString()
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار 18.0.0 | نهاية العمر الافتراضي. |
| الإصدار 9.0.0 | الإهلاك في وقت التشغيل. |
| الإصدار 8.6.0 | الإهلاك خاص بالتوثيق فقط. |
النوع: نهاية العمر الافتراضي
كانت tls.parseCertString() أداة مساعدة تحليل بسيطة تم نشرها عن طريق الخطأ. على الرغم من أنها كان من المفترض أن تقوم بتحليل موضوع الشهادة وسلاسل المصدر، إلا أنها لم تتعامل أبدًا مع الأسماء المميزة النسبية متعددة القيم بشكل صحيح.
اقترحت الإصدارات السابقة من هذا المستند استخدام querystring.parse() كبديل لـ tls.parseCertString(). ومع ذلك، فإن querystring.parse() لا تتعامل أيضًا مع جميع مواضيع الشهادات بشكل صحيح ولا ينبغي استخدامها.
DEP0077: Module._debug()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v9.0.0 | الإهلاك في وقت التشغيل. |
النوع: وقت التشغيل
Module._debug() مُهمل.
لم يتم توثيق الدالة Module._debug() مطلقًا كواجهة برمجة تطبيقات مدعومة رسميًا.
DEP0078: REPLServer.turnOffEditorMode()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v15.0.0 | نهاية العمر الافتراضي. |
| v9.0.0 | الإهلاك في وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تمت إزالة REPLServer.turnOffEditorMode() من رؤية مساحة المستخدم.
DEP0079: دالة فحص مخصصة على الكائنات عبر .inspect()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v11.0.0 | نهاية العمر الافتراضي. |
| v10.0.0 | الإهلاك في وقت التشغيل. |
| v8.7.0 | الإهلاك خاص بالتوثيق فقط. |
النوع: نهاية العمر الافتراضي
يُعد استخدام خاصية باسم inspect على كائن لتحديد دالة فحص مخصصة لـ util.inspect() مُهملًا. استخدم util.inspect.custom بدلاً من ذلك. لتحقيق التوافق مع الإصدارات السابقة من Node.js قبل الإصدار 6.4.0، يمكن تحديد كليهما.
DEP0080: path._makeLong()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v9.0.0 | الإهلاك خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
لم يكن الغرض من path._makeLong() الداخلي الاستخدام العام. ومع ذلك، وجدت وحدات مساحة المستخدم أنها مفيدة. واجهة برمجة التطبيقات الداخلية مُهملة وتم استبدالها بطريقة path.toNamespacedPath() عامة متطابقة.
DEP0081: fs.truncate() باستخدام واصف ملف
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v9.0.0 | الإهلاك في وقت التشغيل. |
النوع: وقت التشغيل
يُعد استخدام fs.truncate() fs.truncateSync() مع واصف ملف مُهملًا. يرجى استخدام fs.ftruncate() أو fs.ftruncateSync() للعمل مع واصفات الملفات.
DEP0082: REPLServer.prototype.memory()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v15.0.0 | نهاية العمر الافتراضي. |
| v9.0.0 | الإهلاك في وقت التشغيل. |
النوع: نهاية العمر الافتراضي
REPLServer.prototype.memory() ضروري فقط للميكانيكا الداخلية لـ REPLServer نفسها. لا تستخدم هذه الدالة.
DEP0083: تعطيل ECDH عن طريق ضبط ecdhCurve على false
[السجل]
| الإصدار | التغييرات |
|---|---|
| v10.0.0 | نهاية العمر الافتراضي. |
| v9.2.0 | إيقاف التشغيل المؤقت. |
النوع: نهاية العمر الافتراضي.
يمكن تعيين الخيار ecdhCurve لـ tls.createSecureContext() و tls.TLSSocket على false لتعطيل ECDH تمامًا على الخادم فقط. تم إيقاف هذا الوضع مؤقتًا استعدادًا للهجرة إلى OpenSSL 1.1.0 والاتساق مع العميل وهو الآن غير مدعوم. استخدم المعامل ciphers بدلاً من ذلك.
DEP0084: طلب الاعتماديات الداخلية المجمعة
[السجل]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | تمت إزالة هذه الوظيفة. |
| v10.0.0 | إيقاف التشغيل المؤقت. |
النوع: نهاية العمر الافتراضي
منذ إصدارات Node.js 4.4.0 و 5.2.0، تم عن طريق الخطأ عرض العديد من الوحدات النمطية المخصصة للاستخدام الداخلي فقط لكود المستخدم من خلال require(). كانت هذه الوحدات النمطية:
v8/tools/codemapv8/tools/consarrayv8/tools/csvparserv8/tools/logreaderv8/tools/profile_viewv8/tools/profilev8/tools/SourceMapv8/tools/splaytreev8/tools/tickprocessor-driverv8/tools/tickprocessornode-inspect/lib/_inspect(من 7.6.0)node-inspect/lib/internal/inspect_client(من 7.6.0)node-inspect/lib/internal/inspect_repl(من 7.6.0)
لا تحتوي وحدات v8/* على أي صادرات، وإذا لم يتم استيرادها بترتيب معين، فستؤدي في الواقع إلى ظهور أخطاء. على هذا النحو، لا توجد عمليًا حالات استخدام مشروعة لاستيرادها من خلال require().
من ناحية أخرى، يمكن تثبيت node-inspect محليًا من خلال مدير الحزم، حيث يتم نشره في سجل npm تحت نفس الاسم. لا يلزم تعديل التعليمات البرمجية المصدر إذا تم ذلك.
DEP0085: واجهة برمجة تطبيقات AsyncHooks الحساسة
[السجل]
| الإصدار | التغييرات |
|---|---|
| v10.0.0 | نهاية العمر الافتراضي. |
| v9.4.0, v8.10.0 | إيقاف التشغيل المؤقت. |
النوع: نهاية العمر الافتراضي
لم يتم توثيق واجهة برمجة تطبيقات AsyncHooks الحساسة أبدًا وكانت بها العديد من المشكلات الطفيفة. استخدم واجهة برمجة تطبيقات AsyncResource بدلاً من ذلك. راجع https://github.com/nodejs/node/issues/15572.
DEP0086: إزالة runInAsyncIdScope
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v10.0.0 | نهاية العمر. |
| الإصداران v9.4.0 و v8.10.0 | إهلاك وقت التشغيل. |
النوع: نهاية العمر
runInAsyncIdScope لا يطلق الحدثين 'before' أو 'after'، وبالتالي يمكن أن يسبب الكثير من المشاكل. راجع https://github.com/nodejs/node/issues/14328.
DEP0089: require('node:assert')
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v12.8.0 | تم إلغاء الإهلاك. |
| الإصداران v9.9.0 و v8.13.0 | إهلاك خاص بالتوثيق فقط. |
النوع: تم إلغاء الإهلاك
لم يكن استيراد assert مباشرةً موصى به لأن الدوال المعروضة تستخدم فحوصات المساواة المتراخية. تم إلغاء الإهلاك لأن استخدام الوحدة node:assert ليس مثبطًا، وتسبب الإهلاك في ارتباك المطورين.
DEP0090: أطوال علامة مصادقة GCM غير صالحة
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v11.0.0 | نهاية العمر. |
| الإصدار v10.0.0 | إهلاك وقت التشغيل. |
النوع: نهاية العمر
اعتادت Node.js على دعم جميع أطوال علامة مصادقة GCM التي تقبلها OpenSSL عند استدعاء decipher.setAuthTag(). بدءًا من Node.js v11.0.0، يُسمح فقط بأطوال علامة المصادقة التي تبلغ 128 و 120 و 112 و 104 و 96 و 64 و 32 بت. علامات المصادقة ذات الأطوال الأخرى غير صالحة وفقًا لـ NIST SP 800-38D.
DEP0091: crypto.DEFAULT_ENCODING
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v20.0.0 | نهاية العمر. |
| الإصدار v10.0.0 | إهلاك وقت التشغيل. |
النوع: نهاية العمر
كانت الخاصية crypto.DEFAULT_ENCODING موجودة فقط للتوافق مع إصدارات Node.js السابقة للإصدارات 0.9.3 وقد تمت إزالتها.
DEP0092: this ذات المستوى الأعلى مرتبطة بـ module.exports
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v10.0.0 | إهلاك خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
يتم إهلاك تعيين الخصائص إلى this ذات المستوى الأعلى كبديل لـ module.exports. يجب على المطورين استخدام exports أو module.exports بدلاً من ذلك.
DEP0093: تم إهمال crypto.fips واستبداله
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v23.0.0 | إهمال وقت التشغيل. |
| الإصدار v10.0.0 | إهمال للتوثيق فقط. |
النوع: وقت التشغيل
تم إهمال الخاصية crypto.fips. يرجى استخدام crypto.setFips() و crypto.getFips() بدلاً من ذلك.
DEP0094: استخدام assert.fail() مع أكثر من وسيطة واحدة
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v10.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
تم إهمال استخدام assert.fail() مع أكثر من وسيطة واحدة. استخدم assert.fail() مع وسيطة واحدة فقط أو استخدم طريقة مختلفة من وحدة node:assert.
DEP0095: timers.enroll()
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v10.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
تم إهمال timers.enroll(). يرجى استخدام setTimeout() أو setInterval() الموثقة علنًا بدلاً من ذلك.
DEP0096: timers.unenroll()
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v10.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
تم إهمال timers.unenroll(). يرجى استخدام clearTimeout() أو clearInterval() الموثقة علنًا بدلاً من ذلك.
DEP0097: MakeCallback مع الخاصية domain
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v10.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
يجب على مستخدمي MakeCallback الذين يضيفون الخاصية domain لحمل السياق، البدء في استخدام متغير async_context من MakeCallback أو CallbackScope، أو الفئة عالية المستوى AsyncResource.
DEP0098: واجهات برمجة التطبيقات AsyncHooks embedder AsyncResource.emitBefore و AsyncResource.emitAfter
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v12.0.0 | نهاية العمر الافتراضي. |
| الإصدار v10.0.0, v9.6.0, v8.12.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تكشف واجهة برمجة التطبيقات المضمنة التي توفرها AsyncHooks عن طرق .emitBefore() و .emitAfter() التي يسهل جدًا استخدامها بشكل غير صحيح مما قد يؤدي إلى أخطاء لا يمكن استردادها.
استخدم واجهة برمجة التطبيقات asyncResource.runInAsyncScope() بدلاً من ذلك والتي توفر بديلاً أكثر أمانًا وأكثر ملاءمة. انظر https://github.com/nodejs/node/pull/18513.
DEP0099: واجهات برمجة تطبيقات C++ node::MakeCallback غير الواعية بسياق غير متزامن
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v10.0.0 | الإهلاك في وقت التحويل البرمجي. |
النوع: وقت التحويل البرمجي
بعض إصدارات واجهات برمجة تطبيقات node::MakeCallback المتاحة للإضافات الأصلية مهملة. يرجى استخدام إصدارات واجهة برمجة التطبيقات التي تقبل معامل async_context.
DEP0100: process.assert()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v23.0.0 | نهاية العمر الافتراضي. |
| v10.0.0 | الإهلاك في وقت التشغيل. |
| v0.3.7 | الإهلاك في الوثائق فقط. |
النوع: نهاية العمر الافتراضي
process.assert() مهملة. يرجى استخدام الوحدة النمطية assert بدلاً من ذلك.
لم تكن هذه ميزة موثقة على الإطلاق.
DEP0101: --with-lttng
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v10.0.0 | نهاية العمر الافتراضي. |
النوع: نهاية العمر الافتراضي
تمت إزالة خيار وقت التحويل البرمجي --with-lttng.
DEP0102: استخدام noAssert في عمليات Buffer#(read|write)
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v10.0.0 | نهاية العمر الافتراضي. |
النوع: نهاية العمر الافتراضي
لم يعد لاستخدام وسيطة noAssert أي وظيفة. يتم التحقق من جميع المدخلات بغض النظر عن قيمة noAssert. يمكن أن يؤدي تخطي التحقق إلى حدوث أخطاء وأعطال يصعب العثور عليها.
DEP0103: عمليات التحقق من النوع process.binding('util').is[...]
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v10.9.0 | تم استبداله بـ DEP0111. |
| v10.0.0 | الإهلاك في الوثائق فقط. |
النوع: الوثائق فقط (يدعم --pending-deprecation)
يجب تجنب استخدام process.binding() بشكل عام. يمكن استبدال طرق التحقق من النوع على وجه الخصوص باستخدام util.types.
تم استبدال هذا الإهلاك بإهلاك واجهة برمجة التطبيقات process.binding() (DEP0111).
DEP0104: تحويل السلسلة process.env
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v10.0.0 | الإهلاك في الوثائق فقط. |
النوع: الوثائق فقط (يدعم --pending-deprecation)
عند تعيين خاصية غير سلسلة إلى process.env، يتم تحويل القيمة المعينة ضمنيًا إلى سلسلة. هذا السلوك مهمل إذا لم تكن القيمة المعينة سلسلة أو منطقية أو رقم. في المستقبل، قد يؤدي هذا التعيين إلى حدوث خطأ يتم طرحه. يرجى تحويل الخاصية إلى سلسلة قبل تعيينها إلى process.env.
DEP0105: decipher.finaltol
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v11.0.0 | نهاية العمر الافتراضي. |
| v10.0.0 | إيقاف مؤقت في وقت التشغيل. |
النوع: نهاية العمر الافتراضي
لم يتم توثيق decipher.finaltol() مطلقًا وكان اسمًا مستعارًا لـ decipher.final(). تمت إزالة واجهة برمجة التطبيقات هذه، ويوصى باستخدام decipher.final() بدلاً من ذلك.
DEP0106: crypto.createCipher و crypto.createDecipher
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v22.0.0 | نهاية العمر الافتراضي. |
| v11.0.0 | إيقاف مؤقت في وقت التشغيل. |
| v10.0.0 | إيقاف مؤقت في الوثائق فقط. |
النوع: نهاية العمر الافتراضي
تمت إزالة crypto.createCipher() و crypto.createDecipher() لأنهما يستخدمان وظيفة اشتقاق مفتاح ضعيفة (MD5 بدون ملح) ومتجهات تهيئة ثابتة. يوصى باشتقاق مفتاح باستخدام crypto.pbkdf2() أو crypto.scrypt() مع أملاح عشوائية واستخدام crypto.createCipheriv() و crypto.createDecipheriv() للحصول على كائنات Cipher و Decipher على التوالي.
DEP0107: tls.convertNPNProtocols()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v11.0.0 | نهاية العمر الافتراضي. |
| v10.0.0 | إيقاف مؤقت في وقت التشغيل. |
النوع: نهاية العمر الافتراضي
كانت هذه وظيفة مساعدة غير موثقة غير مخصصة للاستخدام خارج نواة Node.js وتم إبطالها بسبب إزالة دعم NPN (التفاوض على البروتوكول التالي).
DEP0108: zlib.bytesRead
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v23.0.0 | نهاية العمر الافتراضي. |
| v11.0.0 | إيقاف مؤقت في وقت التشغيل. |
| v10.0.0 | إيقاف مؤقت في الوثائق فقط. |
النوع: نهاية العمر الافتراضي
اسم مستعار مهمل لـ zlib.bytesWritten. تم اختيار هذا الاسم الأصلي لأنه كان من المنطقي أيضًا تفسير القيمة على أنها عدد البايتات التي قرأها المحرك، ولكنه غير متناسق مع التدفقات الأخرى في Node.js التي تعرض قيمًا تحت هذه الأسماء.
DEP0109: دعم http و https و tls لعناوين URL غير صالحة
[التاريخ]
| الإصدار | التغييرات |
|---|---|
| v16.0.0 | نهاية العمر الافتراضي. |
| v11.0.0 | إهلاك وقت التشغيل. |
النوع: نهاية العمر الافتراضي
تم قبول بعض عناوين URL المدعومة سابقًا (ولكنها غير صالحة تمامًا) من خلال واجهات برمجة التطبيقات http.request() و http.get() و https.request() و https.get() و tls.checkServerIdentity() لأنها كانت مقبولة من قبل واجهة برمجة التطبيقات القديمة url.parse(). تستخدم واجهات برمجة التطبيقات المذكورة الآن محلل عناوين URL الخاص بـ WHATWG الذي يتطلب عناوين URL صالحة تمامًا. تمرير عنوان URL غير صالح مهمل وسيتم إزالة الدعم في المستقبل.
DEP0110: بيانات vm.Script المخزنة مؤقتًا
[التاريخ]
| الإصدار | التغييرات |
|---|---|
| v10.6.0 | إهلاك خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
تم إهمال خيار produceCachedData. استخدم script.createCachedData() بدلاً من ذلك.
DEP0111: process.binding()
[التاريخ]
| الإصدار | التغييرات |
|---|---|
| v11.12.0 | تمت إضافة دعم لـ--pending-deprecation. |
| v10.9.0 | إهلاك خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط (يدعم --pending-deprecation)
process.binding() مخصص للاستخدام بواسطة التعليمات البرمجية الداخلية لـ Node.js فقط.
في حين أن process.binding() لم يصل إلى حالة نهاية العمر الافتراضي بشكل عام، إلا أنه غير متوفر عند تمكين نموذج الأذونات.
DEP0112: واجهات برمجة التطبيقات الخاصة dgram
[التاريخ]
| الإصدار | التغييرات |
|---|---|
| v11.0.0 | إهلاك وقت التشغيل. |
النوع: وقت التشغيل
تحتوي وحدة node:dgram سابقًا على العديد من واجهات برمجة التطبيقات التي لم يكن من المفترض الوصول إليها خارج نواة Node.js: Socket.prototype._handle و Socket.prototype._receiving و Socket.prototype._bindState و Socket.prototype._queue و Socket.prototype._reuseAddr و Socket.prototype._healthCheck() و Socket.prototype._stopReceiving() و dgram._createSocketHandle().
DEP0113: Cipher.setAuthTag(), Decipher.getAuthTag()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | نهاية العمر الافتراضي. |
| v11.0.0 | إهلاك وقت التشغيل. |
النوع: نهاية العمر الافتراضي
لم تعد Cipher.setAuthTag() و Decipher.getAuthTag() متاحتين. لم يتم توثيقهما مطلقًا وكانتا تلقيان خطأ عند استدعائهما.
DEP0114: crypto._toBuf()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | نهاية العمر الافتراضي. |
| v11.0.0 | إهلاك وقت التشغيل. |
النوع: نهاية العمر الافتراضي
لم يتم تصميم الدالة crypto._toBuf() ليتم استخدامها بواسطة وحدات خارج نواة Node.js وتمت إزالتها.
DEP0115: crypto.prng(), crypto.pseudoRandomBytes(), crypto.rng()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v11.0.0 | تمت إضافة إهلاك للتوثيق فقط مع دعم --pending-deprecation. |
النوع: للتوثيق فقط (يدعم --pending-deprecation)
في الإصدارات الحديثة من Node.js، لا يوجد فرق بين crypto.randomBytes() و crypto.pseudoRandomBytes(). تم إهلاك الأخير مع الأسماء المستعارة غير الموثقة crypto.prng() و crypto.rng() لصالح crypto.randomBytes() وقد تتم إزالته في إصدار مستقبلي.
DEP0116: واجهة برمجة تطبيقات URL القديمة
[السجل]
| الإصدار | التغييرات |
|---|---|
| v19.0.0, v18.13.0 | url.parse() مهملة مرة أخرى في DEP0169. |
| v15.13.0, v14.17.0 | تم إلغاء الإهلاك. تم تغيير الحالة إلى "قديم". |
| v11.0.0 | إهلاك للتوثيق فقط. |
النوع: تم إلغاء الإهلاك
واجهة برمجة تطبيقات URL القديمة مهملة. وهذا يشمل url.format() و url.parse() و url.resolve() و urlObject القديم. يرجى استخدام واجهة برمجة تطبيقات WHATWG URL بدلاً من ذلك.
DEP0117: معالجات التشفير الأصلية
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | نهاية العمر. |
| v11.0.0 | إهلاك وقت التشغيل. |
النوع: نهاية العمر
عرضت الإصدارات السابقة من Node.js معالجات للكائنات الأصلية الداخلية من خلال خاصية _handle للفئات Cipher و Decipher و DiffieHellman و DiffieHellmanGroup و ECDH و Hash و Hmac و Sign و Verify. تمت إزالة خاصية _handle لأن الاستخدام غير السليم للكائن الأصلي يمكن أن يؤدي إلى تعطيل التطبيق.
DEP0118: دعم dns.lookup() لاسم مضيف خاطئ
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v11.0.0 | إهلاك وقت التشغيل. |
النوع: وقت التشغيل
دعمت الإصدارات السابقة من Node.js dns.lookup() باسم مضيف خاطئ مثل dns.lookup(false) بسبب التوافق مع الإصدارات السابقة. هذا السلوك غير موثق ويعتقد أنه غير مستخدم في التطبيقات الواقعية. سيصبح خطأ في الإصدارات المستقبلية من Node.js.
DEP0119: واجهة برمجة التطبيقات الخاصة process.binding('uv').errname()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v11.0.0 | إهلاك خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط (يدعم --pending-deprecation)
process.binding('uv').errname() مهمل. يرجى استخدام util.getSystemErrorName() بدلاً من ذلك.
DEP0120: دعم عداد أداء Windows
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | نهاية العمر. |
| v11.0.0 | إهلاك وقت التشغيل. |
النوع: نهاية العمر
تمت إزالة دعم عداد أداء Windows من Node.js. تم إهلاك الدوال غير الموثقة COUNTER_NET_SERVER_CONNECTION() و COUNTER_NET_SERVER_CONNECTION_CLOSE() و COUNTER_HTTP_SERVER_REQUEST() و COUNTER_HTTP_SERVER_RESPONSE() و COUNTER_HTTP_CLIENT_REQUEST() و COUNTER_HTTP_CLIENT_RESPONSE().
DEP0121: net._setSimultaneousAccepts()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | إهلاك وقت التشغيل. |
النوع: وقت التشغيل
كانت الدالة غير الموثقة net._setSimultaneousAccepts() مخصصة في الأصل لتصحيح الأخطاء وضبط الأداء عند استخدام الوحدات node:child_process و node:cluster على Windows. الدالة ليست مفيدة بشكل عام ويجري إزالتها. انظر المناقشة هنا: https://github.com/nodejs/node/issues/18391
DEP0122: tls Server.prototype.setOptions()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
يرجى استخدام Server.prototype.setSecureContext() بدلاً من ذلك.
DEP0123: تعيين TLS ServerName إلى عنوان IP
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
لا يسمح RFC 6066 بتعيين TLS ServerName إلى عنوان IP. سيتم تجاهل هذا في إصدار مستقبلي.
DEP0124: استخدام REPLServer.rli
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v15.0.0 | نهاية العمر الافتراضي. |
| v12.0.0 | إهمال وقت التشغيل. |
النوع: نهاية العمر الافتراضي
هذه الخاصية هي إشارة إلى المثيل نفسه.
DEP0125: require('node:_stream_wrap')
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v12.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
الوحدة node:_stream_wrap مهملة.
DEP0126: timers.active()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v11.14.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
تم إهمال timers.active() غير الموثقة سابقًا. يرجى استخدام timeout.refresh() الموثقة علنًا بدلاً من ذلك. إذا كانت إعادة الإشارة إلى المهلة ضرورية، فيمكن استخدام timeout.ref() دون أي تأثير على الأداء منذ Node.js 10.
DEP0127: timers._unrefActive()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v11.14.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
تم إهمال timers._unrefActive() "الخاصة" وغير الموثقة سابقًا. يرجى استخدام timeout.refresh() الموثقة علنًا بدلاً من ذلك. إذا كان إلغاء الإشارة إلى المهلة ضروريًا، فيمكن استخدام timeout.unref() دون أي تأثير على الأداء منذ Node.js 10.
DEP0128: الوحدات النمطية التي تحتوي على إدخال main غير صالح وملف index.js
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v16.0.0 | إهمال وقت التشغيل. |
| v12.0.0 | خاص بالتوثيق فقط. |
النوع: وقت التشغيل
الوحدات النمطية التي تحتوي على إدخال main غير صالح (على سبيل المثال، ./does-not-exist.js) وتحتوي أيضًا على ملف index.js في الدليل ذي المستوى الأعلى ستحل ملف index.js. هذا مهمل وسيؤدي إلى ظهور خطأ في إصدارات Node.js المستقبلية.
DEP0129: ChildProcess._channel
[السجل]
| الإصدار | التغييرات |
|---|---|
| v13.0.0 | إهلاك وقت التشغيل. |
| v11.14.0 | خاص بالتوثيق فقط. |
النوع: وقت التشغيل
الخاصية _channel لكائنات العمليات الفرعية التي يتم إرجاعها بواسطة spawn() ووظائف مماثلة غير مخصصة للاستخدام العام. استخدم ChildProcess.channel بدلاً من ذلك.
DEP0130: Module.createRequireFromPath()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v16.0.0 | نهاية العمر الافتراضي. |
| v13.0.0 | إهلاك وقت التشغيل. |
| v12.2.0 | خاص بالتوثيق فقط. |
النوع: نهاية العمر الافتراضي
استخدم module.createRequire() بدلاً من ذلك.
DEP0131: محلل HTTP القديم
[السجل]
| الإصدار | التغييرات |
|---|---|
| v13.0.0 | تمت إزالة هذه الميزة. |
| v12.22.0 | إهلاك وقت التشغيل. |
| v12.3.0 | خاص بالتوثيق فقط. |
النوع: نهاية العمر الافتراضي
تم إيقاف محلل HTTP القديم، المستخدم افتراضيًا في إصدارات Node.js قبل 12.0.0، وتمت إزالته في الإصدار v13.0.0. قبل الإصدار v13.0.0، يمكن استخدام علامة سطر الأوامر --http-parser=legacy للرجوع إلى استخدام المحلل اللغوي القديم.
DEP0132: worker.terminate() مع رد الاتصال
[السجل]
| الإصدار | التغييرات |
|---|---|
| v12.5.0 | إهلاك وقت التشغيل. |
النوع: وقت التشغيل
تم إيقاف تمرير رد نداء إلى worker.terminate(). استخدم Promise المرتجع بدلاً من ذلك، أو مستمعًا لحدث 'exit' الخاص بالعامل.
DEP0133: http connection
[السجل]
| الإصدار | التغييرات |
|---|---|
| v12.12.0 | إهلاك خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
فضل response.socket على response.connection و request.socket على request.connection.
DEP0134: process._tickCallback
[السجل]
| الإصدار | التغييرات |
|---|---|
| v12.12.0 | إهلاك خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط (يدعم --pending-deprecation)
لم يتم توثيق الخاصية process._tickCallback مطلقًا كواجهة برمجة تطبيقات مدعومة رسميًا.
DEP0135: WriteStream.open() و ReadStream.open() داخليتان
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v13.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
تعتبر WriteStream.open() و ReadStream.open() واجهات برمجة تطبيقات داخلية غير موثقة ولا معنى لاستخدامها في مساحة المستخدم. يجب دائمًا فتح تدفقات الملفات من خلال طرق المصنع المقابلة لها fs.createWriteStream() و fs.createReadStream()) أو عن طريق تمرير واصف ملف في الخيارات.
DEP0136: http finished
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v13.4.0, v12.16.0 | إهمال خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
تشير response.finished إلى ما إذا كان قد تم استدعاء response.end()، وليس ما إذا كان قد تم إصدار 'finish' وتم تدفق البيانات الأساسية.
استخدم response.writableFinished أو response.writableEnded وفقًا لذلك لتجنب الغموض.
للحفاظ على السلوك الحالي، يجب استبدال response.finished بـ response.writableEnded.
DEP0137: إغلاق fs.FileHandle عند جمع البيانات المهملة
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v14.0.0 | إهمال وقت التشغيل. |
النوع: وقت التشغيل
يُعتبر السماح بإغلاق كائن fs.FileHandle عند جمع البيانات المهملة أمرًا مهملًا. في المستقبل، قد يؤدي القيام بذلك إلى حدوث خطأ يتم طرحه يؤدي إلى إنهاء العملية.
يرجى التأكد من إغلاق جميع كائنات fs.FileHandle بشكل صريح باستخدام FileHandle.prototype.close() عندما لم تعد fs.FileHandle مطلوبة:
const fsPromises = require('node:fs').promises;
async function openAndClose() {
let filehandle;
try {
filehandle = await fsPromises.open('thefile.txt', 'r');
} finally {
if (filehandle !== undefined)
await filehandle.close();
}
}DEP0138: process.mainModule
[التاريخ]
| الإصدار | التغييرات |
|---|---|
| الإصدار v14.0.0 | إهمال خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
process.mainModule هي ميزة خاصة بـ CommonJS فقط بينما يتم مشاركة الكائن العام process مع بيئة غير CommonJS. استخدامه داخل وحدات ECMAScript غير مدعوم.
تم إهماله لصالح require.main، لأنه يخدم نفس الغرض وهو متاح فقط في بيئة CommonJS.
DEP0139: process.umask() بدون وسيطات
[التاريخ]
| الإصدار | التغييرات |
|---|---|
| الإصدار v14.0.0، الإصدار v12.19.0 | إهمال خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
استدعاء process.umask() بدون وسيطة يتسبب في كتابة umask على مستوى العملية مرتين. هذا يقدم حالة سباق بين الخيوط، وهو ثغرة أمنية محتملة. لا يوجد بديل API آمن ومتعدد الأنظمة الأساسية.
DEP0140: استخدام request.destroy() بدلاً من request.abort()
[التاريخ]
| الإصدار | التغييرات |
|---|---|
| الإصدار v14.1.0، الإصدار v13.14.0 | إهمال خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
استخدم request.destroy() بدلاً من request.abort().
DEP0141: repl.inputStream و repl.outputStream
[التاريخ]
| الإصدار | التغييرات |
|---|---|
| الإصدار v14.3.0 | خاص بالتوثيق فقط (يدعم [--pending-deprecation][]). |
النوع: خاص بالتوثيق فقط (يدعم --pending-deprecation)
وحدة node:repl قامت بتصدير دفق الإدخال والإخراج مرتين. استخدم .input بدلاً من .inputStream و .output بدلاً من .outputStream.
DEP0142: repl._builtinLibs
[التاريخ]
| الإصدار | التغييرات |
|---|---|
| الإصدار v14.3.0 | خاص بالتوثيق فقط (يدعم [--pending-deprecation][]). |
النوع: خاص بالتوثيق فقط
تقوم وحدة node:repl بتصدير خاصية _builtinLibs تحتوي على مصفوفة من الوحدات المضمنة. كانت غير مكتملة حتى الآن وبدلاً من ذلك من الأفضل الاعتماد على require('node:module').builtinModules.
DEP0143: Transform._transformState
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار 14.5.0 | إهمال وقت التشغيل. |
النوع: سيتم إزالة Transform._transformState في وقت التشغيل في الإصدارات المستقبلية حيث لم يعد مطلوبًا بسبب تبسيط التنفيذ.
DEP0144: module.parent
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار 14.6.0، الإصدار 12.19.0 | إهمال خاص بالوثائق فقط. |
النوع: خاص بالوثائق فقط (يدعم --pending-deprecation)
يمكن لوحدة CommonJS الوصول إلى الوحدة الأولى التي طلبتها باستخدام module.parent. تم إهمال هذه الميزة لأنها لا تعمل باستمرار في وجود وحدات ECMAScript ولأنها تعطي تمثيلًا غير دقيق لرسوم CommonJS البيانية.
تستخدمه بعض الوحدات للتحقق مما إذا كانت نقطة دخول العملية الحالية. بدلاً من ذلك، يوصى بمقارنة require.main و module:
if (require.main === module) {
// مقطع التعليمات البرمجية الذي سيتم تشغيله فقط إذا كان الملف الحالي هو نقطة الدخول.
}عند البحث عن وحدات CommonJS التي طلبت الوحدة الحالية، يمكن استخدام require.cache و module.children:
const moduleParents = Object.values(require.cache)
.filter((m) => m.children.includes(module));DEP0145: socket.bufferSize
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار 14.6.0 | إهمال خاص بالوثائق فقط. |
النوع: خاص بالوثائق فقط
socket.bufferSize هو مجرد اسم مستعار لـ writable.writableLength.
DEP0146: new crypto.Certificate()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار 14.9.0 | إهمال خاص بالوثائق فقط. |
النوع: خاص بالوثائق فقط
تم إهمال crypto.Certificate() constructor. استخدم الطرق الثابتة لـ crypto.Certificate() بدلاً من ذلك.
DEP0147: fs.rmdir(path, { recursive: true }) {#dep0147-fsrmdirpath-{-recursive-true-}}
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار 16.0.0 | إهمال وقت التشغيل. |
| الإصدار 15.0.0 | إهمال وقت التشغيل للسلوك المتساهل. |
| الإصدار 14.14.0 | إهمال خاص بالوثائق فقط. |
النوع: وقت التشغيل
في الإصدارات المستقبلية من Node.js، سيتم تجاهل خيار recursive لـ fs.rmdir و fs.rmdirSync و fs.promises.rmdir.
استخدم fs.rm(path, { recursive: true, force: true }) أو fs.rmSync(path, { recursive: true, force: true }) أو fs.promises.rm(path, { recursive: true, force: true }) بدلاً من ذلك.
DEP0148: تعيينات المجلدات في "exports" (علامة "/" زائدة)
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار 17.0.0 | نهاية العمر الافتراضي. |
| الإصدار 16.0.0 | الإهلاك في وقت التشغيل. |
| الإصدار 15.1.0 | الإهلاك في وقت التشغيل لعمليات الاستيراد ذات الإشارة الذاتية. |
| الإصدار 14.13.0 | الإهلاك في الوثائق فقط. |
النوع: وقت التشغيل
يتم إهلاك استخدام علامة "/" زائدة لتعريف تعيينات مجلدات المسار الفرعي في حقول صادرات المسار الفرعي أو واردات المسار الفرعي. استخدم أنماط المسار الفرعي بدلاً من ذلك.
DEP0149: http.IncomingMessage#connection
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار 16.0.0 | الإهلاك في الوثائق فقط. |
النوع: الوثائق فقط.
فضل message.socket على message.connection.
DEP0150: تغيير قيمة process.config
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار 19.0.0 | نهاية العمر الافتراضي. |
| الإصدار 16.0.0 | الإهلاك في وقت التشغيل. |
النوع: نهاية العمر الافتراضي
توفر الخاصية process.config الوصول إلى إعدادات وقت تجميع Node.js. ومع ذلك، فإن الخاصية قابلة للتغيير وبالتالي عرضة للعبث. ستتم إزالة القدرة على تغيير القيمة في إصدار مستقبلي من Node.js.
DEP0151: البحث عن فهرس رئيسي والبحث عن الامتدادات
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار 16.0.0 | الإهلاك في وقت التشغيل. |
| الإصدار 15.8.0, الإصدار 14.18.0 | الإهلاك في الوثائق فقط مع دعم --pending-deprecation. |
النوع: وقت التشغيل
سابقًا، سيتم تطبيق عمليات البحث عن index.js والبحث عن الامتدادات على حل نقطة الدخول الرئيسية import 'pkg'، حتى عند حل وحدات ES النمطية.
مع هذا الإهلاك، تتطلب جميع حلول نقطة الدخول الرئيسية لوحدة ES النمطية "exports" أو "main" إدخال صريحًا مع امتداد الملف المحدد.
DEP0152: خصائص Extension PerformanceEntry
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار 16.0.0 | الإهلاك في وقت التشغيل. |
النوع: وقت التشغيل
تحتوي أنواع الكائنات 'gc' و 'http2' و 'http' <PerformanceEntry> على خصائص إضافية مُعيَّنة لها توفر معلومات إضافية. تتوفر هذه الخصائص الآن داخل الخاصية detail القياسية لكائن PerformanceEntry. تم إهلاك أدوات الوصول الحالية ويجب عدم استخدامها بعد الآن.
DEP0153: dns.lookup و dnsPromises.lookup إجبار نوع الخيارات
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار v18.0.0 | نهاية العمر. |
| الإصدار v17.0.0 | إهمال وقت التشغيل. |
| الإصدار v16.8.0 | إهمال خاص بالتوثيق فقط. |
النوع: نهاية العمر
يؤدي استخدام قيمة غير فارغة وغير عدد صحيح لخيار family، أو قيمة غير فارغة وغير رقمية لخيار hints، أو قيمة غير فارغة وغير منطقية لخيار all، أو قيمة غير فارغة وغير منطقية لخيار verbatim في dns.lookup() و dnsPromises.lookup() إلى إطلاق خطأ ERR_INVALID_ARG_TYPE.
DEP0154: خيارات توليد زوج مفاتيح RSA-PSS
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار v20.0.0 | إهمال وقت التشغيل. |
| الإصدار v16.10.0 | إهمال خاص بالتوثيق فقط. |
النوع: وقت التشغيل
تم استبدال الخيارات 'hash' و 'mgf1Hash' بالخيارات 'hashAlgorithm' و 'mgf1HashAlgorithm'.
DEP0155: الشرطات المائلة اللاحقة في قرارات مُحدِّد النمط
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار v17.0.0 | إهمال وقت التشغيل. |
| الإصدار v16.10.0 | إهمال خاص بالتوثيق فقط مع دعم --pending-deprecation. |
النوع: وقت التشغيل
إعادة تعيين المُحدِّدات التي تنتهي بـ "/" مثل import 'pkg/x/' أصبحت مهملة لحل نمط الحزم "exports" و "imports".
DEP0156: الخاصية .aborted والحدث 'abort' و 'aborted' في http
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار v17.0.0, v16.12.0 | إهمال خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
انتقل إلى واجهة برمجة تطبيقات <Stream> بدلاً من ذلك، حيث أن http.ClientRequest و http.ServerResponse و http.IncomingMessage كلها تعتمد على التدفق. تحقق من stream.destroyed بدلاً من الخاصية .aborted، واستمع إلى 'close' بدلاً من الحدث 'abort' و 'aborted'.
الخاصية .aborted والحدث 'abort' مفيدان فقط لاكتشاف استدعاءات .abort(). لإغلاق طلب مبكرًا، استخدم Stream .destroy([error]) ثم تحقق من الخاصية .destroyed والحدث 'close' يجب أن يكون لهما نفس التأثير. يجب على الطرف المتلقي أيضًا التحقق من القيمة readable.readableEnded على http.IncomingMessage لمعرفة ما إذا كان الإغلاق مبكرًا أو إتلافًا سلسًا.
DEP0157: دعم Thenable في التدفقات
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار 18.0.0 | نهاية العمر. |
| الإصدار 17.2.0، الإصدار 16.14.0 | إيقاف مؤقت للتوثيق فقط. |
النوع: نهاية العمر
كانت إحدى الميزات غير الموثقة في تدفقات Node.js هي دعم thenables في طرق التنفيذ. تم إيقاف هذه الميزة الآن، استخدم ردود النداء بدلاً من ذلك وتجنب استخدام الدالة غير المتزامنة لطرق تنفيذ التدفقات.
تسببت هذه الميزة في مواجهة المستخدمين لمشكلات غير متوقعة حيث يقوم المستخدم بتنفيذ الدالة بأسلوب رد النداء ولكنه يستخدم على سبيل المثال طريقة غير متزامنة من شأنها أن تتسبب في حدوث خطأ لأن مزج دلالات الوعد ورد النداء غير صالح.
const w = new Writable({
async final(callback) {
await someOp();
callback();
},
});DEP0158: buffer.slice(start, end)
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار 17.5.0، الإصدار 16.15.0 | إيقاف مؤقت للتوثيق فقط. |
النوع: توثيق فقط
تم إيقاف هذه الطريقة لأنها غير متوافقة مع Uint8Array.prototype.slice()، وهي فئة فرعية من Buffer.
استخدم buffer.subarray الذي يفعل نفس الشيء بدلاً من ذلك.
DEP0159: ERR_INVALID_CALLBACK
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار 18.0.0 | نهاية العمر. |
النوع: نهاية العمر
تمت إزالة رمز الخطأ هذا بسبب إضافة المزيد من الارتباك إلى الأخطاء المستخدمة للتحقق من صحة نوع القيمة.
DEP0160: process.on('multipleResolves', handler)
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار 18.0.0 | إيقاف مؤقت لوقت التشغيل. |
| الإصدار 17.6.0، الإصدار 16.15.0 | إيقاف مؤقت للتوثيق فقط. |
النوع: وقت التشغيل.
تم إيقاف هذا الحدث لأنه لم يعمل مع V8 promise combinators مما قلل من فائدته.
DEP0161: process._getActiveRequests() و process._getActiveHandles()
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| الإصدار 17.6.0، الإصدار 16.15.0 | إيقاف مؤقت للتوثيق فقط. |
النوع: توثيق فقط
الوظائف process._getActiveHandles() و process._getActiveRequests() غير مخصصة للاستخدام العام ويمكن إزالتها في الإصدارات المستقبلية.
استخدم process.getActiveResourcesInfo() للحصول على قائمة بأنواع الموارد النشطة وليس المراجع الفعلية.
DEP0162: تحويل fs.write() و fs.writeFileSync() إلى سلسلة نصية
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v19.0.0 | نهاية العمر الافتراضي. |
| الإصدار v18.0.0 | إهلاك وقت التشغيل. |
| الإصدار v17.8.0 و v16.15.0 | إهلاك خاص بالوثائق فقط. |
النوع: نهاية العمر الافتراضي
التحويل الضمني للكائنات التي تحتوي على خاصية toString خاصة بها، والتي يتم تمريرها كمعامل ثانٍ في fs.write() و fs.writeFile() و fs.appendFile() و fs.writeFileSync() و fs.appendFileSync() مهمل. قم بتحويلها إلى سلاسل نصية أولية.
DEP0163: channel.subscribe(onMessage) و channel.unsubscribe(onMessage)
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v18.7.0 و v16.17.0 | إهلاك خاص بالوثائق فقط. |
النوع: خاص بالوثائق فقط
تم إهلاك هذه الطرق لأنه يمكن استخدامها بطريقة لا تحافظ على مرجع القناة حيًا لفترة كافية لتلقي الأحداث.
استخدم diagnostics_channel.subscribe(name, onMessage) أو diagnostics_channel.unsubscribe(name, onMessage) الذي يفعل نفس الشيء بدلاً من ذلك.
DEP0164: تحويل process.exit(code) و process.exitCode إلى عدد صحيح
[السجل]
| الإصدار | التغييرات |
|---|---|
| الإصدار v20.0.0 | نهاية العمر الافتراضي. |
| الإصدار v19.0.0 | إهلاك وقت التشغيل. |
| الإصدار v18.10.0 و v16.18.0 | إهلاك خاص بالوثائق فقط لتحويل process.exitCode إلى عدد صحيح. |
| الإصدار v18.7.0 و v16.17.0 | إهلاك خاص بالوثائق فقط لتحويل process.exit(code) إلى عدد صحيح. |
النوع: نهاية العمر الافتراضي
القيم بخلاف undefined و null والأرقام الصحيحة والسلاسل النصية الصحيحة (مثل '1') مهملة كقيمة للمعامل code في process.exit() وكقيمة يتم تعيينها إلى process.exitCode.
DEP0165: --trace-atomics-wait
[السجل]
| الإصدار | التغييرات |
|---|---|
| v23.0.0 | نهاية العمر الافتراضي. |
| v22.0.0 | الإهلاك في وقت التشغيل. |
| v18.8.0, v16.18.0 | الإهلاك في الوثائق فقط. |
النوع: نهاية العمر الافتراضي
تمت إزالة العلامة --trace-atomics-wait لأنها تستخدم خطاف V8 SetAtomicsWaitCallback، الذي ستتم إزالته في إصدار V8 مستقبلي.
DEP0166: خطوط مائلة مزدوجة في أهداف الاستيراد والتصدير
[السجل]
| الإصدار | التغييرات |
|---|---|
| v19.0.0 | الإهلاك في وقت التشغيل. |
| v18.10.0 | الإهلاك في الوثائق فقط مع دعم --pending-deprecation. |
النوع: وقت التشغيل
يتم إهمال أهداف استيراد وتصدير الحزم التي يتم تعيينها في مسارات تتضمن خطًا مائلًا مزدوجًا (من "/" أو "") وسيؤدي إلى حدوث خطأ في التحقق من الصحة في إصدار مستقبلي. ينطبق هذا الإهمال نفسه أيضًا على مطابقة الأنماط التي تبدأ أو تنتهي بشرطة مائلة.
DEP0167: مثيلات DiffieHellmanGroup الضعيفة (modp1, modp2, modp5)
[السجل]
| الإصدار | التغييرات |
|---|---|
| v18.10.0, v16.18.0 | الإهلاك في الوثائق فقط. |
النوع: الوثائق فقط
تم إهمال مجموعات MODP المعروفة modp1 و modp2 و modp5 لأنها غير آمنة ضد الهجمات العملية. راجع RFC 8247 القسم 2.4 للحصول على التفاصيل.
قد تتم إزالة هذه المجموعات في الإصدارات المستقبلية من Node.js. يجب على التطبيقات التي تعتمد على هذه المجموعات تقييم استخدام مجموعات MODP أقوى بدلاً من ذلك.
DEP0168: استثناء غير معالج في معاودة الاتصال Node-API
[السجل]
| الإصدار | التغييرات |
|---|---|
| v18.3.0, v16.17.0 | الإهلاك في وقت التشغيل. |
النوع: وقت التشغيل
يتم الآن إهمال الكبت الضمني للاستثناءات غير الملتقطة في معاودة الاتصال Node-API.
عيّن العلامة --force-node-api-uncaught-exceptions-policy لإجبار Node.js على إصدار حدث 'uncaughtException' إذا لم تتم معالجة الاستثناء في معاودة الاتصال Node-API.
DEP0169: url.parse() غير آمن
[السجل]
| الإصدار | التغييرات |
|---|---|
| v19.9.0, v18.17.0 | تمت إضافة دعم --pending-deprecation. |
| v19.0.0, v18.13.0 | إهلاك خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط (يدعم --pending-deprecation)
سلوك url.parse() غير موحد وعرضة للأخطاء التي لها آثار أمنية. استخدم واجهة برمجة تطبيقات WHATWG URL بدلاً من ذلك. لا يتم إصدار CVEs لنقاط الضعف في url.parse().
DEP0170: منفذ غير صالح عند استخدام url.parse()
[السجل]
| الإصدار | التغييرات |
|---|---|
| v20.0.0 | إهلاك وقت التشغيل. |
| v19.2.0, v18.13.0 | إهلاك خاص بالتوثيق فقط. |
النوع: وقت التشغيل
url.parse() يقبل عناوين URL التي تحتوي على منافذ ليست أرقامًا. قد يؤدي هذا السلوك إلى انتحال اسم المضيف بإدخال غير متوقع. ستطرح عناوين URL هذه خطأً في الإصدارات المستقبلية من Node.js، كما تفعل واجهة برمجة تطبيقات WHATWG URL بالفعل.
DEP0171: أدوات الضبط لعناوين وتذييلات http.IncomingMessage
[السجل]
| الإصدار | التغييرات |
|---|---|
| v19.3.0, v18.13.0 | إهلاك خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
في إصدار مستقبلي من Node.js، ستكون message.headers و message.headersDistinct و message.trailers و message.trailersDistinct للقراءة فقط.
DEP0172: خاصية asyncResource للدوال المرتبطة بـ AsyncResource
[السجل]
| الإصدار | التغييرات |
|---|---|
| v20.0.0 | إهلاك وقت التشغيل. |
النوع: وقت التشغيل
في إصدار مستقبلي من Node.js، لن تتم إضافة خاصية asyncResource عندما يتم ربط دالة بـ AsyncResource.
DEP0173: فئة assert.CallTracker
[السجل]
| الإصدار | التغييرات |
|---|---|
| v20.1.0 | إهلاك خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
في إصدار مستقبلي من Node.js، ستتم إزالة assert.CallTracker. ضع في اعتبارك استخدام بدائل مثل دالة المساعد mock.
DEP0174: استدعاء promisify على دالة تُرجع Promise
[السجل]
| الإصدار | التغييرات |
|---|---|
| v21.0.0 | إهلاك وقت التشغيل. |
| v20.8.0 | إهلاك للتوثيق فقط. |
النوع: وقت التشغيل
استدعاء util.promisify على دالة تُرجع
DEP0175: util.toUSVString
[السجل]
| الإصدار | التغييرات |
|---|---|
| v20.8.0 | إهلاك للتوثيق فقط. |
النوع: للتوثيق فقط
واجهة برمجة التطبيقات util.toUSVString() مهملة. يرجى استخدام String.prototype.toWellFormed بدلاً من ذلك.
DEP0176: fs.F_OK, fs.R_OK, fs.W_OK, fs.X_OK
[السجل]
| الإصدار | التغييرات |
|---|---|
| v20.8.0 | إهلاك للتوثيق فقط. |
النوع: للتوثيق فقط
F_OK، وR_OK، وW_OK، وX_OK التي يتم عرضها مباشرة على node:fs مهملة. احصل عليها من fs.constants أو fs.promises.constants بدلاً من ذلك.
DEP0177: util.types.isWebAssemblyCompiledModule
[السجل]
| الإصدار | التغييرات |
|---|---|
| v21.7.0, v20.12.0 | نهاية العمر الافتراضي. |
| v21.3.0, v20.11.0 | تم تعيين رمز إهلاك. |
| v14.0.0 | إهلاك للتوثيق فقط. |
النوع: نهاية العمر الافتراضي
تمت إزالة واجهة برمجة التطبيقات util.types.isWebAssemblyCompiledModule. يرجى استخدام value instanceof WebAssembly.Module بدلاً من ذلك.
DEP0178: dirent.path
[السجل]
| الإصدار | التغييرات |
|---|---|
| v23.0.0 | إهلاك وقت التشغيل. |
| v21.5.0, v20.12.0, v18.20.0 | إهلاك للتوثيق فقط. |
النوع: وقت التشغيل
dirent.path مهمل بسبب عدم اتساقه عبر خطوط الإصدار. يرجى استخدام dirent.parentPath بدلاً من ذلك.
DEP0179: مُنشئ Hash
[السجل]
| الإصدار | التغييرات |
|---|---|
| v22.0.0 | إهلاك وقت التشغيل. |
| v21.5.0, v20.12.0 | إهلاك للتوثيق فقط. |
النوع: وقت التشغيل
استدعاء فئة Hash مباشرة باستخدام Hash() أو new Hash() مهمل بسبب كونه داخليًا، وليس مخصصًا للاستخدام العام. يرجى استخدام طريقة crypto.createHash() لإنشاء مثيلات Hash.
DEP0180: مُنشئ fs.Stats
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v22.0.0 | إهمال وقت التشغيل. |
| v20.13.0 | إهمال خاص بالتوثيق فقط. |
النوع: وقت التشغيل
يُعتبر استدعاء الفئة fs.Stats مباشرةً باستخدام Stats() أو new Stats() مُهملًا بسبب كونه جزءًا داخليًا، وغير مخصص للاستخدام العام.
DEP0181: مُنشئ Hmac
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v22.0.0 | إهمال وقت التشغيل. |
| v20.13.0 | إهمال خاص بالتوثيق فقط. |
النوع: وقت التشغيل
يُعتبر استدعاء الفئة Hmac مباشرةً باستخدام Hmac() أو new Hmac() مُهملًا بسبب كونه جزءًا داخليًا، وغير مخصص للاستخدام العام. يرجى استخدام طريقة crypto.createHmac() لإنشاء مثيلات Hmac.
DEP0182: علامات مصادقة GCM القصيرة بدون authTagLength صريح
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v23.0.0 | إهمال وقت التشغيل. |
| v20.13.0 | إهمال خاص بالتوثيق فقط. |
النوع: وقت التشغيل
يجب على التطبيقات التي تنوي استخدام علامات مصادقة أقصر من طول علامة المصادقة الافتراضي تعيين خيار authTagLength لوظيفة crypto.createDecipheriv() إلى الطول المناسب.
بالنسبة إلى الشفرات في وضع GCM، تقبل الوظيفة decipher.setAuthTag() علامات مصادقة بأي طول صالح (راجع DEP0090). تم إهمال هذا السلوك ليتماشى بشكل أفضل مع التوصيات وفقًا لـ NIST SP 800-38D.
DEP0183: واجهات برمجة تطبيقات تستند إلى محرك OpenSSL
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v22.4.0, v20.16.0 | إهمال خاص بالتوثيق فقط. |
النوع: خاص بالتوثيق فقط
أهمل OpenSSL 3 دعم المحركات المخصصة مع توصية بالتحول إلى نموذج الموفر الجديد الخاص به. يعتمد خيار clientCertEngine لـ https.request() و tls.createSecureContext() و tls.createServer()؛ و privateKeyEngine و privateKeyIdentifier لـ tls.createSecureContext()؛ و crypto.setEngine() جميعًا على هذه الوظيفة من OpenSSL.
DEP0184: تهيئة فئات node:zlib بدون new
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v22.9.0, v20.18.0 | إيقاف الاستخدام خاص بالوثائق فقط. |
النوع: خاص بالوثائق فقط
تم إيقاف تهيئة الفئات بدون المؤهل new المصدرة من الوحدة node:zlib. يوصى باستخدام المؤهل new بدلاً من ذلك. ينطبق هذا على جميع فئات Zlib، مثل Deflate وDeflateRaw وGunzip وInflate وInflateRaw وUnzip وZlib.
DEP0185: تهيئة فئات node:repl بدون new
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v22.9.0, v20.18.0 | إيقاف الاستخدام خاص بالوثائق فقط. |
النوع: خاص بالوثائق فقط
تم إيقاف تهيئة الفئات بدون المؤهل new المصدرة من الوحدة node:repl. يوصى باستخدام المؤهل new بدلاً من ذلك. ينطبق هذا على جميع فئات REPL، بما في ذلك REPLServer وRecoverable.
DEP0187: تمرير أنواع وسيطات غير صالحة إلى fs.existsSync
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v23.4.0 | خاص بالوثائق فقط. |
النوع: خاص بالوثائق فقط
تم إيقاف تمرير أنواع الوسيطات غير المدعومة، وبدلاً من إرجاع false، سيتم طرح خطأ في إصدار مستقبلي.
DEP0188: process.features.ipv6 و process.features.uv
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v23.4.0 | إيقاف الاستخدام خاص بالوثائق فقط. |
النوع: خاص بالوثائق فقط
هذه الخصائص هي true بشكل غير مشروط. أي عمليات تحقق تستند إلى هذه الخصائص زائدة عن الحاجة.
DEP0189: process.features.tls_*
[سجل التغييرات]
| الإصدار | التغييرات |
|---|---|
| v23.4.0 | إيقاف الاستخدام خاص بالوثائق فقط. |
النوع: خاص بالوثائق فقط
تم إيقاف process.features.tls_alpn و process.features.tls_ocsp و process.features.tls_sni، حيث أن قيمها مضمونة لتكون مماثلة لقيمة process.features.tls.