Conversation
- Add GitHub Packages publishing step after NuGet publishing - Use GITHUB_TOKEN for authentication to GitHub Packages registry - Publish to https://nuget.pkg.github.com/marioarce/index.json - Enable skip-duplicate flag to prevent publishing conflicts - Maintain existing NuGet.org publishing workflow
- Move IAppOptions from PowerCSharp.Extensions.Configuration.Interfaces to PowerCSharp.Core.Interfaces.Extensions.Configuration - Move IDynamicFilterProvider from PowerCSharp.Extensions.Linq.Interfaces to PowerCSharp.Core.Interfaces.Extensions.Linq - Move IDynamicOrderProvider from PowerCSharp.Extensions.Linq.Interfaces to PowerCSharp.Core.Interfaces.Extensions.Linq - Update namespace references in ConfigurationExtensions.cs - Update namespace references in DynamicExpressionExtensions.cs - Update namespace references in IEnumerableExtensions.cs
- Update PowerCSharp.Core description to include centralized interfaces and models - Add Architecture section explaining interface centralization in PowerCSharp.Core - Update API documentation to show interfaces are now in PowerCSharp.Core namespaces - Add namespace information for IDynamicFilterProvider, IDynamicOrderProvider, and IAppOptions - Add Interface Architecture section with hierarchical structure explanation - Document benefits of centralized interfaces: single source of truth, consistent organization, easy dependency management, clear boundaries
- Update completed tasks to include interface reorganization - Document interface migration to PowerCSharp.Core with new namespace structure - Add documentation updates and project reference changes - Update in-progress section to reflect v0.1.0 release readiness - Revise next steps to focus on release process: - Create GitHub release - Trigger CI/CD pipeline - Verify package publishing to both registries - Update documentation
- Add PowerCSharp_Banner.png image to docs/images directory - Display banner at top of README.md for visual branding - Enhance project presentation with professional banner image
- Create README.md files for all packages (Core, Extensions, Utilities, Helpers) - Add detailed API documentation files for each package - Update main README.md to link to package-specific documentation - Reorganize documentation structure with three-tier hierarchy: - Package-specific README files in src/ directories - Detailed API documentation in docs/ directory - Extensions API reference as comprehensive catalog - Include usage examples, dependencies, testing, and contributing sections - Add cross-references between packages for better navigation
feat: prepare next release with documentation improvements and interface refactoring
…ic code - Created new project targeting .NET Framework 4.8 - Configured with System.Text.Json dependency - Designed to house classes with System.Web dependencies - Enables migration of framework-specific utilities while maintaining cross-platform compatibility
- Migrated dictionary and NameValueCollection extension methods - Added AddOrUpdate for safe dictionary key/value operations - Added TryAdd for non-destructive dictionary additions - Added GetValueOrDefault for safe dictionary value retrieval - Added ToDictionary for NameValueCollection to IDictionary conversion - Updated namespace from OneAHM.Foundation.Commons.Extensions to PowerCSharp.Extensions - Maintained all original functionality without code modifications
- Migrated enum description retrieval functionality - Added ToDescription extension method for enum types - Utilizes DescriptionAttribute to extract enum descriptions - Updated namespace from OneAHM.Foundation.Commons.Extensions to PowerCSharp.Extensions.Strings - Preserved original implementation for backward compatibility - Placed in Strings namespace for logical grouping with string-related utilities
- Migrated comprehensive exception handling utilities - Added Demystify method for enhanced stack trace readability - Added GetInnerMessages for recursive exception message extraction - Added GetFullStackTrace for complete exception chain analysis - Added TryAddData for safe exception data enrichment with JSON serialization - Updated namespace from OneAHM.Foundation.Commons.Extensions to PowerCSharp.Extensions.Objects - Preserved original exception handling logic and error prevention mechanisms - Placed in Objects namespace for logical grouping with object-related utilities
- Migrated async-to-sync bridging utilities - Added RunSync method for safely executing async operations in synchronous contexts - Utilizes custom TaskFactory to prevent deadlocks - Updated namespace from OneAHM.Foundation.Commons.Helpers to PowerCSharp.Helpers - Preserved original thread-safe implementation - Designed for scenarios requiring async operations in synchronous frameworks like MVC filters
- Added IsOrInheritsFrom method to existing TypeExtensions class - Provides type checking for inheritance and interface implementation scenarios - Uses Type.IsAssignableFrom for comprehensive type compatibility verification - Migrated from OneAHM.Feature.GeneralContent.Extensions namespace - Preserved original GetConcreteType method while adding new functionality - Enhanced type reflection capabilities for PowerCSharp.Extensions.Types namespace
- Migrated complete Assert class from OneAHM.Foundation.Commons.Utilities.Validation - Added ArgumentNotNull and ArgumentNotNullOrEmpty for parameter validation - Added IsTrue, IsFalse, IsNotNull, IsNull for condition assertions - Added IsNotNullOrEmpty for string validation - Added ResultNotNull for post-condition validation - Added Format helper method for string formatting with XML node support - Preserved all original assertion methods and overloads - Enhanced existing ValidationHelper with assertion capabilities - Updated namespace to PowerCSharp.Utilities with proper attribute imports
…ions - Add PowerCSharp.Compatibility project for legacy extension methods - Create StringExtensions class with content token detection, query parameter manipulation, and validation utilities - Include ContainsContentToken method for [[token]] pattern detection - Add AppendQueryParameters method using System.Web.HttpUtility - Add RemoveWhitespaces method for whitespace removal - Add EncodeCharacters method for HTML entity encoding - Add Hyphenate method for string formatting - Add IsValidJson methods with exception handling - Add IsValidGuid method with out parameter - Add IsDigitsOnly method for numeric validation - Provide comprehensive XML documentation for all methods
- Add Ben.Demystifier package version 0.4.1 for enhanced exception demystification - Provide improved exception string formatting and debugging capabilities - Maintain existing System.Linq.Dynamic.Core dependency
…ing methods - Add ContainsContentToken method for [[token]] pattern detection using regex - Add RemoveWhitespaces method for whitespace removal using regex - Add EncodeCharacters method for HTML entity encoding - Add Hyphenate method for string formatting with hyphens - Add IsValidJson methods with comprehensive validation and exception handling - Add IsValidGuid method with out parameter for parsing - Add IsDigitsOnly method for numeric string validation - Include comprehensive XML documentation for all new methods - Add System.Text.Json and System.Text.RegularExpressions using statements
- Add Attributes folder to PowerCSharp.Utilities project structure - Remove None element for Attributes folder and add proper Folder element - Prepare project structure for future attribute definitions - Maintain existing project references and configuration
- Add ValidatedNotNullAttribute class to PowerCSharp.Utilities.Attributes namespace - Create internal sealed attribute for parameter null validation indication - Suppress CA1062 code analysis warning for validated arguments - Use AttributeUsageAttribute to target parameters only - Provide clean solution for null validation code analysis scenarios
…onfiguration - Create PowerCSharp-Compatibility.sln with src, tests, and samples folders - Add PowerCSharp.Compatibility and PowerCSharp.Compatibility.Extensions.Tests projects - Configure multi-target framework support for net48, net472, and net462 - Add System.Web references for all target frameworks - Add comprehensive NuGet package metadata for PowerCSharp.Compatibility - Set package version to 0.1.0 with proper licensing and repository information - Configure symbol package generation and package on build
- Create PowerCSharp.Compatibility.Extensions.Tests.csproj with multi-target support - Target both net8.0 and net48 frameworks for comprehensive testing - Add xUnit testing framework with latest versions (18.6.0, 2.9.3, 3.1.5) - Configure project as non-packable test project - Add project reference to PowerCSharp.Compatibility - Include Service element for xUnit test discovery
…s on System.Web dependencies - Remove ContainsContentToken, RemoveWhitespaces, EncodeCharacters, Hyphenate, IsValidJson, IsValidGuid, and IsDigitsOnly methods - Keep only AppendQueryParameters method that requires System.Web.HttpUtility - Remove System.Text.Json using statement as it's no longer needed - Update class documentation to reflect focus on URL query parameter manipulation - Simplify class to contain only System.Web-dependent functionality - Move other string utilities to PowerCSharp.Extensions.Strings namespace
…patibility - Add AsyncHelper class to PowerCSharp.Compatibility.Helpers namespace - Create TaskFactory with default scheduler to prevent deadlocks - Add RunSync<T> method for safely executing async functions synchronously - Include comprehensive XML documentation with usage guidance and warnings - Design for MVC filters and other synchronous framework scenarios - Provide proper thread scheduling and cancellation token handling
…owerCSharp.Compatibility - Add ValidationHelper class to PowerCSharp.Compatibility.Utilities namespace - Create comprehensive assertion methods: ArgumentNotNull, ArgumentNotNullOrEmpty, IsFalse, IsNotNull, IsTrue, ResultNotNull - Use ValidatedNotNullAttribute to suppress CA1062 code analysis warnings - Add Localizable(false) attributes to prevent localization - Include validation methods: IsValidEmail, IsNumeric, IsValidUrl - Add proper exception handling with descriptive error messages - Use System.Net.Mail.MailAddress for email validation - Use Uri.TryCreate for URL validation with HTTP/HTTPS scheme checking - Organize code with #region directives for better structure
- Add ValidatedNotNullAttribute class to PowerCSharp.Compatibility.Utilities.Attributes namespace - Create internal sealed attribute for parameter null validation indication - Use AttributeUsageAttribute to target parameters only - Include comprehensive XML documentation explaining purpose and usage - Suppress code analysis warnings for validated arguments in method parameters - Support ValidationHelper assertion methods with proper attribute usage
…ibility - Add StringExtensionsTests.cs with 4 test cases for AppendQueryParameters method - Test URL with parameters addition and correct parameter formatting - Test existing query string handling and parameter appending - Test empty URL edge case returning empty string - Test null parameters edge case returning original URL - Include comprehensive XML documentation for test class - Use proper Arrange-Act-Assert pattern for all tests - Cover all major scenarios and edge cases for the AppendQueryParameters functionality
…bility - Upgrade System.Text.Json from version 6.0.0 to 10.0.8 - Maintain compatibility with .NET Framework target frameworks - Keep System.Web references for all target frameworks
- Add PowerCSharp.Compatibility package to README.md with NuGet badge and description - Include PowerCSharp.Compatibility in installation commands and package list - Update target frameworks section to show .NET Framework support via compatibility package - Add comprehensive README.md for PowerCSharp.Compatibility package - Create detailed API documentation in docs/PowerCSharp.Compatibility.md - Include migration scenarios, integration examples, and compatibility matrix - Add ASP.NET Web Forms, MVC 5, and legacy API integration examples - Document AsyncHelper for sync-over-async bridging scenarios - Provide important considerations for async-to-sync usage and System.Web dependencies - Include migration planning guidance and related package references - Add development setup instructions for .NET Framework development
- Update PowerCSharp.Extensions description - Clarify the scope of the major enhancement in the changelog - Maintain existing counts for new extension classes and methods - Keep .NET Standard 2.0 compatibility note unchanged
…h-02 feat: add PowerCSharp.Compatibility package and comprehensive extension enhancements
- Created comprehensive README.md for PowerCSharp.Extensions.AspNetCore project - Added installation instructions and package information - Documented extension categories and features - Added usage examples for ASP.NET Core scenarios - Included architecture and contributing guidelines - Updated main README.md to reference new package
- Updated package version from 0.1.0 to 0.2.0 - Removed ASP.NET Core specific extensions from documentation - Updated dependencies list to reflect moved packages - Added note about separate PowerCSharp.Extensions.AspNetCore package - Removed HTTP, Network, and Configuration extension examples - Updated usage examples to focus on cross-platform functionality - Updated documentation links and dependencies section
- Added PowerCSharp.Extensions.AspNetCore NuGet badge - Updated package descriptions to distinguish cross-platform vs ASP.NET Core extensions - Added PowerCSharp.Extensions.AspNetCore to installation commands - Moved HTTP & Network and Configuration examples to ASP.NET Core section - Updated target frameworks documentation - Added PowerCSharp.Extensions.AspNetCore to documentation links - Updated API documentation references for new package structure
feat: Add PowerCSharp.Extensions.AspNetCore package with .NET Standard 2.0 support
- Updated dotnet restore commands to use PowerCSharp.sln explicitly - Updated dotnet build commands to use PowerCSharp.sln explicitly - Updated dotnet test commands to use PowerCSharp.sln explicitly - Updated dotnet pack commands to use PowerCSharp.sln explicitly
- Added delete-feature-branch job to CI/CD pipeline - Configured to run when pull requests are merged - Uses GitHub Script action to delete merged feature branches - Includes error handling and logging for branch deletion - Helps maintain clean repository after PR merges
ci: Fix CI/CD pipeline with solution file specification and automatic branch cleanup
- Added release/* branches to CI/CD triggers for build and test - Updated pack job to trigger on release branch merges to main - Updated publish job to trigger on release branch merges to main - Enhanced feature branch deletion to only run on merges to develop - Added delete-release-branch job for automatic cleanup after releases - Improved workflow conditions for proper branch-specific automation
- Added release branch documentation and naming conventions - Updated release process to use release branches instead of direct merges - Documented automatic NuGet publishing on release branch merges - Added comprehensive CI/CD automation documentation - Updated workflow status to reflect enhanced automation - Added best practices for release branch management - Documented smart conditions and triggers for automated jobs
ci: Implement release branch automation with enhanced CI/CD pipeline
- Added support for branch deletion on push events (merge commits) - Enhanced feature branch deletion to handle both PR and push triggers - Enhanced release branch deletion to handle both PR and push triggers - Added branch name extraction from merge commit messages - Added validation for release branch names before deletion - Improved error handling for branch name determination
ci: Enhance branch deletion with push event support
- Simplified branch name extraction from merge commit messages - Added feature branch validation to only delete branches starting with "feature/" - Improved logging messages for better debugging - Removed complex regex parsing in favor of simpler approach - Enhanced error handling and console output clarity
ci: Enhance branch deletion with dual event support and improved validation
- Removed merge commit message requirement from push trigger condition - Added extensive debug logging for troubleshooting branch deletion - Enhanced branch name extraction with multiple regex patterns - Added detailed event context logging for pull_request and push events - Improved error handling with clearer skip messages - Added pattern matching for various merge commit message formats
ci: Enhance branch deletion with comprehensive debugging and multi-pattern support
- Added specific regex pattern for merge pull requests with namespace - Enhanced pattern matching to handle `username/branch-name` format - Improved branch name extraction accuracy for GitHub merge commits
ci: Enhance branch deletion with improved regex patterns and comprehensive debugging
- Simplified trigger condition to only run on push events to develop branch - Removed pull_request event handling for feature branch deletion - Focused on merge commit message parsing for branch name extraction - Streamlined workflow logic for better reliability
ci: Simplify feature branch deletion with push-only trigger and enhanced debugging
- Added detailed logging for pattern testing process - Included commit message JSON serialization for debugging - Added pattern index tracking for better troubleshooting - Enhanced match result logging for each pattern attempt - Improved visibility into regex pattern matching workflow
ci: Enhance branch deletion with comprehensive debugging and pattern testing
- Modified branch name extraction to use only commit title (first line) - Added commit title logging for better debugging visibility - Updated pattern testing to focus on commit title instead of full message - Improved regex matching accuracy by excluding commit body content - Enhanced debugging output for commit title analysis
ci: Optimize branch name extraction with commit title parsing and enhanced debugging
- Added contents: write permission for branch deletion operations - Added pull-requests: write permission for workflow access - Ensures GitHub Actions can delete branches after merges - Required for automated branch cleanup functionality
ci: Add required permissions and enhance branch deletion with comprehensive debugging
…lease - Add Directory.Build.props for centralized version management - Update all package projects to use variable - Enhance CI/CD workflow with manual release triggers - Add version bump automation with semantic versioning - Enable automated NuGet publishing on tag pushes - Support both PR-based and tag-based release workflows
feat: implement centralized version management and automated NuGet release
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This release introduces significant architectural improvements and new features to the PowerCSharp ecosystem:
Major Changes:
New Features:
Documentation:
CI/CD Improvements:
Build Changes: