Releases: fededim/Fededim.Extensions.Configuration.Protected
v1.0.20
Fededim.Extensions.Configuration.Protected: updated to v1.0.20
- Improved IProtectProvider interface by including also the key being encrypted / decrypted
- Implemented a PassthroughProtectProvider and PassthroughProtectConfigurationData which does not encrypt / decrypt anything, useful for development and testing
- Implemented a chain function in order to customize the behaviour of a IProtectProvider (e.g. try / catch to skip decryption exceptions, etc.)
- Implemented ProtectFile method in ConfigurationBuilderExtensions to encrypt just a single file (it was missing)
- Improved and added new tests for the chain function and the PassthroughProtectProvider, implemented a ProcessSafeRandomId for running tests in parallel
- Update all NuGet packages to the latest version
Fededim.Extensions.Configuration.Protected.DataProtectionAPI: updated to v1.0.8
- Dependency: requires at least Fededim.Extensions.Configuration.Protected version 1.0.20
v1.0.19
Fededim.Extensions.Configuration.Protected: updated to v1.0.19
- Security fix: updated System.Text.Json to 8.0.5 in order to fix the security issue CVE-2024-43485
- Updated project to net8.0 due to incoming net6.0 EOL
- Removed obsolete projects Fededim.Extensions.Configuration.ProtectedJson and Fededim.Extensions.Configuration.ProtectedJson.ConsoleTest from solution
Fededim.Extensions.Configuration.Protected.DataProtectionAPI: updated to v1.0.7
- Dependency: requires at least Fededim.Extensions.Configuration.Protected version 1.0.19
- Update all Nuget packages to latest version
- Updated project to net8.0 due to incoming net6.0 EOL
v1.0.18
- Security fix: updated System.Text.Json to 8.0.4 in order to fix the security issue CVE-2024-30105
v1.0.17
Updated Fededim.Extensions.Configuration.Protected to v1.0.17
- Refinement: made ProtectedConfigurationProvider.ProviderData property safer using as instead of a direct cast
- Refinement: added virtual to various methods in order to allow extensibility
Updated Fededim.Extensions.Configuration.Protected.DataProtectionAPI to v1.0.5
- Dependency: requires at least Fededim.Extensions.Configuration.Protected version 1.0.17
v1.0.16
Updated Fededim.Extensions.Configuration.Protected to v1.0.16
- Bugfix: environment target was not passed on ProtectEnvironmentVariables while setting the encrypted variables
Updated Fededim.Extensions.Configuration.Protected.DataProtectionAPI to v1.0.4
- Dependency: requires at least Fededim.Extensions.Configuration.Protected version 1.0.16
v1.0.15
Updated Fededim.Extensions.Configuration.Protected to version v1.0.15
- Improvement: made child keys enumeration process unbelievably fast (if the provider is derived from ConfigurationProvider like all now existing providers, the child keys enumeration is now done with a safe hacky method accessing the Data dictionary through reflection which is unbelievably faster, otherwise the old method is used)
Updated Fededim.Extensions.Configuration.Protected.DataProtectionAPI to version v1.0.3
- Dependency: requires at least Fededim.Extensions.Configuration.Protected version 1.0.15
- Improvement: improved testing output, timing all phases with a Stopwatch and made plaintext-decrypted value comparison unbelievably fast using the Data dictionary safe hacky method
v1.0.14
Fededim.Extensions.Configuration.Protected updated to v1.0.14:
- Improvement: added both ProtectRegex and ProtectedReplaceString to abstract class IProtectProviderConfigurationData in order to specify all configuration in a single point
- Breaking change: all ConfigurationBuilderExtensions.Protect... methods now extend the IProtectProviderConfigurationData abstract class instead of IProtectProvider interface, the parameters protectRegexString and protectedReplaceString have been removed since they are now specified inside IProtectProviderConfigurationData
- Refinement: moved IConfigurationBuilder.WithProtectedConfigurationOptions inside Fededim.Extensions.Configuration.Protected.ConfigurationBuilderExtensions
Fededim.Extensions.Configuration.Protected.DataProtectionAPI updated to v1.0.2:
- Dependency: requires at least Fededim.Extensions.Configuration.Protected version 1.0.14
- Breaking change: removed anymore needed DataProtectionAPIConfigurationBuilderExtensions
- Refinement: adapted DataProtectionAPIProtectConfigurationData according to the new IProtectProviderConfigurationData, streamlined its constructors and added missing comments
- Improvement: added unit testing project Fededim.Extensions.Configuration.Protected.DataProtectionAPITest with an extensive test on all existing configuration providers
v1.0.13
v1.0.13
Improvement: Streamlined validations on regex and converted IProtectProviderConfigurationData.IsValid property to a method CheckConfigurationIsValid raising exception with the details of the errors.
Refinement: Just renamed from FileProtect... classes to ProtectFile... for naming consistency among code
v1.0.12
Improvement: Allow encryption/decryption to be pluggable with providers using a new interface IProtectProvider. Therefore all DataProtectionAPI dependencies have been moved to a new package Fededim.Extensions.Configuration.Protected.DataProtectionAPI, you can just use this one which requires Fededim.Extensions.Configuration.Protected.
Bugfix: Fixed a bug with the subPurpose section of the regexs which could lead to a greedy match instead of a lazy one.
v1.0.11
Improvement: Implemented additional JsonWithCommentsFileProtectProcessor ("hacky" optional FilerProtectProcessor) to allow the preservation of JSON comments when encrypting files using ProtectFiles
Improvement: Implemented UseJsonWithCommentsFileProtectOption extension method to replace JsonFileProtectProcessor (active by default for compliance with JSON standard of System.Text.Json) with JsonWithCommentsFileProtectProcessor
v1.0.10
- Improvement: Allow the specification of JsonSerializationOptions for JsonFileProtectProcessor to tweak its settings (comments inside JSON files are now skipped by default)
- Improvement: Allow the specification of LoadOptions and SaveOptions for XmlFileProtectProcessor to tweak its settings
v1.0.9
v1.0.8
- Improvement: introduced FileProtectProcessor and IFileProtectProcessor interface for implementing a custom file protect processor used to read, encrypt and return the encrypted file as string. Json, Xml and Raw processors are provided by default.
- Improvement: added custom string parameter purposeString in ProtectedConfigurationBuilder constructor in order to specify a custom purpose string for encryption/decryption, besides the integer keyNumber parameter.
- Improvement: added subPurpose optional part in DefaultProtectRegexString, DefaultProtectedRegexString and DefaultProtectedReplaceString in order to allow an optional per key purpose string override.
- Improvement: added some data to json (one element in Nullable:DoubleArray of appsettings.development.json) and xml file (AutoRetryDelaySubPurpose under TransientFaultHandlingOptions) of Fededim.Extensions.Configuration.Protected.ConsoleTest in order to exemplify the per key purpose string override.
v1.0.9
- No changes, just a rebuild due to a misalignment with symbols.