Skip to content

واجهات برمجة التطبيقات المهملة

قد يتم إهمال واجهات برمجة التطبيقات الخاصة بـ 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() بدلاً من ذلك.

[السجل]

الإصدارالتغييرات
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:

بدون --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/codemap
  • v8/tools/consarray
  • v8/tools/csvparser
  • v8/tools/logreader
  • v8/tools/profile_view
  • v8/tools/profile
  • v8/tools/SourceMap
  • v8/tools/splaytree
  • v8/tools/tickprocessor-driver
  • v8/tools/tickprocessor
  • node-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.0url.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: ‏httpconnection

[السجل]

الإصدارالتغييرات
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 مطلوبة:

js
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:

js
if (require.main === module) {
  // مقطع التعليمات البرمجية الذي سيتم تشغيله فقط إذا كان الملف الحالي هو نقطة الدخول.
}

عند البحث عن وحدات CommonJS التي طلبت الوحدة الحالية، يمكن استخدام require.cache و module.children:

js
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 في طرق التنفيذ. تم إيقاف هذه الميزة الآن، استخدم ردود النداء بدلاً من ذلك وتجنب استخدام الدالة غير المتزامنة لطرق تنفيذ التدفقات.

تسببت هذه الميزة في مواجهة المستخدمين لمشكلات غير متوقعة حيث يقوم المستخدم بتنفيذ الدالة بأسلوب رد النداء ولكنه يستخدم على سبيل المثال طريقة غير متزامنة من شأنها أن تتسبب في حدوث خطأ لأن مزج دلالات الوعد ورد النداء غير صالح.

js
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.