GitLab Critical Patch Release: 19.5.1, 19.4.3, 19.3.6, 19.2.9
Pada 21 Oktober 2026, kami telah mengeluarkan versi 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, 18.11.13 bagi GitLab Community Edition (CE) dan Enterprise Edition (EE).
Versi-versi ini mengandungi pembetulan pepijat dan keselamatan yang penting, dan kami sangat mengesyorkan agar semua pemasangan GitLab yang dikendalikan sendiri dinaik taraf kepada salah satu versi ini dengan segera. GitLab.com sudah menjalankan versi yang telah ditampal. Penyewa GitLab Dedicated yang menjalankan 19.3.5-internal0 dan 19.4.2-internal0 atau versi kemudian sudah mengandungi pembetulan ini dan tidak perlu mengambil tindakan.
GitLab mengeluarkan pembetulan bagi kerentanan dalam pengeluaran tampalan. Terdapat dua jenis pengeluaran tampalan: pengeluaran berjadual dan tampalan kritikal ad-hoc bagi kerentanan berkeparahan tinggi. Pengeluaran berjadual dikeluarkan dua kali sebulan pada hari Rabu kedua dan keempat. Untuk maklumat lanjut, sila lawati buku panduan pengeluaran dan FAQ keselamatan kami. Anda boleh melihat semua catatan blog pengeluaran GitLab di sini.
Bagi pembetulan keselamatan, isu-isu yang merincikan setiap kerentanan dijadikan awam pada issue tracker kami 90 hari selepas pengeluaran yang memuatkan tampalan tersebut.
Kami komited untuk memastikan semua aspek GitLab yang terdedah kepada pelanggan atau yang mengehoskan data pelanggan mematuhi standard keselamatan tertinggi. Untuk mengekalkan kebersihan keselamatan yang baik, adalah sangat disyorkan agar semua pelanggan menaik taraf kepada pengeluaran tampalan terkini bagi versi yang disokong. Anda boleh membaca lebih banyak amalan terbaik dalam menjamin keselamatan instans GitLab anda dalam catatan blog kami.
Tindakan yang Disyorkan
Kami sangat mengesyorkan agar semua pemasangan yang menjalankan versi yang terjejas oleh isu-isu yang diterangkan di bawah dinaik taraf kepada versi terkini secepat mungkin.
Apabila tiada jenis deployment tertentu (omnibus, source code, helm chart, dll.) bagi sesuatu produk disebut, ini bermakna semua jenis terjejas.
Pembetulan keselamatan
Jadual pembetulan keselamatan
CVE-2026-110264 – Isu Integer Overflow dalam Regular Expression Compiler menjejaskan GitLab CE/EE
GitLab telah memulihkan isu yang, dalam keadaan tertentu, mungkin telah membolehkan pengguna yang tidak disahkan melaksanakan kod sewenang-wenangnya pada pelayan GitLab disebabkan oleh integer overflow semasa mengompilasi regular expression yang direka khas.
Selain daripada keluaran patch standard kami, kami telah memport balik pembaikan ini ke versi GitLab CE/EE 18.11.13, 19.0.10, 19.1.9, dan 19.2.9.
Versi terjejas: GitLab CE/EE: semua versi dari 7.0 sebelum 18.11.13, 19.0 sebelum 19.0.10, 19.1 sebelum 19.1.9, 19.2 sebelum 19.2.9, 19.3 sebelum 19.3.6, 19.4 sebelum 19.4.3, dan 19.5 sebelum 19.5.1 CVSS 10.0 ( CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H )
Terima kasih kepada joaxcar kerana melaporkan kerentanan ini melalui program bug bounty HackerOne kami
Mengesan Percubaan Eksploitasi CVE-2026-110264
Pasukan keselamatan GitLab telah mengeluarkan dua pengesanan ancaman untuk menyokong pelanggan yang mempunyai instans yang dikendalikan sendiri, yang disenaraikan di bawah. Infrastruktur yang dikendalikan oleh GitLab, termasuk GitLab.com dan GitLab Dedicated, kekal ditampal.
- Runtuhan native worker Onigmo
- Letupan ralat render Org mode
CVE-2026-15723 – Isu Pengesahan Tidak Sesuai dalam Carian E-mel Auto-linking OmniAuth-to-LDAP Menjejaskan GitLab CE/EE
GitLab telah membetulkan satu isu yang, apabila OmniAuth SAML dan auto-linking LDAP kedua-duanya diaktifkan, pengguna yang disahkan boleh merampas akaun sedia ada yang disokong LDAP tanpa sebarang interaksi daripada pengguna sasaran, disebabkan pensterilan input yang tidak sesuai dalam laluan carian e-mel LDAP yang digunakan semasa pengaitan identiti OmniAuth.
Versi terjejas: GitLab CE/EE: semua versi dari 10.1 sebelum 19.3.6, 19.4 sebelum 19.4.3, dan 19.5 sebelum 19.5.1 CVSS 8.2 ( CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N )
Terima kasih kepada stealthy kerana melaporkan kerentanan ini melalui program bug bounty HackerOne kami
CVE-2026-112212 – Isu Keracunan Cache dalam Endpoint Penemuan OAuth/OIDC Menjejaskan GitLab CE/EE
GitLab telah membetulkan satu isu yang, dalam keadaan tertentu, pengguna tidak disahkan boleh meracuni dokumen penemuan OAuth/OIDC cache kongsi untuk mengarahkan semula aliran tertentu ke pelayan yang dikawal secara luaran, disebabkan kepercayaan tidak sesuai terhadap nilai yang dibekalkan pengguna semasa membina URL endpoint dalam respons penemuan cache.
Versi terjejas: GitLab CE/EE: semua versi dari 18.3 sebelum 19.3.6, 19.4 sebelum 19.4.3, dan 19.5 sebelum 19.5.1 CVSS 7.5 ( CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:L/A:L )
Kerentanan ini telah ditemui secara dalaman oleh ahli pasukan GitLab, Peter Arts
GitLab telah membetulkan satu isu yang, dalam keadaan tertentu, mungkin telah membolehkan pengguna yang disahkan dengan token ber-skop read_api mendapatkan semula alamat e-mel masuk sesuatu projek dan mencipta item kerja, dengan melepasi sekatan token tersebut, kerana penguatkuasaan skop yang tidak mencukupi pada medan GraphQL.
Versi Terjejas: GitLab CE/EE: semua versi bermula 18.2 sebelum 19.3.6, 19.4 sebelum 19.4.3, dan 19.5 sebelum 19.5.1 CVSS 6.8 ( CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N )
Terima kasih go7f0 kerana melaporkan kerentanan ini melalui program bug bounty HackerOne kami
GitLab telah membetulkan satu isu yang, apabila kunci keahlian SAML atau LDAP peringkat instans diaktifkan, pengguna yang disahkan mungkin telah memberikan atau menerima keahlian projek dan kumpulan di luar kawalan penyedia identiti, kerana penguatkuasaan kunci keahlian yang tidak lengkap terhadap permintaan yang diciptakan sebelum kunci itu diaktifkan.
Versi Terjejas: GitLab EE: semua versi bermula 12.0 sebelum 19.3.6, 19.4 sebelum 19.4.3, dan 19.5 sebelum 19.5.1 CVSS 5.9 ( CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N )
Terima kasih 3nvz kerana melaporkan kerentanan ini melalui program bug bounty HackerOne kami
GitLab telah membetulkan satu isu yang, dalam keadaan tertentu, pengguna yang tidak disahkan mungkin telah mendapatkan semula maklumat kelayakan dalaman pelayan yang sensitif, kerana penapisan header respons dalaman yang tidak wajar.
Versi Terjejas: GitLab CE/EE: semua versi bermula 17.6.5 sebelum 19.3.6, 19.4 sebelum 19.4.3, dan 19.5 sebelum 19.5.1 CVSS 4.3 ( CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N )
Terima kasih altair00 kerana melaporkan kerentanan ini melalui program bug bounty HackerOne kami
CVE-2026-13319 – Isu Authorization Bypass Through User-Controlled Key dalam API group milestones menjejaskan GitLab CE/EE
GitLab telah membetulkan satu isu yang mungkin telah membolehkan pengguna yang disahkan membaca metadata milestone, termasuk tajuk, huraian, dan laluan projek penuh, daripada projek persendirian sewenang-wenangnya di seluruh instans tanpa sebarang keahlian projek, kerana ketiadaan pemeriksaan kebenaran pada parameter penapis projek yang dibekalkan pengguna dalam API group milestones.
Versi Terjejas: GitLab CE/EE: semua versi dari 15.10 sebelum 19.3.6, 19.4 sebelum 19.4.3, dan 19.5 sebelum 19.5.1 CVSS 4.3 ( CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N )
Terima kasih a0xnirudh kerana melaporkan kerentanan ini melalui program bug bounty HackerOne kami
GitLab telah membaiki suatu isu yang dalam keadaan tertentu boleh membenarkan pengguna yang disahkan untuk mengakses ciri AI berbayar tanpa langganan yang sah disebabkan oleh pengesahan sisi pelayan yang tidak mencukupi dalam semakan kelayakan pengebilan.
Versi Terjejas: GitLab EE: semua versi dari 17.8 sebelum 19.3.6, 19.4 sebelum 19.4.3, dan 19.5 sebelum 19.5.1 CVSS 4.3 ( CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N )
Kerentanan ini telah ditemui secara dalaman oleh anggota pasukan GitLab Halil Coban
CVE-2026-105711 – Isu penggunaan cache yang mengandungi maklumat sensitif dalam paparan tajuk merge request menjejaskan GitLab CE/EE
GitLab telah membaiki suatu isu yang, apabila satu merge request dalam projek awam merujuk satu isu sulit daripada projek peribadi, pengguna yang disahkan tanpa keahlian projek mungkin telah membaca tajuk isu sulit tersebut, disebabkan oleh kunci cache fragmen bebas penonton yang secara tidak betul mengongsi kandungan dipaparkan yang disunting per pengguna merentas semua pengguna.
Versi Terjejas: GitLab CE/EE: semua versi dari 15.0 sebelum 19.3.6, 19.4 sebelum 19.4.3, dan 19.5 sebelum 19.5.1 CVSS 3.5 ( CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:N/A:N )
Terima kasih 20kilograma kerana melaporkan kerentanan ini melalui program bug bounty HackerOne kami
CVE-2026-14288 – Isu kawalan akses tidak sesuai dalam penguatkuasaan dasar kelulusan merge request menjejaskan GitLab EE
GitLab telah membaiki suatu isu yang dalam keadaan tertentu boleh membenarkan pengguna yang disahkan untuk memintas dasar kelulusan merge request yang diperlukan pada branch dilindungi disebabkan oleh kawalan akses tidak sesuai semasa penyegerakan peraturan kelulusan.
Versi Terjejas: GitLab EE: semua versi dari 17.4 sebelum 19.3.6, 19.4 sebelum 19.4.3, dan 19.5 sebelum 19.5.1 CVSS 3.1 ( CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N )
Terima kasih 3nvz kerana melaporkan kerentanan ini melalui program bug bounty HackerOne kami
CVE-2026-112326 – Isu pembersihan tidak sesuai pada pengecualian yang dilemparkan dalam penemuan keselamatan menjejaskan GitLab EE
GitLab telah membetulkan satu isu yang, dalam keadaan tertentu, mungkin telah membenarkan pengguna yang disahkan dengan kebenaran baca sahaja untuk memadam secara kekal rekod kerentanan sedia ada disebabkan logik pembersihan yang tidak wajar yang gagal membezakan rekod sedia ada daripada rekod baharu yang dicipta semasa pengendalian ralat.
Versi terjejas: GitLab EE: semua versi daripada 17.8 sebelum 19.3.6, 19.4 sebelum 19.4.3, dan 19.5 sebelum 19.5.1 CVSS 3.1 ( CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N )
Kerentanan ini telah ditemui secara dalaman oleh ahli pasukan GitLab Gregory Havenga
GitLab telah membetulkan satu isu yang, apabila pentadbir instans mengunci ketersediaan Duo bagi sebuah kumpulan, pengguna yang disahkan dengan kebenaran Owner kumpulan mungkin telah mengaktifkan semula pengeluaran data disokong AI kepada perkhidmatan pihak ketiga bagi kumpulan tersebut dan projek-projek turunannya, disebabkan kehalusan yang tidak mencukupi bagi kawalan penguatkuasaan kunci pentadbir.
Versi terjejas: GitLab EE: semua versi daripada 19.2 sebelum 19.3.6, 19.4 sebelum 19.4.3, dan 19.5 sebelum 19.5.1 CVSS 2.7 ( CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N )
Terima kasih kepada 3nvz kerana melaporkan kerentanan ini melalui program bug bounty HackerOne kami
Pembetulan pepijat
19.5.1
- Backport halaman dokumen 19.5 yang hilang daripada cabang stabil
- Backport nota keluaran 19.5 ke 19-5-stable-ee
- Backport ‘Abaikan pemboleh ubah CI dalam spesifikasi lalai eksperimen roulette’
- Backport ‘Karantinakan spesifikasi pertanyaan carian pemilih skop’
- Backport siaran keluaran GitLab Runner 19.5 ke cabang stabil terkini
- Naik taraf rujukan CNG helm chart kepada v10.5.0
- Backport ‘Tetapkan GITLAB_BIN_DIR untuk Duo CLI dan naik taraf workflow image kepada v0.0.23’ ke dalam 19.5
- Backport ‘Kembalikan repository_storage daripada maklumat projek Orbit dalaman’ ke 19.5
- Backport ‘Workhorse: kembalikan 429 apabila Gitaly menolak GetArchive dengan ResourceExhausted’
- Backport ‘Peruntukkan IID pipeline untuk pipeline dasar pelaksanaan pipeline’
- Backport ‘Pautkan butang semak senarai commit kepada laluan fail semasa’ ke 19.5
- Backport “Muatkan hanya lajur snippet yang diperlukan semasa menyandarkan repository”
- [19.5] Kemas kini gitlab-markup kepada 2.2.0 dan rdoc kepada 8.1.0
- Backport ‘Pin tarikh Baseline dalam .browserslistrc’ ke dalam 19.5
- Backport: Cache item katalog aliran asas setiap permintaan
- Baiki jenis perubahan work item dan milestone anak dengan medan features
- Backport ‘Bangkitkan Rouge Fallthrough tanpa menangkap backtrace’ ke 19.5
- Backport ‘Tambah entri What’s New untuk 202610150001_19_05’
- Backport ‘Kembalikan 404 untuk arkib Orbit dan changed_paths apabila repository tidak wujud’ ke 19.5
- Backport ‘Hentikan jobs yang tiada fetch daripada meminjam git object pool’ dan ‘Baiki git alternates untuk pipelines downstream’
- [19.5] Tambah patch overflow ID repeat regexp Ruby untuk 3.3, 3.4 dan 4.0
- [19.5] Tambah patch overflow ID repeat regexp Ruby untuk 3.3, 3.4 dan 4.0
19.4.3
- Tambah image siphon-tables yang membungkus definisi jadual Siphon CDC [19.4]
- [19.4] Tambah patch overflow ID repeat regexp Ruby untuk 3.3, 3.4 dan 4.0
- Backport “Dedahkan tarikh tagger opt-in dalam ListRefs” ke 19.4
- Backport ‘Buang event merge_request yang lapuk daripada triggers Developer flow’ ke 19.4
- Backport ‘Tambah ralat fallback IP ke dalam Gitlab::HTTP HTTP_ERRORS’ ke 19.4
- Backport ‘Sambung semula penyegerakan pengayaan CVE merentas fail eksport’ ke 19.4
- Backport ‘Baiki diffs terpotong untuk pengguna yang keluar’ ke dalam 19.4
- Backport ‘Tanggalkan flag trusted daripada MCP tools yang dibekalkan klien dalam Workhorse’ ke 19.4
- Backport ‘Baiki penggabungan fast-forward apabila tag berkongsi nama branch sasaran’ ke 19.4
- Backport ‘Abaikan pemboleh ubah CI dalam specs eksperimen roulette lalai’
- Backport ‘Tambah claims ID token yang hilang untuk pipelines MR fork’ ke 19.4
- Backport “Muatkan hanya snippet columns yang diperlukan semasa menyandarkan repository”
- Backport ‘Tetapkan GITLAB_BIN_DIR untuk Duo CLI dan bump workflow image ke v0.0.23’ ke dalam 19.4
- Backport ‘Pin tarikh Baseline dalam .browserslistrc’ ke dalam 19.4
- Backport ‘Kembalikan repository_storage daripada maklumat projek Orbit dalaman’ ke 19.4
- Backport ‘Workhorse: kembalikan 429 apabila Gitaly menolak GetArchive dengan ResourceExhausted’
- Backport ‘Peruntukkan pipeline IID untuk pipelines dasar pelaksanaan pipeline’
- [19.4] Kemas kini gitlab-markup ke 2.2.0 dan rdoc ke 8.1.0
- Backport ‘Kembalikan 404 untuk arkib Orbit dan changed_paths apabila repository tidak wujud’ ke 19.4
- Backport ‘Bangkitkan Rouge Fallthrough tanpa menangkap backtrace’ ke 19.4
- Backport ‘Buang batch-load committer yang tidak perlu daripada medan mergeability’ ke 19.4
- Backport “Penyesuaian terhadap pengalaman Wiki” ke 19.4
- [19.4] Tambahkan tampalan overflow ID berulang regexp Ruby untuk 3.3, 3.4 dan 4.0
19.3.6
- [19.3] Tambahkan tampalan overflow ID berulang regexp Ruby untuk 3.3, 3.4 dan 4.0
- Backport “Dedahkan tarikh tagger opt-in dalam ListRefs” ke 19.3
- Backport ‘Tambahkan ralat fallback IP kepada Gitlab::HTTP HTTP_ERRORS’ ke 19.3
- Backport ‘Sambung semula penyegerakan pengayaan CVE merentas fail eksport’ ke 19.3
- Backport ‘Perbaiki fast-forward merge apabila tag berkongsi nama target branch’ ke 19.3
- Backport ‘Buang trusted flag daripada MCP tools yang dibekalkan oleh klien dalam Workhorse’ ke 19.3
- Backport ‘Tambahkan claims ID token yang hilang untuk fork MR pipelines’ ke 19.3
- Backport “Muatkan hanya lajur snippet yang diperlukan semasa membuat sandaran repository”
- Backport ‘Workhorse: kembalikan 429 apabila Gitaly menolak GetArchive dengan ResourceExhausted’
- Backport ‘Pin tarikh Baseline dalam .browserslistrc’ ke 19.3
- Backport ‘Kembalikan repository_storage daripada maklumat projek Orbit dalaman’ ke 19.3
- [19.3] Kemas kini gitlab-markup kepada 2.2.0 dan rdoc kepada 8.1.0
- Backport “Penyesuaian kepada pengalaman Wiki” ke 19.3
- Backport ‘Bangkitkan Rouge Fallthrough tanpa menangkap backtrace’ ke 19.3
- Backport ‘Kembalikan 404 untuk archive Orbit dan changed_paths apabila repository tiada’ ke 19.3
- Naik taraf Prometheus kepada versi 3.13.2 (19-3-stable)
- [19.3] Tambahkan tampalan overflow ID berulang regexp Ruby untuk 3.3, 3.4 dan 4.0
19.2.9
- [19.2] Tambahkan tampalan overflow ID berulang regexp Ruby untuk 3.3, 3.4 dan 4.0
- Backport ‘Tambahkan claims ID token yang hilang untuk fork MR pipelines’ ke 19.2
- [19.2] Kemas kini gitlab-markup kepada 2.2.0 dan rdoc kepada 8.1.0
- Naik taraf Prometheus kepada versi 3.13.2 (19-2-stable)
- [19.2] Tambahkan tampalan overflow ID berulang regexp Ruby untuk 3.3, 3.4 dan 4.0
19.1.9
- Naik taraf websocket-driver daripada 0.8.0 kepada 0.8.2 (backport ke 19-1-stable-ee)
- Backport ‘Perbaiki pertindihan migrasi backfill pada partisi CI kosong’ ke 19-1-stable-ee
- Backport ‘Kemas kini GitLab Elasticsearch Indexer kepada 5.14.14’ ke 19.1
- Backport ‘Buang penegasan kegagalan sistem dalam spec secrets’ ke 19-1-stable-ee
- Naik taraf gitlab-shell kepada 14.56.1 dalam 19.1 (perbaikan spin CPU gitlab-sshd)
- Naik taraf PostgreSQL kepada versi 17.11 (19-1-stable)
- Naik taraf Consul kepada versi 1.22.7 (19-1-stable)
- Gabung branch ‘sdg-fips-staging-upload-internal-release’ ke 19.1
- Backport !9672 ke 19-1-stable: SELinux: tambah peraturan sshd_session_t dan sshd_auth_t untuk RHEL 10 / OpenSSH 9.8+
- Backport !9744 ke 19-1-stable: Benarkan carian pantas kunci SSH oleh sshd di bawah SELinux
- Layan keadaan streaming Patroni sebagai nod berjalan (backport ke 19-1-stable)
- [19.1] Tambah patch double-free bagi repeat-range regexp Ruby untuk 3.3 dan 3.4
- [19.1] Tambah patch double-free bagi repeat-range regexp Ruby untuk 3.3 dan 3.4
- [19.1] Kemas kini gitlab-markup kepada 2.2.0 dan rdoc kepada 8.1.0
19.0.10
- Tingkatkan timeout muat naik bagi staging dan production daripada 35m kepada 60m
- [19.0] Tambah patch double-free bagi repeat-range regexp Ruby untuk 3.3 dan 3.4
- [19.0] Tambah patch double-free bagi repeat-range regexp Ruby untuk 3.3 dan 3.4
- [19.0] Kemas kini gitlab-markup kepada 2.2.0 dan rdoc kepada 8.1.0
18.11.13
- Tingkatkan timeout muat naik bagi staging dan production daripada 35m kepada 60m
- Kemas kini Keselamatan Mattermost pada 13 Ogos 2026
- [18.11] Tambah patch double-free bagi repeat-range regexp Ruby untuk 3.3 dan 3.4
- [18.11] Tambah patch double-free bagi repeat-range regexp Ruby untuk 3.3 dan 3.4
Patch ini termasuk migrasi pangkalan data yang mungkin mempengaruhi proses naik taraf anda.
Kesan terhadap pemasangan anda:
- Instan nod tunggal: Patch ini akan menyebabkan masa henti semasa naik taraf kerana migrasi mesti selesai sebelum GitLab boleh dimulakan.
- Instan nod berbilang: Dengan prosedur naik taraf tanpa masa henti yang sewajarnya, patch ini boleh diterapkan tanpa masa henti.
Migrasi biasa
Versi berikut termasuk migrasi biasa yang dijalankan semasa proses naik taraf:
- 19.4.3
- 19.3.6
Migrasi post-deploy
Versi berikut termasuk migrasi post-deploy yang boleh dijalankan selepas naik taraf:
- 19.4.3
Untuk mengetahui lebih lanjut tentang kesan naik taraf terhadap pemasangan anda, lihat:
- Naik taraf tanpa masa henti untuk penggelaran nod berbilang
- Naik taraf piawai untuk pemasangan nod tunggal
Pengemaskinian
Untuk mengemas kini GitLab, lihat halaman Update. Untuk mengemas kini GitLab Runner, lihat halaman Updating the Runner.
Terima Pemberitahuan Patch
Untuk menerima pemberitahuan blog patch yang dihantar ke peti masuk anda, lawati halaman contact us kami. Untuk menerima pemberitahuan keluaran melalui RSS, langgan suapan RSS keluaran patch kami atau suapan RSS kami untuk semua keluaran.
Sumber Rujukan:
- Artikel asal: GitLab Blog
- Diterjemah daripada artikel asal ke Bahasa Melayu oleh AI Editorial – haqis.com