- New: Credential, CredentialType, CredentialPersistence, CredentialManager, SecureStringHelper and SecurePasswordBindingBehavior added to ITCC.WPF
- New:
MaxConcurrentRequests,MaxRequestQueueandConfigurationViewEnabledadded toHttpServerConfiguration - Edit: Dependencies updated
- New :
DebugLogsEnabledandRequestTracingEnabledadded toStaticServer(can be turned on during startup via config and changed in runtime) - Fix : Do not throw in Logger::FlushAsync if email logger is registered but not started
- Fix : Pass
checkDescriptiontoApiViewCheckAttributeviaCallerMemberName - Fix : Thread pool usage statistics fixed in
StaticServer
- New: Library can now be built for NuGet deploy
- New:
ITCC.HTTP.API.Documentationadded for automatic docs generation - New:
ITCC.HTTP.APIextended (a lot of attributes for method and view descriptions) - Edit: BREAKING CHANGE: solution layout changed (src/tests/build)
- Edit: BREAKING CHANGE: .NET Standard projects upgraded to new .csproj format (requires Visual Studio 2017)
- Edit: Requeired .NET Framework vesrion downgraded to 4.5
- Edit: pre-build scripts removed
- Edit: Dependencies updated
- Edit:
ITCC.HTTP.Server.Core.RequestProcessornow uses properties instead of fields and implementsIRequestProcessor - Edit: Dependencies updated
- New:
EnumInfoProviderandEnumValueInfoAttributeadded toITCC.HTTP.API
- New:
StaticServernow ensures all file sections exist at startup
- Fix:
StaticServer::Starterror handlers fixed - Fix:
ServerStatisticsCPU counter fixed
- New:
EnumDescriptionTypeConverterandLocalizedDescriptionAttributeadded toITCC.WPF - Fix: Request logging with files turned off fixed in
StaticServer
- Edit: BREAKING CHANGE: ItemsFilter removed from submodules
- New:
HEADrequests API forRegularClient/StaticClient - New:
StaticServerstatistics now includes CPU usage. Now for process, but machine total - Edit:
BufferedFileLogger/PortableBufferedFileLoggernow have optionalmaxQueueSizeconstructor parameter - Edit:
RequestResult<TResult>::Headersnow include content headers (such asContent-Length) - Edit:
RegularClient/StaticClientlogs now include content headers (such asContent-Length)
- Edit: Newtonsoft.Json downgrade to 9.0.1
- Edit: Prebuild scripts should go to lib\ folder
- New:
ITCC.UIproject added - New: github pages enabled (https://opexgroup.github.io/ITCC.Library)
- Edit: BREAKING CHANGE: A lot of classes moved from
ITCC.WPFtoITCC.UI
- Edit: BREAKING CHANGE:
IFlushableLogReceiverinterface changed (void Flush() => Task FlushAsync()). - Edit: BREAKING CHANGE:
Loggerinterface changed (void FlushAll() => Task FlushAllAsync()). - Edit: BREAKING CHANGE:
UiThreadRunnerreplaced byAsyncUiThreadRunner. - Edit: BREAKING CHANGE:
ObservableLoggernow acceptsUiThreadRunnerinstead ofAsyncUiThreadRunner. - New: Commands added to
ITCC.WPF:DelegateCommand,IAsyncCommand,AsyncCommand,AsyncCommand<TResult>,NotifyTaskCompletion<TResult>,AsyncCommandFactory
- Edit: BREAKING CHANGE:
HttpServerConfigurationnow takesIBodyEncoderlist instead ofBodyEncoderlist. Several implementations added. - Edit:
StaticServernow requires prebuild script - Edit:
StaticServerservices refactor - Edit:
StaticServernow adds list of supported content types with406 Not Acceptable - Edit: All nuget dependencies updated to last versions
- Fix:
StaticServernow starts correctly if static files are disabled
- Fix: Prevent files from multiple gzipping in
FilePreprocessorController - Fix: Unlock files correctly after processing in
FilePreprocessorThread
- Fix:
StaticClientandRegularClientContent-Typefix forPOSTrequests
- Fix:
StaticClientandRegularClientfix in caseTResponseSuccessis raw string
- New:
StaticServernow supports background file gzipping - Fix: Minor fixes after PVS-studio check
- Fix: Possible race conditions fixed in FilePreprocessController
- New:
StaticServermemory overhead warnings added - New:
CriticalMemoryValueandMemoryAlarmStrategyadded toHttpServerConfiguration
- Fix:
RegularClient::SerializeHttpRequestMessageheaders format fixed
- Edit:
Loggerportability improved - Fix: Small docs fixes
- Edit: BREAKING CHANGE:
RegularClientandStaticClientAPI breaking changes - Edit:
Either<TFirst, TSecond>does not accept nulls in costructors - Edit: Several minor fixes
- New:
415 Unsupported Media Typeis now processed byStaticServer,RegularClientandStaticClient - New:
ViewSetConflicterrors construction - Edit:
RequestProcessor::Methodnow defaults toGET
- Fix: Encoder selection fixed in
ResponseFactory
- Fix: Display generic types correctly in
ApiErrorView::ViewType
- New:
NonSerializableTypesoption added toHttpServerConfiguration
- New: Files HEAD requests implemented
- Edit: BREAKING CHANGE: Loggers splitted into desktop and portable versions
- Edit: BREAKING CHANGE:
*FileLogger,*ConsoleLogger,RotatingRequestLoggermoved to ITCC.Logging.Core - Edit:
IDisposableimplemented in classes with timers - Edit:
ItemsFilterupdated
- Edit: Build
ITCC.Logging.CoreandITCC.HTTP.APIagainst netstandard 1.3 - Edit: Build all desktop projects against .Net 4.6
- New: API error tree generation added
- Edit: Several docs fixes
- New:
ITCC.HTTP.APIlibrary added - Edit: Build library against .Net 4.5.2
- Edit:
ITCC.Logging.Corenow can be used under Windows Phone 8.1
- New:
RequestBodyLogLimitadded toHttpServerConfiguration - Fix: Several encoder issues fixed (for multiple encoders in
StaticServer)
- New:
ITCC.HTTP.Server.Testingutil added - Edit:
406 Not Acceptableis now processed inStaticClient - Fix: Encoder selection and response
Content-Typefixed (correctAcceptparsing)
- New:
StaticServernow supports several body encoders - Edit: BREAKING CHANGE:
ITCC.UInamespace renamed toITCC.WPF - Fix: POST requests handler fixed in
FileRequestController
- Fix:
SerializeHttpRequestfixed
- Fix:
Range:headers parsing fix - Edit: Use larger copy buffers for large files (gives significant performance improvement)
- Fix: Do not log binary request bodies on server
- New: ThreadPool usage added to ServerStatistcs
- Edit: Better statistics representation
- Fix: Server debug build fixed
- New: Memory usage and internal error contexts are now displayed in server statistics
- New:
Loggernow supports output with conditional compilation - Fix:
BufferedFileLoggerfixes: correct frequency value in all constructors + redundant line break removed
- New:
ITCC.HTTP.SslConfigUtiladded: core API, WPF GUI, basic console - New: Started to implement LogReader for structured log files reading
- New:
SslConfigUtilintegrated intoStaticServer - Edit:
LogWindowrendering improved drammatically - Edit:
Newtonsoft.Jsonremoved fromServerdependencies - Edit: BREAKING CHANGE:
ITCC.HTTPsplitted - Edit: BREAKING CHANGE:
ITCC.UIrenamed toITCC.WPF - Edit:
ItemsFiltersubmodule added
- Fix:
LogWindowlarge messages display fix
- Edit:
LogWindowrendering optimized even more
- Edit:
LogWindowrendering optimized (linked-list usage, internal buffer)
- Edit: Make URIs case-insensitive is
StaticServer
- Fix: Request logging fixed in
StaticServer.- This way uses reflection and private field access. This causes possible lack of portability and backward/forward compatibility
- Note: this is a hack. Request logging will be used only if
TRACEpreprocessor constant is defined. It is not recommended for production usage for now
- Fix:
StaticClient::PostRawAsyncfixed (recursion was wrong)
- New: Build configurations for different platforms (finally :) )
- Edit: HTTP server core refactoring and simplification
- Fix:
ITCC.Geocodingprebuild fixed - Fix: HEAD requests work again
- New:
ITCC.Logging.Coreextracted as portable class library. - New:
StaticServerfiles API improvements
- New: Griffin.Framework removed from dependencies
- Edit: Docs splitted
- New: Server configuration breaking change
- New: Critical information protection added for
StaticServer,RegularClientandStaticClient - New:
RotatingRequestLoggeradded
- New: More info for server message sending
- New: 202, 206, 416, 503 codes processing added in
RegularClientandStaticClient - New:
Rangeheader processing for files added inStaticServer - New: Image compression (on
POSTand in background) added - New:
FilesPreprocessingEnabled,FilesPreprocessorThreadsandExistingFilesPreprocessingFrequencyoptions added toHttpServerConfiguration - New:
TemporaryUnavailablevalue added toServerResponseStatusenumeration - New:
uiThreadRunnerparam recommendations added toREADME.mdforObservableLogger
- Edit:
Newtonsoft.Jsonupdated to 9.0.1 - Edit: Set vertical text alignment to
Topfor text-wrapped DataGrid cells
- Fix: Do not log binary files' data on receiving
- Edit: Changing log level in
LogWindowdoes not need confirmation
- New:
DebugLoggeradded toITCC.Logging - New:
Logger::Levelcan be changed inLogWindowGUI
- Fix: Fix in
ResponseFactory
- Fix: Response logging fix in
StaticServer
- Fix: Request logging fix in
StaticServer
- Edit: Better log for servers with gzip enabled
- Fix: Authentification fix for servers with gzip enabled
- New: Full redirect (301, 302) support added in
StaticServer,StaticClientandRegularClient
- Fix: Decompression method selection fixed
- New: GZip compression is implemented and enabled by default in
StaticServer,StaticClientandRegularClient
- Fix:
GetFileAsync,PutFileAsyncandPostFileAsyncfile sharing fix forStaticClientandRegularClient
- New:
GetFileAsyncandPutFileAsyncadded forStaticClientandRegularClient - New:
outputStreamparam added forRegularClient::PerformRequestAsync
- Edit:
RequestProcessor::LegacyNameremoved
- Fix:
AuthentificationResultconstructor fix
- Edit:
AuthentificationResultnow hasAdditionalHeadersinstead ofUserdata
- Edit:
DataGridHelper::HandleAutogeneratinColumndoes not uselastColumnName - New:
DataGridColumnStyleAttributeadded
- Fix: Google geocoder fix
- New: Google maps API support
- Fix:
Loggermade static
- New:
IFlushableLogReceiverinterface added - New:
Logger::FlushAll(void)method added - New:
BufferedRotatingFileLoggeradded - New:
EmailLoggernew implementsIFlushableLogReceiver
- New:
ITCC.Geocodingproject added - New:
MaxFileSizeadded toFileSection.413 Request Entity Too Largesupport added - Edit: General HTTP refactor (See
HandlerResultandRequestResult)
- New:
EmailLoggerwill now report about it's start
- New:
MaxQueueSizeparameter added toEmailLoggerconfiguration
- Edit: More accurate time counters in
ServerStatistics - Fix: Fixed service requests performance measuring in
StaticServer
- New:
DataGridIgnoreAttributeadded
- New: Email logger added
- New:
RequestMaxServeTimeadded toHttpServerConfiguration
- New: ITCC.UI added
- Fix: Statistic fixed for file requests
- Fix: Respond with 400 instead of 500 for bad file requests
- New: Server asynchronous stop supported
- New: Use reserved uris and methods set
- Edit: More thorough server configuration check
- Fix: Correct timeout/cancellation conditions in
RegularClient - Edit: Enum element renamed from
RequestCanceledtoRequestCancelled - New: Test project added
- Fix: Log entries' time fixed
- Fix: Statistics improved
- Fix: Use ling in processor selection
- Fix:
PostFileAsyncreturnsServerResponseStatus.Okon good codes - Edit:
POSTfor files returns201 Createdinstread of200 OK
- Fix: Request processor selection fixed
- Fix: Wrong
Method Not Allowedcondition fixed
- Edit: Griffin.Framework updated
- Fix: ResponseFactory type initialization fixed
- New:
Method Not Allowedresponses added - Edit: Do not log full or partial response bodies if TRACE constant is not defined
- New:
BodyEncoding,LogResponseBodiesandResponseBodyLogLimitadded toHttpServerConfiguration - New: Correct request timeout processing added to client (
ServerResponseStatus.RequestTimeout) status - Edit: Critical log colour changed in
ColouredConsoleLogger - Edit: Changelog format changed
- Fix: Possible
Loggerconcurrency issues fixed - Fix: Possible
ServerStatisticsconcurrency issues fixed
- Edit: Performans stats output enhanced
- Edit: Datetime format changed for
ITCC.Logging
- New: Performance measuring added
- Fix: File sections fix
- Fix: Statistics authorization mechanism fix
- New:
SuitableSslProtocolsadded toHttpServerConfiguration - New: Client SSL cipher suite information is avaible in logs (per connection) and in /statistics section
- New:
StatisticsAuthorizeradded toHttpServerConfiguration
- Edit: GET for files uses actual content types (
MimeTypesadded)
- New: File sections with separate access rights added (
FileSectionsadded toHttpServerConfiguration) - Edit:
FilesAuthorizersignature changed (now it also takes requestedFileSection)
- Edit: Small statistics enhancement
- Fix:
IsFilesRequestfixed for servers with files disabled
- Edit: Better thread info in logger output
- New: Non-static HTTP client (
RegularClient) added
- Fix: Correct prebuild
- Fix: Prebuild added (correct submodule build)
- New: Library created (HTTP and Logging modules)