neon-sunset / fast-cache

The fastest cache library written in C# for items with set expiration time. Easy to use, thread-safe and light on memory.
https://www.nuget.org/packages/FastCache.Cached/
MIT License
88 stars 8 forks source link

Bump the nuget group across 1 directory with 2 updates #116

Closed dependabot[bot] closed 1 month ago

dependabot[bot] commented 2 months ago

Bumps the nuget group with 2 updates in the / directory: BenchmarkDotNet and ZiggyCreatures.FusionCache.

Updates BenchmarkDotNet from 0.13.12 to 0.14.0

Release notes

Sourced from BenchmarkDotNet's releases.

0.14.0

Full changelog: https://benchmarkdotnet.org/changelog/v0.14.0.html

Highlights

  • Introduce BenchmarkDotNet.Diagnostics.dotMemory #2549: memory allocation profile of your benchmarks using dotMemory, see @​BenchmarkDotNet.Samples.IntroDotMemoryDiagnoser
  • Introduce BenchmarkDotNet.Exporters.Plotting #2560: plotting via ScottPlot (initial version)
  • Multiple bugfixes
  • The default build toolchains have been updated to pass IntermediateOutputPath, OutputPath, and OutDir properties to the dotnet build command. This change forces all build outputs to be placed in a new directory generated by BenchmarkDotNet, and fixes many issues that have been reported with builds. You can also access these paths in your own .csproj and .props from those properties if you need to copy custom files to the output.

Bug fixes

  • Fixed multiple build-related bugs including passing MsBuildArguments and .Net 8's UseArtifactsOutput.

Breaking Changes

  • DotNetCliBuilder removed retryFailedBuildWithNoDeps constructor option.
  • DotNetCliCommand removed RetryFailedBuildWithNoDeps property and BuildNoRestoreNoDependencies() and PublishNoBuildAndNoRestore() methods (replaced with PublishNoRestore()).
Commits
  • cf882d3 Add macOS Sequoia in OsBrandStringHelper
  • 17cf3b0 [docs] Prepare v0.14.0 changelog
  • b3fbe7c Set next BenchmarkDotNet version: 0.14.0
  • 23e6c52 Fix InvalidOperationException in DotMemoryDiagnoser
  • 3d34edb Bump JetBrains.Profiler.SelfApi: 2.5.2->2.5.9
  • bf0a49d fix(CI): Deprecation issues (#2605)
  • 0275649 Fixed crash from TaskbarProgress when BuiltInComInteropSupport is disabled. ...
  • 15200d4 [build] Add BenchmarkDotNet.Exporters.Plotting.Tests to unit-tests
  • 834417a Improve logging in ScottPlotExporterTests
  • f8082a2 Fix IntroSummaryStyle compilation
  • Additional commits viewable in compare view


Updates ZiggyCreatures.FusionCache from 1.2.0 to 1.3.0

Release notes

Sourced from ZiggyCreatures.FusionCache's releases.

v1.3.0

♊ Auto-Clone (docs)

In general is never a good idea to mutate data retrieved from the cache: it should always be considered immutable/readonly. To see why, read more in the docs.

Not all the scenarios where mutating a piece of data we got from the cache are necessarily wrong though, as users may have a particular use case where that may be needed, and ideally they should be abe to do that in an easy (and optimized!) way, by following the tried and true "it just works" mindset.

With Auto-Clone this is now possible.

A couple of details:

  • it just works, out of the box
  • is easy to use
  • doesn't require extra coding/setup (it's just a new EnableAutoClone option)
  • uses existing code infrastructure (eg: IFusionCacheSerializer)
  • has granular control on a per-entry basis
  • is performant (as much as possible)

Thanks to community users @​JarrodOsborne and @​kzkzg !

See here for the original issue.

💣 Fail-Safe Without Exceptions (docs)

Currently the way to activate fail-safe is for a factory to throw an exception.

This makes sense, since the whole point of fail-safe is to protect us when an error occurs while executing a factory.

But there may be other ways to do it, for example by using a variation of the Result Pattern or similar approaches, in which throwing an exception is not necessary.

This is now possible thanks to the new Fail(...) method on the FusionCacheFactoryExecutionContext<TValue> type, which we can access when executing a factory.

A quick example:

var productResult = await cache.GetOrSetAsync<Result<Product>>(
    $"product:{id}",
    async (ctx, ct) =>
    {
        var productResult = GetProductFromDb(id);
 if (productResult.IsSuccess == false)
    {
        return ctx.Fail(productResult.Error);
    }

    return productResult;
},
opt =&gt; opt.SetDuration(duration).SetFailSafe(true)

</tr></table>

... (truncated)

Commits


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
coveralls commented 2 months ago

Coverage Status

coverage: 91.41% (+0.09%) from 91.323% when pulling 60d583c3a61fc1500ac0a8981de8099ab8a67761 on dependabot/nuget/nuget-8c9a6f6516 into 9d9f2620c437cac67d35217a8f08cb24bec3eccd on main.

dependabot[bot] commented 1 month ago

Looks like these dependencies are updatable in another way, so this is no longer needed.