Skip to content

Releases: reactiveui/punchclock

3.2.7

28 Jul 10:30
7e664ce

Choose a tag to compare

Changes

Dependency Updates

  • ec486d2 chore(deps): bump PublicApiGenerator from 10.1.0 to 10.2.0 (#94)
  • 6f8e1b5 chore(deps): bump Nerdbank.GitVersioning from 3.1.74 to 3.1.91 (#88)
  • edde0d1 chore(deps): bump PublicApiGenerator from 10.0.2 to 10.1.0 (#89)
  • dc86a4f chore(deps): bump xunit.runner.visualstudio from 2.4.1 to 2.4.2 (#90)

3.2.1

28 Apr 04:10
e755232

Choose a tag to compare

Changes:

  • e755232 houeskeeping: Update version.json (#86) @RLittlesII
  • 0a0eef1 housekeeping: Updated C# 8 Nullability (#87) @RLittlesII
  • 36eabe1 chore(deps): bump stylecop.analyzers from 1.1.1-rc.114 to 1.1.118 (#38)
  • a570401 chore(deps): bump Microsoft.SourceLink.GitHub (#65)
  • 78642cb chore(deps): bump Roslynator.Analyzers from 2.1.0-rc to 2.3.0 (#74)
  • 5c8c579 chore(deps): bump Nerdbank.GitVersioning from 2.3.38 to 3.1.74 (#79)
  • 540d797 chore(deps): update splat requirement from 7.* to 9.* (#53)
  • f20ce06 chore(deps): bump Microsoft.Reactive.Testing from 4.0.0 to 4.4.1 (#80)
  • 5adab32 chore(deps): bump System.Reactive from 4.0.0 to 4.4.1 (#81)
  • 5a99a30 chore(deps): bump Microsoft.NET.Test.Sdk from 16.0.1 to 16.6.1 (#84)

3.1.1

21 Mar 01:25
af63f82

Choose a tag to compare

Overview

Update our Splat and DynamicData dependencies.

Changes:

  • chore(deps): bump splat from 6.1.7 to 7.0.1 (#32) @dependabot[bot]
  • chore(deps): bump DynamicData from 6.7.1.2534 to 6.8.0.2561 (#31) @dependabot[bot]
  • housekeeping: Update to latest MsBuild.Sdk.Extras @glennawatson

3.0.17

05 Feb 09:01

Choose a tag to compare

Overview

Update to .NET Standard 2.0 and Reactive Extensions 4.0.

Changes:

  • housekeeping: Add azure devops pipelines scripts (#29) @glennawatson
  • feature: update to reactive 4 and netstandard 2 (#22) @Elonon
  • use visual studio sdk project format @ghuntley
  • fix: restrict system.reactive to 3.1.1 as min but never 4.x series (#20) @ghuntley
  • chore: added CI release workflow @ghuntley

2.0.0

10 Nov 06:23

Choose a tag to compare

Punchclock is the low-level scheduling and prioritization library used by Fusillade to orchestrate pending concurrent operations.

What even does that mean?

Ok, so you've got a shiny mobile phone app and you've got async/await. Awesome! It's so easy to issue network requests, why not do it all the time? After your users one-:star2: you for your app being slow, you discover that you're issuing way too many requests at the same time.

Then, you try to manage issuing less requests by hand, and it becomes a spaghetti mess as different parts of your app reach into each other to try to
figure out who's doing what. Let's figure out a better way.

So many words, gimme the examples

var wc = new WebClient();
var opQueue = new OperationQueue(2 /*at a time*/);

// Download a bunch of images
var foo = opQueue.Enqueue(1, 
    () => wc.DownloadFile("https://example.com/foo.jpg", "foo.jpg"));
var bar = opQueue.Enqueue(1, 
    () => wc.DownloadFile("https://example.com/bar.jpg", "bar.jpg"));
var baz = opQueue.Enqueue(1, 
    () => wc.DownloadFile("https://example.com/baz.jpg", "baz.jpg"));
var bamf = opQueue.Enqueue(1, 
    () => wc.DownloadFile("https://example.com/bamf.jpg", "bamf.jpg"));

// We'll be downloading the images two at a time, even though we started 
// them all at once
await Task.WaitAll(foo, bar, baz, bamf);

Now, in a completely different part of your app, if you need something right
away, you can specify it via the priority:

// This file is super important, we don't care if it cuts in line in front
// of some images or other stuff
var wc = new WebClient();
await opQueue.Enqueue(10 /* It's Important */, 
    () => wc.DownloadFileTaskAsync("http://example.com/cool.txt", "./cool.txt"));

As part of this release we had 4 issues closed.

Breaking change

  • #16 implemented netstandard v1.0 and upgraded to System.Reactive 3.0

Bug

  • #15 added missing bool in equality comparison

Improvements

  • #19 implemented continuous integration
  • #18 added coc & github issues/pr templates

Where to get it

You can download this release from nuget.org

Punchclock 1.2.0

10 Oct 16:19

Choose a tag to compare

What's New

  • Update PCL to support Windows Phone 8.1 Universal apps (#11, thanks @prasannavl!)

Punchclock 1.1.1

01 May 23:01

Choose a tag to compare

What's New

Bug Fixes

  • Update to latest Rx
  • Fix the portable library path to be compatible with WPA81 Portable Libraries

Punchclock 1.1.0

05 Dec 11:04

Choose a tag to compare

What's New

Adjusting maximum concurrent

Thanks to @pedroreys, Punchclock now allows adjusting the maximum amount of concurrent items. If the limit is lowered, in-flight operations are not canceled, the limit only affects items dispatched in the future.

Bug Fixes

  • NuGet package now includes a dependency to Rx (#7)
  • Passing in null for the key now does not limit concurrency based on the key

Punchclock 1.0.1

12 Nov 22:38

Choose a tag to compare

What's New

New Task Methods

  • Added new overloads of Enqueue to omit optional parameters, thanks @TheAngryByrd!

Misc

  • If an operation is queued but the operation is canceled before it is scheduled, the calculation function is no longer called

Punchclock 1.0.0

09 Oct 06:02

Choose a tag to compare

Initial Release