Erlang 21 - 6. Support, Compatibility, Deprecations, and Removal

6 समर्थन, संगतता, पदावनत, और निष्कासन




erlang

6 समर्थन, संगतता, पदावनत, और निष्कासन

6.1 समर्थित विज्ञप्ति

सामान्य तौर पर, बग केवल नवीनतम release पर तय किए जाते हैं, और नई सुविधाओं को आगामी रिलीज में शुरू किया जाता है जो विकास के अधीन है। हालाँकि, जब हम आंतरिक कारणों के कारण, पुराने रिलीज पर बग को ठीक करते हैं, तो ये उपलब्ध होंगे और साथ ही घोषणा की जाएगी।

उपरोक्त के कारण, पुल अनुरोध केवल हमारे git repository में master और master शाखाओं पर स्वीकार किए जाते हैं। मुख्य शाखा में नवीनतम ओटीपी रिलीज पर अगले release लिए नियोजित परिवर्तन होते हैं और master शाखा में आगामी ओटीपी रिलीज के लिए नियोजित परिवर्तन होते हैं।

6.2 संगतता

हम हमेशा उन मामलों में भी संभव के रूप में संगत रहने का प्रयास करते हैं जहां हम कोई संगतता गारंटी नहीं देते हैं।

संगतता के संबंध में सिस्टम के विभिन्न भागों को अलग-अलग तरीके से संभाला जाएगा। निम्न आइटम वर्णन करते हैं कि सिस्टम के विभिन्न भागों को कैसे संभाला जाता है।

एर्लांग वितरण

एरलैंग नोड्स कम से कम दो पूर्ववर्ती और दो बाद की रिलीज़ में संचार कर सकते हैं।

संकलित BEAM कोड, NIF लाइब्रेरी और ड्राइवर

संकलित कोड को कम से कम दो बाद के रिलीज पर लोड किया जा सकता है।

पिछली रिलीज़ पर लोडिंग समर्थित नहीं है

संकलित HiPE कोड

संकलित HiPE कोड को ERTS के ठीक उसी निर्माण पर लोड किया जा सकता है जिसका उपयोग कोड संकलित करते समय किया गया था। हालांकि यह अन्य बिल्ड पर काम कर सकता है, एमुलेटर यह निर्धारित करने के लिए चेकसम की पुष्टि करता है कि यह कोड लोड कर सकता है या नहीं। ध्यान दें कि HiPE की कुछ सीमाएँ हैं। अधिक जानकारी के लिए HiPE आवेदन के दस्तावेज देखें।

एपीआई

रिलीज के बीच संगत।

संकलक चेतावनी

रिलीज के बीच नई चेतावनी जारी की जा सकती है।

कमांड लाइन तर्क

रिलीज के बीच असंगत परिवर्तन हो सकते हैं।

ओटीपी बिल्ड प्रोसीजर

रिलीज के बीच असंगत परिवर्तन हो सकते हैं।

कुछ परिस्थितियों में असंगत परिवर्तन को सिस्टम के कुछ हिस्सों में भी पेश किया जा सकता है जो रिलीज के बीच संगत होना चाहिए। चीजें जो इस तरह असंगत परिवर्तन को ट्रिगर कर सकती हैं:

सुरक्षा मुद्दे

सुरक्षा समस्या को हल करने के लिए असंगत परिवर्तनों को लागू करना आवश्यक हो सकता है। पैच में इस तरह की असंगति हो सकती है।

कंप्यूटर प्रोग्राम या प्रणाली में बग को दूर करना

हम बग-संगत नहीं होंगे। बग फिक्स में असंगत परिवर्तन हो सकते हैं। पैच में इस तरह की असंगति हो सकती है।

गंभीर पिछले डिजाइन मुद्दे

ओटीपी के कुछ हिस्सों को बहुत पहले डिज़ाइन किया गया था और जरूरी नहीं कि आज के कंप्यूटिंग वातावरण को ध्यान में रखा जाए। कुछ मामलों में उन डिज़ाइन निर्णयों के परिणाम बहुत गंभीर होते हैं। यह प्रदर्शन के लिहाज से, स्केलेबिलिटी वाइज, आदि हो सकता है। यदि हम परिणामों को बहुत गंभीर मानते हैं, तो हम असंगत परिवर्तन ला सकते हैं। इस तरह की असंगति को एक पैच में पेश नहीं किया जाएगा, बल्कि अगले रिलीज में।

परिधीय, ट्रेस, और डिबग कार्यक्षमता को ऑपरेशन के दौरान उपयोग की जाने वाली भाषा और स्वयं की मुख्य पुस्तकालयों की कार्यक्षमता की तुलना में असंगत तरीके से बदलने का अधिक जोखिम है।

6.3 पदावनति

जब नई कार्यक्षमता शुरू की जाती है तो कार्यक्षमता को पदावनत किया जाता है जिसे पुरानी कार्यक्षमता के बजाय उपयोग किया जाना पसंद किया जाता है। जब तक आगामी हटाने को स्पष्ट रूप से पदावनति में स्पष्ट नहीं किया जाता है, तब तक अवक्षेपण कार्यशीलता को निष्कासित नहीं करता है।

पदावनत कार्यक्षमता को पदावनत के रूप में प्रलेखित किया जाएगा, और जब भी उचित हो, संकलक चेतावनी जारी की जाएगी। यही है, नई पसंदीदा कार्यक्षमता उसी समय दिखाई देगी जैसे कि डिप्रेशन जारी किया जाता है। एक नए नोट में कम से कम एक रिलीज नोट और प्रलेखन में घोषणा की जाएगी।

6.4 निकालना

विरासत समाधानों को अंततः निकालने की आवश्यकता हो सकती है। ऐसे मामलों में, उन्हें उपयोगकर्ताओं को अनुकूलित करने का समय देने के लिए एक लंबी पर्याप्त समय अवधि पर चरणबद्ध किया जाएगा। कार्यक्षमता को हटाने से पहले इसे आगामी रिलीज के बारे में एक स्पष्ट घोषणा के साथ कम से कम एक रिलीज के दौरान हटा दिया जाएगा। एक नए नोट में कम से कम एक रिलीज नोट और प्रलेखन में घोषणा की जाएगी।

परिधीय, ट्रेस, और डिबग कार्यक्षमता को भाषा में ही कार्यक्षमता और ऑपरेशन के दौरान उपयोग किए जाने वाले कोर पुस्तकालयों से हटाने का अधिक जोखिम है।