Merged
Conversation
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
Merged
mvadu
approved these changes
Feb 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.