Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore!: Enable nullable reference types #253

Merged
merged 26 commits into from
Apr 5, 2024

Conversation

askpt
Copy link
Member

@askpt askpt commented Mar 28, 2024

Enable nullable reference types

  • This PR enables the nullable validation and treats warnings as errors.

Related Issues

Fixes #208

Notes

This PR turns on the nullable checks for the dotnet checks. This gives us a better and safer codebase since it checks for potential null exceptions.

Breaking changes

While this PR won't require changes to the exposed API, it might show some errors to the clients consuming it.

@askpt askpt linked an issue Mar 28, 2024 that may be closed by this pull request
askpt added 15 commits March 28, 2024 10:15
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
@askpt askpt force-pushed the askpt/208-enable-nullable-reference-types branch from 30e7a51 to 3d21bd9 Compare March 28, 2024 10:15
Copy link

codecov bot commented Mar 28, 2024

Codecov Report

Attention: Patch coverage is 92.30769% with 5 lines in your changes are missing coverage. Please review.

Project coverage is 95.50%. Comparing base (9b9c3fd) to head (0738213).

Files Patch % Lines
src/OpenFeature/EventExecutor.cs 66.66% 0 Missing and 4 partials ⚠️
src/OpenFeature/OpenFeatureClient.cs 83.33% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #253      +/-   ##
==========================================
+ Coverage   94.47%   95.50%   +1.03%     
==========================================
  Files          27       27              
  Lines        1104     1113       +9     
  Branches      119      120       +1     
==========================================
+ Hits         1043     1063      +20     
+ Misses         37       33       -4     
+ Partials       24       17       -7     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

askpt added 4 commits March 28, 2024 13:01
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
@askpt askpt force-pushed the askpt/208-enable-nullable-reference-types branch from d31f23e to 15270f3 Compare March 28, 2024 14:05
askpt added 5 commits March 28, 2024 14:07
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
@askpt askpt marked this pull request as ready for review March 28, 2024 15:51
@askpt askpt requested a review from a team as a code owner March 28, 2024 15:51
@askpt askpt added this to the 2.0 (breaking) milestone Mar 28, 2024
@askpt askpt requested a review from kinyoklion April 3, 2024 07:42
Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
@beeme1mr beeme1mr requested a review from toddbaert April 5, 2024 13:10
@beeme1mr beeme1mr merged commit 5a5312c into main Apr 5, 2024
14 of 15 checks passed
@beeme1mr beeme1mr deleted the askpt/208-enable-nullable-reference-types branch April 5, 2024 17:32
toddbaert added a commit that referenced this pull request Aug 21, 2024
🤖 I have created a release *beep* *boop*
---


##
[2.0.0](v1.5.0...v2.0.0)
(2024-08-21)

Today we're announcing the release of the OpenFeature SDK for .NET,
v2.0! This release contains several ergonomic improvements to the SDK,
which .NET developers will appreciate. It also includes some performance
optimizations brought to you by the latest .NET primitives.

For details and migration tips, check out:
https://openfeature.dev/blog/dotnet-sdk-v2

### ⚠ BREAKING CHANGES

* domain instead of client name
([#294](#294))
* internally maintain provider status
([#276](#276))
* add CancellationTokens, ValueTasks hooks
([#268](#268))
* Use same type for flag metadata and event metadata
([#241](#241))
* Enable nullable reference types
([#253](#253))

### 🐛 Bug Fixes

* Add missing error message when an error occurred
([#256](#256))
([949d53c](949d53c))
* Should map metadata when converting from ResolutionDetails to
FlagEvaluationDetails
([#282](#282))
([2f8bd21](2f8bd21))


### ✨ New Features

* add CancellationTokens, ValueTasks hooks
([#268](#268))
([33154d2](33154d2))
* back targetingKey with internal map
([#287](#287))
([ccc2f7f](ccc2f7f))
* domain instead of client name
([#294](#294))
([4c0592e](4c0592e))
* Drop net7 TFM
([#284](#284))
([2dbe1f4](2dbe1f4))
* internally maintain provider status
([#276](#276))
([63faa84](63faa84))
* Use same type for flag metadata and event metadata
([#241](#241))
([ac7d7de](ac7d7de))


### 🧹 Chore

* cleanup code
([#277](#277))
([44cf586](44cf586))
* **deps:** Project file cleanup and remove unnecessary dependencies
([#251](#251))
([79def47](79def47))
* **deps:** update actions/upload-artifact action to v4.3.3
([#263](#263))
([7718649](7718649))
* **deps:** update actions/upload-artifact action to v4.3.4
([#278](#278))
([15189f1](15189f1))
* **deps:** update actions/upload-artifact action to v4.3.5
([#291](#291))
([00e99d6](00e99d6))
* **deps:** update codecov/codecov-action action to v4
([#227](#227))
([11a0333](11a0333))
* **deps:** update codecov/codecov-action action to v4.3.1
([#267](#267))
([ff9df59](ff9df59))
* **deps:** update codecov/codecov-action action to v4.5.0
([#272](#272))
([281295d](281295d))
* **deps:** update dependency benchmarkdotnet to v0.14.0
([#293](#293))
([aec222f](aec222f))
* **deps:** update dependency coverlet.collector to v6.0.2
([#247](#247))
([ab34c16](ab34c16))
* **deps:** update dependency coverlet.msbuild to v6.0.2
([#239](#239))
([e654222](e654222))
* **deps:** update dependency dotnet-sdk to v8.0.204
([#261](#261))
([8f82645](8f82645))
* **deps:** update dependency dotnet-sdk to v8.0.301
([#271](#271))
([acd0385](acd0385))
* **deps:** update dependency dotnet-sdk to v8.0.303
([#275](#275))
([871dcac](871dcac))
* **deps:** update dependency dotnet-sdk to v8.0.400
([#295](#295))
([bb4f352](bb4f352))
* **deps:** update dependency githubactionstestlogger to v2.4.1
([#274](#274))
([46c2b15](46c2b15))
* **deps:** update dependency microsoft.net.test.sdk to v17.10.0
([#273](#273))
([581ff81](581ff81))
* **deps:** update dotnet monorepo
([#218](#218))
([bc8301d](bc8301d))
* **deps:** update xunit-dotnet monorepo
([#262](#262))
([43f14cc](43f14cc))
* **deps:** update xunit-dotnet monorepo
([#279](#279))
([fb1cc66](fb1cc66))
* **deps:** update xunit-dotnet monorepo to v2.8.1
([#266](#266))
([a7b6d85](a7b6d85))
* Enable nullable reference types
([#253](#253))
([5a5312c](5a5312c))
* in-memory UpdateFlags to UpdateFlagsAsync
([#298](#298))
([390205a](390205a))
* prompt 2.0
([9b9c3fd](9b9c3fd))
* Support for determining spec support for the repo
([#270](#270))
([67a1a0a](67a1a0a))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
arttonoyan pushed a commit to arttonoyan/dotnet-sdk that referenced this pull request Oct 16, 2024
🤖 I have created a release *beep* *boop*
---

##
[2.0.0](open-feature/dotnet-sdk@v1.5.0...v2.0.0)
(2024-08-21)

Today we're announcing the release of the OpenFeature SDK for .NET,
v2.0! This release contains several ergonomic improvements to the SDK,
which .NET developers will appreciate. It also includes some performance
optimizations brought to you by the latest .NET primitives.

For details and migration tips, check out:
https://openfeature.dev/blog/dotnet-sdk-v2

### ⚠ BREAKING CHANGES

* domain instead of client name
([open-feature#294](open-feature#294))
* internally maintain provider status
([open-feature#276](open-feature#276))
* add CancellationTokens, ValueTasks hooks
([open-feature#268](open-feature#268))
* Use same type for flag metadata and event metadata
([open-feature#241](open-feature#241))
* Enable nullable reference types
([open-feature#253](open-feature#253))

### 🐛 Bug Fixes

* Add missing error message when an error occurred
([open-feature#256](open-feature#256))
([949d53c](open-feature@949d53c))
* Should map metadata when converting from ResolutionDetails to
FlagEvaluationDetails
([open-feature#282](open-feature#282))
([2f8bd21](open-feature@2f8bd21))

### ✨ New Features

* add CancellationTokens, ValueTasks hooks
([open-feature#268](open-feature#268))
([33154d2](open-feature@33154d2))
* back targetingKey with internal map
([open-feature#287](open-feature#287))
([ccc2f7f](open-feature@ccc2f7f))
* domain instead of client name
([open-feature#294](open-feature#294))
([4c0592e](open-feature@4c0592e))
* Drop net7 TFM
([open-feature#284](open-feature#284))
([2dbe1f4](open-feature@2dbe1f4))
* internally maintain provider status
([open-feature#276](open-feature#276))
([63faa84](open-feature@63faa84))
* Use same type for flag metadata and event metadata
([open-feature#241](open-feature#241))
([ac7d7de](open-feature@ac7d7de))

### 🧹 Chore

* cleanup code
([open-feature#277](open-feature#277))
([44cf586](open-feature@44cf586))
* **deps:** Project file cleanup and remove unnecessary dependencies
([open-feature#251](open-feature#251))
([79def47](open-feature@79def47))
* **deps:** update actions/upload-artifact action to v4.3.3
([open-feature#263](open-feature#263))
([7718649](open-feature@7718649))
* **deps:** update actions/upload-artifact action to v4.3.4
([open-feature#278](open-feature#278))
([15189f1](open-feature@15189f1))
* **deps:** update actions/upload-artifact action to v4.3.5
([open-feature#291](open-feature#291))
([00e99d6](open-feature@00e99d6))
* **deps:** update codecov/codecov-action action to v4
([open-feature#227](open-feature#227))
([11a0333](open-feature@11a0333))
* **deps:** update codecov/codecov-action action to v4.3.1
([open-feature#267](open-feature#267))
([ff9df59](open-feature@ff9df59))
* **deps:** update codecov/codecov-action action to v4.5.0
([open-feature#272](open-feature#272))
([281295d](open-feature@281295d))
* **deps:** update dependency benchmarkdotnet to v0.14.0
([open-feature#293](open-feature#293))
([aec222f](open-feature@aec222f))
* **deps:** update dependency coverlet.collector to v6.0.2
([open-feature#247](open-feature#247))
([ab34c16](open-feature@ab34c16))
* **deps:** update dependency coverlet.msbuild to v6.0.2
([open-feature#239](open-feature#239))
([e654222](open-feature@e654222))
* **deps:** update dependency dotnet-sdk to v8.0.204
([open-feature#261](open-feature#261))
([8f82645](open-feature@8f82645))
* **deps:** update dependency dotnet-sdk to v8.0.301
([open-feature#271](open-feature#271))
([acd0385](open-feature@acd0385))
* **deps:** update dependency dotnet-sdk to v8.0.303
([open-feature#275](open-feature#275))
([871dcac](open-feature@871dcac))
* **deps:** update dependency dotnet-sdk to v8.0.400
([open-feature#295](open-feature#295))
([bb4f352](open-feature@bb4f352))
* **deps:** update dependency githubactionstestlogger to v2.4.1
([open-feature#274](open-feature#274))
([46c2b15](open-feature@46c2b15))
* **deps:** update dependency microsoft.net.test.sdk to v17.10.0
([open-feature#273](open-feature#273))
([581ff81](open-feature@581ff81))
* **deps:** update dotnet monorepo
([open-feature#218](open-feature#218))
([bc8301d](open-feature@bc8301d))
* **deps:** update xunit-dotnet monorepo
([open-feature#262](open-feature#262))
([43f14cc](open-feature@43f14cc))
* **deps:** update xunit-dotnet monorepo
([open-feature#279](open-feature#279))
([fb1cc66](open-feature@fb1cc66))
* **deps:** update xunit-dotnet monorepo to v2.8.1
([open-feature#266](open-feature#266))
([a7b6d85](open-feature@a7b6d85))
* Enable nullable reference types
([open-feature#253](open-feature#253))
([5a5312c](open-feature@5a5312c))
* in-memory UpdateFlags to UpdateFlagsAsync
([open-feature#298](open-feature#298))
([390205a](open-feature@390205a))
* prompt 2.0
([9b9c3fd](open-feature@9b9c3fd))
* Support for determining spec support for the repo
([open-feature#270](open-feature#270))
([67a1a0a](open-feature@67a1a0a))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
Signed-off-by: Artyom Tonoyan <artonoyan@servicetitan.com>
arttonoyan pushed a commit to arttonoyan/dotnet-sdk that referenced this pull request Nov 17, 2024
<!-- Please use this template for your pull request. -->
<!-- Please use the sections that you need and delete other sections -->

## Enable nullable reference types
<!-- add the description of the PR here -->

- This PR enables the nullable validation and treats warnings as errors.

### Related Issues
<!-- add here the GitHub issue that this PR resolves if applicable -->

Fixes open-feature#208

### Notes
<!-- any additional notes for this PR -->
This PR turns on the nullable checks for the dotnet checks. This gives
us a better and safer codebase since it checks for potential null
exceptions.

### Breaking changes
While this PR won't require changes to the exposed API, it might show
some errors to the clients consuming it.

---------

Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
Signed-off-by: Artyom Tonoyan <artonoyan@servicetitan.com>
arttonoyan pushed a commit to arttonoyan/dotnet-sdk that referenced this pull request Nov 17, 2024
🤖 I have created a release *beep* *boop*
---

##
[2.0.0](open-feature/dotnet-sdk@v1.5.0...v2.0.0)
(2024-08-21)

Today we're announcing the release of the OpenFeature SDK for .NET,
v2.0! This release contains several ergonomic improvements to the SDK,
which .NET developers will appreciate. It also includes some performance
optimizations brought to you by the latest .NET primitives.

For details and migration tips, check out:
https://openfeature.dev/blog/dotnet-sdk-v2

### ⚠ BREAKING CHANGES

* domain instead of client name
([open-feature#294](open-feature#294))
* internally maintain provider status
([open-feature#276](open-feature#276))
* add CancellationTokens, ValueTasks hooks
([open-feature#268](open-feature#268))
* Use same type for flag metadata and event metadata
([open-feature#241](open-feature#241))
* Enable nullable reference types
([open-feature#253](open-feature#253))

### 🐛 Bug Fixes

* Add missing error message when an error occurred
([open-feature#256](open-feature#256))
([949d53c](open-feature@949d53c))
* Should map metadata when converting from ResolutionDetails to
FlagEvaluationDetails
([open-feature#282](open-feature#282))
([2f8bd21](open-feature@2f8bd21))

### ✨ New Features

* add CancellationTokens, ValueTasks hooks
([open-feature#268](open-feature#268))
([33154d2](open-feature@33154d2))
* back targetingKey with internal map
([open-feature#287](open-feature#287))
([ccc2f7f](open-feature@ccc2f7f))
* domain instead of client name
([open-feature#294](open-feature#294))
([4c0592e](open-feature@4c0592e))
* Drop net7 TFM
([open-feature#284](open-feature#284))
([2dbe1f4](open-feature@2dbe1f4))
* internally maintain provider status
([open-feature#276](open-feature#276))
([63faa84](open-feature@63faa84))
* Use same type for flag metadata and event metadata
([open-feature#241](open-feature#241))
([ac7d7de](open-feature@ac7d7de))

### 🧹 Chore

* cleanup code
([open-feature#277](open-feature#277))
([44cf586](open-feature@44cf586))
* **deps:** Project file cleanup and remove unnecessary dependencies
([open-feature#251](open-feature#251))
([79def47](open-feature@79def47))
* **deps:** update actions/upload-artifact action to v4.3.3
([open-feature#263](open-feature#263))
([7718649](open-feature@7718649))
* **deps:** update actions/upload-artifact action to v4.3.4
([open-feature#278](open-feature#278))
([15189f1](open-feature@15189f1))
* **deps:** update actions/upload-artifact action to v4.3.5
([open-feature#291](open-feature#291))
([00e99d6](open-feature@00e99d6))
* **deps:** update codecov/codecov-action action to v4
([open-feature#227](open-feature#227))
([11a0333](open-feature@11a0333))
* **deps:** update codecov/codecov-action action to v4.3.1
([open-feature#267](open-feature#267))
([ff9df59](open-feature@ff9df59))
* **deps:** update codecov/codecov-action action to v4.5.0
([open-feature#272](open-feature#272))
([281295d](open-feature@281295d))
* **deps:** update dependency benchmarkdotnet to v0.14.0
([open-feature#293](open-feature#293))
([aec222f](open-feature@aec222f))
* **deps:** update dependency coverlet.collector to v6.0.2
([open-feature#247](open-feature#247))
([ab34c16](open-feature@ab34c16))
* **deps:** update dependency coverlet.msbuild to v6.0.2
([open-feature#239](open-feature#239))
([e654222](open-feature@e654222))
* **deps:** update dependency dotnet-sdk to v8.0.204
([open-feature#261](open-feature#261))
([8f82645](open-feature@8f82645))
* **deps:** update dependency dotnet-sdk to v8.0.301
([open-feature#271](open-feature#271))
([acd0385](open-feature@acd0385))
* **deps:** update dependency dotnet-sdk to v8.0.303
([open-feature#275](open-feature#275))
([871dcac](open-feature@871dcac))
* **deps:** update dependency dotnet-sdk to v8.0.400
([open-feature#295](open-feature#295))
([bb4f352](open-feature@bb4f352))
* **deps:** update dependency githubactionstestlogger to v2.4.1
([open-feature#274](open-feature#274))
([46c2b15](open-feature@46c2b15))
* **deps:** update dependency microsoft.net.test.sdk to v17.10.0
([open-feature#273](open-feature#273))
([581ff81](open-feature@581ff81))
* **deps:** update dotnet monorepo
([open-feature#218](open-feature#218))
([bc8301d](open-feature@bc8301d))
* **deps:** update xunit-dotnet monorepo
([open-feature#262](open-feature#262))
([43f14cc](open-feature@43f14cc))
* **deps:** update xunit-dotnet monorepo
([open-feature#279](open-feature#279))
([fb1cc66](open-feature@fb1cc66))
* **deps:** update xunit-dotnet monorepo to v2.8.1
([open-feature#266](open-feature#266))
([a7b6d85](open-feature@a7b6d85))
* Enable nullable reference types
([open-feature#253](open-feature#253))
([5a5312c](open-feature@5a5312c))
* in-memory UpdateFlags to UpdateFlagsAsync
([open-feature#298](open-feature#298))
([390205a](open-feature@390205a))
* prompt 2.0
([9b9c3fd](open-feature@9b9c3fd))
* Support for determining spec support for the repo
([open-feature#270](open-feature#270))
([67a1a0a](open-feature@67a1a0a))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
Signed-off-by: Artyom Tonoyan <artonoyan@servicetitan.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enable Nullable Reference Types
3 participants