- 16 जुलाई 2026 को जारी Forgejo v16.0 में repository-स्तर पर notification control, migration progress, pull request review, Actions और API फीचर्स का विस्तार किया गया है
- Git mirror में HTTP redirect को ब्लॉक करके SSRF सुरक्षा मजबूत की गई है, और जिन remote repository का नाम या owner बदल गया है, उनके लिए mirror address को सीधे अपडेट करना होगा
- अगर आप container में reverse proxy authentication इस्तेमाल करते हैं, तो trusted proxy address range स्पष्ट रूप से सेट करनी होगी; कुछ पुराने configuration जिनमें default web port अविश्वसनीय नेटवर्क पर exposed था, अब काम नहीं करेंगे
- multi-line review,
git blame --reverseआधारित comment position tracking, Actions execution priority, JWT-आधारित Authorized Integrations, workflow log·artifact·cancel API जोड़े गए हैं - v16.0 एक non-LTS release है और 29 अक्टूबर 2026 तक supported रहेगा; upgrade से पहले full backup बनाना और सभी compatibility changes की जांच करना जरूरी है
रिलीज़ और अपग्रेड
- Forgejo v16.0 16 जुलाई 2026 को जारी किया गया एक हल्का, community-driven self-hosted code collaboration platform है
- पूरा change list release notes में देखा जा सकता है, और एक dedicated test instance भी उपलब्ध है
- upgrade से पहले upgrade guide के अनुसार full backup बनाना और सभी compatibility changes की जांच करना जरूरी है
- upgrade binary या container image को v16.0-compatible version से बदलकर किया जाता है
- Forgejo v16.0.0 binary और container image उपलब्ध हैं
- container का
16.0tag इस्तेमाल करने पर आप अपने-आप नवीनतम16.0.Ypatch release का अनुसरण कर सकते हैं
compatibility changes और security hardening
-
Git mirror की SSRF सुरक्षा
[migrations].ALLOWED_DOMAINS,LOCKED_DOMAINS,ALLOW_LOCALNETWORKSकुछ exception situations में सही तरह लागू नहीं हो रहे थे; यह समस्या ठीक की गई है- Git के HTTP(S) repository access के दौरान redirect follow करके configuration bypass न हो सके, इसके लिए
http.followRedirects=falseलागू किया गया है - जिन remote Forgejo repository का नाम बदल गया है या जिन्हें नए owner को transfer किया गया है, उनमें redirect को error माना जाएगा, इसलिए मौजूदा mirror को नए repository address पर अपडेट करना होगा
-
avatar EXIF removal फीचर हटाया गया
- v13.0 में जोड़ी गई avatar image की EXIF metadata removal सुविधा को AGPL library के गलत उपयोग से जुड़े license issue के कारण हटा दिया गया है
- दूसरे implementation approach की समीक्षा होने तक इस फीचर को हटाकर license compliance बहाल की गई है
-
container में trusted proxy configuration
- मौजूदा Forgejo container डिफॉल्ट रूप से
REVERSE_PROXY_TRUSTED_PROXIES = *इस्तेमाल करते थे - नीचे दी गई सभी शर्तें पूरी होने पर अनधिकृत उपयोगकर्ता
X-WebAuth-Userheader का इस्तेमाल करके किसी दूसरे उपयोगकर्ता का रूप धारण कर सकते थे- Docker या Podman आधारित container deployment हो
[service].ENABLE_REVERSE_PROXY_AUTHENTICATION=trueसेट हो[security].REVERSE_PROXY_TRUSTED_PROXIESकी default value*नहीं बदली गई हो- default
:3000web port किसी अविश्वसनीय नेटवर्क पर exposed हो, जिससे authenticated reverse proxy को bypass किया जा सके
- v16 अब इस तरह के configuration में reverse proxy settings का पालन नहीं करता, इसलिए incoming traffic के लिए trusted proxy address range स्पष्ट रूप से सेट करनी होगी
- environment variable configuration का उदाहरण:
FORGEJO__security__REVERSE_PROXY_TRUSTED_PROXIES=127.0.0.0/8,::1/128,172.16.X.X/X app.iniमें[security]के तहतREVERSE_PROXY_TRUSTED_PROXIESमें यही address list सेट करनी होगी
- मौजूदा Forgejo container डिफॉल्ट रूप से
repository और organization usability
- repository notifications को Issues, Pull requests, Releases इन तीन categories में बांटकर subscribe किया जा सकता है
- redesigned notification backend आगे और अधिक granular settings को support करने की नींव बनेगा
- लक्ष्य यह है कि बहुत अधिक options दिखाए बिना उपयोगकर्ता को notification control दिया जाए
- repository migration screen अब source के issues और pull requests को batch unit में migrate करते समय progress दिखाती है, जिससे लंबे काम के रुक जाने की जांच की जा सकती है
- default batch size 45 है, और progress दिखाने के लिए minimum item count भी 45 है
- जहां full-size image की जरूरत नहीं होती, वहां दो तरह के reduced avatars बनाए जाते हैं ताकि bandwidth usage और loading time कम हो
- organization member list से सीधे dialog खोलकर नए member जोड़े जा सकते हैं और एक साथ कई teams में assign किया जा सकता है
- Git incoming objects में कई inconsistencies की जांच कर उन्हें reject करता है, ताकि repository inconsistent या corrupted state में न पहुंचे
- backend repositories में अब Git sample hook files नहीं बनाई जातीं, और instance-wide common Git hooks भी हर repository में copy करने के बजाय centrally store किए जाते हैं
- इससे प्रति repository लगभग 20KiB की बचत होती है
- मौजूदा repositories के sample और duplicate auto-generated files को upgrade guide के अनुसार हटाया जा सकता है
- v7.0.0 के बाद का वह bug ठीक किया गया है जिसमें नए उपयोगकर्ताओं को repository features और सक्षम करने वाला guidance दिखाई नहीं देता था, और इसे बंद करने वाली setting को भी ढूंढना आसान बनाया गया है
- “Enable more” guidance अब केवल तब दिखेगा जब admin या repository owner ने कुछ repository features को स्पष्ट रूप से disable किया हो
pull request और code review
- pull request page के commit list को अधिक पढ़ने योग्य और screen size के अनुसार बेहतर अनुकूल नए layout में बदला गया है
- फिलहाल यह केवल pull request page पर लागू है, और आगे इसे दूसरे commit list screens तक धीरे-धीरे बढ़ाने की योजना है
- कई बदली हुई lines को एक review comment से जोड़ने वाला multi-line review अब supported है
Shiftदबाए रखते हुए पहली line के पास plus button दबाएं और आखिरी line तक drag करें, तो चुनी गई lines एक comment से जुड़ जाएंगी
- review comments के गलत diff या गलत screen position पर दिखने, या diff link खो देने की समस्या ठीक की गई है
- पहले का
git blameतब comment target code की position गलत ढूंढ सकता था जब बाद के commit में code move हो गया हो - अंदरूनी तौर पर
git blame --reverseका उपयोग करके code changes को वर्तमान position तक track किया जाता है - comment position केवल मौजूदा pull request के HEAD से नहीं, बल्कि reviewer जिस base और head को वास्तव में देख रहा है और जिस commit के code को दिखाया जा रहा है, उसके आधार पर भी गणना की जाती है
- deleted lines के लिए deletion point खोजा जाता है और यह भी जांचा जाता है कि current diff में उसी position पर वह deleted state में है या नहीं; इसके बाद comment रखा जाता है या उसे पुराने comment के रूप में चिह्नित किया जाता है
- पहले का
Forgejo Actions और JWT integration
-
execution priority और workflow management
- individual workflow runs को मैन्युअली priority processing के लिए चिह्नित किया जा सकता है, और Forgejo Actions उन्हें सामान्य runs से पहले process करता है
- जहां संभव हो,
ifconditions का मूल्यांकन Forgejo स्वयं करता है, इसलिए jobs को Forgejo Runner पर भेजे बिना execution जल्दी शुरू हो सकता है - completed workflow runs और उनके logs·artifacts को UI या HTTP API से delete किया जा सकता है
- delete केवल repository admin या
write:repositorypermission वाले access token से ही किया जा सकता है
- delete केवल repository admin या
cronexpressions अब पुरानेCRON_TZformat के साथ GitHub-style timezone specification syntax भी support करते हैं- पिछले versions में जो skipped checks success के रूप में दिखते थे, वे v16 से skipped के रूप में दिखेंगे
-
Authorized Integrations
- v15 में बाहरी systems द्वारा authentication के लिए इस्तेमाल होने वाले JWT generation फीचर के बाद, v16 अब JWT के जरिए Forgejo API और Git access को authenticate करने वाली Authorized Integrations प्रदान करता है
- इन्हें local Forgejo Actions में इस्तेमाल किया जा सकता है, या rules configure करके Forgejo से arbitrary JWT को verify कराया जा सकता है
- जब
${{ forgejo.token }}की सामान्य permissions से अधिक access चाहिए, तब static access token सेट करने और बाद में उसे rotate न करने की जरूरत नहीं रहती - workflow author के लिए अपने-आप अप्रत्याशित permissions देने वाली कोई सुविधा expose नहीं की गई है
- इसे कई Forgejo repositories में इस्तेमाल किया जा सकता है
- जो external systems तकनीकी requirements पूरी करते हैं, वे system-to-system static secret के बिना उपयोगकर्ता की Authorized Integration के माध्यम से Forgejo API और Git repositories तक सीधे पहुंच सकते हैं
- उदाहरणों में Amazon Web Services, GitHub Actions, GitLab CI/CD शामिल हैं
Actions और management API
- पूरे workflow run या individual jobs के logs लाने के API जोड़े गए हैं
- artifacts को list·download·delete करने वाले endpoints उपलब्ध कराए गए हैं
- artifact upload के लिए documented endpoint अभी future work list में है
- individual workflow runs को cancel करने का API जोड़ा गया है
/actions/runउस workflow run information को लौटाता है जिससे automatic tokenFORGEJO_TOKENजुड़ा होता है- अन्य API changes इस प्रकार हैं
- कई endpoints द्वारा लौटाए जाने वाले organization model में creation time जोड़ा गया है
- pull request search में base और head branch names से filter किया जा सकता है
- instance admin उपयोगकर्ता access tokens को list·issue·delete कर सकते हैं
- user list को 2FA status के आधार पर filter किया जा सकता है
support period और test builds
- major releases हर 3 महीने में आते हैं, जबकि patch releases शामिल bug या security fixes की गंभीरता के आधार पर अधिक बार जारी किए जाते हैं
- v16.0 एक non-LTS release है और 29 अक्टूबर 2026 तक supported रहेगा
- v11.0 LTS का support 16 जुलाई 2026 को समाप्त हो जाएगा
- v15.0 LTS का support 15 जुलाई 2027 तक रहेगा
- v17.0 के 15 अक्टूबर 2026 को जारी होने और 28 जनवरी 2027 तक supported रहने की योजना है
v16.0/forgejodevelopment branch के नवीनतम changes से16.0-testdaily builds बनाकर test instance पर deploy किए जाते हैं- root OCI image, rootless OCI image, और binary उपलब्ध हैं
- build name स्थिर रहता है, लेकिन इसे हर दिन नए build से बदल दिया जाता है
1 टिप्पणियां
Lobste.rs की राय
@pushcx, suggest लिंक कहाँ गया? मैं
vcsटैग सुझाना चाहता था, लेकिन अब किसी भी पोस्ट में वह लिंक दिखाई नहीं दे रहासभी contributors, खासकर merge team का धन्यवाद। मुझे खास तौर पर इस बात पर गर्व है कि मैंने https://forgejo.org/2026-07-release-v16-0/#repository-units-hint के सुधार में योगदान दिया
पिछले कुछ दिनों से मैं https://forge.l3x.in पर अपने निजी उपयोग के लिए Forge सेटअप और ट्यून कर रहा था, और GitHub से धीरे-धीरे माइग्रेट भी कर रहा था। Forgejo self-hosting का अनुभव बहुत संतोषजनक रहा और मैं इसे ज़ोरदार तरीके से recommend करता हूँ
SourceHut के बारे में भी अच्छा सुना है, लेकिन मैंने खुद उसे इस्तेमाल नहीं किया, और फिलहाल मेरा फोकस Forgejo पर है
मल्टी-लाइन review और review comment positioning फीचर देख कर खुशी हुई।
$JOBमें code review नहीं होता, इसलिए मैं इसका आदी नहीं हूँ, लेकिन free/open source projects में भेजे गए patches पर review लेते समय मैं कई बार गलत समझ बैठा कि comment किस code block की ओर इशारा कर रहा हैgranular subscription settings को लेकर मैं बहुत उत्साहित हूँ। यह फीचर GitHub में इस्तेमाल करता था और Forgejo में इसकी बहुत कमी महसूस होती थी
GitHub में भी मैं लंबे समय से यह चाहता था कि issue और PR नए बनते ही subscribe करने का विकल्प मिले। इससे मैं उन projects की development activity फॉलो कर सकता जिनमें कभी-कभार योगदान देता हूँ, बिना 90% गैर-ज़रूरी notifications को एक-एक करके unsubscribe किए
मैंने Forgejo repository में feature request दर्ज की है: https://codeberg.org/forgejo/forgejo/issues/13494
मैं कुछ समय से अपने homelab में Forgejo चला रहा हूँ और इससे बहुत संतुष्ट हूँ। मैंने Github.com पर मौजूद लगभग 500 repositories migrate कीं, और यह प्रक्रिया भी लगभग बिना किसी परेशानी के पूरी हो गई। Forgejo और runner को मैं k8s के अंदर चला रहा हूँ
खास तौर पर यह बहुत सुविधाजनक लगा कि Forgejo Runner GitHub Actions जैसी ही workflow definitions इस्तेमाल करता है, और मुझे बस अपने local runner पर सही labels बनाने थे
GitHub को read-only छोड़ना है, हटाना है, या बराबरी के mirror के रूप में बनाए रखना है, यह अब तक तय नहीं किया है। लेकिन किसी भी स्थिति में अब मैं सीधे अपने Forgejo instance पर push करता हूँ, GitHub पर नहीं, और सब कुछ सेकंडों के स्तर पर कहीं अधिक तेज़ हो गया है