Skip to content

drop old .net support#252

Merged
MichalFrends1 merged 2 commits into
mainfrom
fspes-90
Apr 13, 2026
Merged

drop old .net support#252
MichalFrends1 merged 2 commits into
mainfrom
fspes-90

Conversation

@MatteoDelOmbra
Copy link
Copy Markdown
Contributor

@MatteoDelOmbra MatteoDelOmbra commented Apr 9, 2026

Dear PR creator, please select one of the PR templates, then remove others and this text.


Default PR template

Please review my changes :)


Task Update PR template

Review Checklist

  • Task version updated (x.x.0)
  • CHANGELOG.md updated
  • Solution builds
  • Warnings resolved (if possible)
  • Typos resolved
  • Tests cover new code
  • Description how to run tests locally added to README.md (if needed)
  • All tests pass locally

Task Harmonization PR template

Review Checklist

1. Frends Task Project File

  • Path: Frends.*/Frends.*/*.csproj
  • Contains required fields:
    • <TargetFramework>net8.0</TargetFramework>
    • <Version>x.0.0</Version>
    • <Authors>Frends</Authors>
    • <PackageLicenseExpression>MIT</PackageLicenseExpression>
    • <GenerateDocumentationFile>true</GenerateDocumentationFile>
    • <Description>
    • [ ]
      <RepositoryUrl>https://github.com/FrendsPlatform/Frends.SYSTEM/tree/main/Frends.SYSTEM.ACTION</RepositoryUrl>
    • <Nullable>disable</Nullable>
  • Contains required package references:
    • StyleCop.Analyzers v1.2.0-beta.556
    • FrendsTaskAnalyzers v1.*
  • Contains required files:
    • <Content Include="migration.json" PackagePath="/" Pack="true"/>
    • <Content Include="../CHANGELOG.md" PackagePath="/" Pack="true"/>
    • <AdditionalFiles Include="FrendsTaskMetadata.json" PackagePath="/" Pack="true"/>
  • Auto formatting applied

2. Frends Task Test Project File

  • Path: Frends.*/Frends.*.Tests/*.Tests.csproj
  • Contains required fields:
    • <TargetFramework>net8.0</TargetFramework>
    • <IsPackable>false</IsPackable>
    • <Nullable>disable</Nullable>
  • Contains required package references:
    • StyleCop.Analyzers v1.2.0-beta.556
  • Auto formatting applied

3. Additional Files

  • Present only one LICENSE file per repository
    • Should be MIT License unless otherwise specified
  • Present only one .gitignore file per repository
    • Includes .idea/ folders
  • Present: Frends.*/README.md
    • Contains badges (build, license, coverage)
    • Includes developer setup instructions
    • Includes test setup instructions
    • Does not include parameter descriptions
  • Present: Frends.*/CHANGELOG.md
    • Includes all functional changes
    • Indicates breaking changes with upgrade notes
    • Avoids non-functional notes like "refactored xyz"
    • Uses the KeepAChangelog format
  • Present: Frends.*/Frends.*/FrendsTaskMetadata.json
    • Contains task method reference Frends.System.Action.System.Action
  • Present: Frends.*/Frends.*/migration.json
    • Contains breaking change migration information for Frends if breaking changes exist
  • StyleCop.Analyzers suppression files added and setup:
    • Present: Frends.*/Frends.*/GlobalSuppressions.cs
    • Present: Frends.*/Frends.*.Tests/GlobalSuppressions.cs
    • Follows standards from Frends Task Template
  • Auto formatting applied

4. Source Code

  • Solution builds
  • File-scoped namespace applied
  • Usings placed before the namespace
  • Unused code is removed
  • Warnings resolved (if possible)
  • Follows Microsoft C# code conventions
  • Typos and grammar mistakes resolved
  • Auto formatting applied

5. GitHub Actions Workflows

  • Path: .github/workflows/*.yml
  • Task has required workflow files:
    • *_release.yml
      • contains secret feed_api_key: ${{ secrets.TASKS_FEED_API_KEY }}
    • *_test_on_main.yml
      • contains secret badge_service_api_key: ${{ secrets.BADGE_SERVICE_API_KEY }}
    • *_test_on_push.yml
      • contains secret badge_service_api_key: ${{ secrets.BADGE_SERVICE_API_KEY }}
      • contains secret test_feed_api_key: ${{ secrets.TASKS_TEST_FEED_API_KEY }}
  • default permissions set for GITHUB_TOKEN
  • workdir: Frends.SYSTEM.ACTION
  • strict_analyzers: true
  • dotnet_version: 8.0.x
  • Docker setup included if task depends on external system (prebuild_command: docker-compose up -d)

Summary by CodeRabbit

  • Changed
    • Upgraded SFTP DownloadFiles and UploadFiles packages to v4.0.0
    • Discontinued support for .NET Framework 4.7.1 and .NET Standard 2.0
    • Now requires .NET 6.0 or later

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 9, 2026

Walkthrough

Both Frends.SFTP.DownloadFiles and Frends.SFTP.UploadFiles projects are consolidating their target frameworks from multi-target setups (.NET 6.0, .NET Standard 2.0, .NET Framework 4.7.1) to single-target .NET 6.0. Version numbers bumped to 4.0.0, with corresponding changelog entries documenting the framework support removal.

Changes

Cohort / File(s) Summary
Changelog Entries
Frends.SFTP.DownloadFiles/CHANGELOG.md, Frends.SFTP.UploadFiles/CHANGELOG.md
Added version 4.0.0 changelog entries dated 2026-04-26 documenting removal of .NET Framework 4.7.1 and .NET Standard 2.0 support.
Main Project Files
Frends.SFTP.DownloadFiles/.../Frends.SFTP.DownloadFiles.csproj, Frends.SFTP.UploadFiles/.../Frends.SFTP.UploadFiles.csproj
Consolidated target frameworks from net6.0;netstandard2.0;net471 to net6.0 only. Version incremented to 4.0.0.
Test Project File
Frends.SFTP.UploadFiles/.../Frends.SFTP.UploadFiles.Tests.csproj
Updated target runtime from net471 to net6.0. Added trailing newline to file.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Suggested reviewers

  • MichalFrends1
  • jefim

Poem

🐰 Framework skipping with joy and glee,
Net Standard and Framework 4.7—now history!
Net 6.0 stands tall, so modern and bright,
Version four-oh-oh shines with delight!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title 'drop old .net support' directly and accurately summarizes the main change: removing support for .NET Framework 4.7.1 and .NET Standard 2.0, updating projects to target only .NET 6.0.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fspes-90

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@Frends.SFTP.DownloadFiles/CHANGELOG.md`:
- Around line 3-7: The changelog entry "## [4.0.0] - 2026-04-26" currently drops
.NET Framework 4.7.1 and .NET Standard 2.0 without upgrade guidance and uses a
future release date; change the header to "[Unreleased]" (replace "## [4.0.0] -
2026-04-26"), mark the note as a Breaking Change (add a "### Breaking Changes"
subsection or prefix the bullet under "### Changed"), and add concise migration
guidance explaining required actions for integrators (e.g., target framework
changes, minimum supported runtimes, code/API compatibility notes and steps to
recompile or migrate) so the entry for the dropped support is explicit and
actionable.

In `@Frends.SFTP.UploadFiles/CHANGELOG.md`:
- Around line 3-7: Update the changelog entry that currently reads "## [4.0.0] -
2026-04-26" and the "Changed" bullet that drops support for .NET Framework 4.7.1
and .NET Standard 2.0: either change the header to "## [Unreleased]" to avoid a
future-dated release, or set a real release date and mark this as a breaking
change by adding a "### Breaking changes" section or a clear upgrade note
explaining migration steps/impact (e.g., which targets are removed and how
consumers should update), ensuring the entry follows Keep a Changelog and
includes explicit upgrade guidance for the compatibility break.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3de73036-69b6-4bfa-be6d-7d5b43354e68

📥 Commits

Reviewing files that changed from the base of the PR and between 42eeb23 and cde8367.

📒 Files selected for processing (5)
  • Frends.SFTP.DownloadFiles/CHANGELOG.md
  • Frends.SFTP.DownloadFiles/Frends.SFTP.DownloadFiles/Frends.SFTP.DownloadFiles.csproj
  • Frends.SFTP.UploadFiles/CHANGELOG.md
  • Frends.SFTP.UploadFiles/Frends.SFTP.UploadFiles.Tests/Frends.SFTP.UploadFiles.Tests.csproj
  • Frends.SFTP.UploadFiles/Frends.SFTP.UploadFiles/Frends.SFTP.UploadFiles.csproj

Comment on lines +3 to +7
## [4.0.0] - 2026-04-26

### Changed

- Drop support for .NET Framework 4.7.1 and .NET Standard 2.0.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Document this as breaking with explicit migration guidance.

Line 7 is a breaking compatibility change, but the entry lacks upgrade notes. Also, Line 3 is future-dated versus PR timing; use [Unreleased] until release date is real.

Proposed changelog adjustment
-## [4.0.0] - 2026-04-26
+## [4.0.0] - Unreleased

 ### Changed

-- Drop support for .NET Framework 4.7.1 and .NET Standard 2.0.
+- **Breaking:** Dropped support for .NET Framework 4.7.1 and .NET Standard 2.0.
+
+### Upgrade notes
+- Task now requires .NET 6.0+.
+- Environments on .NET Framework 4.7.1 / .NET Standard 2.0 must remain on 3.x until migrated.

As per coding guidelines, Frends.*/CHANGELOG.md must follow Keep a Changelog and include breaking changes with upgrade notes.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## [4.0.0] - 2026-04-26
### Changed
- Drop support for .NET Framework 4.7.1 and .NET Standard 2.0.
## [4.0.0] - Unreleased
### Changed
- **Breaking:** Dropped support for .NET Framework 4.7.1 and .NET Standard 2.0.
### Upgrade notes
- Task now requires .NET 6.0+.
- Environments on .NET Framework 4.7.1 / .NET Standard 2.0 must remain on 3.x until migrated.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Frends.SFTP.DownloadFiles/CHANGELOG.md` around lines 3 - 7, The changelog
entry "## [4.0.0] - 2026-04-26" currently drops .NET Framework 4.7.1 and .NET
Standard 2.0 without upgrade guidance and uses a future release date; change the
header to "[Unreleased]" (replace "## [4.0.0] - 2026-04-26"), mark the note as a
Breaking Change (add a "### Breaking Changes" subsection or prefix the bullet
under "### Changed"), and add concise migration guidance explaining required
actions for integrators (e.g., target framework changes, minimum supported
runtimes, code/API compatibility notes and steps to recompile or migrate) so the
entry for the dropped support is explicit and actionable.

Comment on lines +3 to +7
## [4.0.0] - 2026-04-26

### Changed

- Drop support for .NET Framework 4.7.1 and .NET Standard 2.0.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Mark this as a breaking release entry and avoid a future-dated release date.

Line 3 uses 2026-04-26 (future relative to this PR), and Line 7 introduces a breaking compatibility change without upgrade notes. Please either keep this under [Unreleased] until release, or set the actual release date and add a clear breaking-change + migration note.

Proposed changelog adjustment
-## [4.0.0] - 2026-04-26
+## [4.0.0] - Unreleased

 ### Changed

-- Drop support for .NET Framework 4.7.1 and .NET Standard 2.0.
+- **Breaking:** Dropped support for .NET Framework 4.7.1 and .NET Standard 2.0.
+
+### Upgrade notes
+- Consumers must run on .NET 6.0 or newer.
+- If your runtime is .NET Framework 4.7.1 or .NET Standard 2.0, stay on 3.x until migrated.

As per coding guidelines, Frends.*/CHANGELOG.md must follow Keep a Changelog and “indicate breaking changes with upgrade notes.”

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## [4.0.0] - 2026-04-26
### Changed
- Drop support for .NET Framework 4.7.1 and .NET Standard 2.0.
## [4.0.0] - Unreleased
### Changed
- **Breaking:** Dropped support for .NET Framework 4.7.1 and .NET Standard 2.0.
### Upgrade notes
- Consumers must run on .NET 6.0 or newer.
- If your runtime is .NET Framework 4.7.1 or .NET Standard 2.0, stay on 3.x until migrated.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Frends.SFTP.UploadFiles/CHANGELOG.md` around lines 3 - 7, Update the
changelog entry that currently reads "## [4.0.0] - 2026-04-26" and the "Changed"
bullet that drops support for .NET Framework 4.7.1 and .NET Standard 2.0: either
change the header to "## [Unreleased]" to avoid a future-dated release, or set a
real release date and mark this as a breaking change by adding a "### Breaking
changes" section or a clear upgrade note explaining migration steps/impact
(e.g., which targets are removed and how consumers should update), ensuring the
entry follows Keep a Changelog and includes explicit upgrade guidance for the
compatibility break.

@MichalFrends1 MichalFrends1 merged commit 6146e2f into main Apr 13, 2026
4 checks passed
@MichalFrends1 MichalFrends1 deleted the fspes-90 branch April 13, 2026 10:50
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.

2 participants