Project
Release Notes
Current Release Notes
Release notes have been moved to GitHub Releases for better integration with the development workflow.
Why the Move?
- Real-time updates: Release notes are now automatically generated when new versions are published
- Better GitHub integration: Releases are prominently displayed on the repository page
- Automatic linking: Direct links to commits, pull requests, and contributors
- Asset management: NuGet packages are directly attached to each release
- Notifications: Subscribe to release notifications on GitHub
Latest Releases
For the most up-to-date release information, please visit the GitHub Releases page.
Historical Release Notes (Archive)
The following release notes are archived for reference. For current releases, see the GitHub Releases page above.
2.1.33
- Major Feature: Enhanced Complex Variables System - Improved support for complex object variables using modern provider patterns
- Interface-Based Approach:
ISailfishVariables<TType, TProvider>
pattern for explicit data contracts - Class-Based Approach:
SailfishVariables<T, TProvider>
class for simplified syntax without custom interfaces - Provider Pattern: Clean separation of data types from variable generation logic through
ISailfishVariablesProvider<T>
interface - Type Safety: Enhanced type safety, IntelliSense support, and compile-time checking for complex variable scenarios
- Mixed Usage: Support for combining simple attribute-based variables with complex variables in the same test class
- Interface-Based Approach:
- Major Feature: Enhanced Complex Variables System - Improved support for complex object variables using modern provider patterns
2.1.0
- Breaking Change: Deprecated .NET 6 support - now supports .NET 8 and .NET 9 only
- Framework Upgrades: Updated all projects to target .NET 8.0 and .NET 9.0 for improved performance and latest features
- Test Builder Enhancements: Improved test builders with enhanced functionality and better error handling
- Dependency Updates: Updated major dependencies including:
- Microsoft.NET.Test.Sdk to 17.14.1
- xunit to 2.9.3 and xunit.runner.visualstudio to 3.1.1
- NSubstitute to 5.3.0
- Shouldly to 4.3.0
- Microsoft.Extensions.* packages to 9.0.7
- CsvHelper to 33.1.0
- Autofac to 8.3.0
- MediatR to 13.0.0
- Test Adapter Improvements: Enhanced Sailfish.TestAdapter with multi-framework support and improved MSBuild integration
- Package Management: Implemented framework-specific package references for better compatibility
- Build System: Updated build targets and props files for improved NuGet package integration
- Performance: Leveraged .NET 8/9 performance improvements for faster test execution
2.0.268
- Memory Management: Replaced internal MemoryCache with custom state cache implementation to prevent data eviction issues
- Bug Fix: Resolves issue #180 where MemoryCache would unexpectedly evict performance tracking data during long-running test suites
- Stability: Improved data persistence and reliability for test execution state management
2.0.192
- Code Quality: Comprehensive code cleanup and refactoring for improved maintainability
- Documentation: Updated and enhanced documentation with clearer examples and better organization
- Bug Fix: Fixed stale documentation links in test vs production environment guidance
- Developer Experience: Improved code readability and consistency across the codebase
2.0.0
- Breaking Change: Public mediator contracts converted to records with CamelCased property names for better .NET conventions
- Architecture: Improved internal organization with better separation of concerns and cleaner module structure
- Logging System: Enhanced logging capabilities with better formatting, log levels, and colored console output
- Exception Handling: Significantly improved exception handling in test output window with better error reporting and stack trace display
- Performance: Optimized internal communication patterns using MediatR for better testability and maintainability
- API Design: Modernized public contracts to use record types for immutability and better performance
1.6.7
- Test Execution Reliability: Fixed critical issue where subsequent test cases would fail to execute if an earlier test case threw an exception
- Logging Accuracy: Resolved bug where test case counts were not incremented correctly when exceptions occurred during test execution
- Exception Recovery: Improved test runner's ability to continue execution after encountering exceptions in individual test methods
- Stability: Enhanced overall test suite reliability when dealing with failing test cases
1.6.4
- IDE Integration: Fixed spinner loading bug in IDE integration where multiple progress spinners would stack when exceptions were thrown
- User Experience: Improved visual feedback in development environments during test execution
- Exception Handling: Better handling of UI state when test execution encounters errors
- TestAdapter: Enhanced test adapter stability for Visual Studio and other IDE integrations
1.6.0
- Major Feature: Introduction of SailDiff - automated before & after statistical testing on performance data
- Statistical Analysis: Added T-Test, Mann-Whitney U Test, Kolmogorov-Smirnov Test, and Wilcoxon Signed-Rank Test support
- Performance Regression Detection: Automated detection of performance improvements and regressions with configurable significance thresholds
- Tracking Files: Enhanced tracking file system for historical performance data comparison
- Configuration: Added
.sailfish.json
configuration file support for test projects - Reporting: Statistical test results displayed in console, IDE output, and markdown formats
1.5.0
- Major Feature: Introduction of ScaleFish - machine learning tool for complexity analysis and prediction
- Complexity Modeling: Added support for analyzing algorithmic complexity patterns (O(1), O(n), O(n²), O(log n), O(n!), etc.)
- Predictive Analysis: Machine learning models to predict performance scaling based on input size
- SailfishVariable Enhancement: Added complexity analysis support to variable attributes
- Mathematical Functions: Implemented complexity function library (Linear, Quadratic, Logarithmic, Exponential, Factorial)
- Performance Modeling: Automated curve fitting and complexity estimation for performance test results
1.4.0
- Major Feature: Introduction of Sailfish.TestAdapter - Visual Studio Test Platform integration
- IDE Integration: Full support for running Sailfish tests directly from Visual Studio, Rider, and other IDEs
- Test Discovery: Automatic discovery of classes decorated with
[Sailfish]
attribute - Test Execution: Seamless integration with existing test runners and CI/CD pipelines
- Progress Reporting: Real-time test execution feedback in IDE test explorers
- Multi-Framework Support: Compatible with multiple .NET framework versions
1.3.0
- Major Feature: Introduction of Sailfish.Analyzers - Roslyn code analyzers for compile-time validation
- Code Analysis: Static analysis to ensure proper Sailfish attribute usage and test structure
- Developer Experience: Compile-time warnings and suggestions for optimal performance test patterns
- Best Practices: Automated enforcement of Sailfish coding conventions and patterns
- IDE Support: IntelliSense and code completion improvements for Sailfish attributes
1.2.0
- Output Formats: Added comprehensive output format support (Markdown, CSV, JSON)
- WriteToMarkdown: New attribute for automatic markdown report generation
- WriteToCsv: New attribute for CSV data export functionality
- File Management: Enhanced tracking file organization and management
- Extensibility: Improved notification handler system for custom output formats
- Documentation: Automated generation of performance test documentation
1.1.0
- Variable System: Introduction of
[SailfishVariable]
and[SailfishRangeVariable]
attributes - Parameterized Testing: Support for multiple test cases with different input parameters
- Test Case Generation: Automatic generation of test case combinations from variable definitions
- Range Variables: Support for generating sequential test parameters with start, count, and step values
- State Management: Enhanced test class state management across variable combinations
- Variable System: Introduction of
1.0.0
- Initial Release: Core Sailfish performance testing framework
- Test Lifecycle: Complete test lifecycle with setup/teardown methods (
[SailfishGlobalSetup]
,[SailfishMethodSetup]
,[SailfishIterationSetup]
, etc.) - Performance Measurement: High-precision timing and statistical analysis
- Attribute System: Core attribute system (
[Sailfish]
,[SailfishMethod]
) - Logging System: Configurable logging with multiple log levels and colored console output
- Dependency Injection: Autofac-based dependency injection container
- MediatR Integration: Event-driven architecture using MediatR for internal communication
- Statistical Analysis: Basic descriptive statistics (mean, median, standard deviation, variance)
- Outlier Detection: Built-in outlier detection and removal capabilities
- Overhead Estimation: Performance overhead estimation and compensation