Skip to content

Releases: fededim/Fededim.Extensions.Configuration.Protected

v1.0.20

08 Dec 20:29
95b04f7
Compare
Choose a tag to compare

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

09 Oct 20:19
3adb084
Compare
Choose a tag to compare

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

30 Jul 22:34
d551137
Compare
Choose a tag to compare
  • Security fix: updated System.Text.Json to 8.0.4 in order to fix the security issue CVE-2024-30105

v1.0.17

25 Jul 20:08
7b67df8
Compare
Choose a tag to compare

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

28 Jun 14:07
85b4ca3
Compare
Choose a tag to compare

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

27 Jun 23:49
62ff5d7
Compare
Choose a tag to compare

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

26 Jun 00:57
fdc2285
Compare
Choose a tag to compare

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

19 Jun 16:58
05dbe9c
Compare
Choose a tag to compare

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

03 Jun 19:32
04d2a35
Compare
Choose a tag to compare
  • 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

30 May 21:22
e7b69c6
Compare
Choose a tag to compare

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.