24 KiB
24 KiB
Changelog
All notable changes to this project will be documented in this file.
The format follows Keep a Changelog loosely, but version numbers use the build timestamp format yyyy.MM.dd.HHmm.
Unreleased
2026.06.04.0123
- Build produced from commit
2cbd5c2008.
Unreleased (carried forward)
- M10 polish  formatting, type metadata, and PKI route aliases:
- Added default table views and
DefaultDisplayPropertySetentries forInfisicalCertificateAuthority,InfisicalCertificate, andInfisicalCertificateBundlein the moduleFormat.ps1xml/Types.ps1xml. - Realigned PKI endpoint registry to current Infisical paths:
ListInternalCertificateAuthoritiesandRetrieveInternalCertificateAuthoritynow use/api/v1/cert-manager/ca/internal[/{caId}]as primary, with legacy/api/v1/pki/ca/internal[/{caId}]retained as a fallback alias.GetCertificateBundleandRetrieveCertificatesimilarly carrycert-managerfallback aliases. InfisicalApiInvoker.InvokeWithCandidateFallbackwalks the candidate list and falls back on404/405, used byInfisicalPkiClientso older self-hosted Infisical instances are tolerated transparently.
- Added default table views and
2026.06.04.0114
- Build produced from commit
2cbd5c2008.
Unreleased (carried forward)
- M10  PKI Internal CAs, Certificates & Windows Store integration:
Get-InfisicalCertificateAuthoritylists internal certificate authorities for the current project, or returns a single CA with-CaId.Search-InfisicalCertificatewrapsPOST /api/v1/projects/{projectId}/certificates/searchwith rich filters (-CommonName,-FriendlyName,-Search,-Status,-CaId,-ProfileId,-ApplicationId,-EnrollmentType,-KeyAlgorithm,-SignatureAlgorithm,-Source,-NotAfterFrom/To,-NotBeforeFrom/To,-SortBy/-SortOrder,-Limit/-Offset). Auto-paginates unless-NoAutoPageis set.ConvertTo-InfisicalCertificateaccepts anInfisicalCertificate,InfisicalCertificateBundle, or-SerialNumber, fetches the bundle endpoint when needed, and emits aSystem.Security.Cryptography.X509Certificates.X509Certificate2with the private key attached.-NoPrivateKeyskips key parsing;-IncludeChainadditionally emits intermediates;-KeyStorageFlagscontrols import behavior.Install-InfisicalCertificate/Uninstall-InfisicalCertificateperform idempotent installs/removes against a WindowsX509Store(-StoreName,-StoreLocation, defaultsMy/CurrentUser), matching by thumbprint. Install is a no-op when the thumbprint is already present unless-Forceis supplied (which replaces the existing entry). Both honorShouldProcessand accept pipeline input.Export-InfisicalCertificatewrites PEM, PFX, or CER to disk via-Format, with-Password(SecureString) for PFX,-IncludeChainfor full-chain PEM,-NoPrivateKeyto omit the key, and-Forceto overwrite.- BouncyCastle dependency: Added
BouncyCastle.Cryptographyto bridge PEM/PKCS#8 parsing on .NET Standard 2.0 / Windows PowerShell 5.1 (whereX509Certificate2.CreateFromPemandRSA.ImportFromPemare unavailable). The sharedPemCertificateBuilderassembles cert + chain + key into an in-memory PKCS#12 blob and imports it back intoX509Certificate2. The DLL ships in the published module bin directory. - PKI endpoint registry entries for
ListInternalCertificateAuthorities(GET /api/v1/pki/ca/internal),RetrieveInternalCertificateAuthority(GET /api/v1/pki/ca/internal/{caId}),SearchCertificates(POST /api/v1/projects/{projectId}/certificates/search),RetrieveCertificate, andGetCertificateBundle(GET /api/v1/pki/certificates/{serialNumber}/bundle).
2026.06.04.0020
- Build produced from commit
211fbcf34d.
Unreleased (carried forward)
2026.06.04.0005
- Build produced from commit
e0a6ef02df.
Unreleased (carried forward)
- Bulk v4 batch routes: Endpoint registry now registers
POST|PATCH|DELETE /api/v4/secrets/batchas the preferred candidates forBulkCreateSecret/BulkUpdateSecret/BulkDeleteSecret; the existing v3 raw routes (/api/v3/secrets/batch/raw) remain as automatic fallback. Batch request DTOs serialize bothprojectId(required by v4) andworkspaceId(accepted by v3) when populated. - Strongly-typed bulk input:
-SecretsonNew-InfisicalSecretandUpdate-InfisicalSecretis nowIDictionary<string, string>[]instead ofHashtable[].InfisicalBulkSecretConverteracceptsIEnumerable<IDictionary<string, string>>and parsesTagIdsfrom a comma-separated string. NestedMetadata/SecretMetadatadictionaries are no longer accepted in the bulk hashtable surface (setSecretMetadataprogrammatically onInfisicalBulkCreateSecretItem/InfisicalBulkUpdateSecretItemif needed).
2026.06.03.2207
- Build produced from commit
09c3d5c68b. - M9  Bulk, Duplicate & Inheritance:
- Bulk parameter sets added to
New-InfisicalSecret,Update-InfisicalSecret, andRemove-InfisicalSecretaccepting-Secrets Hashtable[]; client methodsCreateBatch/UpdateBatch/DeleteBatchwrapPOST|PATCH|DELETE /api/v3/secrets/batch/raw. Copy-InfisicalSecretcmdlet added, wrappingPOST /api/v4/secrets/duplicatewith source/destination environment + path parameters and per-attribute copy toggles.- Connection inheritance centralized in
InfisicalCmdletBase(ResolveProjectId/ResolveEnvironment/ResolveSecretPath/ResolveApiVersion/ResolveOrganizationId). Explicit parameters always win; missing values fall back to the active connection and emit a-Verboseline. - Project/Environment/Folder/Tag and all secret cmdlets refactored to use the inheritance helpers; existing explicit-parameter behavior is preserved.
InfisicalBulkSecretConverteraccepts flexible key aliases (SecretName/Name/Key,SecretValue/Value,SecretComment/Comment,Metadata/SecretMetadata).- Test count: 161 (up from 139). Added coverage for bulk DTO shapes, the converter, the duplicate request DTO, registry entries for the four new endpoints, and the resolution helpers.
- Bulk parameter sets added to
Unreleased (carried forward)
2026.06.03.2206
- Build produced from commit
09c3d5c68b.
Unreleased (carried forward)
2026.06.03.2136
- Build produced from commit
d9822aab7a. - Resource CRUD expansion: Added full Get/New/Update/Remove cmdlet families for Projects, Environments, Folders, and Tags (20 new cmdlets):
- Projects:
Get-InfisicalProjects,Get-InfisicalProject,New-InfisicalProject,Update-InfisicalProject,Remove-InfisicalProject. - Environments:
Get-InfisicalEnvironments,Get-InfisicalEnvironment,New-InfisicalEnvironment,Update-InfisicalEnvironment,Remove-InfisicalEnvironment. - Folders:
Get-InfisicalFolders,Get-InfisicalFolder,New-InfisicalFolder,Update-InfisicalFolder,Remove-InfisicalFolder. - Tags:
Get-InfisicalTags,Get-InfisicalTag,New-InfisicalTag,Update-InfisicalTag,Remove-InfisicalTag.
- Projects:
- Secret mutation cmdlets: Added
New-InfisicalSecret,Update-InfisicalSecret, andRemove-InfisicalSecret; extendedInfisicalSecretsClientwith corresponding create/update/delete operations. - Additional auth providers:
Connect-Infisicalnow supports JWT (-Jwt -IdentityId), OIDC (-Jwt -IdentityId), LDAP (-Username -Password), Azure (-Jwt -IdentityId), and GCP IAM (-Jwt -IdentityId) via dedicated parameter sets. Common identity-login flow is centralized inIdentityLoginExecutor. - Endpoint registry expanded with login routes (
/api/v1/auth/{jwt|oidc|ldap|azure|gcp}-auth/login) and CRUD routes for projects (v2), environments, folders, tags, and secret mutations. - Test suite expanded to 139 passing tests, including mapper round-trips for projects/environments/folders/tags, secret mutation DTO shapes, and request-body validation for each new auth provider.
2026.06.03.0131
- Build produced from commit
7be0b7b420. - Behavior change:
Get-InfisicalSecretsandGet-InfisicalSecretnow default-ViewSecretValueto$true. Real secret values are returned by default. To request the redacted/hidden response, pass-ViewSecretValue:$false. InfisicalSecretMappernow treats the server-side<hidden-by-infisical>placeholder as a hidden marker rather than a value: whensecretValueHidden=true(or the placeholder string is detected)SecretValueis set tonullinstead of stuffing the literal into aSecureString. This prevents downstream consumers (auth, exports, dictionary conversion) from silently using<hidden-by-infisical>as if it were a real secret.
Unreleased (carried forward)
2026.06.03.0113
- Build produced from commit
09c577ebd0. - Added
InfisicalSecret.GetPlainTextValue()for direct plain-text access to secret material from PowerShell without needingMarshal.SecureStringToBSTR. - Added
-AsPlainTextswitch toConvertTo-InfisicalSecretDictionary; when present the cmdlet emitsDictionary<string, string>instead of the defaultDictionary<string, SecureString>.
Unreleased (carried forward)
2026.06.03.0057
- Build produced from commit
7e5209190a.
Unreleased (carried forward)
2026.06.03.0056
- Build produced from commit
7e5209190a.
Unreleased (carried forward)
2026.06.03.0055
- Build produced from commit
7e5209190a.
Unreleased (carried forward)
2026.06.03.0047
- Build produced from commit
7e5209190a.
Unreleased (carried forward)
2026.06.03.0046
- Build produced from commit
7e5209190a.
Unreleased (carried forward)
2026.06.03.0032
- Build produced from commit
c866760105.
Unreleased (carried forward)
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward)
2026.06.02.1737
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward) (carried forward)
2026.06.02.1724
- Build produced from commit
5801b4774a.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward)
2026.06.02.1737
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward) (carried forward) (carried forward)
2026.06.02.1648
- Build produced from commit
430e3a00c9.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward)
2026.06.02.1737
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward) (carried forward)
2026.06.02.1724
- Build produced from commit
5801b4774a.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward)
2026.06.02.1737
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward) (carried forward) (carried forward) (carried forward)
2026.06.02.1638
- Build produced from commit
3c47d6ff30.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward)
2026.06.02.1737
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward) (carried forward)
2026.06.02.1724
- Build produced from commit
5801b4774a.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward)
2026.06.02.1737
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward) (carried forward) (carried forward)
2026.06.02.1648
- Build produced from commit
430e3a00c9.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward)
2026.06.02.1737
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward) (carried forward)
2026.06.02.1724
- Build produced from commit
5801b4774a.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward)
2026.06.02.1737
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward) (carried forward) (carried forward) (carried forward) (carried forward)
2026.06.02.1611
- Build produced from commit
3c47d6ff30.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward)
2026.06.02.1737
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward) (carried forward)
2026.06.02.1724
- Build produced from commit
5801b4774a.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward)
2026.06.02.1737
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward) (carried forward) (carried forward)
2026.06.02.1648
- Build produced from commit
430e3a00c9.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward)
2026.06.02.1737
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward) (carried forward)
2026.06.02.1724
- Build produced from commit
5801b4774a.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward)
2026.06.02.1737
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward) (carried forward) (carried forward) (carried forward)
2026.06.02.1638
- Build produced from commit
3c47d6ff30.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward)
2026.06.02.1737
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward) (carried forward)
2026.06.02.1724
- Build produced from commit
5801b4774a.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward)
2026.06.02.1737
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward) (carried forward) (carried forward)
2026.06.02.1648
- Build produced from commit
430e3a00c9.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward)
2026.06.02.1737
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward) (carried forward)
2026.06.02.1724
- Build produced from commit
5801b4774a.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward)
2026.06.02.1737
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward)
2026.06.02.1902
- Build produced from commit
fa65c18bc1.
Unreleased
2026.06.02.1907
- Build produced from commit
fa65c18bc1.
Unreleased (carried forward) (carried forward) (carried forward) (carried forward) (carried forward) (carried forward) (carried forward)
Added
- Initial repository skeleton, C#
netstandard2.0project, and PowerShell module layout. - Centralized logging (
InfisicalLogger), error types/handler, sanitizer, path utility, andSecureStringutility. - Endpoint registry covering
UniversalAuthLogin,ListSecrets, andRetrieveSecret, and aSystem.Uri-based URI builder. - Synchronous HTTP client, JSON/YAML/XML/ENV serializers, and DTO/mapper for secrets.
- Connection model, process-level session manager, Universal Auth and Token Auth providers.
- Cmdlets:
Connect-Infisical,Disconnect-Infisical,Get-InfisicalSecrets,Get-InfisicalSecret,ConvertTo-InfisicalSecretDictionary,Export-InfisicalSecrets. - Build script (
build.ps1) generating manifest, copying binaries, creating release folders, and supporting unit/integration tests. - xUnit test project with unit tests and opt-in integration tests.