Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
157 commits
Select commit Hold shift + click to select a range
1266be2
Update packages
Jun 22, 2023
0d5e1ab
update README.md
Jun 22, 2023
d96d2fd
Remove 'LiteBus' prefix from module construct names
Jun 23, 2023
940b304
Update README.md
Jun 23, 2023
d50ba9a
Update README.md
Jun 23, 2023
077248d
Update Release-Notes.txt
Jun 23, 2023
0615876
remove IEvent constraint from event handlers
Jun 23, 2023
0f24800
Bump Microsoft.NET.Test.Sdk from 17.6.2 to 17.6.3
dependabot[bot] Jun 27, 2023
99f3cd1
Update LICENSE
Jun 27, 2023
24092ed
Merge pull request #38 from litenova/dependabot/nuget/Microsoft.NET.T…
Jun 27, 2023
c009b5c
Upgrade packages
Jul 11, 2023
64f2e4f
remove unused directives
Aug 2, 2023
93cc55c
Update Microsoft.NET.Test.Sdk package
Aug 17, 2023
660169a
Bump FluentAssertions from 6.11.0 to 6.12.0
dependabot[bot] Aug 23, 2023
28c7967
Merge pull request #43 from litenova/dependabot/nuget/FluentAssertion…
Aug 28, 2023
5d0aeca
Add execution context
Sep 26, 2023
f02e230
add a section for ExecutionContext in README.md
Sep 26, 2023
e52f072
Merge pull request #48 from litenova/introduce-execution-context
Sep 26, 2023
712b1d5
bump version to 0.16.0
Sep 26, 2023
d6557c6
add README.md to nuget packages
Sep 26, 2023
6700ed0
Update README.md
Sep 27, 2023
0ff2795
Add `Module` post-fix to module registration method names
Oct 20, 2023
f97493e
Add `Items` property to `IExecutionContext` to allow passing data bet…
Oct 20, 2023
bba2b9e
Remove AsyncEnumerable.cs utility class
Oct 29, 2023
63a82bc
Move the rethrow exception logic inside the RunAsyncErrorHandlers if …
Oct 29, 2023
1cd9860
Upgrade packages of LiteBus.UnitTests.csproj to latest
Oct 29, 2023
8e3a960
Update README.md
Oct 29, 2023
8ff3139
- All post handlers expose message result as the second parameter.
Nov 1, 2023
c978a0c
Merge test coverage results
Nov 2, 2023
fa09032
fix test coverage step in release.yml
Nov 3, 2023
7c6259c
Make execution of event handlers sync
Nov 6, 2023
fe63b91
preserve the stack trace when rethrowing exception in case there are …
Nov 22, 2023
4655c90
Add `EventMediationSettings` to IEventMediator to allow configuring e…
Nov 23, 2023
ca94d62
Merge pull request #59 from litenova/add-event-publish-settings
Nov 23, 2023
56f9498
Rename `FilterHandler` to `HandlerFilter` on `EventMediationSettings`
Nov 23, 2023
8967537
Upgrade to .NET 8
Nov 23, 2023
243a2fc
Add 'ThrowOnNoHandlers' to `EventMediationSettings`
Nov 25, 2023
956ce1c
Add a unit test to cover mediating an event with no handlers
Nov 26, 2023
3e22b19
Rename `Release-Notes.txt` to `Changelog.md`
Nov 26, 2023
d32a9e4
update github action workflows to upload test results to Codecov
Nov 26, 2023
39de92d
fix test report file names in release.yml
Nov 26, 2023
a1a122f
Update README.md
Nov 26, 2023
9cd5823
Push nuget packages to github packages using personal access token
Nov 27, 2023
3099d20
Merge remote-tracking branch 'origin/main'
Nov 27, 2023
e308f9a
Update README.md
Nov 27, 2023
15d3e33
Revert TargetFramework to .NET 7
Dec 5, 2023
a6d90c6
remove explicit version from LiteBus.Messaging.Extensions.MicrosoftDe…
Dec 5, 2023
31db551
Rename `AddMessaging` method to `AddMessageModule`
Dec 5, 2023
fe7a191
Remove redundant method in PostHandlerDescriptorBuilder.cs
Dec 6, 2023
2b0622c
refactor handler descriptors
Dec 8, 2023
d6b0660
Upgrade to Version 0.20.2
Dec 8, 2023
07279b1
Bump actions/setup-dotnet from 3 to 4
dependabot[bot] Dec 11, 2023
866d972
Merge pull request #61 from litenova/dependabot/github_actions/action…
Dec 11, 2023
1e6b1e2
Fixed Query, Event, and Command error handlers returning `object` ins…
Dec 18, 2023
61fc28c
Merge remote-tracking branch 'origin/main'
Dec 18, 2023
91f8a42
Introduce tag-based handler filtering through `HandlerTag` and `Handl…
Dec 23, 2023
bc5f3a3
Fix the missing `Exception` parameter in `IAsyncMessageErrorHandler[T…
Dec 23, 2023
5143f1d
Pump version to 0.23.0
Dec 23, 2023
8a66d02
Upgrade xunit and xunit.runner.visualstudio to latest versions
Jan 9, 2024
c1c20d4
Add `QueryMediatorExtensions`, `CommandMediatorExtensions`, and `Even…
Jan 11, 2024
d1f0d7d
Upgrade to .NET 8
Jan 30, 2024
c3b511f
Add `Tags` to `IExecutionContext`
Jan 30, 2024
c357115
Bump codecov/codecov-action from 3 to 4
dependabot[bot] Feb 5, 2024
9ddeda1
Merge pull request #62 from litenova/dependabot/github_actions/codeco…
Feb 5, 2024
fb89a05
Update release.yml
Feb 14, 2024
4218437
Add 'Abort' feature
Apr 16, 2024
b2f6693
Don't throw error if no handlers were found for plain event message t…
May 2, 2024
af7afd1
Add wiki submodule
Jul 8, 2024
ec77694
Bump codecov/codecov-action from 4 to 5
dependabot[bot] Nov 18, 2024
ba29ee7
Merge pull request #63 from litenova/dependabot/github_actions/codeco…
Jan 5, 2025
92fd9ca
Improve XML comments in the codebase
Apr 10, 2025
6e726f8
Enable `Nullable` for all projects
Apr 13, 2025
b45fef4
Add ICommandValidator
Apr 17, 2025
e0c17d1
Format and Cleanup
Apr 17, 2025
7d165a0
Bump coverlet.msbuild from 6.0.0 to 6.0.4
dependabot[bot] Apr 17, 2025
3f00a18
Bump xunit.runner.visualstudio from 2.5.6 to 3.0.2
dependabot[bot] Apr 17, 2025
3b49177
Bump Microsoft.NET.Test.Sdk from 17.8.0 to 17.13.0
dependabot[bot] Apr 17, 2025
6978fd7
Bump coverlet.collector from 6.0.0 to 6.0.4
dependabot[bot] Apr 17, 2025
bbde9f4
Update wiki
Apr 18, 2025
7b2cdae
Update README.md
Apr 18, 2025
310d6ac
Prepare for v1.0.0 release
Apr 18, 2025
06aeab5
Update GitHub Actions to use upload-artifact@v4
Apr 18, 2025
6bbdc64
Update Changelog.md
Apr 18, 2025
169b965
Merge pull request #72 from litenova/release/v1.0.0
Apr 18, 2025
2d8a399
Bump softprops/action-gh-release from 1 to 2
dependabot[bot] Apr 18, 2025
991ac02
Bump gittools/actions from 0.9.15 to 3.2.0
dependabot[bot] Apr 18, 2025
dd5c1e0
Bump codecov/codecov-action from 3 to 5
dependabot[bot] Apr 18, 2025
d6fbb73
Fix GitVersion configuration by adding preview branch regex
Apr 18, 2025
ee1cdad
Bump Microsoft.SourceLink.GitHub from 1.1.1 to 8.0.0
dependabot[bot] Apr 18, 2025
f122a70
Simplify GitVersion configuration
Apr 18, 2025
3922105
Merge pull request #76 from litenova/dependabot/nuget/Microsoft.Sourc…
Apr 19, 2025
c8a90a6
Merge pull request #75 from litenova/dependabot/github_actions/codeco…
Apr 19, 2025
378429a
Merge pull request #74 from litenova/dependabot/github_actions/gittoo…
Apr 19, 2025
b709cf4
Merge pull request #73 from litenova/dependabot/github_actions/softpr…
Apr 19, 2025
541973b
Merge pull request #70 from litenova/dependabot/nuget/coverlet.collec…
Apr 19, 2025
fdd3978
Merge pull request #69 from litenova/dependabot/nuget/Microsoft.NET.T…
Apr 19, 2025
70fdc20
Merge pull request #67 from litenova/dependabot/nuget/xunit.runner.vi…
Apr 19, 2025
4562484
Merge pull request #66 from litenova/dependabot/nuget/coverlet.msbuil…
Apr 19, 2025
4aac8bf
Update Packages
Apr 19, 2025
63c544a
Update versioning logic
Apr 19, 2025
0683564
Trigger release.yml only on tag creation
Apr 19, 2025
1db58d6
Add restore step back to release.yml
Apr 19, 2025
ca644cb
Add `Generate Release Notes` step to release.yml
Apr 19, 2025
3b73681
Update README.md
Apr 19, 2025
002a2fe
Update README.md
Apr 19, 2025
76597fe
Removed wiki submodule
Apr 21, 2025
be7fb39
Merge branch 'main' of https://github.com/litenova/LiteBus
Apr 21, 2025
5fee30b
Add IQueryValidator[TQuery].cs
Apr 24, 2025
8c201e7
Add IQueryValidator[TQuery].cs
Apr 24, 2025
c336c33
Merge remote-tracking branch 'origin/main'
Apr 24, 2025
858a6a6
Update README.md
Apr 25, 2025
58725c8
Add social-preview.png to assets
Apr 29, 2025
ac724a8
refactor: remove nullable annotations from mediator interfaces
Apr 29, 2025
270130f
Bump gittools/actions from 3.2.0 to 3.2.1
dependabot[bot] May 1, 2025
b7ae1cd
Merge pull request #78 from litenova/dependabot/github_actions/gittoo…
May 1, 2025
44bc686
Bump xunit.runner.visualstudio from 3.0.2 to 3.1.0
dependabot[bot] May 5, 2025
797976a
Merge pull request #79 from litenova/dependabot/nuget/xunit.runner.vi…
May 5, 2025
380c72c
Replace FluentAssertions with AwesomeAssertions
Jun 15, 2025
a55cf8d
Bump gittools/actions from 3.2.1 to 4.0.0
dependabot[bot] Jul 1, 2025
209c435
feat: Add .NET 9 support while maintaining .NET 8 backward compatibility
Jul 1, 2025
5de0b70
Merge pull request #86 from litenova/dependabot/github_actions/gittoo…
litenova Jul 3, 2025
5335eea
Add support for incremental registration
Jul 8, 2025
5b31d3e
Revert gittools version to 3.2.1
Jul 8, 2025
e596748
Allow message registration to handle all non-System types
Jul 8, 2025
6db1059
Bump AwesomeAssertions and 4 others
dependabot[bot] Jul 14, 2025
7761284
fix: filter out non-instantiable types during DI registration
Jul 18, 2025
e6f7e83
Fix Changelog.md wrong version
Jul 18, 2025
710642a
Remove Extra TryAddTransient
Jul 18, 2025
5bab791
Merge pull request #89 from litenova/dependabot/nuget/src/multi-7ea33…
litenova Jul 18, 2025
c2434ad
Sign Assemblies
Jul 21, 2025
e5169f2
Merge remote-tracking branch 'origin/main'
Jul 21, 2025
67b6a0a
Introduce runtime layer
Jul 24, 2025
5c1ef97
Introduce parallel execution and rename order to priority
Jul 31, 2025
9aec347
Initial inbox design
Aug 5, 2025
eda82c4
feat: Add contextual metadata support to mediation pipeline
Aug 5, 2025
6b35bf0
Merge branch 'main' into v4
Aug 7, 2025
1b5165c
Add AutoFac
Aug 13, 2025
e1ab5ac
Add LiteBus.Runtime.Abstractions Project
Sep 18, 2025
ae6b5c3
Adds test coverage for:
Sep 18, 2025
a737d65
Add v4 to Changelog.md
Sep 18, 2025
4587c4b
Merge pull request #104 from litenova/v4
litenova Sep 18, 2025
c7c61bb
Adjust Decode Strong Name Key in build-and-test.yml
Sep 18, 2025
a0033a5
Set IsTestProject to False in LiteBus.Testing.csproj
Sep 18, 2025
7c7311b
Add manual-test-and-coverage.yml & Simplify release.yml
Sep 18, 2025
4acb727
Update README.md
litenova Sep 26, 2025
c80baf1
Update README.md
litenova Sep 26, 2025
1ce8f1f
Bump actions/setup-dotnet from 4 to 5
dependabot[bot] Oct 1, 2025
e8ce930
Add IStreamQueryPostHandler and fix stream context loss
Oct 30, 2025
84e9a16
Update Nuget Packages
Oct 30, 2025
ca8b803
Bump actions/upload-artifact from 4 to 5
dependabot[bot] Nov 1, 2025
cf10231
Merge pull request #116 from litenova/dependabot/github_actions/actio…
litenova Nov 5, 2025
b3ec15b
Merge pull request #107 from litenova/dependabot/github_actions/actio…
litenova Nov 5, 2025
ad954a7
Add DotNet Core example
savariamir Nov 10, 2025
0fe6368
Merge pull request #118 from litenova/add-dotnet-code-examples
savariamir Nov 10, 2025
facad81
Release v4.2.0
Nov 11, 2025
0fac20e
Update README.md
litenova Nov 14, 2025
49b1d2b
Bump NSwag.AspNetCore from 14.6.2 to 14.6.3
dependabot[bot] Nov 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
27 changes: 27 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
[*]

# Microsoft .NET properties
csharp_new_line_before_members_in_object_initializers = false
csharp_preferred_modifier_order = public, internal, protected, private, file, static, async, abstract, virtual, readonly, sealed, override, extern, unsafe, volatile, new, required:suggestion
csharp_space_after_cast = true

# ReSharper properties
resharper_align_multiline_parameter = true
resharper_blank_lines_after_multiline_statements = 1
resharper_blank_lines_around_single_line_auto_property = 1
resharper_blank_lines_before_multiline_statements = 1
resharper_braces_for_for = required
resharper_braces_for_foreach = required
resharper_braces_redundant = false
resharper_csharp_blank_lines_around_single_line_invocable = 1
resharper_csharp_max_line_length = 188
resharper_instance_members_qualify_declared_in =
resharper_keep_existing_declaration_parens_arrangement = true
resharper_parentheses_redundancy_style = remove
resharper_place_expr_property_on_single_line = true
resharper_wrap_after_declaration_lpar = false
resharper_wrap_after_invocation_lpar = false
resharper_wrap_before_extends_colon = false
resharper_wrap_chained_binary_expressions = chop_if_long
resharper_wrap_chained_method_calls = wrap_if_long
resharper_wrap_object_and_collection_initializer_style = chop_always
14 changes: 6 additions & 8 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
version: 2
updates:

# Maintain dependencies for Nuget Packages
- package-ecosystem: nuget
- package-ecosystem: "nuget"
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 25

# Maintain dependencies for GitHub Actions
interval: "weekly"
open-pull-requests-limit: 10

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
interval: "monthly"
open-pull-requests-limit: 5
18 changes: 18 additions & 0 deletions .github/scripts/generate-release-notes.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash
# Get the version tag
VERSION="${GITHUB_REF/refs\/tags\/v/}"

# Extract the relevant section from the changelog
awk -v ver="$VERSION" '
BEGIN { inSection = 0; }
$0 ~ "^##v." ver { inSection = 1; next; }
inSection && $0 ~ "^##" { inSection = 0; }
inSection { print; }
' Changelog.md > release-notes.md

# If no content, provide a default message
if [ ! -s release-notes.md ]; then
echo "# Release v$VERSION" > release-notes.md
echo "" >> release-notes.md
echo "See [Changelog.md](https://github.com/litenova/LiteBus/blob/main/Changelog.md) for details." >> release-notes.md
fi
41 changes: 31 additions & 10 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,50 @@ name: Build & Test

on:
push:
branches:
- '!main'
- '!preview'
branches: [ '**', '!main' ]
paths:
- 'src/**'
- 'tests/**'
pull_request:
branches: [ main ]
paths:
- 'src/**'
- 'tests/**'

jobs:
build:

runs-on: ubuntu-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v3
with:
fetch-depth: 0 # Important for GitVersion

- name: Setup .NET 7
uses: actions/setup-dotnet@v3
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 7.0.x
global-json-file: global.json

- name: Restore
- name: Restore Dependencies
run: dotnet restore

- name: Decode Strong Name Key
run: echo "${{ secrets.STRONG_NAME_KEY }}" | base64 --decode > LiteBus.snk

- name: Build
run: dotnet build --configuration Release --no-restore

- name: Test
run: dotnet test --no-restore --verbosity normal
run: dotnet test --no-restore --verbosity normal --collect:"XPlat Code Coverage"

- name: Upload Test Results
uses: actions/upload-artifact@v5
with:
name: test-results
path: '**/TestResults/**/*.xml'

- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v5
with:
fail_ci_if_error: false
36 changes: 36 additions & 0 deletions .github/workflows/manual-test-and-coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Manual Test and Coverage

on:
# This allows the workflow to be triggered manually from the GitHub Actions UI.
workflow_dispatch:

jobs:
test-and-upload:
runs-on: ubuntu-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json

- name: Restore Dependencies
run: dotnet restore

- name: Decode Strong Name Key
run: echo "${{ secrets.STRONG_NAME_KEY }}" | base64 --decode > LiteBus.snk

- name: Run Tests and Generate Coverage
run: dotnet test --no-restore --verbosity normal /p:CollectCoverage=true /p:CoverletOutputFormat=opencover

- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v5
with:
files: ./tests/**/coverage.opencover.xml
token: ${{ secrets.CODECOV_TOKEN }}
flags: unittests
fail_ci_if_error: true
verbose: true
85 changes: 61 additions & 24 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,46 +1,83 @@
name: CI/CD
name: Release

on:
push:
branches: [ main ]
tags: [ 'v*' ]

jobs:
release:
runs-on: ubuntu-latest

steps:

- name: Checkout Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup .NET 7
uses: actions/setup-dotnet@v3
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 7.0.x
global-json-file: global.json

- name: Set Version Variable
id: version
run: |
VERSION=${GITHUB_REF#refs/tags/v}
echo "Using tag version: $VERSION"
echo "version=$VERSION" >> $GITHUB_OUTPUT

- name: Restore
run: dotnet restore

- name: Decode Strong Name Key
run: echo "${{ secrets.STRONG_NAME_KEY }}" | base64 --decode > LiteBus.snk

- name: Build
run: dotnet build --configuration Release --no-restore
run: dotnet build --configuration Release --no-restore /p:Version=${{ steps.version.outputs.version }} /p:ContinuousIntegrationBuild=true

- name: Test
run: dotnet test --no-restore --verbosity normal
run: dotnet test --no-restore --verbosity normal /p:CollectCoverage=true /p:CoverletOutputFormat=opencover

- name: Publish Test Coverage Report to Coveralls.io
uses: coverallsapp/github-action@master
- name: Upload to Codecov
uses: codecov/codecov-action@v5
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: ./coverage.info

- name: Generate Nuget Packages
run: dotnet pack --configuration Release
- name: Publish Nuget Packages to Nuget.org
run: dotnet nuget push src/**/bin/Release/*.nupkg -k ${{secrets.Nuget_API_Key}} -s https://api.nuget.org/v3/index.json --skip-duplicate
files: ./tests/**/coverage.opencover.xml
flags: unittests
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true

- name: Pack
run: dotnet pack --configuration Release /p:Version=${{ steps.version.outputs.version }} --no-build --output ./artifacts

- name: Publish Nuget Packages to Github
- name: Upload Artifacts
uses: actions/upload-artifact@v5
with:
name: nuget-packages
path: ./artifacts/*.nupkg

- name: Publish to NuGet
run: dotnet nuget push ./artifacts/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate

- name: Publish to GitHub Packages
run: dotnet nuget push ./artifacts/*.nupkg --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json --skip-duplicate

- name: Generate Release Notes
run: |
dotnet nuget add source --username litenova --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github "https://nuget.pkg.github.com/litenova/index.json"
dotnet nuget push src/**/bin/Release/*.nupkg -s "github" --skip-duplicate

VERSION=${GITHUB_REF#refs/tags/v}
echo "# Release v$VERSION" > release-notes.md
echo "" >> release-notes.md
echo "See [Changelog.md](https://github.com/${{ github.repository }}/blob/main/Changelog.md) for details." >> release-notes.md

echo "Generated release notes:"
cat release-notes.md

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
files: ./artifacts/*.nupkg
body_path: release-notes.md
draft: false
prerelease: ${{ contains(github.ref, '-') }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,7 @@ msbuild.err
msbuild.wrn

# Visual Studio 2015
.vs/
.vs/

# Key Pair File
LiteBus.snk
Loading