VulCode

Open source contributions: 125 merged changes in 65 projects

Fixes that maintainers of other people's projects reviewed and merged into their code. From Proxmox VE and the Zed editor to PHP, Go and .NET libraries.

Open source
Merged changes by language543,559stars on GitHub
  1. Go33 changesVersity Gateway (9), Ebitengine (3) and 19 more
  2. PHP32 changesKanboard (4), PHPMailer (3) and 18 more
  3. JavaScript25 changescompromise (21), Autoprefixer (3), spacetime (1)
  4. C#11 changesILSpy (3), NLog (2) and 5 more
  5. Rust10 changesSonic (5), Zed (1) and 4 more
  6. Python6 changespydantic-extra-types (2), funcy (1) and 3 more
  7. Perl and JavaScript6 changesProxmox VE (6)
  8. TypeScript2 changesvscode-neovim (1), MailDev (1)
A square is one change merged by the project's maintainers, the squares of one project stand together, their number in brackets.

65 projects, each with a change of ours merged

The colour of a circle is the repository's language, and circles of one language stay together. The list of the largest starts with Proxmox VE and ILSpy, then the rest follow by stars multiplied by the number of our changes.

Composer1PHPMailer3Monolog1Carbon1Whoops2Doctrine Lexer142121122111113urfave/cli1chezmoi2goquery2311111191111111111Zed1Sonic51111ILSpy3OpenRA1Polly11122321111121116

Circle size: repository stars. Number in the circle: our merged changes. Empty circle: a project outside GitHub.

Every project by language

Groups from the language with the most projects, inside a group from the project with the most of our changes. The name leads to the project's page.

Go

21
  • Versity Gatewayversity/versitygw93,007

    Newest: fix: compute IsTruncated from the absolute index in ListMultipartUploads (8 Oct 2026)

  • Ebitenginehajimehoshi/ebiten313,546

    Newest: audio: run the tests waiting on real time on synctest's fake clock (6 Oct 2026)

  • chezmoitwpayne/chezmoi221,895

    Newest: fix: Don't double backslashes in shellQuote (11 Oct 2026)

  • goqueryPuerkitoBio/goquery214,989

    Newest: Expose html parse options (addresses #139, noscript) (30 Sep 2026)

  • urfave/cliurfave/cli124,287

    Newest: fix: use prefixFor for BoolWithInverseFlag names and aliases (8 Oct 2026)

PHP

20
  • Kanboardkanboard/kanboard49,904

    Newest: fix(ical): only accept known columns as the calendar start date (11 Oct 2026)

  • PHPMailerPHPMailer/PHPMailer322,310

    Newest: Don't send QUIT while DATA is in progress (4 Oct 2026)

  • Spiral Testingspiral/testing37

    Newest: Ignore line endings in scaffolder output assertions (4 Oct 2026)

  • Whoopsfilp/whoops213,230

    Newest: Stop output buffer cleanup at buffers that cannot be removed (3 Oct 2026)

  • Predispredis/predis27,778

    Newest: Fix ConnectionErrorProof response count on single node read errors (8 Oct 2026)

C#

7
  • ILSpyicsharpcode/ILSpy326,543

    Newest: Fix #4137: Keep nint in conditionals with mixed native int branches (11 Oct 2026)

  • NLogNLog/NLog26,547

    Newest: CachedLayoutRendererWrapper - Added CachedUntil to reset cached value when hour or day changes (11 Oct 2026)

  • Markdigxoofx/markdig25,341

    Newest: Fix: keep trailing content out of an unmatched emphasis closer (#743) (19 Sep 2026)

  • OpenRAOpenRA/OpenRA117,537

    Newest: Preserve player definition order in MapPlayers (11 Oct 2026)

  • PollyApp-vNext/Polly114,242

    Newest: Return null from FaultGenerator when no fault is generated (6 Sep 2026)

Rust

6
  • Sonicvaleriansaliou/sonic521,357

    Newest: fix(core): Back up and restore FST buckets again (5 Oct 2026)

  • Zedzed-industries/zed191,587

    Newest: openai_subscribed: Keep loading slow model catalogs in the background (1 Oct 2026)

  • PagefindPagefind/pagefind15,511

    Newest: fix(pagefind): skip exclude selectors that cannot be parsed (13 Sep 2026)

  • instamitsuhiko/insta12,974

    Newest: Remove trailing semicolon from assert_binary_snapshot! macro body (10 Oct 2026)

  • rssrust-syndication/rss1504

    Newest: Fix image height validation to allow the spec maximum of 400 (5 Sep 2026)

Python

5
  • pydantic-extra-typespydantic/pydantic-extra-types2338

    Newest: Add Sha256Str type (3 Oct 2026)

  • funcySuor/funcy13,510

    Newest: fix: _cut_iter yields wrong-length/wrong-content parts when step > n (10 Sep 2026)

  • python-benedictfabiocaccamo/python-benedict11,606

    Newest: Fix RecursionError when assigning a benedict into its own nested descendant (#592) (29 Sep 2026)

  • pydashdgilland/pydash11,447

    Newest: Fix `fill` growing the array when `start` comes after `end` (20 Sep 2026)

  • pytimeparsewroberts/pytimeparse1299

    Newest: Fix sign character class accidentally matching a pipe `|` (3 Oct 2026)

JavaScript

3
  • compromisespencermountain/compromise2112,161

    Newest: find payloads by term id so they survive a .remove() (6 Oct 2026)

  • Autoprefixerpostcss/autoprefixer322,209

    Newest: Add `/* autoprefixer: ignore next warning */` control comment (7 Oct 2026)

  • spacetimespencermountain/spacetime14,107

    Newest: Fix hour() setter clamping to an invalid hour (24) (8 Sep 2026)

TypeScript

2
  • vscode-neovimvscode-neovim/vscode-neovim17,753

    Newest: Keep visual selections whole over characters outside the BMP (23 Sep 2026)

  • MailDevmaildev/maildev16,135

    Newest: Build CID attachment URLs against the API route and base path (22 Sep 2026)

Perl and JavaScript

1
  • Proxmox VEpve-manager, proxmox-widget-toolkit6not on GitHub

    Newest: fix #8015: ui: upload: let the user choose the .img image format (29 Sep 2026)

Merged changes over the last 37 days

125 merged changes in 65 projects. A column is every change of one day, the colour the repository's language.

  • Go
  • PHP
  • JavaScript
  • C#
  • Rust
  • Perl and JavaScript
  • Python
  • TypeScript

The latest merged changes

The latest changes the projects' maintainers merged into their code, titled as the repository records them, with the address where anyone can check them.

Proxmox VE: fixes through a mailing list

Proxmox does not take pull requests. Patches go by email to pve-devel after signing a contributor licence agreement, and a maintainer applies them to the repository. Each patch of ours answers a Bugzilla report and carries its number.

Our patches in Proxmox VE6 patches, 5 reports
pve-manager5 patches
  • #6475Upload shows only the name of the file
  • #7108ipset no longer offers aliases already added
  • #8015Choosing the .img format on upload
  • #8015Choosing the .img format on download from a URL
  • #5608Resource mapping names validated as the API does
proxmox-widget-toolkit1 patch
  • #6943The network selector shows comments of IPv6 entries
  1. A Bugzilla report

    A numbered bug described by users. Our patches answer these reports:

    • #64751 patch
    • #71081 patch
    • #80152 patches
    • #56081 patch
    • #69431 patch
  2. A patch via git send-email

    To the pve-devel list, explained in the email. From us: 6 patches.

  3. Review on the list

    Review and testing by the project's maintainers, on the same list.

ILSpy: fixes in the .NET decompiler

A .NET decompiler: it turns compiled assemblies back into readable C# code. The repository has 26,543 stars on GitHub, and its maintainers have merged 3 changes from us.

  1. What was broken

    The C# compiler stores a delegate created from a method group in a static cache field, so it does not have to build it again on every call. ILSpy, the open source .NET decompiler, recognises that pattern and turns it back into readable code. The transform, however, assumed the cache field would be read exactly once. With _ = (Action<int>)M; the delegate is created and immediately discarded, so the field is never read. The pattern did not match, and the decompiled output kept a field named <>O.<0>__M, a name that cannot be used in C#. That code does not compile (issue #3965).

  2. What we changed

    When the cache field has no reads at all, the cache check is replaced by the delegate construction it guarded. The output now contains new Action<int>(M);, which compiles and does the same thing.

  3. How we tested it

    We added an Issue3965 test case with nine scenarios: a single discarded conversion, a conversion before and after a use of the same method, several conversions in a row, two to the same method, and conversions inside a condition and a loop. Each has its expected output written out, and the test compares the decompiled result against it.

  4. What it taught us

    A decompiler has to recognise the patterns a compiler emits, or it leaves optimisation debris in the code. Each fix meant reading exactly what the C# and VB compilers emit.

Projects by what they do

Dates, logs, email and configuration come back in every language, so we have fixed the same kinds of libraries in several of them. A row is an area, a column the repository language, a square one merged change.

Developer tools

16 projects, 6 languages

Editors, a decompiler, tests, API docs, packages, CSS, the command line and game engines.

JavaScriptAutoprefixer
TypeScriptvscode-neovim

Data and configuration

13 projects, 5 languages

CSV, configuration and dotfiles, jq, URIs, API serialisation and data validation.

Dates and time

7 projects, 4 languages

Dates, time zones and time written in words.

JavaScriptspacetime

Markdown, HTML and text

7 projects, 5 languages

Markdown and HTML parsers, RSS, a lexer and natural language.

Rustrss
JavaScriptcompromise

Logs and errors

5 projects, 2 languages

Logging, the error page and retrying after a failure.

Search and storage

5 projects, 3 languages

Search engines, S3-compatible storage, a bitmap index and a Redis client.

Self-hosted applications

5 projects, 4 languages

Virtualisation, a game server panel, hosting billing, kanban and CI/CD.

Perl and JavaScriptProxmox VE

Helper functions

4 projects, 2 languages

Collections of helper functions and statistics.

Email

3 projects, 3 languages

Sending, a test SMTP server and checking addresses.

TypeScriptMailDev

Questions about contributions

Where these changes come from, how we pick projects, what licence our code is under and whether we can fix something in your library.

Need a team that fixes bugs at the source?

Describe the problem with a library or project. We reply within an hour.