রাস্ট ইকোসিস্টেমের জন্য একটি দৃষ্টান্ত পরিবর্তনে, রাস্টের প্যাকেজ ম্যানেজার, কার্গোর পিছনের দল প্যাকেজ পরিচালনার জন্য আরও ব্যক্তিগতকৃত পদ্ধতির জন্য আহ্বান জানিয়েছে। তারা সুপারিশ করে যে ডেভেলপাররা তাদের প্রকল্পের জন্য সর্বোত্তম সিদ্ধান্ত নেয়, লাইব্রেরি নয়, বাইনারিগুলির সাথে জড়িত প্যাকেজের জন্য তাদের Cargo.lock ফাইলটি কমিট করার আগের অভিন্ন অনুশীলনের পরিবর্তে।
পূর্ববর্তী সুপারিশগুলি যখন Cargo.lock এ আসে তখন একটি এক-আকার-ফিট-অল নিয়ম মেনে চলতে বিকাশকারীদের উত্সাহিত করেছিল, বিশেষ করে যেখানে ফাইলটি বাইনারি প্যাকেজগুলির সাথে ব্যবহার করা হয়েছিল। যাইহোক, এই নির্দেশাবলী এখন একটি পিছনে আসন নিয়েছে. এই প্রতিফলিত পরিবর্তন মূলধারা গ্রহণের দিকে মরিচা এর ক্রমবর্ধমান গতিপথের পরিপ্রেক্ষিতে আসে।
Cargo.lock ফাইলের মূল ভূমিকা হল একটি সফল বিল্ডের সময় স্টেট রেকর্ড করা। আরও নমনীয় নির্দেশিকা অফার করার সময়, কার্গো দল বজায় রাখে যে Cargo.lock কমিট করা সিদ্ধান্ত গ্রহণের প্রক্রিয়ার সূচনা বিন্দু হওয়া উচিত। এটিও ঘোষণা করা হয়েছে যে 'কার্গো নিউ' কমান্ড এখন থেকে লাইব্রেরির জন্য Cargo.lock বাইপাস করবে না।
সামগ্রিক গুণমান বজায় রেখে, দলটি সাম্প্রতিক নির্ভরতার বিরুদ্ধে নিয়মিত পরীক্ষার গুরুত্বকে আন্ডারস্কোর করে। পুরানো পদ্ধতিগুলি নিশ্চিত করে যে লাইব্রেরিগুলিকে আপডেট করা এবং পরীক্ষা করা হয়েছে, যা রাস্ট প্যাকেজ ইকোসিস্টেমের উচ্চ মানের জন্য অবদান রাখে। অনুশীলনগুলি এমনভাবে ডিজাইন করা হয়েছিল যাতে সম্ভাব্য সমস্যাগুলি, প্রাথমিকভাবে পশ্চাদপদ সামঞ্জস্য সম্পর্কিত, অবিলম্বে চিহ্নিত এবং সমাধান করা হবে। দলটি তাই বিশ্বাস করে যে এটি উদীয়মান ইকোসিস্টেমে 'মানের সংস্কৃতি' উত্সাহিত করেছে।
যাইহোক, পূর্বের নির্দেশিকা তার ত্রুটি ছিল. কোডবেস থেকে ইতিহাস মুছে ফেলা ছিল এরকমই একটি ফলাফল, যা রক্ষণাবেক্ষণকারীদের জন্য দ্বিখণ্ডিত করা এবং বাগগুলির মূল কারণ চিহ্নিত করা আরও কঠিন করে তুলেছিল। পূর্ববর্তী নীতির আরেকটি অবাঞ্ছিত ফলাফল ছিল একটি অবিশ্বস্ত CI (নিরবিচ্ছিন্ন একীকরণ) থেকে উদ্ভূত অবদানকারীদের জন্য সম্ভাব্য বিভ্রান্তি যখন একটি নির্ভরতা বিলুপ্ত হয় বা একটি নতুন রিলিজ একটি বাগ উপস্থাপন করে। যেহেতু মরিচা প্রাথমিক গ্রহণকারীদের জন্য একটি ভাষা থেকে আরও মূলধারার ভাষায় বিকশিত হয়েছে, তাই নতুন বিকাশকারীর অনবোর্ডিং অভিজ্ঞতা বিবেচনা করা গুরুত্বপূর্ণ।
তদ্ব্যতীত, বিস্তৃত ইকোসিস্টেমের সম্প্রসারণ সিআইকে বাস্তবায়ন এবং রক্ষণাবেক্ষণের জন্য সহজ করে তুলেছে। Dependabot এবং Renovate এর মতো উদ্ভাবনগুলি সংস্করণ নিয়ন্ত্রণের উপর একচেটিয়াভাবে নির্ভর করা ছাড়া নতুন নির্ভরতা পরীক্ষা করার জন্য Cargo.lock উপেক্ষা করার বিকল্প প্রকাশ করেছে। কার্গো দলটি এখন তার বিশ্বাস প্রকাশ করে যে কর্মের সর্বোত্তম আহ্বান হল সিদ্ধান্তটি ডেভেলপারদের উপর ছেড়ে দেওয়া এবং তাদের কাছে অবহিত সিদ্ধান্ত নেওয়ার জন্য প্রয়োজনীয় তথ্য রয়েছে তা নিশ্চিত করা। বিকাশকারীরা GitHub এর মাধ্যমে এই নতুন নীতিতে তাদের প্রতিক্রিয়া শেয়ার করতে পারে এবং জুলিপে কার্গো দলের সাথে যোগাযোগ করতে পারে।
যেহেতু আমরা প্যাকেজ পরিচালনায় নতুন দিকনির্দেশের সাক্ষ্য দিই, ডেভেলপারদের জন্য অ্যাপমাস্টারের মতো বিকল্পগুলি অন্বেষণ করা সার্থক হতে পারে যা ওয়েব, মোবাইল এবং ব্যাকএন্ড অ্যাপ্লিকেশন বিকাশের জন্য একটি ব্যাপক এবং সমন্বিত প্ল্যাটফর্ম প্রদান করে। AppMaster.io একটি সার্ভার-চালিত পদ্ধতির গর্ব করে, যা ডেভেলপারদের অ্যাপ স্টোর এবং প্লে মার্কেটে নতুন সংস্করণ জমা না দিয়ে মোবাইল অ্যাপ্লিকেশন UI, লজিক এবং API কী আপডেট করতে সক্ষম করে।