Skip to content

Upstream pr#72

Merged
mvadu merged 4 commits intoAdysTech:masterfrom
shakeyourbunny:upstream-pr
Feb 27, 2026
Merged

Upstream pr#72
mvadu merged 4 commits intoAdysTech:masterfrom
shakeyourbunny:upstream-pr

Conversation

@shakeyourbunny
Copy link
Contributor

As discussed in #71, these are my changes and rewrites, but reverted namespace and everything back, ready for a pull request.

The only thing I request, is giving me a contribution credit for it.

I'm happy to contribute back.

shakeyourbunny added 3 commits February 23, 2026 10:57
Hard fork from AdysTech/CredentialManager. Upstream MIT attribution preserved.

Security:
- Replace BinaryFormatter with System.Text.Json (CWE-502)
- Fix persistence hardcoded to Enterprise (AdysTech#69), default to LocalMachine
- JIT-safe memory zeroing via RtlZeroMemory P/Invoke
- Fix P/Invoke SetLastError, buffer size constants

Modernization:
- Rename namespace/package to shakeyourbunny.CredentialManager
- New signing key, new solution GUIDs
- Drop net45, add net8.0, keep netstandard2.0
- C# 12, nullable reference types, file-scoped namespaces
- i18n resource files (en/de/fr/es/it)
- Remove upstream AppVeyor CI config

Tests:
- Persistence parameter, JSON round-trips, null parameter handling
- Test category renamed from AppVeyor to CI
6 Roslyn analyzer suites (Microsoft.CodeAnalysis.NetAnalyzers, StyleCop,
SecurityCodeScan, Roslynator, SonarAnalyzer, Meziantou.Analyzer) with
zero warnings across ~2,000+ combined rules. Zero SecurityCodeScan
findings confirms no OWASP vulnerabilities.

Code fixes: CA2208 exception types, MA0002 StringComparer.Ordinal,
MA0006 string.Equals, S1172 unused parameter, S1854 useless assignment,
S108 empty catch blocks. P/Invoke conventions properly suppressed.

NuGet package: README included, search tags, release notes, Source Link,
symbol package. Demo application exercises full API surface. Automated
build pipeline with interactive credential store testing via schtasks.

README rewritten as standalone project documentation with integration
guide, API reference, and migration instructions.
Prepares a PR-ready branch for AdysTech/CredentialManager (issue AdysTech#71).
Carries the full v3.0.0→v3.1.0 feature set (security hardening, C# 12,
.NET 8.0, nullable annotations, 6 Roslyn analyzer suites, i18n, Source Link,
demo app) onto the upstream namespace and repo identity.

Changes:
- Rename src/shakeyourbunny.CredentialManager/ → src/AdysTech.CredentialManager/
- Rename shakeyourbunny.CredentialManager.csproj → AdysTech.CredentialManager.csproj
- Update namespace declarations in all 9 source files
- Update ResourceManager base name in SR.cs
- Update using statements in test and demo projects
- Update project references in test/demo .csproj files
- Update CredentialManager.sln project entry
- Directory.Build.props: update URLs, copyright, authors; remove signing props
- AssemblyInfo.cs: simplify InternalsVisibleTo (no public key, no strong name)
- Remove key.snk (fork-specific; upstream can add their own key if desired)
- README.md: AdysTech namespace/package, remove fork migration guide
- CHANGELOG.md: reframe v3.0.0 as security/modernization release, not hard fork
@mvadu mvadu merged commit b9e5d26 into AdysTech:master Feb 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants