यह पूरी तरह से इस बात पर निर्भर करता है कि आपने अपने उपयोगकर्ताओं को किस तरह की स्थिरता की गारंटी दी है, और आप अपने उपयोगकर्ताओं के लिए कितना दर्द चाहते हैं।
आदर्श रूप से, आपका API सेवर का उपयोग करता है ताकि किसी भी ब्रेकिंग परिवर्तन के कारण प्रमुख संस्करण संख्या में वृद्धि हो। व्यवहार में, यह लगभग कभी नहीं करना वांछनीय है। यदि आपका एपीआई कुछ पैकेज प्रबंधक के माध्यम से स्थापित किया गया है, तो आप एक ब्रेकिंग परिवर्तन के बाद एक नया पैकेज नाम बनाना चाह सकते हैं ताकि एक साधारण अपग्रेड संघर्ष (जैसे myapi2 v2.123.4
बनाम myapi3 v3.2.1
) का कारण न हो । यह अनावश्यक हो सकता है यदि आपका पैकेज प्रबंधक तंग संस्करण निर्भरता का समर्थन करता है (जैसे ~v2.120
कि एक निर्भरता विनिर्देश शामिल नहीं है v3.*
), लेकिन विभिन्न पैकेज नामों में यह लाभ है कि असंगत संस्करणों का उपयोग बहुत आसानी से किया जा सकता है। सेमेस्टर का उपयोग करते समय भी, एक अवक्षेपण अवधि होने के लिए समझदार हो सकता है।
सेवर हमेशा लागू नहीं होता है। फिर एक स्पष्ट स्थिरता नीति का संचार करना अधिक महत्वपूर्ण है। उदाहरण के लिए:
- बिना सूचना के प्रायोगिक सुविधाओं को हटाया जा सकता है।
- किसी भी समय सुरक्षा कारणों से सुविधाओं को हटाया जा सकता है।
- अन्य सुविधाओं को केवल हटाया जाएगा
- … एक जारी संस्करण में पदावनत होने के बाद
- ... जहां वह संस्करण कम से कम तीन महीने पुराना है
- ... और प्रमुख संस्करण में एक टक्कर द्वारा चिह्नित किया जाएगा।
ऐसी नीतियां विशेष रूप से अच्छी तरह से काम करती हैं जब आपके पास नियमित रिलीज होती है ताकि एक वर्ष के लिए एक स्पष्ट पदावनति अवधि हो।
अपग्रेड के रूप में एपीआई के किसी भी हिस्से को चिह्नित करने के अलावा, आपको अपग्रेड को व्यापक रूप से ज्ञात करना चाहिए। उदाहरण के लिए:
- भविष्य के निर्देशों और पदावनतियों के बारे में अपने चैंज में एक सेक्शन रखें।
- इससे पहले कि आप पदावनत करें, और पर्याप्त आपत्तियाँ हैं या नहीं, यह देखने के लिए समुदाय को सुनें।
- संवाद करें कि इन परिवर्तनों से क्या लाभ होंगे। आपके उपयोगकर्ता आधार के आधार पर, समाचार पत्र, प्रस्तुतियाँ, ब्लॉग पोस्ट या प्रेस विज्ञप्ति उपयुक्त मीडिया हो सकते हैं। एक स्पिन होने के बाद “हम एक भयानक नई सुविधा पैदा कर रहे हैं! (जिसके लिए इसे व्यापक रूप से इस्तेमाल की जाने वाली पुरानी सुविधा को हटाने की आवश्यकता होती है) ”बिना संदर्भ के फीचर को हटाने की तुलना में थोड़ा कम निराशाजनक है।
चुनने के लिए सटीक पदावनत अवधि के लिए, पहले देखें कि आपको अपने उपयोगकर्ताओं के साथ किसी भी समर्थन अनुबंध का सम्मान करना है या नहीं। इस तरह के अनुबंधों से आपको कुछ समय के लिए अनुकूलता बनाए रखने की आवश्यकता हो सकती है। यदि नहीं, तो किसी भी डाउनस्ट्रीम प्रभाव पर विचार करें। डाउनस्ट्रीम उपयोगकर्ताओं की तुलना में कम तेज़ी से बदलने की कोशिश करें ताकि वे अपने स्वयं के अपचयन चक्र से गुजर सकें। डाउनस्ट्रीम उपयोगकर्ताओं को आपके परिवर्तनों के अनुकूल होने में कुछ समय लगेगा, इसलिए आपको कभी भी एक महीने से कम की अवधि नहीं होनी चाहिए।