Releases: Keeper-Security/keeper-sdk-dotnet
Release 1.1.5
Release Notes — 1.1.5
KeeperSdk
-
Shared Folder & Record Operations Without SyncDown: New SharedFolderSkipSyncDown and RecordSkipSyncDown static classes enable shared folder management and record retrieval without performing a full vault sync. Supports adding/removing users and teams to shared folders, loading record details (including records from shared folders the caller doesn't own), and retrieving record keys — all via lightweight direct API calls. Interfaces ISharedFolderSkipSyncDown and IRecordSkipSyncDown provide
injectable client abstractions. -
KEPM (Keeper Enterprise Privilege Manager) Plugin: New KeeperSecurity.Plugins.EPM namespace introduces an endpoint privilege management subsystem. Includes AdminPlugin for managing agents, policies, collections, deployments, and approvals;
EPMStorage for in-memory and persistent KEPM data; and SyncDown for incremental KEPM data synchronization. New AuthExtensions and endpoint helpers support KEPM-specific API calls.
PowerCommander
- Audit Report Support: New Get-KeeperAuditReport cmdlet for generating enterprise audit reports directly from PowerShell.
Release 1.1.5 Beta01
v1.1.5-beta01 Release 1.1.5 beta01
Release 1.1.4 Beta02
v1.1.4-beta02 PowerCommander: Release 1.1.0
Release 1.1.4
Release Notes — 1.1.4
KeeperSdk
Pluggable Biometric Login
Added a new IBiometricLoginProvider / IBiometricLoginResult interface pair to KeeperSecurity.Authentication, enabling host applications to inject their own biometric credential provider into the auth flow without a hard dependency on KeeperBiometrics.
AuthSync gains:
BiometricLoginProviderproperty — set to anIBiometricLoginProviderimplementation to activate biometric login.TryBiometricLoginAsync()— attempts biometric login, returning aBiometricLoginAttemptResultstruct withSuccessandErrorMessage.TryLoginWithBiometricsAsync()— convenience wrapper returning abool.
Push Notifications Toggle
IAuthEndpoint / AuthCommon exposes a new UsePushNotifications property (default true). Setting it to false before login prevents the WebSocket connection from being established, which is useful for batch/service workloads that don't need real-time sync.
SQL Storage Refactored
The monolithic SqliteStorage.cs / SqliteDao.cs have been replaced with a layered, dialect-agnostic storage subsystem:
| New type | Purpose |
|---|---|
ISqlDialect |
SQL dialect abstraction |
SqliteDialect |
SQLite implementation of ISqlDialect |
MySqlDialect |
MySQL/MariaDB implementation of ISqlDialect |
SqlDao |
Low-level DAO operations shared across dialects |
SqlStorage |
Base IEntityStorage / ILinkStorage backed by SqlDao |
SqlKeeperStorage |
IKeeperStorage implementation using any ISqlDialect |
SnapshotKeeperStorage |
Change-tracking wrapper — caches only modifications; reads pass through to the underlying IKeeperStorage |
Migration: Replace usages of the removed SqliteStorage class with SqlKeeperStorage, passing a SqliteDialect instance.
Audit Log Enhancements
KeeperSecurity.AuditLog.ReportFilter: Scope and Columns properties are now publicly settable (previously init-only).
New data types added to AuditLog:
KeeperVersionType— client version metadata (version ID, type, category).IpAddressType— IP address with city/region/country geo fields.GeoLocationType— geo location with IP count.
These are used in expanded audit/action-report responses.
PowerCommander
New Cmdlets
Enterprise Info (EnterpriseInfo.ps1)
Get-KeeperEnterpriseInfoTree— displays the enterprise as a tree with optional-Nodescope,-Detailedflag (shows IDs and member lists), and-Outputfile path.Get-KeeperEnterpriseInfoNode— node details.Get-KeeperEnterpriseInfoUser— user details.Get-KeeperEnterpriseInfoTeam— team details.Get-KeeperEnterpriseInfoRole— role details.Get-KeeperEnterpriseInfoManagedCompany— managed company details.
Enterprise Node (EnterpriseNode.ps1)
Invoke-KeeperEnterpriseNodeWipeOut— removes all content (users, roles, teams, subnodes) under a node. Prompts for confirmation; supports-Forceto skip. Alias:Invoke-KeeperNodeWipeOut.
Enterprise Teams (EnterpriseTeam.ps1)
Get-KeeperEnterpriseTeams— lists all enterprise teams with member counts; supports-Nodefilter.
MSP / Managed Companies (ManagedCompany.ps1)
Copy-KeeperMCRole— copies a role from the MSP to a managed company.- Extensive new MSP management commands for license management, context switching, and managed company administration.
Record Commands (RecordCommands.ps1)
Get-KeeperRecordHistory— retrieves the history of changes for a record.Find-KeeperDuplicateRecords— identifies duplicate records across the vault.Get-KeeperRecordFieldValue— extracts a specific field value from a typed record.
Sharing (Sharing.ps1)
Revoke-KeeperSharesWithUser— revokes all shares to/from a specified user.
KeeperBiometrics
- Namespace renamed from
KeeperBiometrictoKeeperBiometrics. Update any direct references accordingly. - Assembly renamed from
KeeperBiometric.dlltoKeeperBiometrics.dll. - New
BiometricLoginProviderAdapter— implementsIBiometricLoginProvider(the new SDK interface) wrapping the existingPasskeyManager. This decouples the SDK from a hardKeeperBiometricsreference. - Decoupled from KeeperSdk —
KeeperBiometricsnow depends on theCliproject rather thanKeeperSdkdirectly, eliminating the circular dependency that requiredKeeperBiometrics.dllto be bundled with every consumer. - Fixed Windows Hello user verification flags —
dwUserVerificationRequirementnow uses the namedWEBAUTHN_USER_VERIFICATION_REQUIREMENT_*constants instead of raw integer literals (1u/0u), correctly mapping"required"→REQUIREDand the default →PREFERRED.
Commander CLI
enterprise-info/ei— new command that displays an enterprise hierarchy tree with node, user, role, and team counts.audit-report— significantly expanded; now supports structured column selection, scope filtering, and enriched event data (geo-IP, client version).action-report— new command for aggregated action reporting.- MSP commands — new
mspcontext with sub-commands: switch context to/from MSP, display MSP details, refresh MSP data, modify managed company licenses, remove managed companies.
Samples
The Sample project has been significantly expanded into categorized, focused examples covering the full SDK surface:
| Category | Examples |
|---|---|
| Authentication | Login, Logout, Whoami |
| Records | Add, Get, List, Update, Delete, History, Clipboard copy, Find duplicates |
| Attachments | Upload, Download, Remove |
| Folders | Create, List, Move, Remove |
| Shared Folders | List, Share to user, Permissions, One-time share |
| Import / Export | Export to file/JSON, Import, Load record types |
| BreachWatch | List, Scan, Ignore, Password check |
| Enterprise — Nodes | View, Add, Edit, Delete, Custom invitation/logo |
| Enterprise — Users | View, Add, Edit, Delete, Lock/Unlock, Resend invite, Expire master password |
| Enterprise — Roles | View, Add, Update, Delete, Membership, Admin, Team management, Enforcements |
| Enterprise — Teams | View, List, Add, Update, Delete, Membership |
| Secrets Manager | App create/view/list/share/delete, Client add/remove, Secrets add/remove |
| Audit / Action Reports | AuditReportExample, ActionReportExample |
| Sharing | Share record, Revoke share, Transfer ownership, Revoke all shares to user |
| Trash | List, Restore |
| Membership | Download membership (file, JSON, merge) |
Release 1.1.3
v1.1.3 Improve shared folder membership batch operations
Release 1.1.3 Beta01
v1.1.3-beta01 ECDH key devivation fix
Release 1.1.2
What's Changed
- User removed from a shared folder does not trigger shared folder reload in #220
- Move folder error: Cannot move root folder in #236
- Biometric powercommander review in #256
- Add AutoKeepAlive property in #260
- Github action: add publish to Nuget step in #271
- Release 1.1.2 in #277
Full Changelog: v1.1.1...v1.1.2
Release 1.0.7 Beta 02
v1.0.7-beta02 Github action
Release 1.1.2 Beta05
v.1.1.2-beta05 Add AutoKeepAlive property
Release 1.1.2 Beta02
v1.1.2-beta02 Move folder error: Cannot move root folder