Motty
터미널·SFTP·포트 포워딩·VNC·RDP·AI 도우미를 하나의 창에 통합, Go 기반 무료 오픈소스
NuGet·npm·PyPI·Maven·Pub·Packagist의 패키지 버전을 비교하는 무료 도구
Free tool to compare package versions across NuGet, npm, PyPI, Maven, Pub & Packagist. Track breaking changes, view release notes, and analyze version differences between any two versions.
개발 도구C# · HTMLGitHub @pkgdiff-dev온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
pkgdiff is a web application that aggregates and displays release notes between any two versions of a package. Instead of jumping between registry pages, GitHub releases, and changelog files, you get a single, consolidated view of everything that changed.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Every release note between two versions of a package, in one timeline: NuGet, npm, PyPI and pub.dev.
pkgdiff collects the release notes between any two versions of a package and shows them as one categorized timeline, so you can decide whether an upgrade is safe without jumping between registry pages, GitHub releases and changelog files.
🌐 Live: pkgdiff.dev
| Registry | Status |
|---|---|
| NuGet | ✅ |
| npm | ✅ |
| PyPI | ✅ |
| pub.dev | ✅ |
Security data is collected by background jobs and never while a visitor waits:
Backend: .NET 10, ASP.NET Core, Entity Framework Core with PostgreSQL 18, Hangfire, SignalR, Redis, Polly, AngleSharp, QuestPDF.
Frontend: Angular 21 (standalone components, signals, zoneless) with @angular/ssr, Tailwind CSS,
Lucide icons.
Operations: Docker Compose on one host, images built and scanned in GitHub Actions and pulled from GHCR, nginx in front, Prometheus and Grafana.
src/
backend/
PkgDiff.API/ controllers, middleware, hubs, composition root
PkgDiff.Application/ services, interfaces (ports), background jobs
PkgDiff.Domain/ entities and persistence contracts
PkgDiff.Infrastructure/ EF Core, registry clients, scraping
PkgDiff.Shared/ DTOs and constants
PkgDiff.Tests/ unit and integration tests
frontend/ Angular application and its render server (src/server.ts)
deploy/ deploy, rollback and backup scripts, host nginx, Grafana provisioning
.github/scripts/ dependency gate, QuestPDF CPU check and their tests
Prerequisites: .NET 10 SDK, Node.js 22 with npm, PostgreSQL and Redis on localhost
(or docker compose up -d db redis with a .env made from .env.example).
src/backend/PkgDiff.API/appsettings.json holds the defaults and no secrets. Put your own values in
src/backend/PkgDiff.API/appsettings.Development.json, which git ignores:
{
"ConnectionStrings": { "DefaultConnection": "Host=localhost;Database=pkgdiffdb;Username=postgres;Password=..." },
"JwtSettings": { "SecretKey": "<32 or more random bytes>", "Issuer": "PkgDiffAPI", "Audience": "PkgDiffClient" },
"Security": { "SettingsEncryptionKey": "<base64 of 32 random bytes>" },
"AdminSettings": { "AdminPassword": "<password of the first administrator>" }
}
cd src/backend
dotnet run --project PkgDiff.API
The API applies its migrations on start and listens on http://localhost:5054
(Swagger at /swagger in Development).
cd src/frontend
npm ci
npm start
The application runs on http://localhost:4200, rendered on the server by the development server
as in production.
dotnet test --project src/backend/PkgDiff.Tests/PkgDiff.Tests.csproj
cd src/frontend && npm test -- --watch=false && npm run build && npm run test:ssr
node --test .github/scripts/tests/*.test.mjs
Backend tests that need PostgreSQL run when PKGDIFF_TEST_POSTGRES holds a connection string
(without a database name); without it they are skipped.
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗