diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fdf4cce..0117f2e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,10 +23,10 @@ jobs: with: fetch-depth: 0 # Required for Calculate Version step (e.g. GitVersion) - - name: Install .NET 8.0 + - name: Install .NET 9.0 uses: actions/setup-dotnet@v5 with: - dotnet-version: 8.0 + dotnet-version: 9.0 - name: Install Workloads run: dotnet workload restore @@ -73,10 +73,10 @@ jobs: id-token: write # Required for Trusted Publishing (OIDC token generation) steps: - - name: Install .NET 8.0 + - name: Install .NET 9.0 uses: actions/setup-dotnet@v5 with: - dotnet-version: 8.0 + dotnet-version: 9.0 - name: Download NuGet Package Artifact uses: actions/download-artifact@v4 diff --git a/AGENTS.md b/AGENTS.md index c7e91aa..b19668a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -6,8 +6,8 @@ This document provides guidance for AI agents (like Claude Code, GitHub Copilot, **XPlugins.iOS.BEMCheckBox** is a .NET iOS binding library that wraps the native Swift BEMCheckBox framework for use in .NET iOS applications. It enables .NET developers to use highly customizable, animated checkbox controls in their iOS applications. -**Current Version:** 8.0.0 -**Target Framework:** net8.0-ios18.0 +**Current Version:** 9.0.0 +**Target Framework:** net9.0-ios18.0 **Language:** C# 12 **Package:** SaturdayMP.XPlugins.iOS.BEMCheckBox (NuGet) @@ -23,7 +23,7 @@ This document provides guidance for AI agents (like Claude Code, GitHub Copilot, ├── ExampleClient/ # Demo iOS application │ ├── MainViewController.cs # Usage examples │ └── *.csproj # Example app project -└── global.json # .NET SDK version (8.0.0) +└── global.json # .NET SDK version (9.0.0) ``` ## Key Components @@ -128,7 +128,7 @@ dotnet pack Source/SaturdayMP.XPlugins.iOS.BEMCheckBox/SaturdayMP.XPlugins.iOS.B - Version is determined from Git tags and branch names - Format: Semantic versioning (major.minor.patch) - Configuration: GitVersion.yml:1 -- Current version: 8.0.0 +- Current version: 9.0.0 **Version workflow:** 1. Work on feature branches or release/* branches @@ -138,7 +138,7 @@ dotnet pack Source/SaturdayMP.XPlugins.iOS.BEMCheckBox/SaturdayMP.XPlugins.iOS.B 5. Tag release: `vX.Y.Z` 6. CI automatically publishes to NuGet -**Important:** Do NOT manually edit version numbers in csproj or nuspec files. They are automatically generated by GitVersion. +**Important:** Do NOT manually edit version numbers in csproj files. They are automatically generated by GitVersion. ### CI/CD Pipeline (.github/workflows/ci.yml:1) @@ -149,7 +149,7 @@ dotnet pack Source/SaturdayMP.XPlugins.iOS.BEMCheckBox/SaturdayMP.XPlugins.iOS.B **Build steps:** 1. Checkout with full Git history (required for GitVersion) -2. Install .NET 8.0 +2. Install .NET 9.0 3. Restore workloads 4. Install GitVersion (6.3.0) 5. Determine version @@ -280,7 +280,7 @@ To actually run the app, you must use an IDE (Visual Studio for Mac, Visual Stud **Requirements:** - macOS with Xcode installed -- .NET 8.0 SDK +- .NET 9.0 SDK - iOS Simulator available (for running) - IDE required for running (command-line build only) @@ -290,7 +290,7 @@ To actually run the app, you must use an IDE (Visual Studio for Mac, Visual Stud - **macOS required** for building (iOS SDK dependency) - **Xcode** must be installed (iOS development tools) -- **.NET 8.0 SDK** required (pinned in global.json:1) +- **.NET 9.0 SDK** required (pinned in global.json:1) - **iOS 18.0+** minimum target ### Binding Limitations @@ -302,13 +302,11 @@ To actually run the app, you must use an IDE (Visual Studio for Mac, Visual Stud ### Package Configuration -**Important:** The nuspec file (SaturdayMP.XPlugins.iOS.BEMCheckBox.nuspec:1) currently references net6.0-ios but the project targets net8.0-ios18.0. When modifying package settings, ensure consistency. - **NuGet package contents:** - Main DLL only (not ExampleClient) - LICENSE.txt - README.md (referenced, not embedded) -- Target framework: Update to net8.0-ios +- Target framework: net9.0-ios18.0 ## Testing Strategy @@ -364,7 +362,7 @@ To actually run the app, you must use an IDE (Visual Studio for Mac, Visual Stud ### 1. Version Conflicts -**Pitfall:** Manually setting versions in csproj or nuspec +**Pitfall:** Manually setting versions in csproj **Solution:** Always use GitVersion; versions are auto-generated from Git tags ### 2. Missing Native Reference @@ -425,7 +423,6 @@ To actually run the app, you must use an IDE (Visual Studio for Mac, Visual Stud | ApiDefinitions.cs:1 | C# binding definitions | Adding/modifying bindings | | StructsAndEnums.cs:1 | Enums and structs | New enum types from framework | | *.csproj | Project configuration | Changing target framework, references | -| *.nuspec | NuGet package metadata | Package description, dependencies | | MainViewController.cs:1 | Example usage | Demonstrating new features | | README.md:1 | User documentation | API changes, version updates | | GitVersion.yml:1 | Version configuration | Changing version strategy | @@ -435,7 +432,7 @@ To actually run the app, you must use an IDE (Visual Studio for Mac, Visual Stud - **Debug**: Includes ExampleClient, used for testing - **Release**: Library only, creates NuGet package -- **Target Framework**: net8.0-ios18.0 +- **Target Framework**: net9.0-ios18.0 - **Package ID**: SaturdayMP.XPlugins.iOS.BEMCheckBox - **License**: MIT @@ -447,6 +444,6 @@ To actually run the app, you must use an IDE (Visual Studio for Mac, Visual Stud --- -**Last Updated:** 2025-11-19 -**For Version:** 8.0.0 +**Last Updated:** 2025-11-27 +**For Version:** 9.0.0 **Agent Compatibility:** Optimized for Claude Code, GitHub Copilot, and other AI coding assistants diff --git a/CHANGELOG.md b/CHANGELOG.md index 540b7ed..b2b9dc5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## v8.0.0 (Nov, 14, 2025) +## v8.0.0 (Nov, 27, 2025) As part of this release we had [8 issues](https://github.com/saturdaymp/XPlugins.iOS.BEMCheckBox/milestone/6?closed=1) closed. @@ -22,22 +22,6 @@ __Documentation__ - [__!31__](https://github.com/saturdaymp/XPlugins.iOS.BEMCheckBox/pull/31) Added sponsor shield to README - [__!37__](https://github.com/saturdaymp/XPlugins.iOS.BEMCheckBox/pull/37) Update documentation for v8.0.0 release -## v3.1.0 (Oct, 17, 2023) - - -As part of this release we had [3 issues](https://github.com/saturdaymp/XPlugins.iOS.BEMCheckBox/milestone/6?closed=1) closed. - - - -__DevOps__ - -- [__#30__](https://github.com/saturdaymp/XPlugins.iOS.BEMCheckBox/pull/30) Add SaturdayMP sponsorship button - -__Documentation__ - -- [__#29__](https://github.com/saturdaymp/XPlugins.iOS.BEMCheckBox/pull/29) Update XPlugin version mapping to README -- [__#31__](https://github.com/saturdaymp/XPlugins.iOS.BEMCheckBox/pull/31) Added sponsor shield to README - ## v3.0.1 (Oct, 14, 2023) @@ -124,3 +108,4 @@ For a full list of issues fixed see the [1.4.2 Milestone](https://github.com/sat Wraps [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox) version [1.4.1](https://github.com/Boris-Em/BEMCheckBox/releases/tag/1.4.1). +ckBox/releases/tag/1.4.1). diff --git a/GitVersion.yml b/GitVersion.yml index c800982..63aebe7 100644 --- a/GitVersion.yml +++ b/GitVersion.yml @@ -1,4 +1,4 @@ -next-version: 8.0.0 +next-version: 9.0.0 workflow: GitHubFlow/v1 branches: main: diff --git a/README.md b/README.md index c07815c..f875484 100644 --- a/README.md +++ b/README.md @@ -95,12 +95,13 @@ Building and running iOS applications from the command line requires an IDE. The # Version Mapping Below is the mapping of the BEMCheckBox version used in the XPlugin wrapper version along with the Xamarin/.NET version. -The .NET version lists the minimum .NET and iOS versions required. For example, `net8.0-ios18.0` means the XPlugin will work with .NET 8.0 and iOS 18.0 or higher (e.g. it will work with .NET 8, .NET 9, .NET 10, and iOS 18, iOS 26). +The .NET version lists the minimum .NET and iOS versions required. For example, `net9.0-ios18.0` means the XPlugin will work with .NET 9.0 and iOS 18.0 or higher (e.g. it will work with .NET 9, .NET 10, .NET 11, and iOS 18, iOS 19, iOS 20). Starting with version 8, the XPlugin version will match the .NET release it is targeting. | XPlugin | BEMCheckBox | Frameworks/Minimum Version | |-----------------------------------------------------------------------------------:|----------------------------------------------------------------------:|---------------------------:| +| [9.0.0](https://github.com/saturdaymp/XPlugins.iOS.BEMCheckBox/releases/tag/9.0.0) | [2.2.0](https://github.com/saturdaymp/BEMCheckBox/releases/tag/2.2.0) | .NET/net9.0-ios18.0 | | [8.0.0](https://github.com/saturdaymp/XPlugins.iOS.BEMCheckBox/releases/tag/8.0.0) | [2.2.0](https://github.com/saturdaymp/BEMCheckBox/releases/tag/2.2.0) | .NET/net8.0-ios18.0 | | [3.1.0](https://github.com/saturdaymp/XPlugins.iOS.BEMCheckBox/releases/tag/3.1.0) | [2.0.0](https://github.com/saturdaymp/BEMCheckBox/releases/tag/2.0.0) | .NET/net6.0-ios12.0 | | [3.0.1](https://github.com/saturdaymp/XPlugins.iOS.BEMCheckBox/releases/tag/3.0.1) | [2.0.0](https://github.com/saturdaymp/BEMCheckBox/releases/tag/2.0.0) | .NET/net6.0-ios12.0 | diff --git a/Source/ExampleClient/ExampleClient.csproj b/Source/ExampleClient/ExampleClient.csproj index eded991..6d14629 100644 --- a/Source/ExampleClient/ExampleClient.csproj +++ b/Source/ExampleClient/ExampleClient.csproj @@ -1,6 +1,6 @@ - net8.0-ios18.0 + net9.0-ios18.0 Exe enable true diff --git a/Source/SaturdayMP.XPlugins.iOS.BEMCheckBox/SaturdayMP.XPlugins.iOS.BEMCheckBox.csproj b/Source/SaturdayMP.XPlugins.iOS.BEMCheckBox/SaturdayMP.XPlugins.iOS.BEMCheckBox.csproj index 179f211..dd98d95 100644 --- a/Source/SaturdayMP.XPlugins.iOS.BEMCheckBox/SaturdayMP.XPlugins.iOS.BEMCheckBox.csproj +++ b/Source/SaturdayMP.XPlugins.iOS.BEMCheckBox/SaturdayMP.XPlugins.iOS.BEMCheckBox.csproj @@ -1,6 +1,6 @@ - net8.0-ios18.0 + net9.0-ios18.0 enable true true @@ -13,7 +13,7 @@ LICENSE.txt README.md https://github.com/saturdaymp/XPlugins.iOS.BEMCheckBox - net8.0 net8.0-ios ios ios-binding bemcheckbox checkbox saturdaymp + net9.0 net9.0-ios ios ios-binding bemcheckbox checkbox saturdaymp Saturday Morning Productions Inc. XPlugins.iOS.BEMCheckBox diff --git a/Source/global.json b/Source/global.json index 3b1d787..ed8a7bb 100644 --- a/Source/global.json +++ b/Source/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "8.0.0", + "version": "9.0.0", "rollForward": "latestFeature" } } \ No newline at end of file