Conversation
…st reformatting - add Services.Core services (EventBus, ConfigManager, JobSystem, TimerWheel, MainThreadDispatcher) and default-services registration - add config section registration (RegisterConfigSection, IConfigManagerService, ConfigRegistrationData) and IEventBus changes - add YamlUtils section/runtime-type helpers - add SquidStd.Scripting.Lua project - iterate network sessions surface (Session, SessionManager, ISessionManager, UDP client/server) - reformat and reorganize the test suite
…geted SendToAsync
- make IScriptEngineService inherit the SquidStd lifecycle service contract - expose Lua engine name/version through LuaEngineConfig - update LuaScriptEngineService start/stop methods to lifecycle signatures
- move Options/Container properties above the constructors - move DisposeAsync to be the last method - extract nested BootstrapState enum to Types/BootstrapStateType (internal)
- replace the user-data constructor delegate with a MoonSharp callback - add Lua scripting coverage for the engine, loader, bridge, modules, and helpers - reference the Lua scripting project from the test project
- add the local .codegraph index directory to gitignore
- ConfigManagerService: move properties above the constructor; drop ThrowIfNull on the DI container - EventBusService: extract nested EventDispatch to Internal/EventDispatch.cs; move Dispose last - JobSystemService: move properties above the constructor; move Dispose last; rename Schedule/Schedule<T> to ScheduleAsync (IJobSystem + tests updated) - LuaScriptEngineService: reorder members (const first, fields, properties, events, ctor); move Dispose last; drop ThrowIfNull on DI deps; add CancellationToken to ExecuteFunctionAsync/ExecuteScriptFileAsync - IScriptEngineService: add CancellationToken to ExecuteFunctionAsync
- feat: add metric samples, snapshots, config entry, provider contract, and collection service - feat: register metrics in default core services and publish collection snapshots through EventBus - refactor: reuse logger level and rolling interval mapping extensions in bootstrap - test: cover metrics config, collection, EventBus publish, service registration, and logger mappings
- feat: add storage and secret contracts with config sections - feat: add file storage, YAML object storage, and AES-GCM secret protection - feat: register storage and secret services in the core service extensions - test: cover storage roundtrips, secret encryption, fallback key warning, and DI registration
- refactor: compact forwarding constructors - refactor: simplify ConfigureServices container validation - refactor: compact cancellation handling in RunUntilShutdownAsync
…ics to IMetricProvider
….RabbitMq and Scripting.Lua with READMEs - add <PublishNuget>true</PublishNuget> to the four projects - add NuGet package README to each
- register JsonDataSerializer for IDataSerializer/IDataDeserializer in RegisterCoreServices - MessageQueue depends on IDataSerializer + IDataDeserializer - remove IMessageSerializer and JsonMessageSerializer - in-memory and RabbitMq registrations register the default serializer if absent - update messaging tests (drop JsonMessageSerializerTests, covered by JsonDataSerializerTests)
- RabbitMq: connection string uses rabbitmq:// scheme (not amqp://) - Messaging.Abstractions: MessagingOptions has no prefetch (that is RabbitMqOptions)
- add README.md to Caching.Abstractions, Caching and Caching.Redis (auto-packed via Directory.Build.props) - list the three cache packages in the root packages index - rename the root README title/logo alt from SquidStd to squid-std
…config, serialization, ...)
…quivalents - IEvent summary: 'Orion IRCd event bus' -> 'SquidStd event bus' - SquidStdUdpClient cref: OrionTcpClient -> SquidStdTcpClient (fixes broken XML doc xref)
- add .NET 10 badge alongside CI/test/coverage - add Requirements and Quick Start (SquidStdBootstrap usage) - add Architecture (design principles) and Documentation (DocFX site) sections - add Contributing and Versioning & Releases sections - note Docker requirement for integration tests
…o compile and run)
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.
Summary
Brings the full
developline tomainto trigger a semantic-release. Highlights:SquidStd.Database+.Abstractions): FreeSql data layer —IDataAccess<T>(CRUD/bulk/paging), URI connection strings, transactional writes, ZLinq helpers.SquidStd.Caching+.Abstractions+.Redis): cache-asideCacheService, in-memory and Redis providers, metrics.SquidStd.Messaging+.Abstractions+.RabbitMq): typed queue facade, in-memory and RabbitMQ transports, scheme-based connection strings.ICronScheduler,RegisterSchedulerServices).IDataSerializer/IDataDeserializer,$ENV_VARsubstitution in config,ReplaceEnv.<PublishNuget>-driven publish discovery; 15 publishable packages.docs.yml.Release impact
Conventional commits since
v0.1.0: 42feat, 2fix(plus docs/refactor/ci/build) → expected minor bump.Test plan
dotnet build+ full test suite green (494 tests)release.ymltags the version,nuget-publish.ymlpublishes packages,docs.ymldeploys the site