From 385740a22a1ededba39f014aacd140b61b776fae Mon Sep 17 00:00:00 2001 From: Wojtek Mach Date: Fri, 1 Sep 2023 10:17:25 +0200 Subject: [PATCH] Release v0.4.0 --- CHANGELOG.md | 4 ++-- README.md | 10 +++++----- mix.exs | 2 +- mix.lock | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ecaa20b3..6712d723 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # CHANGELOG -## v0.4.0-dev +## v0.4.0 (2023-09-01) Req v0.4.0 changes headers to be maps, adds request & response streaming, and improves steps. @@ -175,7 +175,7 @@ resp.body #=> %File.Stream{} Previously we were changing the method to GET for all 3xx except 307 and 308. - * [`decompress_body`]: Remove support for `deflate` compression + * [`decompress_body`]: Remove support for `deflate` compression (which was broken) * [`decompress_body`]: Don't crash on unknown codec diff --git a/README.md b/README.md index 04bc514a..bd337ca3 100644 --- a/README.md +++ b/README.md @@ -73,14 +73,14 @@ Req.get!("https://api.github.com/repos/wojtekmach/req").body["description"] If you want to use Req in a Mix project, you can add the above dependency to your `mix.exs`. -Here's an example POST request (which sends data as `application/x-www-form-urlencoded`): +Here's an example POST with JSON data: ```elixir -iex> Req.post!("https://httpbin.org/post", form: [comments: "hello!"]).body["form"] -%{"comments" => "hello!"} +iex> Req.post!("https://httpbin.org/post", json: %{x: 1, y: 2}).body["json"] +%{"x" => 1, "y" => 2} ``` -You can stream request body too: +You can stream request body: ```elixir iex> stream = Stream.duplicate("foo", 3) @@ -147,7 +147,7 @@ And here is how they can be used: ```elixir Mix.install([ - {:req, "~> 0.3.0"}, + {:req, "~> 0.4.0"}, {:req_easyhtml, "~> 0.1.0"}, {:req_s3, "~> 0.1.0"}, {:req_hex, "~> 0.1.0"}, diff --git a/mix.exs b/mix.exs index 4d8b2852..bde8cb4b 100644 --- a/mix.exs +++ b/mix.exs @@ -1,7 +1,7 @@ defmodule Req.MixProject do use Mix.Project - @version "0.4.0-dev" + @version "0.4.0" @source_url "https://github.com/wojtekmach/req" def project do diff --git a/mix.lock b/mix.lock index 76a863ad..667ba5b9 100644 --- a/mix.lock +++ b/mix.lock @@ -6,7 +6,7 @@ "cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"}, "cowlib": {:hex, :cowlib, "2.12.1", "a9fa9a625f1d2025fe6b462cb865881329b5caff8f1854d1cbc9f9533f00e1e1", [:make, :rebar3], [], "hexpm", "163b73f6367a7341b33c794c4e88e7dbfe6498ac42dcd69ef44c5bc5507c8db0"}, "earmark_parser": {:hex, :earmark_parser, "1.4.33", "3c3fd9673bb5dcc9edc28dd90f50c87ce506d1f71b70e3de69aa8154bc695d44", [:mix], [], "hexpm", "2d526833729b59b9fdb85785078697c72ac5e5066350663e5be6a1182da61b8f"}, - "ex_doc": {:hex, :ex_doc, "0.30.5", "aa6da96a5c23389d7dc7c381eba862710e108cee9cfdc629b7ec021313900e9e", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "88a1e115dcb91cefeef7e22df4a6ebbe4634fbf98b38adcbc25c9607d6d9d8e6"}, + "ex_doc": {:hex, :ex_doc, "0.30.6", "5f8b54854b240a2b55c9734c4b1d0dd7bdd41f71a095d42a70445c03cf05a281", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "bd48f2ddacf4e482c727f9293d9498e0881597eae6ddc3d9562bd7923375109f"}, "ezstd": {:hex, :ezstd, "1.0.8", "13584a08f2711b7b20173a41062f9c9454e255face6a30802fb676330db43495", [:rebar3], [], "hexpm", "a450e855d207cfee18263e78837964e59fe0cbed0dd99cb5e3755ebff7823171"}, "finch": {:hex, :finch, "0.16.0", "40733f02c89f94a112518071c0a91fe86069560f5dbdb39f9150042f44dcfb1a", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6 or ~> 1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f660174c4d519e5fec629016054d60edd822cdfe2b7270836739ac2f97735ec5"}, "hpax": {:hex, :hpax, "0.1.2", "09a75600d9d8bbd064cdd741f21fc06fc1f4cf3d0fcc335e5aa19be1a7235c84", [:mix], [], "hexpm", "2c87843d5a23f5f16748ebe77969880e29809580efdaccd615cd3bed628a8c13"},