-
-
Notifications
You must be signed in to change notification settings - Fork 180
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
160 lines (140 loc) · 7.4 KB
/
Directory.Build.props
File metadata and controls
160 lines (140 loc) · 7.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
<?xml version="1.0" encoding="utf-8"?>
<Project>
<!-- General information -->
<PropertyGroup>
<Authors>Ugo Lattanzi</Authors>
<VersionPrefix>12.1.0</VersionPrefix>
<!--
<VersionSuffix>pre</VersionSuffix>
-->
<TargetFrameworks>netstandard2.1;net8.0;net9.0;net10.0</TargetFrameworks>
<Nullable>enable</Nullable>
<IncludeSource>True</IncludeSource>
<IncludeSymbols>True</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<NoDefaultExcludes>true</NoDefaultExcludes>
<PackageReadmeFile>README.md</PackageReadmeFile>
<Copyright>Ugo Lattanzi</Copyright>
<NeutralLanguage>en-US</NeutralLanguage>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
<RepositoryUrl>https://github.com/imperugo/StackExchange.Redis.Extensions</RepositoryUrl>
<SuppressTfmSupportBuildWarnings Condition="$(TargetFramework.StartsWith('netcore'))">>true</SuppressTfmSupportBuildWarnings>
</PropertyGroup>
<!-- Packages stuff -->
<PropertyGroup>
<Title>StackExchange.Redis.Extensions — high-level Redis client with serialization, pooling, and typed APIs</Title>
<Summary>Extends StackExchange.Redis with object serialization, connection pooling, Pub/Sub, Streams, GeoSpatial, Hash field expiry, compression, and ASP.NET Core integration.</Summary>
<Description>StackExchange.Redis.Extensions is a library that extends StackExchange.Redis with higher-level APIs for common application scenarios.
Features:
- Store and retrieve complex .NET objects with pluggable serialization
- Connection pooling with LeastLoaded and RoundRobin strategies
- Pub/Sub messaging with typed handlers and error logging
- Redis Streams with consumer group support
- GeoSpatial indexes (GEOADD, GEOSEARCH, GEODIST)
- Hash field expiry (Redis 7.4+ HEXPIRE/HSETEX)
- Transparent compression (LZ4, Snappy, Zstd, GZip, Brotli)
- Azure Managed Identity support
- ASP.NET Core DI integration
- Multiple named Redis instances
- Tags, Sets, Lists, Sorted Sets, key search
Serializer packages (pick one): System.Text.Json, Newtonsoft, MemoryPack, MsgPack, Protobuf, ServiceStack, Utf8Json.
</Description>
<PackageReleaseNotes>
v12.1.0:
- Added VectorSet API for AI/ML similarity search (Redis 8.0+): VADD, VSIM, VREM, VCONTAINS, VCARD, VDIM, VGETATTR, VSETATTR, VINFO, VRANDMEMBER, VLINKS
- Added llms.txt for AI coding assistant documentation indexing
- Added Claude Code plugin with configure, scaffold, and diagnose skills
- Added complete API reference tables to all feature documentation
- Added SECURITY.md with GitHub Private Vulnerability Reporting
- Added CodeQL Advanced security analysis workflow
- Added CI workflow for automated testing on push/PR
v12.0.0:
- Added .NET 10 target framework
- Added GeoSpatial API (GEOADD, GEOSEARCH, GEODIST, GEOPOS, GEOHASH)
- Added Redis Streams API (XADD, XREAD, XREADGROUP, XACK, consumer groups)
- Added Hash field expiry (HEXPIRE, HSETEX, HPTTL, HPERSIST) for Redis 7.4+
- Added transparent compression support with pluggable ICompressor
- Added compression packages: LZ4, Snappy, Zstandard, GZip, Brotli
- Added Azure Managed Identity support via ConfigurationOptionsAsyncHandler
- Added CertificateSelection, ClientName, KeepAlive configuration properties
- Fixed SyncTimeout default from 1000ms to 5000ms
- Fixed Sentinel CommandMap blocking data commands (EVAL, GET, SET)
- Fixed AddAllAsync TTL race condition (now atomic per key)
- Fixed pool resilience: GetConnection skips disconnected connections
- Fixed PubSub handler silently swallowing exceptions
- Upgraded to StackExchange.Redis 2.12.14
- Upgraded to ConnectAsync (SE.Redis best practice)
- Replaced Moq with NSubstitute
</PackageReleaseNotes>
<PackageProjectUrl>https://github.com/imperugo/StackExchange.Redis.Extensions</PackageProjectUrl>
<PackageTags>Redis Cache Async NoSQL Distributed PubSub Streams GeoSpatial Compression Serialization DependencyInjection</PackageTags>
</PropertyGroup>
<!-- Repo -->
<PropertyGroup>
<RepositoryUrl>https://github.com/imperugo/StackExchange.Redis.Extensions</RepositoryUrl>
<RepositoryType>Git</RepositoryType>
</PropertyGroup>
<!-- LICENSE -->
<PropertyGroup>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
</PropertyGroup>
<!-- LANGUAGE -->
<PropertyGroup>
<LangVersion>preview</LangVersion>
<Features>strict</Features>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
<_Parameter1>$(MSBuildProjectName).Tests</_Parameter1>
</AssemblyAttribute>
</ItemGroup>
<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)README.md" Pack="true" PackagePath="\" />
</ItemGroup>
<ItemGroup>
<AssemblyAttribute Include="System.Diagnostics.CodeAnalysis.SuppressMessage">
<_Parameter1>Style</_Parameter1>
<_Parameter2>IDE0017:Simplify object initialization</_Parameter2>
</AssemblyAttribute>
</ItemGroup>
<ItemGroup>
<AssemblyAttribute Include="System.Diagnostics.CodeAnalysis.SuppressMessage">
<_Parameter1>Style</_Parameter1>
<_Parameter2>IDE0066:Use 'switch' expression</_Parameter2>
</AssemblyAttribute>
</ItemGroup>
<ItemGroup>
<PackageReference Include="AspNetCoreAnalyzers"
Version="0.3.*"
PrivateAssets="all"
IncludeAssets="runtime; build; native; contentfiles; analyzer"/>
<PackageReference Include="Microsoft.VisualStudio.Threading.Analyzers"
Version="[17.14.*,18.0.0)"
PrivateAssets="all"
IncludeAssets="runtime; build; native; contentfiles; analyzer"/>
<PackageReference Include="Roslynator.Analyzers"
Version="[4.15.*,5.0)"
PrivateAssets="all"
IncludeAssets="runtime; build; native; contentfiles; analyzer"/>
<PackageReference Include="Roslynator.CodeAnalysis.Analyzers"
Version="[4.15.*,5.0)"
PrivateAssets="all"
IncludeAssets="runtime; build; native; contentfiles; analyzer"/>
<PackageReference Include="Roslynator.Formatting.Analyzers"
Version="[4.15.*,5.0)"
PrivateAssets="all"
IncludeAssets="runtime; build; native; contentfiles; analyzer"/>
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers"
Version="[5.3.*,6.0)"
PrivateAssets="all"
IncludeAssets="runtime; build; native; contentfiles; analyzer"/>
<PackageReference Include="Microsoft.CodeAnalysis.CSharp"
Version="[5.3.*,6.0)"
PrivateAssets="all"
IncludeAssets="runtime; build; native; contentfiles; analyzer"/>
</ItemGroup>
</Project>