# Open-source contributions

> One page from jmrp.io, published as markdown. Index: https://jmrp.io/llms.txt

Canonical: https://jmrp.io/projects/contributions/
Language: en
Alternate: https://jmrp.io/es/projects/contributions/index.md
Updated: 2026-09-27
License: https://jmrp.io/license/
Build-Date: 2026-09-27

Snapshot as of September 27, 2026 · 95 pull and merge requests and 44 issues in 52 repositories that are not mine, on GitHub and GitLab.

- code & docs PRs and MRs merged: 46
- listing PRs merged: 14
- code PRs and MRs under review: 17
- accepted answers in GitHub Discussions: 17

Projects with merged code, by main language: Go 5, TypeScript 3, Shell 2, C++ 1, HTML 1, Ruby 1, Rust 1

## Highlights

- **TriliumNext/Trilium #11448** (TypeScript, +162 −29 · 6 files, 38032★): Made TOTP codes single-use at login, as RFC 6238 requires, and added one time step of clock-drift tolerance, with tests. (GitHub, https://github.com/TriliumNext/Trilium/pull/11448)
- **NginxProxyManager/nginx-proxy-manager #5836** (TypeScript, +85 −1 · 4 files, 34250★): Tokens issued before a password change are now rejected, so resetting a password ends the sessions the old one opened; covered by a Cypress API test. (GitHub, https://github.com/NginxProxyManager/nginx-proxy-manager/pull/5836)
- **modelcontextprotocol/go-sdk #1274** (Go, 5 PRs · +663 −34 · 19 files, 5160★): Five merged changes to the official MCP Go SDK (#1255, #1268, #1269, #1273, #1274): four bring protocol-version negotiation, cancellation and pre-initialize handling in line with the specification, and one adds HasParams so middleware can tell whether a request carries params; each with tests. (GitHub, https://github.com/modelcontextprotocol/go-sdk/pull/1274)
- **gitlab-org/gitlab !255300** (Ruby, +797 −3 · 11 files, 6146★): Revoked identities in a GPG key are no longer listed or accepted as verified emails, so a commit signed under a revoked UID stops showing as Verified; covered by specs with new GnuPG fixtures. (GitLab, https://gitlab.com/gitlab-org/gitlab/-/merge_requests/255300)
- **henrygd/beszel #2327** (Go, +273 −0 · 3 files, 25798★): Added TRUSTED_PROXY_IPS, an IP/CIDR allowlist so the trusted auth header is only honoured from the reverse proxy, and documented it. (GitHub, https://github.com/henrygd/beszel/pull/2327)
- **acmesh-official/acme.sh #7237** (Shell, +3 −0 · 1 file, 47735★): Fixed DNS manual mode reusing the previous certificate on renewal (and failing on first issuance) by polling the ACME order the current run created. (GitHub, https://github.com/acmesh-official/acme.sh/pull/7237)
- **modelcontextprotocol/rust-sdk #1300** (Rust, +371 −9 · 6 files, 3957★): Float fields now decode through serde_json::Number, so a build that turns on serde_json's arbitrary_precision (the OpenAI Codex CLI is one) no longer drops tool results, progress notifications and sampling requests that carry a decimal; with tests. (GitHub, https://github.com/modelcontextprotocol/rust-sdk/pull/1300)

## Code and documentation

- **GitLab Go client** (GitLab): 15 merged · 2 open
  - gitlab-org/api/client-go !3063 feat: fix the defects and gaps recorded against the GitLab API [+9,641 −1,090 · 141 files] (open, under review)
  - gitlab-org/api/client-go !3053 feat(snippets): add the four fields the snippet entity sends to Snippet [+32 −6 · 3 files] (merged in 1 day)
  - gitlab-org/api/client-go !3052 feat(packages): add ConanPackageName, CreatorID and Versions to Package [+186 −0 · 3 files] (merged in 15 days)
  - gitlab-org/api/client-go !3051 feat(namespaces): add the eight fields the namespace entity sends to Namespace [+60 −29 · 2 files] (merged in 5 days)
  - gitlab-org/api/client-go !3050 feat(events): add Imported, ImportedFrom and WikiPage to both event structs [+169 −40 · 2 files] (merged in 5 days)
  - gitlab-org/api/client-go !3049 feat(deploy_keys): add LastUsedAt and UsageType to both deploy key structs [+13 −1 · 2 files] (merged in 1 day)
  - gitlab-org/api/client-go !3048 feat(system_hooks): add seven fields GitLab sends to the Hook struct [+80 −34 · 2 files] (open, under review)
  - gitlab-org/api/client-go !3047 feat(group_serviceaccounts): add PublicEmail and UnconfirmedEmail to GroupServiceAccount [+40 −4 · 2 files] (merged in 12 h)
  - gitlab-org/api/client-go !3046 fix(group_scim): correct the GroupSCIMIdentity json tag to extern_uid [+14 −3 · 2 files] (merged in 6 h)
  - gitlab-org/api/client-go !3045 feat(secure_files): add FileExtension to SecureFile [+13 −4 · 2 files] (merged in 16 h)
  - Showing the 10 most recent. [All my merge requests to gitlab-org/api/client-go on GitLab](https://gitlab.com/gitlab-org/api/client-go/-/merge_requests?author_username=jmrp&state=all)
- **MCP Rust SDK** (GitHub): 1 merged
  - modelcontextprotocol/rust-sdk #1300 fix(model): decode float fields through serde_json::Number [+371 −9 · 6 files] (merged in 1 day)
- **MCP Go SDK** (GitHub): 5 merged · 3 open
  - modelcontextprotocol/go-sdk #1293 mcp: extend the write deadline on every write to a keep-alive stream [+112 −1 · 2 files] (open, under review)
  - modelcontextprotocol/go-sdk #1274 mcp: record the negotiated protocol version on every path that records one [+167 −12 · 6 files] (merged in 6 days)
  - modelcontextprotocol/go-sdk #1273 mcp: refuse a call on a legacy session before initialize [+166 −4 · 2 files] (merged in 2 days)
  - modelcontextprotocol/go-sdk #1269 mcp: add HasParams so middleware can tell whether params are present [+88 −3 · 5 files] (merged in 22 h)
  - modelcontextprotocol/go-sdk #1268 mcp: classify the per-request protocol version by membership [+140 −8 · 3 files] (merged in 22 h)
  - modelcontextprotocol/go-sdk #1267 mcp: send no response for a request the peer cancelled [+439 −14 · 9 files] (open, under review)
  - modelcontextprotocol/go-sdk #1266 mcp: choose the interaction pattern from the negotiated protocol version [+417 −10 · 4 files] (open, under review)
  - modelcontextprotocol/go-sdk #1255 mcp: carry a cancelled notification's reason as the request's cancel cause [+102 −7 · 3 files] (merged in 2 days)
- **GitLab** (GitLab): 11 merged · 5 open
  - gitlab-org/cells/http-router !1354 Sync routes snapshot: add the merge request cancel_auto_merge API route [+68 −38 · 2 files] (merged in 1 h)
  - gitlab-org/gitlab !256936 Expose the instance plan in the metadata API [+203 −3 · 17 files] (open, under review)
  - gitlab-org/gitlab !255704 Document and deprecate cancel_merge_when_pipeline_succeeds [+82 −154 · 5 files] (open, under review)
  - gitlab-org/gitlab !255702 Add cancel_auto_merge merge request API endpoint [+325 −1 · 7 files] (open, under review)
  - gitlab-org/gitlab !255300 Ignore revoked UIDs when listing the identities of a GPG key [+797 −3 · 11 files] (merged in 9 days)
  - gitlab-org/gitlab !254699 Fix two project group listing response entity annotations [+25 −25 · 2 files] (open, under review)
  - gitlab-org/gitlab !254698 Fix three job token scope response entity annotations [+24 −6 · 2 files] (merged in 4 days)
  - gitlab-org/gitlab !254552 Document the snippet clone URLs and the public snippet import fields [+60 −20 · 2 files] (merged in 14 days)
  - gitlab-org/gitlab !254547 Document conan_package_name and correct the package versions object [+19 −14 · 1 file] (merged in 13 days)
  - gitlab-org/gitlab !254543 Document the namespace compute minute and storage attributes [+8 −1 · 1 file] (merged in 13 days)
  - Showing the 10 most recent. [All my merge requests to gitlab-org/gitlab on GitLab](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?author_username=jmrp&state=all)
- **Renovate** (GitHub): 1 merged
  - renovatebot/renovate #45901 docs(hostRules): replace the stale matchHost port warning [+5 −4 · 1 file] (merged in 1 h)
- **Beszel** (GitHub): 2 merged
  - henrygd/beszel #2327 feat(hub): add TRUSTED_PROXY_IPS allowlist for TRUSTED_AUTH_HEADER [+273 −0 · 3 files] (merged in 6 days)
  - henrygd/beszel-docs #82 docs: document TRUSTED_PROXY_IPS for the trusted auth header [+9 −0 · 1 file] (merged in 6 days)
- **Trilium Notes** (GitHub): 2 merged
  - TriliumNext/Trilium #11448 TOTP: accept each code only once, and one time step of clock drift [+162 −29 · 6 files] (merged in 12 h)
  - TriliumNext/Trilium #11368 Markdown: register slash commands as completion sources instead of a second autocompletion extension [+265 −202 · 2 files] (merged in 11 h)
- **Podman** (GitHub): 1 merged
  - podman-container-tools/podman #29730 Document rootless bind-mount access through an unmapped parent [+24 −0 · 1 file] (merged in 7 days)
- **acme.sh** (GitHub): 1 merged
  - acmesh-official/acme.sh #7237 Poll the order this run created, not the one the previous cert came from [+3 −0 · 1 file] (merged in 4 days)
- **Nginx Proxy Manager** (GitHub): 1 merged
  - NginxProxyManager/nginx-proxy-manager #5836 Invalidate tokens issued before a password change [+85 −1 · 4 files] (merged in 2 days)
- **OpenModScan** (GitHub): 1 merged
  - sanny32/OpenModScan #74 Wire --version and --help flags to existing display functions [+51 −3 · 6 files] (merged in 2 days)
- **Portainer MCP** (GitHub): 1 merged
  - portainer/portainer-mcp #45 feat: add local (non-edge) Docker Compose stack management tools [+2,450 −2 · 17 files] (merged in 1 day)
- **al-folio** (GitHub): 3 merged
  - alshedivat/al-folio #1339 CV Restyled [+350 −14 · 7 files] (merged in 83 days)
  - alshedivat/al-folio #481 Better SEO, OpenGraph, schema.org and clean generated code [+899 −605 · 31 files] (merged in 30 days)
  - alshedivat/al-folio #436 Update deploy.yml [+1 −1 · 1 file] (merged in 2 days)
- **YunoHost coturn** (GitHub): 1 merged
  - YunoHost-Apps/coturn_ynh #17 Minor bug cron_coturn [+1 −1 · 1 file] (merged in 8 h)
- **webpage** (GitHub): 1 open
  - probe-rs/webpage #301 Fix the Olimex udev rules: drop the 0x prefix [+4 −4 · 1 file] (open, under review)
- **OpenCloud** (GitHub): 1 open
  - opencloud-eu/web-extensions #575 docs(maps): explain where the location data comes from [+21 −0 · 1 file] (open, under review)
- **Kong** (GitHub): 1 open
  - Kong/kong #15019 fix(dns): do not cache answers with a zero TTL [+56 −2 · 3 files] (open, under review)
- **webdav-client** (GitHub): 1 open
  - perry-mitchell/webdav-client #418 fix: keep the whole reason phrase in stat errors [+58 −2 · 3 files] (open, under review)
- **Glance** (GitHub): 1 open
  - glanceapp/glance #1075 Fall back to the feed URL when a feed's own link is relative [+74 −18 · 2 files] (open, under review)
- **Electron asar** (GitHub): 1 open
  - electron/asar #464 fix: extract archives with 2 GiB or more of data [+172 −56 · 3 files] (open, under review)
- **go-selfupdate** (GitHub): 1 open
  - creativeprojects/go-selfupdate #58 fix: replace unmaintained golang.org/x/crypto/openpgp with ProtonMail fork [+19 −8 · 5 files] (open, under review)

Not merged (14), counted only

## Distribution and listings

- **phonometry**: [conda-forge](https://github.com/conda-forge/staged-recipes) (under review), [awesome-python-scientific-audio](https://github.com/faroit/awesome-python-scientific-audio) (merged), [awesome-acoustic](https://github.com/Nitnelav/awesome-acoustic) (merged)
- **gitlab-mcp-server**: [Docker MCP Registry](https://github.com/docker/mcp-registry) (under review), [winget](https://github.com/microsoft/winget-pkgs) (8 merged), [awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers) (merged)
- **libgen-mcp**: [Docker MCP Registry](https://github.com/docker/mcp-registry) (under review), [winget](https://github.com/microsoft/winget-pkgs) (under review)
- **mikroscope**: [awesome-mikrotik](https://github.com/jlbyh2o/awesome-mikrotik) (under review)
- **cs-routeros-bouncer**: [awesome-crowdsec](https://github.com/wolffcatskyy/awesome-crowdsec) (merged), [CrowdSec Hub](https://github.com/crowdsecurity/hub) (2 merged)

## Accepted answers in GitHub Discussions (17)

- garethgeorge/backrest #1398: [Using date in backup path possible?](https://github.com/garethgeorge/backrest/discussions/1398#discussioncomment-18615649)
- haugene/docker-transmission-openvpn #3042: [I've clearly misconfigured something...](https://github.com/haugene/docker-transmission-openvpn/discussions/3042#discussioncomment-18615420)
- starship/starship #7750: [Is the COPR for Fedora having issues?](https://github.com/starship/starship/discussions/7750#discussioncomment-18614615)
- lemker/unifi-os-server #209: [does it work on hosts without systemd?](https://github.com/lemker/unifi-os-server/discussions/209#discussioncomment-18606653)
- jeffvli/feishin #2536: [Firewall Settings for DLNA Discovery](https://github.com/jeffvli/feishin/discussions/2536#discussioncomment-18605963)
- opencloud-eu/opencloud #3587: [How to use what kind of geotagged images with maps app?](https://github.com/opencloud-eu/opencloud/discussions/3587#discussioncomment-18605569)
- podman-container-tools/podman #29817: [How does Podman work with the different firewall providers? I can't access a web server migrated from Docker.](https://github.com/podman-container-tools/podman/discussions/29817#discussioncomment-18586958)
- borgbase/vorta #2561: [Share backup with 2 users](https://github.com/borgbase/vorta/discussions/2561#discussioncomment-18582580)
- fosrl/pangolin #3792: [Wildcard also routes pangolin...](https://github.com/fosrl/pangolin/discussions/3792#discussioncomment-18580425)
- chaitin/SafeLine #1319: [Bot Protect Break Phone Apps](https://github.com/chaitin/SafeLine/discussions/1319#discussioncomment-18403164)
- podman-container-tools/podman #29710: [Mounting a group-writable folder into a systemd controlled quadlet for an unprivileged user](https://github.com/podman-container-tools/podman/discussions/29710#discussioncomment-18342497)
- podman-container-tools/podman #29443: [bind mount path traversal depends on subuid mapping, not just DAC permissions](https://github.com/podman-container-tools/podman/discussions/29443#discussioncomment-18338360)
- Siteimprove/alfa #2171: [How do you handle difficult-to-reproduce accessibility rule discrepancies in Alfa?](https://github.com/Siteimprove/alfa/discussions/2171#discussioncomment-18308548)
- fosrl/pangolin #3698: [Way to bypass auth for some subdomains in wildcard resource?](https://github.com/fosrl/pangolin/discussions/3698#discussioncomment-18303155)
- forwardemail/forwardemail.net #525: [How to not forward plus addressing to an alias?](https://github.com/forwardemail/forwardemail.net/discussions/525#discussioncomment-18283966)
- 11ty/buildawesome #4284: [Removing the trailing "/" of the domain specified in metadata.js](https://github.com/11ty/buildawesome/discussions/4284#discussioncomment-18280354)
- l5yth/potato-mesh #574: ["Map tiles unavailable"](https://github.com/l5yth/potato-mesh/discussions/574#discussioncomment-15285004)

17 accepted out of 78 discussions answered in 55 repositories. Each one links to its thread; who accepted it is never published.

## Issues reported (44: 24 open, 20 closed)

- MCP Go SDK: 8 open · 5 closed
- potato-mesh: 2 closed
- meshmonitor: 2 closed
- MCP Rust SDK: 1 closed
- elasticsearch8_ynh: 1 open
- bats-core: 1 open
- mcp-marketplace: 1 open
- go-selfupdate: 1 open
- DNN-HA: 1 open
- rest-api-description: 1 open
- ecko: 1 open
- metatext: 1 open
- Kong: 1 open
- codex: 1 open
- asu: 1 open
- webdav-client: 1 open
- csv-to-md-table-action: 1 open
- htmlbeautifier: 1 open
- acoustic-toolbox: 1 closed
- Portainer MCP: 1 closed
- CrowdSec Hub: 1 closed
- homeassistant-edata: 1 closed
- pixelfed: 1 closed
- pixelfed_ynh: 1 closed
- YunoHost coturn: 1 closed
- repository-mirroring-action: 1 closed
- al-folio: 1 closed
- papercite: 1 closed
- GitLab: 1 open
- GitLab Go client: 1 open

## Achievements on GitHub and GitLab

- **Pull Shark** x4 (GitHub): Gold, max tier
- **Galaxy Brain** x3 (GitHub): Silver
- **Pair Extraordinaire** x3 (GitHub): Silver; 33 of 48 (estimated)
- **Starstruck** (GitHub): Base; 118 of 128 (estimated)
- **Level 3 Contributor** (GitLab): awarded on September 14, 2026

Only these GitHub achievements are shown. Hidden by design: Quickdraw, YOLO, Arctic Code Vault Contributor and Public Sponsor.


Questions answered:

**Which open-source projects has José Manuel Requena Plens contributed to?**

Projects he does not maintain, on GitHub and GitLab, where his code or documentation was merged: among them GitLab and its official Go client, the official MCP SDKs for Go and Rust, Trilium Notes, Nginx Proxy Manager, Beszel, acme.sh, Podman and Renovate. The page lists every pull and merge request by project, with its state and size.

**Which of these contributions stand out?**

Security fixes that landed upstream: single-use TOTP codes in Trilium Notes, sessions ended by a password change in Nginx Proxy Manager, revoked GPG identities no longer accepted as verified in GitLab, and a trusted-proxy allowlist in Beszel. Also protocol fixes in the official MCP SDKs for Go and Rust.

**Where do these figures come from?**

From GitHub and GitLab themselves: the GitHub side is collected by ghchronicle, his own open-source collector, and the GitLab side from the GitLab API. Every row links to its pull or merge request, so each figure can be checked at the source, and private repositories never appear.
