Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 1, 2026

Updated FSharp.SystemTextJson from 1.3.13 to 1.4.36.

Release notes

Sourced from FSharp.SystemTextJson's releases.

1.4.36

  • #​203: fix enum-like unions mistakenly using PropertyNamingPolicy when not in property name position.
  • #​203: fix enum-like unions not using PropertyNamingCaseInsensitive or UnionTagCaseInsensitive depending on position.
  • #​204: fix enum-like unions serialized with an extraneous field name.

1.4

  • #​177: Support enum-like unions (ie unions where no cases have fields) as key for maps and dictionaries.
  • #​180: In WithOverrides, allow using typedefof to override generic types.
  • #​181: Add WithOverrideMembers option to add JsonNameAttributes to given record fields or union cases.
  • #​192: Update dependency on System.Text.Json to 6.0.10.
  • #​195: Fix JsonNameAttribute's PropertyTargets so that it can be applied to cases with arguments when compiling with F# 9.
  • #​198: Improve performance of type comparisons.
  • #​201: Reduce memory allocations when serializing or deserializing tuples and struct tuples with 2, 3 or 4 items.

Commits viewable in compare view.

Updated JsonSchema.Net from 8.0.4 to 8.0.5.

Release notes

Sourced from JsonSchema.Net's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated LanguageExt.Core from 5.0.0-beta-65 to 5.0.0-beta-77.

Release notes

Sourced from LanguageExt.Core's releases.

5.0.0-beta-77

The core SourceT<M> has improvements:

  • The | operator which takes the left-hand stream and right-hand stream and merges them into a single stream can now handle errors emitted from either stream and propagate it up through the reducer. Your M type must support Fallible<M> for this to work.
  • I have rewritten the internals of StreamT.lift(Channel) to use the new Monad.Recur functionality - this removes any risk of stack-overflows with your bespoke M types (assuming you've implemented Monad.Recur correctly.

5.0.0-beta-69

This question was raised where a StreamT fold was not terminating. The issue was slightly deeper than I initially thought. SourceT took a different approach to terminating a reducer than Source. SourceT used M.Pure as a terminating value whereas Source has a dedicated structure, Reduced, which has a Continue flag, indicating whether any reducer is complete or not.

I thought M.Pure was enough to terminate a stream, but it wasn't sufficient, I made a mistake on that one. So, I've updated all of the SourceT reducers to now return K<M, Reduced<A>> which allows streams like SourceT.forever to spot when a 'downstream' reducer has ended the stream and can therefore terminate, rather than continue forever heating up the processor.

StreamT is still completely without any form of decent test coverage, so still be cautious using it.

There are now four reducing methods on StreamT which allow for different return values in the reducer function:

  • S - just the pure reduced value
  • K<M, A> - the lifted reduced value
  • Reduced<S> - the pure reduced value with the Continue flag (in case you want to use this in other reducers)
  • K<M ,Reduced<S>> - the lifted reduced value with the Continue flag (in case you want to use this in other reducers)
public K<M, S> Reduce<S>(S state, Reducer<A, S> reducer) =>
    ReduceM(state, (s, x) => M.Pure(reducer(s, x)));

public K<M, S> FoldReduce<S>(S state, Func<S, A, S> reducer) =>
    ReduceM(state, (s, x) => M.Pure(Reduced.Continue(reducer(s, x))));

public K<M, S> ReduceM<S>(S state, ReducerM<M, A, S> reducer) =>
    ReduceInternalM(state, (s, mx) => mx.Bind(x => reducer(s, x))).Map(r => r.Value);

public K<M, S> FoldReduceM<S>(S state, Func<S, A, K<M, S>> reducer) =>
    ReduceInternalM(state, (s, mx) => mx.Bind(x => reducer(s, x).Map(Reduced.Continue))).Map(r => r.Value);

5.0.0-beta-67

The support for generalised monad tail-recursion release that I did in the early hours of Christmas Day needed some support functions, as also requested here, so I have added the following functions to the Monad module:

Function Behaviour
Monad.forever Repeatedly runs a monad's effect
Monad.replicate Runs a monad's effect n times, collecting the results in an Iterable<A>
Monad.accumWhile Repeatedly runs a monad's effect while the predicate returns true, collecting the results in an Iterable<A>
Monad.accumWhileM Repeatedly runs a monad's effect while the monadic predicate returns true, collecting the results in
Monad.accumUntil Repeatedly runs a monad's effect until the predicate returns true, collecting the results in an Iterable<A>
Monad.accumUntilM Repeatedly runs a monad's effect until the monadic predicate returns true, collecting the results in an Iterable<A>

The functions themselves are quite good demonstrations of Monad.recur, so I have pasted the source-code below just FYI:

/// <summary>
/// This is equivalent to the infinite loop below without the stack-overflow issues:
///
///     K〈M, A〉go =>
///         ma.Bind(_ => go);
/// 
/// </summary>
/// <param name="ma">Computation to recursively run</param>
/// <typeparam name="M">Monad</typeparam>
/// <typeparam name="A">Bound value type</typeparam>
/// <typeparam name="B">'Result' type, there will never be a result of `B`, but the monad rules may exit the loop
/// with an alternative value; and so `B` is still valid</typeparam>
/// <returns>A looped computation</returns>
[Pure]
public static K<M, A> forever<M, A>(K<M, A> ma)
    where M : Monad<M> =>
    forever<M, A, A>(ma);

/// <summary>
/// This is equivalent to the infinite loop below without the stack-overflow issues:
///
///     K〈M, A〉go =>
///         ma.Bind(_ => go);
/// 
/// </summary>
/// <param name="ma">Monadic computation to recursively run</param>
/// <typeparam name="M">Monad</typeparam>
/// <typeparam name="A">Bound value type</typeparam>
/// <typeparam name="B">'Result' type, there will never be a result of `B`, but the monad rules may exit the loop
/// with an alternative value; and so `B` is still valid</typeparam>
/// <returns>A looped computation</returns>
[Pure]
public static K<M, B> forever<M, A, B>(K<M, A> ma) 
    where M : Monad<M> => 
    recur<M, A, B>(default!, _ => ma.Map(_ => Next<A, B>.UnsafeDefault));

 ... (truncated)

## 5.0.0-beta-66

Fix for:

* SourceT Skip and Take issues: https://github.com/louthy/language-ext/issues/1503
* Difference between the behaviours of FoldWhile and FoldWhileIO: https://github.com/louthy/language-ext/discussions/1527

A simple update to transducer-lifting in `SourceT` which fixes issues seen with `Skip`, `Take`, and `Fold*`

Commits viewable in [compare view](https://github.com/louthy/language-ext/commits/v5.0.0-beta-77).
</details>

Updated System.Text.Json from 9.0.0 to 9.0.11.

Updated [TUnit](https://github.com/thomhurst/TUnit) from 1.6.28 to 1.7.7.

<details>
<summary>Release notes</summary>

_Sourced from [TUnit's releases](https://github.com/thomhurst/TUnit/releases)._

## 1.7.7

<!-- Release notes generated using configuration in .github/release.yml at v1.7.7 -->

## What's Changed
### Other Changes
* feat: implement dynamic attribute merging for test data collectors an… by @​thomhurst in https://github.com/thomhurst/TUnit/pull/4188
### Dependencies
* chore(deps): update tunit to 1.7.0 by @​thomhurst in https://github.com/thomhurst/TUnit/pull/4180


**Full Changelog**: https://github.com/thomhurst/TUnit/compare/v1.7.5...v1.7.7

## 1.7.5

<!-- Release notes generated using configuration in .github/release.yml at v1.7.5 -->

## What's Changed
### Other Changes
* redundant allocations by @​thomhurst in https://github.com/thomhurst/TUnit/pull/4185
* Clearer Data Injection Failure Messages by @​thomhurst in https://github.com/thomhurst/TUnit/pull/4187


**Full Changelog**: https://github.com/thomhurst/TUnit/compare/v1.7.0...v1.7.5

## 1.7.0

<!-- Release notes generated using configuration in .github/release.yml at v1.7.0 -->

## What's Changed
### Other Changes
* feat(analyzers): add NUnit ExpectedResult migration support by @​thomhurst in https://github.com/thomhurst/TUnit/pull/4170
* perf: reduce lock contention in test discovery and scheduling by @​thomhurst in https://github.com/thomhurst/TUnit/pull/4171
* perf: replace redundant allocations with `Linq` by @​TimothyMakkison in https://github.com/thomhurst/TUnit/pull/4172
* fix: move permissions to workflow level for OIDC token access by @​Copilot in https://github.com/thomhurst/TUnit/pull/4173
* Fix dotnet test documentation to require -- separator for TUnit extension flags by @​Copilot in https://github.com/thomhurst/TUnit/pull/4097
* Fix dotnet test command syntax in documentation for Microsoft.Testing.Platform by @​Copilot in https://github.com/thomhurst/TUnit/pull/4084
* System.Text.Json Assertions for JsonNode, JsonElement, etc. by @​thomhurst in https://github.com/thomhurst/TUnit/pull/4179
### Dependencies
* chore(deps): update dependency polyfill to 9.5.0 by @​thomhurst in https://github.com/thomhurst/TUnit/pull/4152
* chore(deps): update tunit to 1.6.28 by @​thomhurst in https://github.com/thomhurst/TUnit/pull/4156
* chore(deps): update verify to 31.9.1 by @​thomhurst in https://github.com/thomhurst/TUnit/pull/4166
* chore(deps): update verify to 31.9.2 by @​thomhurst in https://github.com/thomhurst/TUnit/pull/4168
* chore(deps): update verify to 31.9.3 by @​thomhurst in https://github.com/thomhurst/TUnit/pull/4175


**Full Changelog**: https://github.com/thomhurst/TUnit/compare/v1.6.28...v1.7.0

Commits viewable in [compare view](https://github.com/thomhurst/TUnit/compare/v1.6.28...v1.7.7).
</details>

Updated [Verify.Expecto](https://github.com/VerifyTests/Verify) from 31.9.2 to 31.9.3.

<details>
<summary>Release notes</summary>

_Sourced from [Verify.Expecto's releases](https://github.com/VerifyTests/Verify/releases)._

No release notes found for this version range.

Commits viewable in [compare view](https://github.com/VerifyTests/Verify/commits).
</details>

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> 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 <dependency name> 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 <dependency name>` 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 <dependency name>` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions


</details>

Bumps FSharp.SystemTextJson from 1.3.13 to 1.4.36
Bumps JsonSchema.Net from 8.0.4 to 8.0.5
Bumps LanguageExt.Core from 5.0.0-beta-65 to 5.0.0-beta-77
Bumps System.Text.Json from 9.0.0 to 9.0.11
Bumps TUnit from 1.6.28 to 1.7.7
Bumps Verify.Expecto from 31.9.2 to 31.9.3

---
updated-dependencies:
- dependency-name: FSharp.SystemTextJson
  dependency-version: 1.4.36
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-dependencies
- dependency-name: JsonSchema.Net
  dependency-version: 8.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-dependencies
- dependency-name: LanguageExt.Core
  dependency-version: 5.0.0-beta-77
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-dependencies
- dependency-name: System.Text.Json
  dependency-version: 9.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-dependencies
- dependency-name: TUnit
  dependency-version: 1.7.7
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-dependencies
- dependency-name: Verify.Expecto
  dependency-version: 31.9.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file dotnet labels Jan 1, 2026
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Jan 2, 2026

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

@dependabot dependabot bot closed this Jan 2, 2026
@dependabot dependabot bot deleted the dependabot/nuget/nuget-dependencies-134aa7eea4 branch January 2, 2026 03:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file dotnet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant