.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Podwrapper::Man 1.24.3 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "libnbd-release-notes-1.12 1" .TH libnbd-release-notes-1.12 1 2026-07-16 libnbd-1.24.3 LIBNBD .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" libnbd\-release\-notes\-1.12 \- یادداشت‌های انتشار libnbd نسخه 1.12 .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" این‌ها یادداشت‌های انتشار libnbd نسخه پایدار 1.12 هستند. این سند تغییرات عمده را از نسخه 1.10 شرح می‌دهد. .PP نسخه libnbd 1.12.0 در \fB24 فوریه 2022\fR منتشر شد. .SS "امنیت (Security)" .IX Subsection "Security" .IP CVE\-2022\-0485 4 .IX Item "CVE-2022-0485" خرابی خاموش داده‌ها هنگام استفاده از \fBnbdcopy\fR\|(1). .Sp اعلان کامل را در اینجا ببینید: https://listman.redhat.com/archives/libguestfs/2022\-February/msg00104.html .PP اگر با مشکلی امنیتی مواجه شدید، لطفاً فایل \fISECURITY\fR را در کد منبع بخوانید (به‌صورت برخط در اینجا: https://gitlab.com/nbdkit/libnbd/blob/master/SECURITY). برای آگاهی از مسائل امنیتی پیشین در libnbd، به \&\fBlibnbd\-security\fR\|(3) مراجعه کنید. .SS "رابط‌های برنامه‌نویسی جدید (New APIs)" .IX Subsection "New APIs" .IP get_pread_initialize 4 .IX Item "get_pread_initialize" .PD 0 .IP set_pread_initialize 4 .IX Item "set_pread_initialize" .PD کنترل اینکه آیا libnbd بافر pread را پاکسازی کند یا خیر، تا در صورت عدم مدیریت صحیح خطاها توسط کلاینت، از نشت محتوای حافظه جلوگیری شود. این توابع به عنوان بخشی از اصلاحیه CVE\-2022\-0485 اضافه شدند (Eric Blake). .IP get_request_block_size 4 .IX Item "get_request_block_size" .PD 0 .IP set_request_block_size 4 .IX Item "set_request_block_size" .PD کنترل اینکه آیا libnbd در طول مذاکره، محدودیت‌های اندازه بلوک را از کارساز درخواست کند یا خیر (Eric Blake). .SS "بهبودهای رابط‌های برنامه‌نویسی موجود (Enhancements to existing APIs)" .IX Subsection "Enhancements to existing APIs" پیام‌های خطای مربوط به URIهای نادرست در \fBnbd_connect_uri\fR\|(3) بهبود یافته‌اند تا اشتباهات رایج برای کاربر شفاف‌تر و واضح‌تر شوند. .SS "ابزارها (Tools)" .IX Subsection "Tools" نحو جدید: \f(CW\*(C`nbdinfo [ CMD ... ]\*(C'\fR که به شما امکان می‌دهد مشخصات یک کارساز NBD را مستقیماً جویا شوید. .PP گزینه جدید \fI\-\-queue\-size\fR در \&\fBnbdcopy\fR\|(1) برای کنترل حداکثر اندازه بافر داخلی (Nir Soffer). .PP دستور \&\fBnbdcopy\fR\|(1) اکنون دستگیره‌های مبدأ و مقصد را نام‌گذاری می‌کند تا فهم خروجی اشکال‌زدایی آسان‌تر شود. .SS "آزمون‌ها (Tests)" .IX Subsection "Tests" به‌کارگیری \fIci/gitlab.yml\fR از libvirt\-ci (Martin Kletzander). .PP رفع اشکال مثال extents در OCaml (با تشکر از Laszlo Ersek). .PP معیارهای ارزیابی کارایی (benchmarks) در Golang به مجموعه آزمون اضافه شدند (Nir Soffer). .PP آزمون بزرگ \fItests/errors.c\fR به حدود دوازده آزمون مجزا تفکیک شد. همچنین یک آزمون جدید برای بررسی سیاست خطای محدودیت اندازه بلوک در سمت کارساز اضافه شده است که پیش‌تر وجود نداشت. .SS "سایر بهبودها و رفع باگ‌ها (Other improvements and bug fixes)" .IX Subsection "Other improvements and bug fixes" تابع کمکی جدید \f(CW\*(C`NBD.with_handle\*(C'\fR در OCaml که تضمین می‌کند \f(CW\*(C`NBD.close\*(C'\fR همواره فراخوانی شود، حتی اگر کد درونی استثنایی پرتاب کند. .PP پیوندهای OCaml اکنون در همه‌جا به‌طور یکنواخت از نوع‌های داده‌ای صحیح برای اندازه‌های بافر استفاده می‌کنند (Laszlo Ersek). .PP چندین بهبود و رفع اشکال در پیوندها و آزمون‌های Golang. مجوز پیوندهای Golang مانند بقیه بخش‌های کتابخانه به LGPLv2+ تغییر یافته و اکنون به‌عنوان یک ماژول Golang در https://libguestfs.org/libnbd منتشر می‌شوند (Nir Soffer). .PP پیوندهای Python در صورت ارسال \f(CW\*(C`None\*(C'\fR به‌جای پارامتر بافر، دیگر دچار فروپاشی (crash) نمی‌شوند. علاوه بر این، برخی از نشت‌های حافظه برطرف شدند (Eric Blake). .PP هنگام استفاده از تنظیمات اختیاری strict_mode چندین نشت حافظه برطرف شدند (Eric Blake). .PP کارایی کتابخانه داخلی vector به‌طور چشمگیری بهبود یافته است و سرریز (overflow) اکنون به‌درستی مدیریت می‌شود (Nir Soffer، Laszlo Ersek و Eric Blake). .PP افزودن مثال‌های Golang برای \f(CW\*(C`simple_copy\*(C'\fR و \f(CW\*(C`aio_copy\*(C'\fR (Nir Soffer). .PP مدیریت خطا در بسیاری از برنامه‌های نمونه و مستندات بازبینی و اصلاح شد (Eric Blake، Nir Soffer). .PP ساده‌سازی و بهینه‌سازی مدیریت بازفراخوانی (callback) مربوط به extents در Golang (Nir Soffer). .PP ساختار AioBuffer در Golang ارتقا یافت، استفاده از آن ایمن‌تر و سریع‌تر شد و مستندات آن افزوده گردید (Nir Soffer). .SS "مستندات (Documentation)" .IX Subsection "Documentation" مستندسازی محدودیت‌های طول و اندازه پارامترها در رابط‌های برنامه‌نویسی مختلف (Eric Blake). .SS "ساخت (Build)" .IX Subsection "Build" اکنون می‌توانید برنامه‌هایی را که از پیوندهای OCaml کتابخانه libnbd استفاده می‌کنند، بدون نیاز به نصب بودن libnbd، در برابر دایرکتوری ساخت libnbd بسازید (Laszlo Ersek). .PP سازگاری با OCaml 4.13. .PP موقعیت خطوط در ماشین حالت هنگام ردگیری گام‌به‌گام با یک اشکال‌زدا مانند gdb باید دقیق‌تر باشد. .PP فایل \&\fI.editorconfig\fR می‌تواند برای کمک به قالب‌بندی کد استفاده شود، به https://editorconfig.org مراجعه کنید (Nir Soffer، Eric Blake). .PP ماکروهای \&\f(CW\*(C`MIN\*(C'\fR و \f(CW\*(C`MAX\*(C'\fR می‌توانند به‌صورت تو در تو به کار روند (با تشکر از Eric Blake). .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBlibnbd\fR\|(3). .SH "نویسندگان (AUTHORS)" .IX Header "AUTHORS" .IP "Eric Blake" 4 .IX Item "Eric Blake" .PD 0 .IP "Laszlo Ersek" 4 .IX Item "Laszlo Ersek" .IP "Martin Kletzander" 4 .IX Item "Martin Kletzander" .IP "Nir Soffer" 4 .IX Item "Nir Soffer" .IP "Richard W.M. Jones" 4 .IX Item "Richard W.M. Jones" .PD .SH "کپی‌رایت و تکثیر (COPYRIGHT)" .IX Header "COPYRIGHT" حق نشر Red Hat .SH "مجوز (LICENSE)" .IX Header "LICENSE" این کتابخانه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط مجوز عمومی جامع‌تر گنو (GNU Lesser General Public License) همان‌گونه که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است؛ چه نسخه ۲ مجوز یا (به انتخاب خودتان) هر نسخه پس از آن، بازتوزیع کرده یا تغییر دهید. .PP این کتابخانه با این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی جامع‌تر گنو مراجعه کنید. .PP شما باید به همراه این کتابخانه نسخه‌ای از GNU Lesser General Public License را دریافت کرده باشید؛ در غیر این صورت، به آدرس زیر بنویسید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA