چھ ماہ کی ترقی کے بعد شائع سسٹم لائبریری کی رہائی جی این یو سی لائبریری (glibc) 2.30جو ISO C11 اور POSIX.1-2008 کے تقاضوں کی مکمل تعمیل کرتا ہے۔ نئی ریلیز میں 48 ڈویلپرز کی اصلاحات شامل ہیں۔
Glibc 2.30 میں لاگو کیا گیا۔ بہتری آپ نوٹ کرسکتے ہیں:
متحرک لنکر مشترکہ اشیاء کو پہلے سے لوڈ کرنے کے لیے "--preload" اختیار کی حمایت کرتا ہے (LD_PRELOAD ماحولیاتی متغیر کی طرح)؛
شامل کیا گیا twalk_r فنکشن، پہلے سے موجود twalk فنکشن کی طرح، لیکن آپ کو دیے گئے کال بیک فنکشن میں ایک اضافی دلیل دینے کی اجازت دیتا ہے۔
لینکس کے لیے، نئے getdents64، gettid اور tgkill فنکشنز شامل کیے گئے ہیں۔
میموری مینجمنٹ فنکشنز malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign, اور posix_memalign ایک ایرر کوڈ کے ساتھ ختم ہو جاتی ہے جب کل آبجیکٹ کا سائز PTRDIFF_MAX قدر سے زیادہ ہو جاتا ہے۔ یہ تبدیلی غیر متعینہ رویے سے گریز کرتی ہے جب پوائنٹر کی ہیرا پھیری کے نتیجے میں ptrdiff_t قسم کا زیادہ بہاؤ ہوتا ہے۔
POSIX مجوزہ فنکشنز pthread_cond_clockwait، pthread_mutex_clocklock شامل کیے گئے،
pthread_rwlock_clockrdlock، pthread_rwlock_clockwrlock، اور sem_clockwait، "ٹائمڈ" مساوی کی طرح، لیکن اس کے علاوہ ٹائمر کو منتخب کرنے کے لیے clockid_t پیرامیٹر لینا؛
یونیکوڈ 12.1.0 تفصیلات کو سپورٹ کرنے کے لیے انکوڈنگ ڈیٹا، کریکٹر کی قسم کی معلومات، اور ٹرانسلیٹریشن ٹیبلز کو اپ ڈیٹ کر دیا گیا ہے۔
clock_gettime، clock_getres، clock_settime، clock_getcpuclockid، اور clock_nanosleep فنکشنز مزید نئی ایپلیکیشنز کے لیے librt لائبریری میں فراہم نہیں کیے جاتے ہیں، اور libc کی تعریفیں خود بخود اس کی بجائے استعمال ہوتی ہیں۔
/etc/resolv.conf نے "inet6" آپشن کو فرسودہ کر دیا ہے۔ resolv.h سے متروک RES_USE_INET6، RES_INSECURE1 اور RES_INSECURE2 جھنڈوں کو ہٹا دیا گیا؛
"--enable-bind-now" اختیار کی وضاحت کرتے وقت، انسٹال شدہ پروگرام اب BIND_NOW پرچم کا استعمال کرتے ہوئے پابند ہیں؛
لینکس کے لیے مخصوص sys/sysctl.h ہیڈر فائل اور sysctl فنکشن کو فرسودہ کر دیا گیا ہے، اور ایپلیکیشنز کو اس کی بجائے /proc pseudo-FS استعمال کرنا چاہیے؛
Glibc کو اب GCC 6.2 یا جدید تر بنانے کی ضرورت ہے (کسی بھی کمپائلر کو ایپلی کیشنز بنانے کے لیے استعمال کیا جا سکتا ہے)؛
کمزوری طے کی گئی۔ CVE-2019-7309 کے لئے memcmp فنکشن کے نفاذ میں فرسودہ x32 سب آرکیٹیکچر (x86 IA-32 کے ساتھ الجھن میں نہ پڑیں)، جس کے نتیجے میں فنکشن غلط طریقے سے غیر مماثل تاروں کے لیے قدر 0 واپس کر سکتا ہے۔
کمزوری طے کی گئی۔ CVE-2019-9169، جو کچھ ریگولر ایکسپریشنز پر کارروائی کرتے وقت حد سے باہر کے بفر سے ڈیٹا کو پڑھنے کا سبب بن سکتا ہے۔