René's URL Explorer Experiment


Title: feat(scan): unified auto-update engine — --sync, --prune, --dry-run (v3.0) by mikolalysenko · Pull Request #79 · SocketDev/socket-patch · GitHub

Open Graph Title: feat(scan): unified auto-update engine — --sync, --prune, --dry-run (v3.0) by mikolalysenko · Pull Request #79 · SocketDev/socket-patch

X Title: feat(scan): unified auto-update engine — --sync, --prune, --dry-run (v3.0) by mikolalysenko · Pull Request #79 · SocketDev/socket-patch

Description: Summary Makes socket-patch scan the single-command auto-update engine for bots / cron jobs / CI workflows. MAJOR bump 2.1.4 → 3.0.0 driven by new flags + the per-patch "updated" action vocabulary. socket-patch scan --json --sync --yes | jq '{ applied: [.apply.patches[] | select(.action == "added" or .action == "updated") | .purl], pruned: .gc.prunedManifestEntries, bytes_freed: .gc.bytesFreed }' # Pipe into peter-evans/create-pull-request to open a PR with the changes. What this PR adds Discovery + apply (existing): --apply flag opts JSON mode into the full discover → select → apply pipeline. Top-level updates array always lists PURLs whose UUID would change vs the local manifest. Per-patch action vocabulary: "added", "updated" (with oldUuid), "skipped", "failed". decide_patch_action / detect_updates pure helpers + 12 unit tests. Opt-in GC (new in v3.0): --prune opts into garbage collection: removes manifest entries for uninstalled packages, sweeps orphan blob/diff/package-archive files. Off by default to preserve manifest state across temporary uninstalls. --sync is sugar for --apply --prune — the canonical single-flag bot invocation. --dry-run / -d previews --apply / --prune / --sync actions without mutating disk. Emits apply.patches[*] populated via decide_patch_action and gc.prunable* / gc.orphan* via the cleanup helpers' built-in dry-run mode. detect_prunable, GcSummary, run_apply_gc, preview_apply_gc helpers + 5 unit tests. repair / gc remain first-class: The gc visible alias on repair stays. Both appear in socket-patch --help. Use repair / gc for cleanup-without-apply; use scan --sync for the combined workflow. 3 contract tests guard the visible_alias from regressing. e2e tests + CI: New tests/e2e_scan.rs with 11 #[ignore] scenarios against the real Socket API (mirrors tests/e2e_npm.rs). Covers added/updated/skipped, default-no-prune, --prune flag, orphan blob cleanup, --sync full lifecycle, --dry-run non-mutation, GC field omission contract. CI matrix gains e2e_scan slots on ubuntu + macos. Workspace v3.0.0: Cargo.toml bumped 2.1.4 → 3.0.0; scripts/version-sync.sh 3.0.0 propagated to all 16 npm wrappers + pypi. Drive-by Windows path-traversal fix in socket-patch-core (PR #67 had a latent gap exposed when CI re-enabled). CI tightened: macOS added to test matrix, test-release job added, explicit cargo build step before tests. Breaking changes (MAJOR) scan --apply per-patch JSON: "action": "added" may now be "action": "updated" with an oldUuid field when the PURL already had a different UUID. Scripts that hard-coded action == "added" break. repair/gc is no longer needed for the combined workflow — bots should switch to scan --sync. Both repair and gc still work for cleanup-only invocations. How a bot uses this socket-patch scan --json --sync --yes > scan-result.json Exit code: 0 on full success, 1 if any apply.patches[*].action == "failed" (top-level status becomes "partial_failure"). A bot can pipe the JSON through jq and into peter-evans/create-pull-request (or its equivalent) with a summary of what changed. Tests (all green) cargo build --workspace --all-features ✓ cargo clippy --workspace --all-features -- -D warnings ✓ cargo test --workspace --all-features ✓ 416 lib tests in core 100 lib tests in CLI (severity_order, detect_updates, detect_prunable, decide_patch_action) 30 in cli_parse_scan (parser snapshot + subprocess JSON-shape) 18 in cli_parse_repair (parser + visible-alias contract) 11 in tests/e2e_scan.rs (#[ignore], run with --ignored) Test plan cargo build/clippy/test --workspace --all-features Smoke: socket-patch --help shows repair [aliases: gc] Smoke: socket-patch scan --help documents --apply, --prune, --sync, -d/--dry-run CI: e2e_scan matrix passes on ubuntu + macos (real Socket API) Reviewer to confirm v3.0 semver bump is appropriate Assisted-by: Claude Code:claude-opus-4-7

Open Graph Description: Summary Makes socket-patch scan the single-command auto-update engine for bots / cron jobs / CI workflows. MAJOR bump 2.1.4 → 3.0.0 driven by new flags + the per-patch "updated" action vo...

X Description: Summary Makes socket-patch scan the single-command auto-update engine for bots / cron jobs / CI workflows. MAJOR bump 2.1.4 → 3.0.0 driven by new flags + the per-patch "updated" a...

Opengraph URL: https://github.com/SocketDev/socket-patch/pull/79

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/commits/:range(.:format)
route-controllerpull_requests
route-actioncommits
fetch-noncev2:7e29ecad-0087-fb32-4bd6-3c8799e911fa
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idA40A:3D83D7:3330AA6:4498E18:6A655519
html-safe-noncee1f551799b12ab4c77b7f914da90c67291c37439b8dc16caa86f2338e95e6a8a
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBNDBBOjNEODNENzozMzMwQUE2OjQ0OThFMTg6NkE2NTU1MTkiLCJ2aXNpdG9yX2lkIjoiNjM4NTgzMzk4MjUxNDUxNzI3MyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac9e56ce70b1ad5e0715f5267f1b9863c8e0902ed613988e7e38522cd534bf5caf
hovercard-subject-tagpull_request:3719334637
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/commits
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/SocketDev/socket-patch/pull/79/commits/833e80efe70265ee5e5e1ce9bc6b41ab801892a9
twitter:imagehttps://avatars.githubusercontent.com/u/231686?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/231686?s=400&v=4
og:image:altSummary Makes socket-patch scan the single-command auto-update engine for bots / cron jobs / CI workflows. MAJOR bump 2.1.4 → 3.0.0 driven by new flags + the per-patch "updated" action vo...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None52c76df668885aaff23b50bdca1fa1ea44ac9c1553e888ebc70ff1e4daa4625b
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/SocketDev/socket-patch git https://github.com/SocketDev/socket-patch.git
octolytics-dimension-user_id69326764
octolytics-dimension-user_loginSocketDev
octolytics-dimension-repository_id1093661456
octolytics-dimension-repository_nwoSocketDev/socket-patch
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1093661456
octolytics-dimension-repository_network_root_nwoSocketDev/socket-patch
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release309153364422b3c499922d1a2a6404910a58ed8e
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/SocketDev/socket-patch/pull/79/commits/833e80efe70265ee5e5e1ce9bc6b41ab801892a9#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FSocketDev%2Fsocket-patch%2Fpull%2F79%2Fcommits%2F833e80efe70265ee5e5e1ce9bc6b41ab801892a9
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FSocketDev%2Fsocket-patch%2Fpull%2F79%2Fcommits%2F833e80efe70265ee5e5e1ce9bc6b41ab801892a9
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Fcommits&source=header-repo&source_repo=SocketDev%2Fsocket-patch
Reloadhttps://github.com/SocketDev/socket-patch/pull/79/commits/833e80efe70265ee5e5e1ce9bc6b41ab801892a9
Reloadhttps://github.com/SocketDev/socket-patch/pull/79/commits/833e80efe70265ee5e5e1ce9bc6b41ab801892a9
Reloadhttps://github.com/SocketDev/socket-patch/pull/79/commits/833e80efe70265ee5e5e1ce9bc6b41ab801892a9
Please reload this pagehttps://github.com/SocketDev/socket-patch/pull/79/commits/833e80efe70265ee5e5e1ce9bc6b41ab801892a9
SocketDev https://github.com/SocketDev
socket-patchhttps://github.com/SocketDev/socket-patch
Notifications https://github.com/login?return_to=%2FSocketDev%2Fsocket-patch
Fork 0 https://github.com/login?return_to=%2FSocketDev%2Fsocket-patch
Star 4 https://github.com/login?return_to=%2FSocketDev%2Fsocket-patch
Code https://github.com/SocketDev/socket-patch
Issues 1 https://github.com/SocketDev/socket-patch/issues
Pull requests 3 https://github.com/SocketDev/socket-patch/pulls
Actions https://github.com/SocketDev/socket-patch/actions
Models https://github.com/SocketDev/socket-patch/models
Security and quality 0 https://github.com/SocketDev/socket-patch/security
Insights https://github.com/SocketDev/socket-patch/pulse
Code https://github.com/SocketDev/socket-patch
Issues https://github.com/SocketDev/socket-patch/issues
Pull requests https://github.com/SocketDev/socket-patch/pulls
Actions https://github.com/SocketDev/socket-patch/actions
Models https://github.com/SocketDev/socket-patch/models
Security and quality https://github.com/SocketDev/socket-patch/security
Insights https://github.com/SocketDev/socket-patch/pulse
Sign up for GitHub https://github.com/signup?return_to=%2FSocketDev%2Fsocket-patch%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2FSocketDev%2Fsocket-patch%2Fissues%2Fnew%2Fchoose
Mikola Lysenko (mikolalysenko)https://github.com/mikolalysenko
mainhttps://github.com/SocketDev/socket-patch/tree/main
feat/scan-apply-jsonhttps://github.com/SocketDev/socket-patch/tree/feat/scan-apply-json
Conversation 2 https://github.com/SocketDev/socket-patch/pull/79
Commits 42 https://github.com/SocketDev/socket-patch/pull/79/commits
Checks 42 https://github.com/SocketDev/socket-patch/pull/79/checks
Files changed https://github.com/SocketDev/socket-patch/pull/79/files
Please reload this pagehttps://github.com/SocketDev/socket-patch/pull/79/commits/833e80efe70265ee5e5e1ce9bc6b41ab801892a9
feat(scan): unified auto-update engine — --sync, --prune, --dry-run (v3.0) https://github.com/SocketDev/socket-patch/pull/79/commits/833e80efe70265ee5e5e1ce9bc6b41ab801892a9#top
Show all changes 42 commits https://github.com/SocketDev/socket-patch/pull/79/files
d8cd74e feat(scan): add --apply + structured updates for auto-update bot work… mikolalysenko May 20, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/d8cd74ef081a422aa9595f2c06b7728d013a577a
9b02f02 feat(scan)!: garbage-collect on scan + hide gc subcommand (v3.0) mikolalysenko May 20, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/9b02f02f16a89f2b881da07d0e14ec9db29057b2
9acc3f3 test(scan): add e2e_scan test suite + CI matrix entry mikolalysenko May 20, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/9acc3f34bd3c2fcc8688b49f75f787c2ecda81d8
a15573c docs(scan): document v3.0 GC behavior + repair deprecation mikolalysenko May 20, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/a15573c026c317b8df0d094b452910ee38c84d74
0d36e2b fix(scan): auto-select in JSON --apply when multiple free patches exist mikolalysenko May 20, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/0d36e2b52aaa15367732ac564cfc8fc048e89b5f
b2869ad fix(scan): run apply-mode GC even when no packages have patches mikolalysenko May 20, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/b2869ad2035c5fff831bc69cf9e1006a77b370c4
745a968 feat(scan): pivot GC to opt-in via --prune + add --sync and --dry-run mikolalysenko May 20, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/745a96836d6ab25429606ad84545483d9c6e73a6
8351f99 revert(repair): restore gc as a documented subcommand mikolalysenko May 20, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/8351f9947ceaefc1178b086966b402c4c77f859b
a900519 test(scan): update parser + e2e tests for opt-in GC mikolalysenko May 20, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/a900519164f4755661629ba533ec634e34da055a
2cca02e docs(scan): document --prune/--sync/--dry-run + un-deprecate gc mikolalysenko May 20, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/2cca02edbb5605f8a26d49612bff7f0d03076d33
db8ebd2 chore(hardening): pin toolchain, deps, actions, and install bootstrap mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/db8ebd2c5df23a664949d02b0f09cd678c6e09e9
704bea5 feat(cli)!: non-mutating apply + unified JSON envelope (v3.0) mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/704bea5ae4988d1b68523f7b87d1b5f817ae5bcc
c4ddf1b test: comprehensive in-process + subprocess test suite mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/c4ddf1bb29137fdef20536f30d9e43cd24234361
5f71a94 ci: add coverage job, language version pins, and e2e-docker matrix mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/5f71a949366ee57323d1a04eaaae679c9a50ee3c
0bcd28c test(docker-e2e): infrastructure + npm full install→apply chain mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/0bcd28c51cce9f31ef8398f8630857c3166f70a5
cfa28e5 test(e2e): full install→apply chain for pypi in Docker (+ global) mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/cfa28e53237daa41f999c8bc792819507eaf97d4
dd0853c test(e2e): full install→apply chain for gem in Docker (+ global) mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/dd0853cc4402849cb323361d765f59c511f8a290
81f0558 test(e2e): full install→apply chain for cargo in Docker mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/81f0558b12c80c0be45d7af0b40232ec4b04c282
88883df test(e2e): full install→apply chain for golang in Docker mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/88883df0a6e0577c407740cad9c910248b5e348b
3f5f62d test(e2e): full install→apply chain for maven in Docker mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/3f5f62da2ddb061b014616bf266aa3e275dc325d
52f1c39 test(e2e): full install→apply chain for composer in Docker mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/52f1c39a25248da51a59d9fff188661f7f6fd588
3fdfb53 test(e2e): full install→apply chain for nuget in Docker mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/3fdfb53456c16c35676881b20eda43928b3a872e
ba05410 test(e2e): add npm global install variant in Docker mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/ba05410aef68e511685279567463f32497b8a0dc
f98e89e test(e2e): add composer/maven/nuget Dockerfiles mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/f98e89e769c6275cd012b5fa500886ee6261812c
8015834 ci(coverage): include docker-e2e in the coverage map mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/8015834440faedb185b0a6bdbd669ddc7399f157
25aa3b8 ci: remove cargo cache from docker-image-building jobs mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/25aa3b81c8af7ae0ad4d2f04fd0e4b7c00bd2204
643c47c ci: provide explicit toolchain input to dtolnay/rust-toolchain mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/643c47c15523700f87164269e7477158bcaf739a
54bfb0a ci: drop dtolnay/rust-toolchain in favor of inline rustup mikolalysenko May 21, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/54bfb0a63910f5aea9ba9deaa3e95fd9cd863205
c04f68c refactor(cli): unify CLI args + env-var bindings across every subcommand mikolalysenko May 22, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/c04f68cb41b2fd64a7dc381a3592d502786aece8
704936a docs(changelog): add CHANGELOG.md + CI guard blocking publish without… mikolalysenko May 22, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/704936a469dee625e70c4ebb2319d6c56d0e850f
a2e193b ci(test): unbreak test/coverage/e2e-docker matrix on feat/scan-apply-… mikolalysenko May 22, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/a2e193bc26e6cce1e4dc3ddf95fdd693abb00ec1
8666684 ci(coverage-docker): pin to ubuntu-22.04 for glibc compatibility mikolalysenko May 22, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/86666842c392c42d72f7f2d9231275332900a396
b1f5bb3 test(npm): connect via 127.0.0.1 in infrastructure smoke (Windows fix) mikolalysenko May 22, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/b1f5bb3759079452f67c2a3d0dc4992af7dcf0ee
8f7df98 test(pypi): skip in_process_pypi_apply on Windows (Unix venv layout) mikolalysenko May 22, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/8f7df98f62c73d1213bec1036c6fe64978e70afc
c1a154f test(pypi): make in_process_pypi_apply helpers platform-aware (Windows) mikolalysenko May 22, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/c1a154f15ead411ae346be7e0f2691cb4971fc2d
6d52330 test(rollback): use Windows venv layout when cfg!(windows) mikolalysenko May 22, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/6d523302ed1d13450a6184b8b546849b31dd2c75
db0f5fc feat(json): enrich added/updated patch records with description, seve… mikolalysenko May 22, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/db0f5fc39f3d64c4f84c41674268666c101c87c6
ed04403 test(e2e): walk the v3.0 envelope for `list --json` output mikolalysenko May 22, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/ed04403cc7ea1ea5971bcfe5d64450d4573b7547
833e80e ci(e2e_gem): bump pinned ruby from 3.2.11 to 3.2.10 mikolalysenko May 22, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/833e80efe70265ee5e5e1ce9bc6b41ab801892a9
d96f110 refactor(cli): drop -d/-m short aliases; loosen version pins mikolalysenko May 22, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/d96f11096df147ec8f57d8eb2205b3bfc1eeb70a
8333162 feat(apply): preserve mode + ownership across patches mikolalysenko May 22, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/833316291cd3ffa0283d40f435cafd30535b6c94
c624c32 ci(e2e_gem): revert ruby-version to exact 3.2.10 mikolalysenko May 22, 2026 https://github.com/SocketDev/socket-patch/pull/79/commits/c624c32fc340c75e68e2f340cad99f96fc2aef68
Clear filters https://github.com/SocketDev/socket-patch/pull/79/commits/833e80efe70265ee5e5e1ce9bc6b41ab801892a9
Please reload this pagehttps://github.com/SocketDev/socket-patch/pull/79/commits/833e80efe70265ee5e5e1ce9bc6b41ab801892a9
Please reload this pagehttps://github.com/SocketDev/socket-patch/pull/79/commits/833e80efe70265ee5e5e1ce9bc6b41ab801892a9
Prev https://github.com/SocketDev/socket-patch/pull/79/commits/ed04403cc7ea1ea5971bcfe5d64450d4573b7547
Next https://github.com/SocketDev/socket-patch/pull/79/commits/d96f11096df147ec8f57d8eb2205b3bfc1eeb70a
Please reload this pagehttps://github.com/SocketDev/socket-patch/pull/79/commits/833e80efe70265ee5e5e1ce9bc6b41ab801892a9
https://github.com/mikolalysenko
mikolalysenkohttps://github.com/SocketDev/socket-patch/commits?author=mikolalysenko
.github/workflows/ci.ymlhttps://github.com/SocketDev/socket-patch/pull/79/commits/833e80efe70265ee5e5e1ce9bc6b41ab801892a9#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03f
View file https://github.com/SocketDev/socket-patch/blob/833e80efe70265ee5e5e1ce9bc6b41ab801892a9/.github/workflows/ci.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/SocketDev/socket-patch/pull/79/commits/{{ revealButtonHref }}
https://github.com/SocketDev/socket-patch/pull/79/commits/833e80efe70265ee5e5e1ce9bc6b41ab801892a9#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03f
https://github.com/SocketDev/socket-patch/pull/79/commits/833e80efe70265ee5e5e1ce9bc6b41ab801892a9#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03f
Please reload this pagehttps://github.com/SocketDev/socket-patch/pull/79/commits/833e80efe70265ee5e5e1ce9bc6b41ab801892a9
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.