Releases: kampute/http-client
1.4.0
In this update, we continue our commitment to enhancing developer experience, optimizing resource management, and ensuring our software's flexibility and reliability. Here is what's new in the latest release:
- Refined content deserialization mechanisms by eliminating unnecessary caching layers, resulting in a more streamlined and efficient process. This change enables more precise diagnostics of deserialization errors, improving error handling and developer insight.
- Introduced a new
ObjectType
property within theHttpContentException
class, enhancing the detail and clarity of error reporting. This addition allows developers to gain a deeper understanding of the context surrounding errors, facilitating more effective debugging and resolution. - Simplified the
HttpErrorHandlerCollection
class by removing over-engineered caching. Given the infrequency of HTTP errors, this optimization reduces unnecessary complexity and resource consumption, aligning with our goals for efficiency and simplicity.
As with every release, these improvements are guided by our dedication to our developer community. Your feedback is invaluable in shaping our path forward. Thank you for your continued support and collaboration.
1.3.0
This update introduces several key improvements and features aimed at enhancing flexibility, improving resource management, and further enriching the developer experience. Here is what's new in this release:
- Removed constraints on the
ResponseErrorType
property in theHttpRestClient
class to improve flexibility in handling HTTP responses. - Introduced a
ResponseObject
property in theHttpResponseException
class to allow for more comprehensive error handling. - Enhanced the class utilizing
DataContractSerializer
for XML content deserialization by incorporating a check for theDataContract
attribute. This ensures more accurate identification of supported model types. - Renamed
SharedDisposalManager
toSharedDisposal
and introduced theReferenceCount
property, thereby improving the management and tracking of shared disposable resources. - Implemented the
AsyncGuard
class to provide a structured and reusable approach to asynchronous state updates, replacing the ad-hoc private class inHttpError401Handler
. - Performed code cleanup and refined XML documentation comments to improve clarity, maintainability, and enhance the developer experience.
As always, we are deeply grateful for your continued support.
1.2.0
In our continuous effort to refine and enhance the capabilities of our library, this latest update brings forth significant improvements aimed at boosting performance, increasing reliability, and enriching the developer experience. Here is what's new in this release:
- Added expected response object type to request properties for better logging and error handling.
- Refactored the caching mechanism for
HttpErrorHandlerCollection
to optimize performance and reliability. - Refactored
HttpContentDeserializerCollection
for enhanced performance and added quality factor support. This adjustment ensures better negotiation of content types with servers. - Included debug symbols in packages to aid in debugging and support development processes.
As always, we are grateful for your support and enthusiasm.
1.1.0
In this release, we have concentrated on enhancing the code quality of our library. Here are the detailed changes:
- Added a missing setter for the
Errors
property onHttpResponseException
, enhancing error management capabilities. - Added
Content
property toHttpContentException
to provide more detailed information about exceptions related to HTTP content. - Fixed a possible race condition issue in
HttpError401Handler
which ensures more reliable handling of HTTP 401 errors. - Reworked retry strategies to streamline the implementation of new strategies and reduce redundant code, thereby making the retry logic more efficient and maintainable.
- Improved some unit tests, thereby increasing test coverage and reliability.
- Addressed multiple issues in the XML comments to enhance the accuracy and usefulness of our code documentation.
- Updated the
Kampute.HttpClient.Json
package dependency to require a minimum ofSystem.Text.Json
version 8.0.2, ensuring compatibility and to utilize a version without known issues. - Updated the
Kampute.HttpClient.NewtonsoftJson
package dependency to require a minimum ofNewtonsoft.Json
version 13.0.3, selecting a version known for its stability and reliability. - Implemented various other minor improvements across the library to enhance performance, usability, and documentation clarity.
We recommend all users to update to this version for an improved and more reliable experience. As always, we welcome your feedback and contributions to further refine the library.
1.0.0
This first release introduces a comprehensive suite of features aimed at optimizing and simplifying RESTful API communication for .NET applications.
Highlights of v1.0.0:
- Utilization of shared HttpClient instances to improve resource management.
- Versatile configuration options to meet a wide array of application requirements.
- Advanced, customizable error handling to handle recoverable HTTP response errors.
- Implementing retry strategies with backoff mechanisms to ensure resilient communication.
- Modular content processing to facilitate effortless integration of API responses.
- Capabilities for intercepting requests and responses, enabling tailored processing and logging.