- `DelayedFileDownloader` changed into `RequestFileStreamProvider` which provides a direct network stream.
- `CachedResponseStream` now only caches the `HttpContent` as opposed to the `HttpResponseMessage`.
- `IFileDownloader` now synchronously returns `IFileStreamProvider`s.
- `FileDownloader` now returns `RequestFileStreamProviders`.
- Added `ISeekableFileStreamProvider`.
- BufferedFileStreamProvider now implements `ISeekableFileStreamProvider`.
- Set all requests to use assemblyInformationProvider UserAgent by default.
- Removed DefaultIOManager's dependency on IAssemblyInformationProvider.
- Fixed bad Dispose scope for requests under construction in SwarmService.
- Address various IDE messages
- Additional logging
- Do not access DB in Watchdog's actual Dispose
- Fix issue with legacy behaviour in PGSQL
- Remove obsolete dotnet workaround
- Update to v3 actions checkout/upload-artifact/download-artifact
- Added a new ErrorCode for when chat bots fail to connect
- Made IProvider IAsyncDispsable
- Removed IDatabaseContextFactory dependency from watchdogs
- Jobs will no longer start until instance manager startup is complete
- Chat provider connection is now done as a job, there is no way to retrieve directly this job through the API currently
- Fixed disabled chat bots connecting when their instance onlined
- Fixed issue with chat provider reconnection channel remapping
- IJobManager can now accept a null user in most cases which it will substitute for the TGS user
- Fixed some watchdog issues relating to accessing disposed session controllers
- Add Components.Events namespace, move all event stuff there.
- Add README.
- Add EventScriptAttribute, all EventTypes must now have an associated script name.
- Added unit tests.
- Add DatabaseType
- Add DatabaseContext
- Add SetupWizardry
- Add DesignTimeDbContextFactory
- Add migration
- Add integration test to travis as separate job (split out others too)
- Other minor code cleanups