nvchecker(1) General Commands Manual nvchecker(1)

nvchecker - بررسی‌کننده انتشار نسخه جدید نرم‌افزارها

ابزار nvchecker (کوتاه‌شده‌ی new version checker) برای بررسی اینکه آیا نسخه جدیدی از یک نرم‌افزار منتشر شده است یا خیر به کار می‌رود.

این شاخه مربوط به نسخه 2.0 است. برای نسخه قدیمی 1.x، لطفاً به شاخه v1.x بروید.
https://github.com/lilydjwg/nvchecker/actions?query=workflow%3A%22run+tests%22 https://badge.fury.io/py/nvchecker

  • Python 3.9+
  • کتابخانه‌های پایتون: structlog، platformdirs، tomli (روی پایتون < 3.11)
  • یکی از این ترکیب‌های کتابخانه‌های پایتون (به ترتیب اولویت):
  • tornado + pycurl
  • aiohttp
  • httpx با پشتیبانی از http2 (آزمایشی؛ تنها آخرین نسخه پشتیبانی می‌شود)
  • tornado
•
تمام دستورهای استفاده‌شده در فایل‌های پیکربندی نسخه نرم‌افزار شما

برای نصب:

pip3 install nvchecker

برای استفاده از آخرین کد، می‌توانید این مخزن را نیز کلون کرده و اجرا کنید:

python3 setup.py install

برای مشاهده گزینه‌های موجود:

nvchecker --help

اجرا با یک یا چند فایل نسخه نرم‌افزار:

nvchecker -c config_file.toml

یک فایل پیکربندی ساده می‌تواند به این صورت باشد:

[nvchecker]
source = "github"
github = "lilydjwg/nvchecker"
[python-toml]
source = "pypi"
pypi = "toml"

معمولاً مایل خواهید بود تعدادی "version record files" مشخص کنید؛ به ادامه مراجعه نمایید..SS گزارش‌گیری JSON (JSON logging)

با استفاده از --logger=json یا --logger=both، می‌توانید به یک گزارش ساختاریافته برای پردازش یا استفادهٔ برنامه‌نویسی‌شده دسترسی پیدا کنید. می‌توانید از --json-log-fd=FD برای مشخص کردن توصیف‌گر فایل (file descriptor) جهت ارسال گزارش‌ها استفاده نمایید (دقت کنید که بافرینگ خطی انجام شود). گزینهٔ سطح گزارش‌گیری (-l یا --logging) روی این مورد تأثیری ندارد.

گزارش JSON به‌صورت یک رشتهٔ JSON در هر سطر است. رویدادها و فیلدهای مستندشدهٔ زیر پایدار هستند؛ موارد مستندنشده ممکن است بدون اطلاع قبلی تغییر کنند.

یک به‌روزرسانی شناسایی شده است. فیلدهای name، revision، old_version و version در دسترس هستند. old_version ممکن است null باشد و revision ممکن است وجود نداشته باشد.
هیچ به‌روزرسانی‌ای وجود ندارد. فیلدهای name و version در دسترس هستند.
هیچ نگارشی شناسایی نشد. ممکن است خطایی رخ داده باشد. فیلد name در دسترس است.
خطایی رخ داده است. فیلدهای name و exc_info برای ارائهٔ اطلاعات بیشتر ممکن است در دسترس باشند.

چندین تغییر ناسازگار با گذشته نسبت به نگارش قبلی 1.x وجود دارد.

1.
نگارش 2.x برای اجرا به Python 3.7 یا بالاتر نیاز دارد.
2.
نحو دستور کمی تغییر کرده است. لازم است از سوییچ -c برای مشخص کردن فایل پیکربندی نگارش نرم‌افزار خود استفاده کنید (یا از مقدار پیش‌فرض استفاده نمایید).
3.
قالب فایل پیکربندی از ini به toml https://toml.io تغییر یافته است. می‌توانید از اسکریپت nvchecker-ini2toml برای تبدیل فایل‌های پیکربندی قدیمی خود استفاده کنید. با این حال، یادداشت‌ها (کامنت‌ها) و قالب‌بندی از دست خواهند رفت و ممکن است برخی گزینه‌ها به‌درستی تبدیل نشوند.
4.
چندین گزینه تغییر نام یافته‌اند: max_concurrent به max_concurrency، و در نام تمام گزینه‌ها کاراکتر - با _ جایگزین شده است.
5.
تمام جدول‌های پیکربندی نرم‌افزار، به جای اینکه منبع بر اساس نام گزینه‌های مورد استفاده تشخیص داده شود، به یک گزینهٔ source برای تعیین منبع مورد استفاده نیاز دارند. این امر امکان شناسایی پلاگین‌های منبع اضافی را فراهم می‌کند.
6.
فایل‌های رکورد نگارش به استفاده از قالب JSON تغییر یافته‌اند (قالب قدیمی هنگام نوشتن تبدیل خواهد شد).
7.
منبع vcs حذف شده است. (در حال حاضر درون lilac https://github.com/archlinuxcn/lilac در دسترس است.) یک منبع git ارائه شده است.
8.
گزینه‌های include_tags_pattern و ignored_tags حذف شده‌اند. به جای آن‌ها از List Options استفاده کنید.

فایل‌های رکورد نگارش مشخص می‌کنند که چه نگارشی از نرم‌افزار برای شما شناخته‌شده یا در دسترس است. آن‌ها یک شیء سادهٔ JSON هستند که نام نرم‌افزارها را به نگارش‌های شناخته‌شده نگاشت می‌کنند.

این دستور به مدیریت فایل‌های رکورد نگارش کمک می‌کند. این دستور فایل‌های رکورد نگارش قدیمی و جدید، و فهرستی از نام‌های ارائه‌شده در خط فرمان را می‌خواند. سپس نگارش‌های مربوط به آن نام‌ها را در فایل رکورد نگارش قدیمی به‌روزرسانی می‌کند.

این ابزار زمانی کاربرد دارد که برخی از نرم‌افزارهای به‌روزرسانی‌شده (نه همهٔ آن‌ها) را شناخته و پردازش کرده‌اید. به جای ویرایش دستی فایل، می‌توانید این موضوع را از طریق این دستور به nvchecker اعلام کنید.

اگر مکان فایل‌های رکورد نگارش را در فایل پیکربندی خود مشخص کنید، این دستور بیشترین کاربرد را خواهد داشت. برای نحوهٔ استفاده از فایل پیکربندی، بخش‌های بعدی را ببینید.

این دستور فایل newver را با فایل oldver مقایسه می‌کند و تفاوت‌ها را به‌عنوان به‌روزرسانی چاپ می‌کند، برای نمونه:

$ nvcmp -c sample_source.toml
Sparkle Test App None -> 2.0
test 0.0 -> 0.1

فایل‌های منبع نگارش نرم‌افزار در قالب toml https://toml.io هستند. نام کلید (key name) همان نام نرم‌افزار است. فیلدهای زیر برای مشخص کردن چگونگی تعیین نگارش کنونی نرم‌افزار توسط nvchecker به کار می‌روند.

برای مشاهدهٔ یک نمونه، sample_source.toml https://github.com/lilydjwg/nvchecker/blob/master/sample_config.toml را ببینید.

یک جدول ویژه به نام __config__ برخی گزینه‌های پیکربندی را ارائه می‌دهد.

مسیرهای نسبی نسبت به فایل‌های منبع سنجیده می‌شوند، و ~ و متغیرهای محیطی بسط داده می‌شوند.

گزینه‌های پشتیبانی‌شده در حال حاضر عبارتند از:

مشخص کردن فایل رکورد نگارش حاوی اطلاعات نگارش قدیمی.
مشخص کردن فایل رکورد نگارش جهت ذخیرهٔ اطلاعات نگارش جدید.
پروکسی HTTP مورد استفاده. قالب آن به‌صورت proto://host:port است، مانند http://localhost:8087. پس‌آیندهای مختلف سطوح متفاوتی از پشتیبانی را برای این مورد دارند؛ برای نمونه با pycurl می‌توانید از پروکسی‌های socks5h://host:port استفاده کنید.
بیشینهٔ تعداد کارهای هم‌روند. پیش‌فرض: 20.
مدت‌زمان به ثانیه برای انتظار در درخواست‌های HTTP. پیش‌فرض: 20.
مشخص کردن یک فایل پیکربندی toml حاوی اطلاعات کلید (توکن). این فایل باید شامل یک جدول keys باشد که نام کلیدها را به مقادیر کلید نگاشت می‌کند. برای اطلاع از نام کلید(های) مورد استفاده، به منبع مربوطه مراجعه کنید.

نمونهٔ keyfile.toml:

[keys]
# https://github.com/settings/tokens
# scope: repo -> public_repo
github = "ghp_<stripped>"

گزینه‌های زیر برای تمام منابع بررسی اعمال می‌شوند. می‌توانید از آن‌ها در هر مدخلی در فایل پیکربندی خود استفاده کنید.

اگر رشته نسخه با این پیشوند آغاز شود، پیشوند حذف می‌شود. در غیر این صورت، رشته نسخه همان‌گونه که هست برگردانده می‌شود.

اگر هم prefix و هم from_pattern/to_pattern استفاده شوند، ابتدا prefix اعمال می‌شود.

هر دو عبارت‌های باقاعده سازگار با Python هستند. اگر from_pattern در رشته نسخه یافت شود، با to_pattern جایگزین خواهد شد.

اگر from_pattern یافت نشود، رشته نسخه بدون تغییر باقی می‌ماند و هیچ خطایی صادر نمی‌شود.

در صورتی که یک ماژول بررسی نسخه چیزی پیدا نکند، هشدارها و خطاها را نادیده می‌گیرد. همه منابع از این گزینه پشتیبانی نمی‌کنند.
پروکسی HTTP مورد استفاده. قالب آن به صورت proto://host:port است، مانند http://localhost:8087. پشتیبان‌های مختلف سطوح متفاوتی از پشتیبانی را برای این مورد دارند، برای مثال با pycurl می‌توانید از پروکسی‌های socks5h://host:port استفاده کنید.

برای نادیده گرفتن تنظیمات سراسری، مقدار آن را برابر با "" (رشته خالی) قرار دهید.

این گزینه تنها زمانی کار می‌کند که پیاده‌سازی منبع از کلاینت HTTP داخلی استفاده کند، و با منبع aur کار نمی‌کند زیرا به صورت دسته‌ای پردازش می‌شود (با این حال، پیکربندی سراسری پروکسی همچنان اعمال می‌گردد).

رشته user agent مورد استفاده برای درخواست‌های HTTP.
تعداد دفعات تلاش در هنگام وقوع خطای شبکه. پیش‌فرض 1 است.

این گزینه تنها زمانی کار می‌کند که پیاده‌سازی منبع از کلاینت HTTP داخلی استفاده کند.

یک توکن احراز هویت شخصی که برای دریافت نشانی وب با هدر Authorization استفاده می‌شود. نوع توکن به احراز هویت مورد نیاز بستگی دارد.
  • برای توکن Bearer تنظیم کنید: Bearer <Your_bearer_token>
  • برای توکن Basic تنظیم کنید: Basic <Your_base64_encoded_token>

در keyfile توکن httptoken_{name} را اضافه کنید.

تعیین بررسی یا عدم بررسی گواهی HTTPS. پیش‌فرض true است.

گزینه‌های زیر برای منابعی که یک فهرست برمی‌گردانند اعمال می‌شوند. برای بررسی پشتیبانی از آن‌ها، به جدول منابع مربوطه مراجعه کنید.

تنها رشته‌های نسخه‌ای را در نظر می‌گیرد که با عبارت باقاعده داده‌شده مطابقت داشته باشند. کل رشته باید با regex مطابقت داشته باشد. حتماً در صورت نیاز از .* استفاده کنید!
رشته‌های نسخه‌ای که با عبارت باقاعده داده‌شده مطابقت دارند را در نظر نمی‌گیرد. کل رشته باید با regex مطابقت داشته باشد. حتماً در صورت نیاز از .* استفاده کنید! اولویت این گزینه از include_regex بالاتر است؛ بدین معنا که اگر با این الگو مطابقت داشته باشد، حتی در صورت مطابقت با include_regex نیز مستثنی خواهد شد.
مرتب‌سازی رشته نسخه با استفاده از این تابع کلید. از بین parse_version، vercmp، awesomeversion و portage انتخاب کنید. مقدار پیش‌فرض parse_version است. parse_version از یک نسخه قدیمی pkg_resources.parse_version استفاده می‌کند. vercmp از pyalpm.vercmp استفاده می‌کند. awesomeversion از awesomeversion https://github.com/ludeeus/awesomeversion استفاده می‌کند. portage از portage.versions.vercmp استفاده می‌کند.
رشته‌های نسخه‌ای که صریحاً نادیده گرفته می‌شوند و با فاصله از هم جدا شده‌اند. این گزینه می‌تواند برای جلوگیری از نسخه‌های نادرست شناخته‌شده مفید باشد، تا نسخه‌های جدیدتر توسط نسخه‌های قدیمی معیوب "بازنویسی" نشوند.
source = "regex"

جستجو در یک صفحه وب مشخص برای یافتن رشته نسخه. این نوع یافتن نسخه دارای فیلدهای زیر است:

نشانی URL صفحه وب برای واکشی.
(اختیاری) کدگذاری نویسه‌های صفحه وب، در صورتی که latin1 مناسب نباشد.
یک عبارت باقاعده برای یافتن رشته نسخه.

می‌تواند دارای صفر یا یک گروه تطبیق (capture group) باشد. گروه تطبیق یا کل تطابق، رشته نسخه در نظر گرفته می‌شود.

هنگامی که چندین رشته نسخه پیدا شود، بزرگ‌ترین مقدار از میان آن‌ها انتخاب می‌گردد.

(اختیاری) در صورت وجود، به جای درخواست GET از یک درخواست POST استفاده خواهد شد. این مقدار باید رشته‌ای شامل بدنه کامل درخواست باشد. کدگذاری رشته را می‌توان با استفاده از گزینه post_data_type مشخص کرد.
(اختیاری) مقدار Content-Type بدنه درخواست (post_data) را مشخص می‌کند. به‌طور پیش‌فرض، این مقدار application/x-www-form-urlencoded است.

این منبع از List Options پشتیبانی می‌کند.

source = "httpheader"

ارسال یک درخواست HTTP و جستجو در یک سرآیند مشخص.

نشانی URL درخواست HTTP.
(اختیاری) سرآیندی که باید بررسی شود. مقدار پیش‌فرض Location است. سرآیند مفید دیگر Content-Disposition می‌باشد.
یک عبارت باقاعده برای یافتن رشته نسخه.

می‌تواند دارای صفر یا یک گروه تطبیق باشد. گروه تطبیق یا کل تطابق، رشته نسخه خواهد بود.

هنگامی که چندین رشته نسخه پیدا شود، بزرگ‌ترین مقدار از میان آن‌ها انتخاب می‌گردد.

(اختیاری) متد HTTP مورد استفاده. پیش‌فرض HEAD است.
(اختیاری) تعیین اینکه آیا ریدایرکت‌های 3xx در HTTP دنبال شوند یا خیر. پیش‌فرض false است. اگر در حال بررسی سرآیند Location هستید، نباید این مقدار را تغییر دهید.

source = "htmlparser"

ارسال یک درخواست HTTP و جستجو در بدنه با استفاده از یک xpath مشخص.

نشانی URL درخواست HTTP.
یک عبارت xpath برای یافتن رشته نسخه.
برای استفاده از یک تجزیه‌کننده XML به جای HTML، روی true تنظیم شود.
(اختیاری) در صورت وجود، به جای GET از یک درخواست POST استفاده خواهد شد. این مقدار باید رشته‌ای شامل بدنه کامل درخواست باشد. کدگذاری رشته را می‌توان با استفاده از گزینه post_data_type مشخص کرد.
(اختیاری) مقدار Content-Type بدنه درخواست (post_data) را مشخص می‌کند. به‌طور پیش‌فرض، این مقدار application/x-www-form-urlencoded است.

این منبع می‌تواند یک فید RSS را بدین صورت تجزیه کند:

[ProxmoxVE]
source = "htmlparser"
url = "https://my.proxmox.com/en/announcements/tag/proxmox-ve/rss"
xpath = "//item/title"
is_xml = true
from_pattern = 'Proxmox VE ([\d.]+) released!'
to_pattern = '\1'

نکته:

وابستگی اضافی "lxml" مورد نیاز است. می‌توانید از pip install 'nvchecker[htmlparser]' استفاده کنید.
source = "jq"

یک درخواست HTTP ارسال کرده و بدنهٔ آن را با یک فیلتر مشخص jq جستجو می‌کند.

نشانی اینترنتی (URL) درخواست HTTP.
یک فیلتر jq که برای یافتن رشتهٔ نسخه استفاده می‌شود.
(اختیاری) در صورت وجود، یک درخواست POST (به جای GET) استفاده خواهد شد. مقدار باید رشته‌ای شامل بدنهٔ کامل درخواست باشد. کدگذاری این رشته را می‌توان با استفاده از گزینهٔ post_data_type مشخص کرد.
(اختیاری) مقدار Content-Type بدنهٔ درخواست (post_data) را تعیین می‌کند. مقدار پیش‌فرض، application/json است.

این منبع از گزینه‌های فهرست (List Options) پشتیبانی می‌کند.

نکته:

وابستگی اضافی "jq" مورد نیاز است.

source = "cmd"

استفاده از یک خط فرمان شل برای دریافت نسخه. خروجی ابتدا پیراسته (strip) می‌شود، بنابراین نویسه‌های خط جدید انتهایی مشکلی ایجاد نمی‌کنند.

خط فرمانی که باید استفاده شود. این دستور با شل استاندارد سیستم (یعنی /bin/sh) اجرا خواهد شد.

source = "aur"

بررسی مخزن کاربران آرچ https://aur.archlinux.org برای به‌روزرسانی‌ها. تنظیمات پروکسی به‌ازای هر مورد برای این منبع کار نمی‌کند زیرا چندین مورد در یک درخواست دسته‌بندی می‌شوند.

نام بسته در AUR. در صورت خالی بودن، از نام نرم‌افزار (table name) استفاده می‌شود.
حذف بخش انتشار (release).
افزودن زمان آخرین تغییر به نسخه.

source = "github"

بررسی GitHub https://github.com برای به‌روزرسانی‌ها. نسخهٔ بازگردانده‌شده در قالب تاریخ %Y%m%d.%H%M%S است، مانند 20130701.012212، مگر اینکه از use_latest_release، use_max_tag یا use_max_release استفاده شود. موارد زیر را ببینید.

مخزن github به همراه نام پدیدآورنده، مانند lilydjwg/nvchecker.
کدام شاخه دنبال شود؟ پیش‌فرض: شاخهٔ پیش‌فرض مخزن.
تنها کامیت‌هایی بازگردانده می‌شوند که شامل این مسیر فایل باشند.
نام میزبان (hostname) برای نمونهٔ میزبانی‌شدهٔ شخصی GitHub.
برای بررسی آخرین انتشار (release) در GitHub، این گزینه را روی true تنظیم کنید.

انتشارهای GitHub با برچسب‌های گیت یکسان نیستند. شما در صفحهٔ انتشارات برای چنین انتشارهایی نام‌های نسخهٔ بزرگ و توضیحات را مشاهده می‌کنید، مانند مورد zfsonlinux/zfs در https://github.com/zfsonlinux/zfs/releases، و موارد کوچکی مانند مورد nvchecker در https://github.com/lilydjwg/nvchecker/releases صرفاً برچسب‌های گیت هستند که باید برای آن‌ها از use_max_tag در زیر استفاده شود.

به جای تاریخ، نام برچسبِ انتشار را بازمی‌گرداند. (به دلایل تاریخی نام انتشار بازگردانده نمی‌شود. برای تغییر این رفتار، مورد زیر را ببینید.)

برای بررسی بالاترین انتشار در GitHub، این گزینه را روی true تنظیم کنید. این گزینه بزرگ‌ترین مورد مرتب‌شده بر اساس گزینهٔ sort_version_key را بازمی‌گرداند. به جای تاریخ، نام برچسب بازگردانده خواهد شد.
هنگامی که use_latest_release یا use_max_release برابر با true باشد، تنظیم این گزینه روی true باعث می‌شود nvchecker به جای نام برچسب، نام انتشار را بازگرداند.
هنگامی که use_latest_release یا use_max_release برابر با true باشد، این گزینه را روی true تنظیم کنید تا پیش‌انتشارها نیز لحاظ شوند.

این کار نام‌های انتشار (نه نام برچسب‌ها) را بازمی‌گرداند.

این گزینه به توکن نیاز دارد زیرا از رابط برنامه‌نویسی v4 GraphQL API استفاده می‌کند.

برای بررسی آخرین برچسب در GitHub، این گزینه را روی true تنظیم کنید.

این گزینه به توکن نیاز دارد زیرا از رابط برنامه‌نویسی v4 GraphQL API استفاده می‌کند.

هنگامی که use_latest_tag برابر با true است، این گزینه یک پرس‌وجو برای برچسب تعیین می‌کند. روش تطبیق دقیق توسط GitHub مستندسازی نشده است.
برای بررسی بالاترین برچسب در GitHub، این گزینه را روی true تنظیم کنید. برخلاف use_max_release، این گزینه هم برچسب‌های نشانه‌دار (annotated) و هم برچسب‌های سبک (lightweight) را شامل می‌شود و بزرگ‌ترین مورد مرتب‌شده با گزینهٔ sort_version_key را بازمی‌گرداند. به جای تاریخ، نام برچسب بازگردانده خواهد شد.
یک توکن احراز هویت شخصی که برای فراخوانی API استفاده می‌شود.

ممکن است برای استفاده از use_latest_tag، include_prereleases یا ارسال درخواست‌های مکررتر نسبت به حالت ناشناس، به یک توکن احراز هویت نیاز باشد.

جهت تنظیم توکن احراز هویت، می‌توانید موارد زیر را پیکربندی کنید:

  • گزینهٔ token
  • یک ورودی در keyfile برای میزبان (مانند github.com)
  • یک ورودی در فایل netrc برای میزبان

این منبع در صورت تنظیم بودن use_max_tag یا use_max_release از گزینه‌های فهرست (List Options) پشتیبانی می‌کند..SS "متاداده‌های RichResult (RichResult metadata)"

در صورت موجود بودن در پاسخ‌های دریافتی از GitHub API، این منبع فیلدهای اختیاری RichResult زیر را مقداردهی می‌کند. هیچ درخواست API اضافه‌ای صرفاً برای دریافت اطلاعات برچسب زمانی (timestamp) ارسال نمی‌شود.

حالت (Mode) creation_time revision_creation_time
کامیت/مسیر پیش‌فرض 0.0 • 2 168u برچسب زمانی کامیت
use_latest_release زمان انتشار نسخه (release) 0.0 • 2 168u
use_max_release زمان انتشار نسخه (release) 0.0 • 2 168u
use_latest_release +
include_prereleases زمان انتشار نسخه (release) برچسب زمانی کامیت
use_latest_tag 0.0 • 2 168u زمان ایجاد برچسب (annotated tags) یا برچسب زمانی کامیت (lightweight tags)
use_max_tag 0.0 • 2 168u 0.0 • 2 168u
بررسی Gitea
0.0
3.5
source = "gitea"
168u
168u
Gitea https://gitea.com را برای به‌روزرسانی‌ها بررسی می‌کند. نگارش بازگردانده شده در قالب تاریخ %Y%m%d است، به عنوان مثال 20130701، مگر اینکه از use_max_tag استفاده شده باشد. به بخش زیر مراجعه کنید.
0.0
gitea
مخزن gitea به همراه نام نویسنده/مالک، مانند gitea/tea.
branch
کدام شاخه دنبال شود؟ پیش‌فرض: شاخهٔ پیش‌فرض مخزن است.
use_max_tag
این گزینه را روی true تنظیم کنید تا بیشترین تگ در Gitea بررسی شود. بزرگ‌ترین مورد مرتب‌شده بر اساس نسخهٔ قدیمی pkg_resources.parse_version بازگردانده خواهد شد. به جای تاریخ، نام تگ بازگردانده می‌شود.
use_latest_release
این گزینه را روی true تنظیم کنید تا نام آخرین انتشار در gitea بررسی شود.
انتشارهای Gitea با تگ‌های git یکی نیستند. شما نام نگارش‌های بزرگ و توضیحات را در صفحهٔ انتشارات برای چنین مواردی خواهید دید، به عنوان مثال ciberandy/qiv در https://codeberg.org/ciberandy/qiv/releases.
host
نام میزبان (hostname) برای نمونهٔ میزبانی‌شده توسط خود (self-hosted) از Gitea.
token
توکن احراز هویت Gitea که برای فراخوانی API استفاده می‌شود.
168u
جهت تعیین توکن احراز هویت، می‌توانید موارد زیر را تنظیم کنید:
0.0
• 2
گزینهٔ token
• 2
یک مدخل در keyfile برای میزبان (مانند gitea.com)
• 2
یک مدخل در فایل netrc خود برای میزبان
168u
این منبع در صورت تنظیم بودن use_max_tag، از List Options پشتیبانی می‌کند.
بررسی Gogs / Forgejo / Codeberg
لطفاً از منبع "gitea" در بالا استفاده کنید. Gitea یک انشعاب از Gogs https://gogs.io است.
Forgejo https://forgejo.org یک انشعاب از Gitea است. Codeberg یک ارائه‌دهندهٔ میزبانی کد است که از Forgejo استفاده می‌کند. آن‌ها از همان نقاط پایانی API مشترکی که nvchecker استفاده می‌کند بهره می‌برند.
همچنین می‌توانید منبع عمومی "git" را نیز امتحان کنید.
بررسی BitBucket
0.0
3.5
source = "bitbucket"
168u
168u
BitBucket https://bitbucket.org را برای به‌روزرسانی‌ها بررسی می‌کند. نگارش بازگردانده شده در قالب تاریخ %Y%m%d است، مانند 20130701، مگر اینکه از use_max_tag استفاده شده باشد. به بخش زیر مراجعه کنید.
0.0
bitbucket
مخزن bitbucket به همراه نام نویسنده/مالک، مانند lilydjwg/dotvim.
branch
کدام شاخه دنبال شود؟ پیش‌فرض: شاخهٔ پیش‌فرض مخزن است.
use_max_tag
این گزینه را روی true تنظیم کنید تا بیشترین تگ در BitBucket بررسی شود. بزرگ‌ترین مورد مرتب‌شده بر اساس نسخهٔ قدیمی pkg_resources.parse_version بازگردانده خواهد شد. به جای تاریخ، نام تگ بازگردانده می‌شود.
use_sorted_tags
اگر روی true تنظیم شود، تگ‌ها بر اساس کلیدهای query و sort پرس‌وجو و مرتب می‌شوند. به جای تاریخ، نام تگ بازگردانده خواهد شد.
query
یک رشتهٔ پرس‌وجو برای پالایش تگ‌ها در صورت تنظیم بودن use_sorted_tags (برای مشاهدهٔ مثال‌ها به اینجا https://developer.atlassian.com/cloud/bitbucket/rest/intro/#querying مراجعه کنید). نیازی به گریز دادن (escape) این رشته نیست.
sort
فیلدی که برای مرتب‌سازی تگ‌ها در صورت تنظیم بودن use_sorted_tags استفاده می‌شود (برای مشاهدهٔ مثال‌ها به اینجا https://developer.atlassian.com/cloud/bitbucket/rest/intro/#filtering مراجعه کنید). پیش‌فرض -target.date است (تگ‌ها را به ترتیب نزولی تاریخ مرتب می‌کند).
max_page
چند صفحه برای بیشترین تگ جستجو شود؟ پیش‌فرض 3 است. این گزینه زمانی کار می‌کند که use_max_tag تنظیم شده باشد.
168u
این منبع در صورت تنظیم بودن use_max_tag یا use_sorted_tags، از List Options پشتیبانی می‌کند..SS بررسی GitLab
0.0
3.5
source = "gitlab"
168u
168u
بررسی GitLab https://gitlab.com برای به‌روزرسانی‌ها. نسخهٔ بازگردانده‌شده در قالب تاریخ %Y%m%d است، مانند 20130701،
مگر اینکه use_max_tag استفاده شود. بخش زیر را ببینید.
0.0
gitlab
مخزن gitlab، همراه با نویسنده، مانند Deepin/deepin-music.
branch
کدام شاخه ردیابی شود؟
use_max_tag
این گزینه را روی true تنظیم کنید تا بیشترین برچسب (max tag) در GitLab بررسی شود. بزرگ‌ترین مورد مرتب‌شده با pkg_resources.parse_version قدیمی بازگردانده می‌شود. به جای تاریخ، نام برچسب بازگردانده خواهد شد.
host
نام میزبان (hostname) برای نمونهٔ خودمیزبان (self-hosted) گیت‌لب.
token
توکن احراز هویت GitLab مورد استفاده برای فراخوانی API.
168u
برای تنظیم یک توکن احراز هویت، می‌توانید موارد زیر را تنظیم کنید:
0.0
• 2
گزینهٔ token
• 2
یک مدخل در keyfile برای میزبان (مانند gitlab.com)
• 2
یک مدخل در فایل netrc خود برای میزبان
168u
این منبع در صورت تنظیم بودن use_max_tag از List Options پشتیبانی می‌کند.
متادادهٔ RichResult
در صورت موجود بودن از پاسخ‌های فعلی API گیت‌لب، این منبع فیلدهای اختیاری RichResult زیر را پر می‌کند. هیچ درخواست API اضافی صرفاً برای بازیابی اطلاعات برچسب زمانی ارسال نمی‌شود.
box center;
l|l|l.
حالت creation_time revision_creation_time
کامیت پیش‌فرض 0.0 • 2 168u برچسب زمانی کامیت
use_max_tag زمان ایجاد برچسب برچسب زمانی کامیت

source = "pypi"

بررسی PyPI https://pypi.python.org برای به‌روزرسانی‌ها. انتشار‌های حذف‌شده (yanked) نادیده گرفته می‌شوند.

نام استفاده‌شده در PyPI، مانند PySide.
مشخص می‌کند که آیا پیش‌انتشارها پذیرفته شوند یا خیر. مقدار پیش‌فرض false است.

این منبع از List Options پشتیبانی می‌کند.

متادادهٔ RichResult:

حالت creation_time revision_creation_time
تمام نسخه‌ها اولین زمان در دسترس برای بارگذاری فایل 0.0 • 2 168u

نکته:

وابستگی اضافی "packaging" مورد نیاز است. می‌توانید از دستور pip install 'nvchecker[pypi]' استفاده کنید.
source = "gems"

بررسی RubyGems https://rubygems.org برای به‌روزرسانی‌ها.

نام استفاده‌شده در RubyGems، مانند sass.

این منبع از List Options پشتیبانی می‌کند.

source = "npm"

بررسی NPM Registry https://registry.npmjs.org برای به‌روزرسانی‌ها.

نام استفاده‌شده در NPM Registry، مانند coffee-script.

برای پیکربندی این‌که از کدام مخزن پرس‌وجو شود، گزینه‌ای در افزونهٔ منبع در دسترس است. می‌توانید آن را به این صورت مشخص کنید:

[__config__.source.npm]
registry = "https://registry.npm.taobao.org"

source = "hackage"

بررسی Hackage https://hackage.haskell.org برای به‌روزرسانی‌ها.

نام استفاده‌شده در Hackage، مانند pandoc.

source = "maven"

بررسی یک مخزن Maven https://maven.apache.org برای به‌روزرسانی‌ها.

نشانی (URL) مخزن مورد بررسی (پیش‌فرض: https://repo1.maven.org/maven2).
شناسهٔ گروه (group) برای مختصات.
شناسهٔ آرتیفکت (artifact) برای مختصات.
source = "cpan"

بررسی MetaCPAN https://metacpan.org برای به‌روزرسانی‌ها.

نام مورد استفاده در CPAN، مانند YAML.

source = "cran"

بررسی CRAN https://cran.r-project.org/web/packages برای به‌روزرسانی‌ها.

نام مورد استفاده در CRAN، مانند xml2.

source = "packagist"

بررسی Packagist https://packagist.org برای به‌روزرسانی‌ها.

نام مورد استفاده در Packagist، مانند monolog/monolog.

source = "cratesio"

بررسی crates.io https://crates.io برای به‌روزرسانی‌ها. انتشارهای پس‌گرفته‌شده (yanked) نادیده گرفته می‌شوند.

نام crate در crates.io، مانند tokio.
پذیرش یا عدم پذیرش پیش‌انتشار (pre release). مقدار پیش‌فرض false است.

این منبع از List Options پشتیبانی می‌کند.

source = "pacman"

این مورد هنگامی استفاده می‌شود که nvchecker را روی یک سیستم Arch Linux اجرا می‌کنید و برنامه همیشه با یک بسته در مخازن پیکربندی‌شده شما برای Pacman https://wiki.archlinux.org/title/Pacman همگام می‌ماند.

نام بسته برای ارجاع به آن.
حذف بخش انتشار (release).
source = "archpkg"

این گزینه به شما امکان می‌دهد به‌روزرسانی بسته‌های رسمی Arch Linux را از طریق https://www.archlinux.org/packages، بدون نیاز به pacman و پایگاه‌های داده محلی به‌روزرسانی‌شده‌ی Pacman، رهگیری کنید.

نام بسته Arch Linux.
حذف بخش انتشار (release)؛ تنها بخشی که پیش از - می‌آید بازگردانده می‌شود.
به جای نسخه بسته، نسخه‌ای را که این بسته ارائه می‌دهد (provides) بازمی‌گرداند. مقدار آن همان مقداری است که بسته فراهم می‌کند و strip_release نیز بر آن اعمال می‌شود. بیشترین کاربرد این مورد برای کتابخانه‌ها است.

source = "debianpkg"

این گزینه به شما امکان می‌دهد به‌روزرسانی بسته‌های رسمی Debian Linux را از طریق https://packages.debian.org، بدون نیاز به apt و پایگاه داده محلی به‌روزرسانی‌شده‌ی APT، رهگیری کنید.

نام بسته منبع (source package) در Debian Linux.
نام انتشار Debian (مانند jessie، wheezy و غیره؛ پیش‌فرض: sid).
حذف بخش انتشار (release).

source = "ubuntupkg"

این گزینه به شما امکان می‌دهد به‌روزرسانی بسته‌های رسمی Ubuntu Linux را از طریق https://packages.ubuntu.com، بدون نیاز به apt و پایگاه داده محلی به‌روزرسانی‌شده‌ی APT، رهگیری کنید.

نام بسته منبع (source package) در Ubuntu Linux.
نام انتشار Ubuntu (مانند xenial، zesty و غیره؛ پیش‌فرض: None، که به معنی عدم اعمال محدودیت روی suite است).
حذف بخش انتشار (release).

source = "repology"

این گزینه به شما امکان می‌دهد به‌روزرسانی‌ها را از Repology https://repology.org (repology.org) رهگیری کنید.

نام project جهت بررسی.
بررسی نسخه در این مخزن (repo). این فیلد الزامی است.
بررسی نسخه در این زیرمخزن (subrepo). این فیلد اختیاری است. در صورت حذف، از تمام subrepoها استعلام گرفته می‌شود.

این منبع از List Options پشتیبانی می‌کند..SS "بررسی Anitya"

source = "anitya"

این به شما امکان می‌دهد تا به‌روزرسانی‌ها را از Anitya https://release-monitoring.org (release-monitoring.org) رهگیری کنید.

به‌صورت distro/package، که در آن distro می‌تواند موارد متعددی مانند "fedora"، "arch linux"، "gentoo" و غیره باشد. package نام بسته در توزیع انتخاب‌شده است.
شناسهٔ پروژه/بسته در anitya.

توجه داشته باشید که باید یکی از anitya یا anitya_id مشخص شود؛ در صورتی که هر دو مشخص شده باشند، anitya_id ترجیح داده می‌شود.

source = "android_sdk"

این به شما امکان می‌دهد تا به‌روزرسانی‌های بسته‌های Android SDK فهرست‌شده در sdkmanager --list را رهگیری کنید.

پیشوند مسیر بسته. این مقدار با مشخصهٔ path در تمام گره‌های <remotePackage> در یک فایل XML مانیفست SDK مطابقت داده می‌شود. نخستین تطابق برای مقایسهٔ نسخه‌ها استفاده می‌شود.
باید یکی از مقادیر addon یا package باشد. بسته‌ها در addon2-1.xml از addon و بسته‌ها در repository2-1.xml از package استفاده می‌کنند.
کانال هدف را از بین یکی از مقادیر stable، beta، dev یا canary انتخاب کنید. این گزینه همچنین فهرستی جداشده با کاما را برای گزینش از میان چند کانال می‌پذیرد. برای نمونه، تازه‌ترین نسخهٔ ناپایدار با beta,dev,canary انتخاب می‌شود. پیش‌فرض stable است.
سیستم‌عامل هدف برای بستهٔ رهگیری‌شده را از بین linux، macosx یا windows انتخاب کنید. پیش‌فرض linux است. برای بسته‌های مستقل از سیستم‌عامل (مانند JARهای جاوا)، از این فیلد صرف‌نظر می‌شود.

این منبع از List Options پشتیبانی می‌کند.

source = "sparkle"

این به شما امکان می‌دهد تا به‌روزرسانی‌های برنامه‌های macOS را که از فریم‌ورک Sparkle استفاده می‌کنند https://sparkle-project.org رهگیری کنید.

نشانی اینترنتی (URL) مربوط به appcast در sparkle.
زبان یادداشت‌های انتشار برای بازگرداندن در زمان در دسترس بودن یادداشت‌های محلی‌سازی‌شده (پیش‌فرض en برای انگلیسی است؛ یادداشت‌های انتشار محلی‌سازی‌نشده به‌عنوان رزرو/جایگزین استفاده می‌شوند).

source = "pagure"

این به شما امکان می‌دهد تا به‌روزرسانی‌ها را از Pagure https://pagure.io بررسی کنید.

نام پروژه، به‌صورت اختیاری همراه با یک فضای نام (namespace).
نام میزبان نمونهٔ جایگزین مانند src.fedoraproject.org.

این منبع برچسب‌ها (tags) را بازمی‌گرداند و از List Options پشتیبانی می‌کند..SS بررسی مخزن APT

source = "apt"

این گزینه امکان ردیابی به‌روزرسانی‌های یک مخزن دلخواه APT را بدون نیاز به apt و یک پایگاه داده محلی به‌روزشدهٔ APT فراهم می‌کند.

نام بسته باینری APT.
نام بسته منبع (سورس) APT.
نشانی اینترنتی (URL) مخزن.
نام انتشار مخزن APT (مانند jessie، wheezy و غیره)
نام بخش مخزن APT (مانند main، contrib و غیره؛ پیش‌فرض main است)
معماری مخزن (i386، amd64 و غیره؛ پیش‌فرض amd64 است)
حذف بخش انتشار (release).

توجه داشته باشید که باید یا pkg و یا srcpkg مشخص شود (نه هر دو)، در غیر این صورت از نام آیتم به‌عنوان pkg استفاده خواهد شد.

source = "rpmrepo"

این گزینه امکان بررسی آخرین نگارش‌های بسته را در یک مخزن دلخواه RPM با قالب repomd (مورد استفاده توسط مدیر بسته‌هایی مانند dnf در Fedora، RHEL، AlmaLinux و غیره یا zypper در openSUSE) بدون نیاز به ابزارهای محلی RPM فراهم می‌کند.

نام بسته RPM (می‌توانید مانند سایر منابع از rpmrepo نیز استفاده کنید، اما برای شفافیت بیشتر pkg ترجیح داده می‌شود)
نشانی اینترنتی (URL) مخزن (اجباری است، فایل repodata/repomd.xml باید در آنجا قرار داشته باشد)
معماری بسته RPM (binary، src، any، x86_64، aarch64 و غیره؛ پیش‌فرض binary است)

این منبع از List Options پشتیبانی می‌کند.

نکته:

وابستگی اضافی lxml مورد نیاز است. در نسخه‌های پایتون پیش از 3.14، به zstandard نیز نیاز است. می‌توانید آن‌ها را با دستور pip install 'nvchecker[rpmrepo]' نصب کنید.

source = "git"

این گزینه امکان بررسی برچسب‌ها (تگ‌ها) یا کامیت‌های یک شاخه در یک مخزن دلخواه git را فراهم می‌کند؛ همچنین برای سناریوهایی مانند پروژه‌های github که برچسب‌های بیش از حد زیادی دارند، مفید است.

نشانی اینترنتی (URL) مخزن Git.
بازگرداندن هش کامیت به جای برچسب‌ها.
هنگامی که use_commit درست (true) باشد، کامیت مربوط به شاخه مشخص‌شده را به جای شاخه پیش‌فرض بازمی‌گرداند.

هنگامی که این منبع برچسب‌ها را بازمی‌گرداند (use_commit درست نیست)، از List Options پشتیبانی می‌کند..SS بررسی مخزن Git بدون خط فرمان git با استفاده از pygit2

source = "git_pygit2"

این منبع مشابه منبع git است، اما به جای فراخوانی فایل اجرایی git از pygit2/libgit2 استفاده می‌کند. این منبع در محیط‌هایی که بسته‌های پایتون قابل نصب هستند اما امکان اجرای باینری‌های خارجی وجود ندارد، مفید است.

نشانی URL مخزن Git.
نام کاربری برای احراز هویت HTTP.
نام کلید مورد استفاده برای بازیابی گذرواژه یا توکن دسترسی از keyfile پیکربندی‌شده.
بازگرداندن هش کامیت به جای برچسب‌ها.
هنگامی که use_commit درست (true) باشد، کامیت را روی شاخهٔ مشخص‌شده به جای شاخهٔ پیش‌فرض بازمی‌گرداند.

مثال برای یک مخزن خصوصی GitHub:

source = "git_pygit2"
git = "https://github.com/example/private-repo.git"
username = "x-access-token"
password_key = "github"

هنگامی که این منبع برچسب‌ها را بازمی‌گرداند (use_commit درست نیست)، از List Options پشتیبانی می‌کند.

نکته:

وابستگی اضافی pygit2 مورد نیاز است.

پیام سیستم: WARNING/2 (usage.rst:, line 1040)
خط زیر عنوان بسیار کوتاه است.
Check Git repository without git CLI using Dulwich
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
source = "git_dulwich"

این منبع مشابه منبع git است، اما به جای فراخوانی فایل اجرایی git از Dulwich استفاده می‌کند. این منبع در محیط‌هایی که بسته‌های پایتون قابل نصب هستند اما امکان اجرای باینری‌های خارجی وجود ندارد، مفید است.

این منبع در حال حاضر از متغیرهای محیطی پروکسی پشتیبانی نمی‌کند.

نشانی URL مخزن Git.
نام کاربری برای احراز هویت HTTP.
نام کلید مورد استفاده برای بازیابی گذرواژه یا توکن دسترسی از keyfile پیکربندی‌شده.
بازگرداندن هش کامیت به جای برچسب‌ها.
هنگامی که use_commit درست (true) باشد، کامیت را روی شاخهٔ مشخص‌شده به جای شاخهٔ پیش‌فرض بازمی‌گرداند.

مثال برای یک مخزن خصوصی GitHub:

source = "git_dulwich"
git = "https://github.com/example/private-repo.git"
username = "x-access-token"
password_key = "github"

هنگامی که این منبع برچسب‌ها را بازمی‌گرداند (use_commit درست نیست)، از List Options پشتیبانی می‌کند.

نکته:

وابستگی اضافی dulwich مورد نیاز است.
source = "mercurial"

این مورد امکان بررسی تگ‌های یک مخزن دلخواه mercurial (hg) را فراهم می‌کند.

نشانی (URL) مخزن Mercurial.

این منبع تگ‌ها را برمی‌گرداند و از List Options پشتیبانی می‌کند.

source = "container"

این مورد امکان بررسی تگ‌های ایمیج‌ها روی یک رجیستری کانتینر مانند Docker را فراهم می‌کند.

مسیر (و تگ) ایمیج کانتینر. برای ایمیج‌های رسمی Docker، از فضای نام library/ استفاده کنید (مانند library/python).

اگر تگی مشخص نشده باشد، آخرین تگ موجود (مرتب‌شده بر اساس نام تگ) را بررسی می‌کند، در غیر این صورت زمان به‌روزرسانی تگ را بررسی می‌کند.

میزبان رجیستری کانتینر. پیش‌فرض: docker.io

موارد registry و container میزبان و مسیری هستند که در دستور pull استفاده می‌شوند. توجه داشته باشید که دستور docker اجازه می‌دهد بخش‌هایی از نام کانتینر حذف شوند، در حالی که این افزونه به نام کامل نیاز دارد. اگر بخش میزبان حذف شده است، از docker.io استفاده کنید، و اگر اسلشی در مسیر وجود ندارد، library/ را به ابتدای مسیر اضافه نمایید. در اینجا چند مثال آورده شده است:

دستور pull registry container
docker pull quay.io/prometheus/node-exporter quay.io prometheus/node-exporter
docker pull quay.io/prometheus/node-exporter:master quay.io prometheus/node-exporter:master
docker pull openeuler/openeuler docker.io openeuler/openeuler
docker pull openeuler/openeuler:20.03-lts docker.io openeuler/openeuler:20.03-lts
docker pull python docker.io library/python
docker pull python:3.11 docker.io library/python:3.11

اگر تگی مشخص نشده باشد، این منبع تگ‌ها را برمی‌گرداند و از List Options پشتیبانی می‌کند..SS بررسی پایگاه‌داده ALPM

source = "alpm"

بررسی به‌روزرسانی‌های بسته در یک پایگاه‌داده محلی ALPM.

نام بسته.
نام مخزن بسته‌ای که بسته در آن قرار دارد. در صورت مشخص نشدن، nvchecker از مقدار repos استفاده خواهد کرد؛ به بخش زیر مراجعه کنید.
آرایه‌ای از مخازن احتمالی که بسته ممکن است در آن‌ها قرار داشته باشد؛ nvchecker از نخستین مخزنی که حاوی بسته باشد استفاده خواهد کرد. در صورت مشخص نشدن، به ترتیب از core، extra و multilib استفاده خواهد شد.
مسیر دایرکتوری پایگاه‌داده ALPM. پیش‌فرض: /var/lib/pacman. باید پایگاه‌داده را خودتان به‌روزرسانی کنید.
حذف بخش انتشار (release)، تنها بخش پیش از - برگردانده می‌شود.
به جای نسخه بسته، نسخه‌ای که این بسته ارائه می‌دهد برگردانده می‌شود. مقدار آن چیزی است که بسته فراهم می‌کند (provides) و strip_release نیز اعمال می‌شود. این گزینه برای کتابخانه‌ها بهترین کاربرد را دارد.

نکته:

وابستگی اضافی "pyalpm" مورد نیاز است.

source = "alpmfiles"

جستجوی فایل‌های بسته در یک پایگاه‌داده محلی فایل‌های ALPM. نیازی به نصب بودن بسته نیست. این گزینه می‌تواند برای بررسی نسخه‌های کتابخانه مشترک مفید باشد، در صورتی که بسته آن‌ها را در provides خود فهرست نکرده باشد.

نام بسته.
عبارت باقاعده برای مسیر فایل. اگر شامل یک گروه منطبق باشد، آن گروه برگردانده می‌شود. در غیر این صورت، کل مسیر فایل برگردانده می‌شود. مسیرها دارای اسلش ابتدایی نیستند. برای نمونه، usr/lib/libuv\\.so\\.([^.]+) با نسخه اصلی (major) کتابخانه مشترک libuv مطابقت دارد.
نام مخزن بسته‌ای که بسته در آن قرار دارد. در صورت مشخص نشدن، تمام مخازن جستجو می‌شوند.
حذف دایرکتوری از مسیر پیش از تطبیق. مقدار پیش‌فرض false است.
مسیر دایرکتوری پایگاه‌داده ALPM. پیش‌فرض: /var/lib/pacman. باید پایگاه‌داده را خودتان با دستور pacman -Fy به‌روزرسانی کنید.

این منبع دستور pacman -Flq ... را اجرا می‌کند. برای پیکربندی تعداد نمونه‌های هم‌روند در حال اجرای pacman:

[__config__.source.alpmfiles]
concurrency = 2

مقدار پیش‌فرض 2 است. دستور pacman -Flq ... حافظه زیادی مصرف می‌کند، بنابراین مراقب باشید.

source = "openvsx"

بررسی Open Vsx https://open-vsx.org برای به‌روزرسانی‌ها.

شناسه یکتای (Unique Identifier) افزونه در open-vsx.org، برای نمونه ritwickdey.LiveServer.
source = "vsmarketplace"

بررسی Visual Studio Code Marketplace https://marketplace.visualstudio.com/vscode برای دریافت به‌روزرسانی‌ها.

شناسهٔ یکتای افزونه در marketplace.visualstudio.com/vscode، مانند ritwickdey.LiveServer.

source = "go"

بررسی بسته‌ها و ماژول‌های Go در https://pkg.go.dev برای دریافت به‌روزرسانی‌ها.

نام بسته یا ماژول Go، مانند github.com/caddyserver/caddy/v2/cmd.

source = "opam"

این منبع امکان بررسی آخرین نسخه‌های بسته در یک مخزن opam https://opam.ocaml.org/doc/Manual.html#Repositories دلخواه را بدون نیاز به ابزار خط فرمان opam برای شما فراهم می‌کند.

نام بستهٔ opam
نشانی اینترنتی (URL) مخزن (اختیاری؛ در صورت مشخص نشدن، از مخزن پیش‌فرض https://opam.ocaml.org استفاده می‌شود)

این منبع از List Options پشتیبانی می‌کند.

source = "snapcraft"

این منبع امکان بررسی آخرین نسخه‌های بسته در Snapcraft https://snapcraft.io را فراهم می‌کند.

نام بستهٔ snap.
نام کانال.

source = "combiner"

این منبع می‌تواند نتایج حاصل از سایر مدخل‌ها را با یکدیگر ترکیب کند.

فهرستی از نام مدخل‌هایی که باید منتظر نتایج آن‌ها ماند.
یک رشتهٔ قالب‌بندی برای ترکیب نتایج در یک رشتهٔ نهایی.

مثال:

[entry-1]
source = "cmd"
cmd = "echo 1"
[entry-2]
source = "cmd"
cmd = "echo 2"
[entry-3]
source = "combiner"
from = ["entry-1", "entry-2"]
format = "$1-$2"
source = "manual"

این قابلیت به شما امکان می‌دهد نسخه را به‌صورت دستی مشخص کنید (شاید به این دلیل که می‌خواهید هر انتشار را پیش از رسیدن به اسکریپت تأیید کنید).

رشته نسخه.

امکان گسترش منابع پشتیبانی‌شده با نوشتن افزونه‌ها وجود دارد. برای مستندات به plugin مراجعه کنید.

2026-08-15 2.22