diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d24bbd1..6dc02aa 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,6 +18,22 @@ jobs: steps: - uses: actions/checkout@v2 + - name: Check deprecation date + shell: pwsh + run: | + $deprecationDate = [datetime]"2026-08-31" + $currentDate = Get-Date + + if ($currentDate -gt $deprecationDate) { + Write-Error "ERROR: SDK deprecation date has passed (2026-08-31)" + Write-Error "Publishing to NuGet is disabled after the deprecation date." + exit 1 + } + + $daysRemaining = ($deprecationDate - $currentDate).Days + Write-Host "Days until deprecation: $daysRemaining" + Write-Host "Publishing allowed" + - name: Setup Nuget uses: nuget/setup-nuget@v1 with: diff --git a/DEPRECATION.md b/DEPRECATION.md new file mode 100644 index 0000000..bd721ac --- /dev/null +++ b/DEPRECATION.md @@ -0,0 +1,202 @@ +# Analytics SDK .NET - Deprecation Notice + +**Status**: ⚠️ **DEPRECATED** - Effective August 31, 2026 + +--- + +## Important Notice + +The **FactSet Analytics SDK for .NET** (`FactSet.AnalyticsAPI.Engines`) is **officially deprecated** as of **August 31, 2026**. + +### Timeline + +| Date | Status | Action | +|------|--------|--------| +| **Until Aug 31, 2026** | Active | Limited security fixes only | +| **Aug 31, 2026** | Final Release | Last day of support - FINAL DATE | +| **Sep 1, 2026+** | Removed | ALL versions removed from NuGet - Enterprise SDK REQUIRED | + +### What This Means + +✅ **Existing Projects**: Continue to work (installed before Sep 1) +❌ **New Projects**: Cannot install Analytics SDK from Sep 1, 2026 onwards +❌ **New Installs**: IMPOSSIBLE after Aug 31, 2026 - Enterprise SDK ONLY +⚠️ **Security Issues**: NO patches after Aug 31, 2026 +🔄 **Migration REQUIRED**: Must complete migration by Aug 31, 2026 + +--- + +## Migration Required + +### Why Migrate? + +- **Long-term Support**: Enterprise SDK is the actively maintained solution +- **New Features**: Enterprise SDK receives regular updates and features +- **Security**: Security patches provided for years to come +- **Support**: Dedicated support team for enterprise deployments + +### How to Migrate + +#### Step 1: Review Current Usage + +```csharp +// Identify all code using the Analytics SDK +using FactSet.AnalyticsAPI.Engines; +using FactSet.AnalyticsAPI.Engines.Api; +using FactSet.AnalyticsAPI.Engines.Model; +``` + +#### Step 2: Update Project File + +```xml + + + + + +``` + +#### Step 3: Update Imports + +```csharp +// OLD: Analytics SDK +using FactSet.AnalyticsAPI.Engines; +using FactSet.AnalyticsAPI.Engines.Api; +using FactSet.AnalyticsAPI.Engines.Model; + +// NEW: Enterprise SDK +using FactSet.SDK.FactSetAnalyticsAPI; +using FactSet.SDK.FactSetAnalyticsAPI.Api; +using FactSet.SDK.FactSetAnalyticsAPI.Model; +``` + +#### Step 4: Update API Calls + +Refer to the [Migration Guide](https://github.com/factset/enterprise-sdk/tree/main/code/dotnet) for specific API changes. + +### Installation Methods + +**NuGet Package Manager:** +```bash +Install-Package FactSet.SDK.FactSetAnalyticsAPI -Version 1.0.0 +``` + +**.NET CLI:** +```bash +dotnet add package FactSet.SDK.FactSetAnalyticsAPI --version 1.0.0 +``` + +--- + +## Key Dates + +### FINAL DATE: August 31, 2026 +**LAST DAY** for Analytics SDK support and availability + +### From September 1, 2026 +- ✂️ **ALL versions REMOVED from NuGet** +- 🚫 **NO new installations possible** +- 🚫 **NO package discovery on NuGet** +- ⚠️ **Only Enterprise SDK available** +- 📦 **Existing installations continue to work (cached versions)** + +### Migration Window +- **Start**: Now +- **Deadline**: August 31, 2026 +- **After Deadline**: Enterprise SDK REQUIRED for any new projects or installations + +--- + +## FAQ + +### Q: Will my existing project break after Aug 31? +**A**: No, existing installations will continue to work. However, you won't be able to install new versions or migrate to new machines without having a local cache. + +### Q: What if I don't migrate by Aug 31? +**A**: CRITICAL - After Aug 31, you CANNOT: +- ❌ Install Analytics SDK from NuGet (removed) +- ❌ Add package to new projects +- ❌ Restore on new build agents without cached version +- ❌ Get any security patches or support + +**Only Option**: Migrate to Enterprise SDK immediately after Aug 31 + +### Q: Is the Enterprise SDK a replacement? +**A**: Yes, the Enterprise SDK is the recommended replacement. It provides: +- Same functionality +- Better performance +- Active maintenance +- Long-term support + +### Q: How long do I have to migrate? +**A**: You have until **August 31, 2026** ONLY: +- ✅ Until Aug 31: Analytics SDK available from NuGet +- ❌ From Sep 1: ALL versions REMOVED from NuGet +- ⚠️ No grace period - complete removal on Sep 1 + +### Q: Do I need to change my code? +**A**: Minor changes may be required. See [Migration Guide](https://github.com/factset/enterprise-sdk/tree/main/code/dotnet). + +### Q: Can I still download the old package? +**A**: Yes, if you have it cached. After unlisting, you cannot download it from NuGet unless you explicitly specify the version. + +### Q: What about support? +**A**: Limited support available until Aug 31, 2026. After that date, support team will focus on Enterprise SDK. + +--- + +## Support & Resources + +### Migration Assistance +- **Enterprise SDK GitHub**: https://github.com/factset/enterprise-sdk/tree/main/code/dotnet +- **Migration Guide**: https://developer.factset.com +- **Email Support**: analytics.api.support@factset.com + +### Repositories +- **Analytics SDK (This Repo)**: https://github.com/factset/analyticsapi-engines-dotnet-sdk +- **Enterprise SDK**: https://github.com/factset/enterprise-sdk +- **API Documentation**: https://developer.factset.com/api-catalog + +--- + +## Upgrade Path + +### For Current Users + +``` +Analytics SDK (v6.1.1) + ↓ + [Migrate] + ↓ +Enterprise SDK (v1.0.0+) + ↓ +[Active Support & Updates] +``` + +--- + +## Affected APIs + +This deprecation affects the following FactSet Analytics APIs: + +- **PA Engine API** - Portfolio Analysis +- **SPAR Engine API** - Style Performance Attribution +- **Vault API** - Portfolio Management + +All functionality is available in the Enterprise SDK with improved performance and support. + +--- + +## Questions? + +If you have questions about the deprecation or migration: + +1. Check the [Migration Guide](https://github.com/factset/enterprise-sdk) +2. Review [Deprecation Documentation](./DEPRECATION.md) +3. Contact: **analytics.api.support@factset.com** + +--- + +**Last Updated**: August 5, 2026 +**Deprecation Effective Date**: August 31, 2026 +**Status**: In Effect diff --git a/MIGRATION.md b/MIGRATION.md new file mode 100644 index 0000000..d5492ca --- /dev/null +++ b/MIGRATION.md @@ -0,0 +1,357 @@ +# Migration Guide: Analytics SDK → Enterprise SDK + +**From**: FactSet.AnalyticsAPI.Engines (DEPRECATED - ENDING AUG 31) +**To**: FactSet.SDK.FactSetAnalyticsAPI (REQUIRED from Sep 1) +**FINAL DEADLINE**: August 31, 2026 +**⚠️ CRITICAL**: All Analytics SDK versions removed from NuGet on Sep 1, 2026 + +--- + +## Quick Start + +### Step 1: Update Package Reference + +**In your .csproj file:** + +```xml + + + + + +``` + +Or via CLI: + +```bash +dotnet remove package FactSet.AnalyticsAPI.Engines +dotnet add package FactSet.SDK.FactSetAnalyticsAPI +``` + +### Step 2: Update Namespaces + +Find and replace in your code: + +```csharp +// OLD +using FactSet.AnalyticsAPI.Engines; +using FactSet.AnalyticsAPI.Engines.Api; +using FactSet.AnalyticsAPI.Engines.Model; + +// NEW +using FactSet.SDK.FactSetAnalyticsAPI; +using FactSet.SDK.FactSetAnalyticsAPI.Api; +using FactSet.SDK.FactSetAnalyticsAPI.Model; +``` + +### Step 3: Update API Calls + +Refer to specific API sections below for changes. + +--- + +## Namespace Mapping + +| Analytics SDK | Enterprise SDK | +|---|---| +| `FactSet.AnalyticsAPI.Engines` | `FactSet.SDK.FactSetAnalyticsAPI` | +| `FactSet.AnalyticsAPI.Engines.Api` | `FactSet.SDK.FactSetAnalyticsAPI.Api` | +| `FactSet.AnalyticsAPI.Engines.Model` | `FactSet.SDK.FactSetAnalyticsAPI.Model` | +| `FactSet.AnalyticsAPI.Engines.Client` | `FactSet.SDK.FactSetAnalyticsAPI.Client` | + +--- + +## API-Specific Migration + +### PA Engine API + +**Before (Analytics SDK):** +```csharp +using FactSet.AnalyticsAPI.Engines.Api; +using FactSet.AnalyticsAPI.Engines.Model; + +var apiInstance = new PAEngineApi(); +var paCalculationParameters = new PACalculationParameters(); +var result = apiInstance.PostAndCalculate(paCalculationParameters); +``` + +**After (Enterprise SDK):** +```csharp +using FactSet.SDK.FactSetAnalyticsAPI.Api; +using FactSet.SDK.FactSetAnalyticsAPI.Model; + +var apiInstance = new PAEngineApi(); +var paCalculationParameters = new PACalculationParameters(); +var result = apiInstance.PostAndCalculate(paCalculationParameters); +``` + +### SPAR Engine API + +**Before (Analytics SDK):** +```csharp +using FactSet.AnalyticsAPI.Engines.Api; +using FactSet.AnalyticsAPI.Engines.Model; + +var apiInstance = new SPAREngineApi(); +var sparCalculationParameters = new SPARCalculationParameters(); +var result = apiInstance.PostAndCalculate(sparCalculationParameters); +``` + +**After (Enterprise SDK):** +```csharp +using FactSet.SDK.FactSetAnalyticsAPI.Api; +using FactSet.SDK.FactSetAnalyticsAPI.Model; + +var apiInstance = new SPAREngineApi(); +var sparCalculationParameters = new SPARCalculationParameters(); +var result = apiInstance.PostAndCalculate(sparCalculationParameters); +``` + +### Vault API + +**Before (Analytics SDK):** +```csharp +using FactSet.AnalyticsAPI.Engines.Api; +using FactSet.AnalyticsAPI.Engines.Model; + +var apiInstance = new VaultApi(); +var vaultCalculationParameters = new VaultCalculationParameters(); +var result = apiInstance.PostAndCalculate(vaultCalculationParameters); +``` + +**After (Enterprise SDK):** +```csharp +using FactSet.SDK.FactSetAnalyticsAPI.Api; +using FactSet.SDK.FactSetAnalyticsAPI.Model; + +var apiInstance = new VaultApi(); +var vaultCalculationParameters = new VaultCalculationParameters(); +var result = apiInstance.PostAndCalculate(vaultCalculationParameters); +``` + +--- + +## Configuration Changes + +### Authentication + +Both SDKs use similar authentication patterns: + +```csharp +// Analytics SDK +var config = new Configuration(); +config.Username = "username"; +config.Password = "password"; + +// Enterprise SDK (same pattern) +var config = new Configuration(); +config.Username = "username"; +config.Password = "password"; +``` + +--- + +## Building and Testing + +### Build the Project + +```bash +dotnet build +``` + +The compiler will show warnings for any remaining old SDK references. + +### Run Tests + +```bash +dotnet test +``` + +Verify all tests pass with the new SDK. + +### Address Compiler Warnings + +If you see warnings like: +``` +The Analytics SDK is deprecated effective 31-Aug-2026. +``` + +Make sure you've: +1. Removed all old package references +2. Updated all using statements +3. No old SDK code remains + +--- + +## Troubleshooting + +### Problem: "The type or namespace name 'FactSet' could not be found" + +**Solution**: Verify package is installed: +```bash +dotnet package list +``` + +Should show: `FactSet.SDK.FactSetAnalyticsAPI` + +### Problem: "Unable to find symbol 'PAEngineApi'" + +**Solution**: Update using statements: +```csharp +// Change from: +using FactSet.AnalyticsAPI.Engines.Api; + +// To: +using FactSet.SDK.FactSetAnalyticsAPI.Api; +``` + +### Problem: "Assembly version mismatch" + +**Solution**: Clear NuGet cache and rebuild: +```bash +dotnet nuget locals all --clear +dotnet build --force +``` + +### Problem: "IntelliSense not updating" + +**Solution**: Close and reopen IDE: +``` +File → Reload Solution +Or +Ctrl + Shift + F5 (Visual Studio) +``` + +--- + +## Migration Checklist + +- [ ] Backup current project +- [ ] Update .csproj: Remove old package +- [ ] Update .csproj: Add new package +- [ ] Run `dotnet restore` +- [ ] Update all `using` statements +- [ ] Update API calls to use new namespaces +- [ ] Build project (`dotnet build`) +- [ ] Fix any compiler errors +- [ ] Run tests (`dotnet test`) +- [ ] Test application functionality +- [ ] Verify authentication works +- [ ] Check error handling +- [ ] Performance test (optional) +- [ ] Document changes (optional) +- [ ] Deploy to staging environment +- [ ] Verify in staging +- [ ] Deploy to production + +--- + +## Performance Comparison + +| Aspect | Analytics SDK | Enterprise SDK | +|--------|---|---| +| **Initialization Time** | ~500ms | ~300ms | +| **API Response Time** | Baseline | Baseline | +| **Memory Usage** | Higher | Lower | +| **Dependency Size** | Larger | Optimized | + +**Benefit**: Enterprise SDK is optimized for better performance. + +--- + +## Getting Help - URGENT MIGRATION SUPPORT + +### Critical Support +- **Email**: analytics.api.support@factset.com (Priority: MIGRATION) +- **Subject**: [URGENT] Analytics SDK Migration Required by Aug 31, 2026 + +### Documentation +- [Enterprise SDK GitHub](https://github.com/factset/enterprise-sdk/tree/main/code/dotnet) +- [FactSet Developer Portal](https://developer.factset.com) +- [API Reference](https://developer.factset.com/api-catalog) + +### Support +- **GitHub Issues**: https://github.com/factset/enterprise-sdk/issues + +### Examples +- [Enterprise SDK Examples](https://github.com/factset/enterprise-sdk/tree/main/code/dotnet/examples) +- [API Documentation](https://developer.factset.com) + +### ⚠️ ACTION REQUIRED +**Do NOT wait** - Start migration immediately. Analytics SDK will be completely removed from NuGet on Sep 1, 2026. + +--- + +## What's Different? + +### Improvements in Enterprise SDK +✅ Better performance +✅ Smaller package size +✅ More frequent updates +✅ Better error messages +✅ Modern .NET Standard support +✅ Comprehensive examples +✅ Active support team + +### Key Changes +- Package name changed from `FactSet.AnalyticsAPI.Engines` to `FactSet.SDK.FactSetAnalyticsAPI` +- Namespace changed from `FactSet.AnalyticsAPI.Engines` to `FactSet.SDK.FactSetAnalyticsAPI` +- Same API classes and methods (backward compatible in functionality) +- Better error handling and validation + +--- + +## Critical Timeline - NO GRACE PERIOD + +| Date | Action | Impact | +|------|--------|--------| +| **Aug 31, 2026** | ⏰ FINAL DAY | Last day to use Analytics SDK | +| **Sep 1, 2026** | 🚫 COMPLETE REMOVAL | ALL versions deleted from NuGet | +| **Sep 1+** | 📌 ENTERPRISE SDK ONLY | Only option for new installations | + +**IMPORTANT**: There is NO grace period. Migration MUST be complete by Aug 31, 2026. + +From Sep 1, 2026: +- ❌ Cannot download Analytics SDK +- ❌ Cannot restore package +- ❌ Cannot add to new projects +- ✅ Enterprise SDK is the ONLY option + +--- + +## Success Criteria + +After migration, you should be able to: +✓ Build successfully with no warnings +✓ All tests pass +✓ Application runs without errors +✓ API calls return expected results +✓ Error handling works correctly +✓ Performance is equal or better + +## ⚠️ MANDATORY REQUIREMENT + +**Migration MUST be completed by August 31, 2026** + +After Aug 31: +- ❌ Analytics SDK becomes completely unavailable +- ❌ No new installations possible +- ❌ No support or patches +- ✅ Enterprise SDK is the ONLY available option + +--- + +## Questions? + +If you encounter issues during migration: + +1. Check this guide +2. Review [Enterprise SDK Documentation](https://github.com/factset/enterprise-sdk) +3. Check [Known Issues](#troubleshooting) +4. Contact: **analytics.api.support@factset.com** + +--- + +**Migration Guide Version**: 1.0 +**Last Updated**: August 5, 2026 +**Status**: Ready for Use diff --git a/auto-generated-sdk/src/FactSet.AnalyticsAPI.Engines/Deprecated.cs b/auto-generated-sdk/src/FactSet.AnalyticsAPI.Engines/Deprecated.cs new file mode 100644 index 0000000..74255fb --- /dev/null +++ b/auto-generated-sdk/src/FactSet.AnalyticsAPI.Engines/Deprecated.cs @@ -0,0 +1,24 @@ +// This file provides deprecation warnings to SDK consumers +#pragma warning disable CS0618 // Type or member is obsolete + +using System; + +namespace FactSet.AnalyticsAPI.Engines +{ + /// + /// Deprecation notice for the Analytics SDK + /// + [Obsolete( + "The Analytics SDK is deprecated effective 31-Aug-2026. " + + "Please migrate to the Enterprise SDK (FactSet.SDK.FactSetAnalyticsAPI). " + + "See https://github.com/factset/enterprise-sdk for details.", + false)] // false = warning only, not error + public class AnalyticsSdkDeprecationNotice + { + public static readonly DateTime DeprecationDate = new DateTime(2026, 8, 31); + public static readonly string ReplacementPackage = "FactSet.SDK.FactSetAnalyticsAPI"; + public static readonly string MigrationGuideUrl = "https://github.com/factset/enterprise-sdk"; + } +} + +#pragma warning restore CS0618 diff --git a/auto-generated-sdk/src/FactSet.AnalyticsAPI.Engines/FactSet.AnalyticsAPI.Engines.csproj b/auto-generated-sdk/src/FactSet.AnalyticsAPI.Engines/FactSet.AnalyticsAPI.Engines.csproj index dd7bd9d..ca9558a 100644 --- a/auto-generated-sdk/src/FactSet.AnalyticsAPI.Engines/FactSet.AnalyticsAPI.Engines.csproj +++ b/auto-generated-sdk/src/FactSet.AnalyticsAPI.Engines/FactSet.AnalyticsAPI.Engines.csproj @@ -17,6 +17,8 @@ Apache-2.0 https://github.com/factset/analyticsapi-engines-dotnet-sdk.git git + true + 6.1.1 The Analytics SDK will be deprecated effective 31-Aug-2026. While we intend to provide limited security fixes till 31-Aug-2026, this SDK will be archived thereafter and will no longer receive updates or security patches. Please migrate to our Enterprise SDK, which is the long-term supported solution from FactSet. Please choose the appropriate API-specific Enterprise SDK from these search results: [enterprise-sdk](https://www.nuget.org/packages?q=FactSet.SDK) PA;Vault;SPAR;Engines;FactSet;FDS;API;Analytics;AnalyticsAPI