Skip to content

Releases: kampute/http-client

1.4.0

19 Mar 12:26
5edf029
Compare
Choose a tag to compare

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 the HttpContentException 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

17 Mar 16:03
dfb57d4
Compare
Choose a tag to compare

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 the HttpRestClient class to improve flexibility in handling HTTP responses.
  • Introduced a ResponseObject property in the HttpResponseException class to allow for more comprehensive error handling.
  • Enhanced the class utilizing DataContractSerializer for XML content deserialization by incorporating a check for the DataContract attribute. This ensures more accurate identification of supported model types.
  • Renamed SharedDisposalManager to SharedDisposal and introduced the ReferenceCount 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 in HttpError401Handler.
  • 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

16 Mar 09:55
dfb57d4
Compare
Choose a tag to compare

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

11 Mar 14:03
Compare
Choose a tag to compare

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 on HttpResponseException, enhancing error management capabilities.
  • Added Content property to HttpContentException 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 of System.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 of Newtonsoft.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

05 Mar 09:50
Compare
Choose a tag to compare

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.