Skip to content

Releases: FoundatioFx/Foundatio

v10.4.0

24 May 10:43
Compare
Choose a tag to compare

What's Changed

  • Support for UniqueId on QueueEntryOptions (with MessageBus support) by @jcono in #268
  • InMemoryCacheClient.SetAllAsync isn't respecting the expiry by @dcomartin in #272
  • Updated DeepCloner to 0.10.3 by @niemyjski in #267

New Contributors

Full Changelog: v10.3.1...v10.4.0

v10.3.1

24 May 10:43
Compare
Choose a tag to compare

Full Changelog: v10.3.0...v10.3.1

v10.2.5

24 May 10:43
Compare
Choose a tag to compare

Full Changelog: v10.2.5...v10.3.0

v10.2.5

24 May 10:43
Compare
Choose a tag to compare

Full Changelog: v10.2.4...v10.2.5

v10.2.4

24 May 10:43
Compare
Choose a tag to compare

Full Changelog: v10.2.3...v10.2.4

v10.2.3

24 May 10:42
Compare
Choose a tag to compare

Full Changelog: v10.2.2...v10.2.3

v10.2.2

12 Oct 20:21
Compare
Choose a tag to compare

Full Changelog: v10.2.1...v10.2.2

v10.0.0

27 Apr 12:25
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v9.1.1...v10.0.0

v9.0.0

16 Jan 18:18
Compare
Choose a tag to compare

What's Changed

Full Changelog: v8.1...v9.0.0

v8.0.0

04 Mar 14:50
Compare
Choose a tag to compare

What’s New

With the 8.0 release we focused on adding new features, improving the build process using containers, and squashing some bugs.

New Features

  • Added support for Startup Actions that can be run when you startup your application. You can register an expression or implement IStartupAction and have a method called on startup.
  • We are taking Jobs to the next Level via new HostedJobService implementation. This new functionality allows you to register jobs to run jobs as background tasks in ASP.NET Core. You can find this new functionality in the Foundatio.Hosting NuGet package. Below are some of the awesome things we enabled out of the box:
    • Ability to define jobs via services.AddJob<MyJob>()
    • Ability to define Cron jobs via services.AddCronJob<MyJob>("* * * * *")
    • Ability to wait for startup actions to complete before running the jobs.
    • Ability to prevent your app from serving requests before the startup action run by calling app.UseWaitForStartupActionsBeforeServingRequests().
    • Return Unhealthy health checks if startup actions haven't completed. You can enable this by calling services.AddHealthChecks().AddCheckForStartupActionsComplete()
  • Added GetPagedFileListAsync to the IFileStorage interface to allow to allow for efficient paging.
  • Added deleted file count to DeleteFilesAsync to get more insight into delete operations.
  • Added RemoveAsync, RemoveIfEqualAsync , and ReplaceIfEqualAsync to the ICacheClient interface.
  • Added IQueueActivity interface to queue implementations. This allows you easily check when something has last occurred. We are using this interface for quick health checks.
  • Added new SafeSleepAsync methods to SystemClock. This ensured a common pattern for safely recovering from sleep operations once a token had been cancelled.

Bug Fixes

  • Fixed an issue with CacheLockProvider not cleaning up AsyncAutoResetEvents after calling AcquireAsync.
  • Fixed an issue where you could release any lock by lock name via the CacheLockProvider. You need to be sure you are releasing the lock you acquired and not someone elses lock.
  • Fixed a bug where the connection string parser could throw a null reference exception.

Breaking

  • We changed the ILockProvider interface signatures quite a bit in this release. We changed ReleaseAsync and RenewAsync methods to take an actual lock instance to prevent someone from releasing someone else lock.
  • We changed the ILock interface signatures a tiny bit by updating argument names and added some additional read only properties. We feel like this change will give us better control over assuring you a lock is unique as well as give us better insights into lock timings.
  • We removed GetFileListAsync from IFileStorage. It's now an extension method that calls into GetPagedFileListAsync.

Please take a look at the change log for a full list of the changes.

Check It Out – Feedback Appreciated!

We made many other improvements to ensure your apps run fast when using Foundatio, too many to be listed here. If you’re already using it, just update your NuGet package to the latest version to take advantage of these improvements. If you’re not using it yet, try it out. It’s worth a shot, we promise!

Once you’ve given it a go, please let us know what you like, or what you hate, by posting a issue.

Until next time, happy coding!