Releases: WeihanLi/dotnet-httpie
Releases · WeihanLi/dotnet-httpie
0.16.0
0.15.0
What's Changed
- Add comprehensive GitHub Copilot instructions for dotnet-httpie repository by @Copilot in #115
- merge upstream by @WeihanLi in #116
- docs: Add comprehensive documentation and improve README with accuracy fixes by @Copilot in #113
- Update NuGet Packages by @github-actions[bot] in #118
- Update NuGet Packages by @github-actions[bot] in #119
- Update NuGet Packages by @github-actions[bot] in #120
- Update NuGet Packages by @github-actions[bot] in #121
- Add --stream option to output HTTP response body as it arrives by @Copilot in #123
- Update NuGet Packages by @github-actions[bot] in #124
- Update NuGet Packages by @github-actions[bot] in #127
- Make RequestDataMiddleware AOT-friendly by @Copilot in #129
- 0.15.0 by @WeihanLi in #126
Full Changelog: 0.14.0...0.15.0
0.14.0
What's Changed
🚀 Features
- Update HTTP Version Support: Update support for specifying the HTTP version in requests via the
--httpVersionoption and try to use HTTP/2 by default. The tool now properly sets the HTTP version on outgoing requests, and handles the new property in requests and responses. - Properties Output: Introduced a new "Properties" (
-p) output option for displaying custom/request/response properties. Timestamps and duration are now included in the output via this new mechanism, replacing the old "Timestamp" flag. - Improved Output Formatting: Output formatting is enhanced—request/response property output and HTTP version display are improved for better clarity.
🐛 Bugfixes
- Fixed passing cancellation tokens in tests and improved test reliability.
- Corrected user agent and HTTP version handling in middleware.
🧹 Refactorings & Dependencies
- Updated dependencies: Upgraded
System.CommandLineandWeihanLi.Common, switched toxunit.v3andXunit.DependencyInjection 10.7.0, and cleaned up test package references. - Modernized test code: Migrated test assertions from FluentAssertions to built-in
Assert, and streamlined test logic. - Removed obsolete GitHub CodeQL workflow and cleaned up solution/project files.
Full Changelog: 0.13.0...0.14.0
0.13.0
dotnet-httpie v0.13.0 Release Notes
🛠️ Refactor & Maintenance
- Refactored internal build scripts to use a much simpler and more maintainable build process (
build/build.cs), relying onDotNetPackageBuildProcess. - Changed the default global tool install command from
dotnet tool updatetodotnet tool installin build scripts. - Updated solution to drop .NET 9.0 target (now targets .NET 8.0 and .NET 10.0).
- Updated project files to set
RollForwardtoMajorfor better tool compatibility. - Added
IsPackable,IsTestProjectproperties to test project props for improved test project configuration.
📦 Dependency Updates
- Upgraded dependencies:
System.CommandLineto2.0.0-beta7.25380.108JsonSchema.Netto7.4.0System.Linq.AsyncEnumerableto10.0.0-preview.7.25380.108WeihanLi.Commonto1.0.81
- CodeQL GitHub Action updated to v3.
🛠️ CI/CD & Build
- Enabled scheduled runs for dependency update checks.
- Improved badge and documentation links in README.
Full Changelog: 0.12.0...0.13.0
0.12.0
🚀 Features
- Nested JSON Builder Support (#55):
- Now supports building nested JSON objects and arrays from CLI options (e.g.,
foo[bar]=baz,arr[]=1 arr[]=2). - Supports root array as request body (e.g.,
[][key]=value).
- Now supports building nested JSON objects and arrays from CLI options (e.g.,
- AOT Tool Packages & Platform-specific Builds:
- Added new GitHub Actions workflows to build and release .NET AOT tool packages for multiple platforms (Linux, Windows, macOS).
- Artifacts are now uploaded for each target platform.
🐞 Bugfixes
- Miscellaneous improvements and fixes to the request data middleware for more robust and correct JSON construction from CLI inputs.
- Improved handling for root array and nested array structures in JSON.
🛠️ Refactor
- Refactored
RequestDataMiddlewareand related unit tests to support and verify advanced JSON input patterns. - Improved property path parsing and assignment logic for dynamically building JSON structures.
📦 Miscellaneous
- Upgraded dependencies:
System.CommandLineupdated to2.0.0-beta6.25358.103.
- CI/CD and workflow enhancements:
- Improved release and build workflows, including better artifact handling and naming.
- Updated git config in workflows for consistent commit authorship.
- Disabled NuGet signature verification in
dotnet-outdatedworkflow for smoother automation.
- Documentation:
- Updated release notes and usage documentation.
For details, see the full commits and diff.
0.11.0
🚀 Features
- Refactored all command and option definitions to use the new System.CommandLine option model (descriptions, completions, default values, arity, etc.)
- Added support for
IAsyncEnumerable<HttpRequestMessageWrapper>in parser interfaces for more scalable file/script parsing execcommand now supports reading script content from stdin (not just file path)- New
--offline/--dry-runoption: print request info without sending requests - Improved environment variable loading: supports shared variables (
$shared) in.envand JSON env files - Output formatter improvements: added request line output, enhanced pretty/quiet/verbose modes
🐞 Bugfixes
- Improved error handling and validation for curl script parsing
- Fixed issues with request data parsing so query strings, flags, and headers aren’t mistreated as data
🛠️ Refactor
- Refactored parser interfaces to use
IAsyncEnumerableand reorganized inheritance (CurlParserandHttpParsernow inherit fromAbstractHttpRequestParser) - Updated option definitions and usages throughout middleware for consistency
- Refined logic for parsing authentication, SSL, proxy, download, cache, and request data options
- Moved to new assertion library in tests (AwesomeAssertions instead of FluentAssertions)
- Various structure and code improvements (internal APIs, option parsing, etc.)
📦 Miscellaneous
- Upgraded dependencies: System.CommandLine, JsonPath.Net, WeihanLi.Common, etc.
- Updated sample assets and environment variable usage in tests
- Documentation and code comments improved
For a detailed list of changes, see the commit comparison.
0.10.0
dotnet-httpie v0.10.0 Release Notes
🚀 Features & Improvements
-
HTTP Environment File Support:
- Added support for
.env,http-client.env.json, andhttpenv.jsonfiles for environment variables in HTTP file execution. - You can now pass
--env <env-name>to theexeccommand to specify environment variables for requests. - Variable replacement enhancements: supports dotenv, environment, and custom function variables in HTTP scripts.
- Added support for
-
.NET 10.0 Support:
- Upgraded target frameworks to include
net10.0(preview) for main project and test projects. - Updated Dockerfile and build infrastructure to use .NET 10.0 SDK and runtime.
- Upgraded target frameworks to include
-
Build & CI/CD Improvements:
- Updated all CI/CD pipelines and GitHub Actions to use .NET 10.0.
- Renamed primary workflow to
dotnet.ymland updated status badges. - Improved build scripts:
dotnet-httpie.slnxreplaces.slnand supports new build logic. - Enhanced Docker image build and publish process.
-
Dependency Updates:
- Updated various dependencies
🐛 Bugfixes & Refactoring
- Unified and improved variable replacement logic for HTTP file execution.
- Enhanced test coverage for environment variables and dotenv support.
- Refactored some internal logic for cleaner and more robust code.
- Minor code cleanup, formatting, and modernization.
📝 Other Changes
- Documentation and README updated for new features and workflow badge.
- Solution file refactored to
.slnxformat. - Added more sample/test assets for the http env file support.
Upgrade Note:
You need the .NET 10.0 SDK (preview) to build and this code.
Environment variable support in HTTP files now covers more scenarios, making scripting much more flexible!
Thanks for using dotnet-httpie!
Full Changelog: 0.9.0...0.10.0
0.9.0
- Add
net9.0support, removenet6.0/net7.0support - AOT support
- Publish container image based on AOT artifacts and multi-platform support
Full Changelog: 0.8.2...0.9.0
0.8.2
Full Changelog: 0.8.1...0.8.2
0.8.1
Full Changelog: 0.8.0...0.8.1