.\" -*- 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.20 1" .TH libnbd-release-notes-1.20 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.20 \- یادداشت‌های انتشار نسخه ۱.۲۰ کتابخانه Network Block Device (libnbd) .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" این‌ها یادداشت‌های انتشار برای نسخه پایدار ۱.۲۰ از libnbd هستند. این سند تغییرات عمده نسبت به نسخه ۱.۱۸ را شرح می‌دهد. .PP نسخه libnbd 1.20.0 در \fB۵ آوریل ۲۰۲۴\fR منتشر شد. .SS "امنیت (Security)" .IX Subsection "Security" طی آزمون فازینگ (Fuzzing)، یک ارزیابی منطقی (assertion) یافت شد و توسط Eric Blake برطرف گردید که ممکن بود با اتصال به یک سرور مخرب ایجاد شود. این مورد با شناسه CVE\-2023\-5871 (شدت کم) ثبت شد. اعلان مربوطه را اینجا ببینید: https://lists.libguestfs.org/archives/list/guestfs@lists.libguestfs.org/thread/5CRC7LRTN35WPZZ4BT6NAMH4JGMF47IK .PP اگر با یک مشکل امنیتی مواجه شدید، لطفاً بخش \fISECURITY\fR را در کدهای منبع مطالعه کنید (به‌صورت برخط در اینجا: https://gitlab.com/nbdkit/libnbd/blob/master/SECURITY). برای اطلاع از مشکلات امنیتی پیشین در libnbd، \&\fBlibnbd\-security\fR\|(3) را ببینید. .SS "بهبودهای رابط‌های برنامه‌نویسی موجود (Enhancements to existing APIs)" .IX Subsection "Enhancements to existing APIs" تابع \&\fBnbd_connect_uri\fR\|(3) اکنون به‌درستی از URIهای غیرحساس به حروف بزرگ و کوچک پشتیبانی می‌کند. .SS "پروتکل (Protocol)" .IX Subsection "Protocol" بهبود تعامل‌پذیری با \fBnbd\-server\fR\|(1) که از پاسخ‌های ساختاریافته پشتیبانی می‌کند اما از بافتار متادیتا (meta context) پشتیبانی نمی‌کند (Eric Blake). .SS "ابزارها (Tools)" .IX Subsection "Tools" ابزار \&\fBnbdinfo\fR\|(1) پشتیبانی از گزینه‌های \fI\-\-isnt\fR، \fI\-\-cannot\fR و \fI\-\-hasnt\fR را اضافه کرده است که به شما امکان می‌دهد بررسی کنید آیا قابلیت‌های یک سرور NBD پشتیبانی \fIنمی‌شوند\fR یا خیر. .PP ابزار \&\fBnbdinfo\fR\|(1) پشتیبانی از گزینه \fI\-\-uri\fR را اضافه کرده است که فقط URI استاندارد (canonical) سرور را چاپ می‌کند. .PP ابزار \&\fBnbdinfo\fR\|(1) اکنون محدودیت‌های اندازه بلوک را در اندازه‌های خوانا برای انسان نمایش می‌دهد (Eric Blake). .SS "نگاشت‌های زبان‌های برنامه‌نویسی (Language bindings)" .IX Subsection "Language bindings" صفحه راهنمای جدید \fBlibnbd\-rust\fR\|(3) اضافه شد که یک نمای کلی برای نوشتن برنامه‌های Rust با استفاده از libnbd ارائه می‌دهد. .PP مستندات Rust با استفاده از یک مبدل سفارشی از فرمت مستندات خودمان (Perl POD) به rustdoc بهبود یافته است. .PP برخی از هشدارهای کامپایلر Rust برطرف شدند (Eric Blake). .PP نگاشت‌های OCaml اکنون از صفر\-کپی (zero\-copy) در توابع AIO pread و pwrite پشتیبانی می‌کنند. این تغییر با کدهای موجود سازگار با گذشته (backwards compatible) است. (با تشکر از Nicolas Ojeda Bar، Anil Madhavapeddy و Simon Cruanes). .PP نگاشت‌های OCaml اکنون از \f(CW\*(C`Gc.finalize\*(C'\fR (نهایی‌سازها در سطح OCaml به‌جای سطح C) استفاده می‌کنند که سازگاری را در OCaml 5.1.1 و بالاتر بهبود می‌بخشد (Guillaume Munch\-Maccagnoni). .PP نسخه OCaml ≥ 4.05 به‌طور رسمی الزامی است و در \fI./configure\fR بررسی می‌شود. پیش از این حداقل نسخه‌ای برای OCaml مشخص نکرده بودیم، اما در عمل نسخه‌های قدیمی‌تر از 4.05 احتمالاً کار نمی‌کردند. .SS "آزمون‌ها (Tests)" .IX Subsection "Tests" رویکرد فازینگ برای استفاده از دستورات ناهمگام تغییر یافت. این کار سرعت فازینگ را به‌طور چشمگیری بهبود می‌بخشد و باید مشکلات بیشتری را بیابد. .PP اصلاحات متعدد در یکپارچه‌سازی مداوم (CI) (Eric Blake). .PP احترام به انتخاب کاربر برای باینری‌های qemu\-nbd، nbdkit و باینری‌های دیگر از (برای مثال) \f(CW\*(C`./configure\ NBDKIT=/some/nbdkit\*(C'\fR. پیش از این معمولاً در برابر باینری‌های موجود در مسیر (PATH) تست انجام می‌شد، حتی اگر کاربر باینری‌های دیگری را برای استفاده مشخص کرده بود. .SS "سایر بهبودها و رفع اشکال‌ها (Other improvements and bug fixes)" .IX Subsection "Other improvements and bug fixes" ابزار \&\fBnbdinfo\fR\|(1) اکنون در موارد خطا به‌صورت تمیز اتصال را از سرور قطع می‌کند و خروجی را بهبود می‌بخشد (Eric Blake). .PP ساختار \&\f(CW\*(C`struct nbd_handle\*(C'\fR اکنون شامل یک مقدار جادویی (magic value) است که در هنگام ورود به libnbd بررسی می‌شود و باید خطاهایی را که در آن‌ها برنامه‌های فراخواننده libnbd یک اشاره‌گر نادرست ارسال می‌کنند، شناسایی کند. .SS "مستندات (Documentation)" .IX Subsection "Documentation" یک مثال برای نحوه استفاده از userfaultfd جهت نگاشت حافظه (mmap) یک درایو مبتنی بر NBD اضافه شد. به \fIexamples/userfault\-map.c\fR در کدهای منبع libnbd مراجعه کنید. .PP مستندات حالت‌های قابل قبول handle در صفحات راهنما بهبود یافته است. .SS "ساخت (Build)" .IX Subsection "Build" فایل \&\fIcontrib/libnbd.m4\fR یک تست configure ارائه‌شده برای libnbd است (Bruno Haible). .PP دستور \&\f(CW\*(C`./configure \-\-with\-bash\-completions\*(C'\fR اکنون در صورتی که بسته مورد نیاز bash\-completions نصب نشده باشد، با شکست مواجه می‌شود. .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 "Richard W.M. Jones" 4 .IX Item "Richard W.M. Jones" .IP "Thomas Weißschuh" 4 .IX Item "Thomas Weißschuh" .PD .SH "حق نشر (COPYRIGHT)" .IX Header "COPYRIGHT" Copyright Red Hat .SH "مجوز (LICENSE)" .IX Header "LICENSE" این کتابخانه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط «مجوز عمومی جامع‌تر گنو» (GNU Lesser General Public License) همان‌طور که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است، چه نسخه ۲ مجوز و چه (به انتخاب خودتان) هر نسخه بالاتر دیگری، بازتوزیع کرده یا تغییر دهید. .PP این کتابخانه به این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر «مجوز عمومی جامع‌تر گنو» را ببینید. .PP شما باید به همراه این کتابخانه یک نسخه از «مجوز عمومی جامع‌تر گنو» را دریافت کرده باشید؛ در غیر این صورت، به آدرس زیر مکاتبه کنید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA