Grape: Release v. Next

Created on 28 Mar 2020  路  20Comments  路  Source: ruby-grape/grape

Ongoing issue. If you feel like you need a new release because of changes in master, please add your +1. One of the maintainers will do it when they have time. A great way to accelerate this process is to send one of them a pony. Or coffee.

chore

Most helpful comment

I released 1.4.0.

All 20 comments

@dblock Any chance you can get around to this soon?

This weekend unless someone beats me to it.

I will take care of that on this weekend, most likely, today :smile:

grape   RubyGems org   your community gem host

Thank you @dnesteryuk and @dblock. 1.3.2 looks great. I think we can close this out.

I guess we can keep this thread, so people can request next release :wink:

There are some changes introduced in 1.3.0 (and still valid for 1.3.2) that broke our production app after update. More info here: #2051

And _app2_ starts to receive response headers with Transfer-Encoding chunked and never finish the request. Should I create an issue for that? I don't know if could create a reproducable example..

Thanks for bringing this up and for hunting down what changed. You should open a new issue either way. I think we need two things:

  1. Find a workaround. You should figure out why your app stopped working and how to fix the app - IMO transfer-encoding and request not finishing are just symptoms, why would it break a client?
  2. A new paragraph in UPGRADING once we figure out what the issue is.

OK I created a reproducable example with small readme on how to test it: https://gist.github.com/nbulaj/bd89ba366290033bf71c0f9b60927709

So before the changes I pointed above it worked, and with a new changes it doesn't

And app2 starts to receive response headers with Transfer-Encoding chunked and never finish the request

just a bit of clarification, it starts to receive but unable to proxy those requests properly(the browser waits for a proper chunk).

without proxy/with proxy
Screen Shot 2020-05-06 at 20 03 25

Transfer-Encoding is a hop-by-hop header, that is applied to a message between two nodes, not to a resource itself.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding

it means, it cannot be forwarded "as is"

You should figure out why your app stopped working and how to fix the app

on a quick look, grape does not set Content-Length header on its side and relies on rack
so, according to the information above
DELETED
this broke the proxy client, as it unable to properly forward chunked requests(either chunk by chunk or collect and send all chunks together;Content-Length and Transfer-Encoding: chunked cannot be used at the same time)

UPD I'll take a look on "before/after 1956" a little bit later, as it still needs a clarification.
UPD2 answered in #2051

Yep, thanks for clarification @dm1try . Seems like you right about the reason. I created an issue for this (https://github.com/ruby-grape/grape/issues/2051) as this one is about releasing process and requests, so maybe let's move our discussion there. Thanks!

I guess we can keep this thread, so people can request next release 馃槈

Would love to see 1.3.3 for https://github.com/ruby-grape/grape/pull/2040 馃檱

1.3.3 was released 2020/05/23

Time for a v1.3.4? The recent changes concerning Ruby 2.7 compatibility definitely deserve a release.

I'd like #2072 to go in at least.

馃憤 as per demonstrated interest in https://github.com/ruby-grape/grape/issues/2075 :P

Since #2072 got merged v1.3.4 should be unblocked, right? Any chance you could get a new release out to rubygems.org @dblock? 鉂わ笍

Yeah, could we get v1.3.4 to pull in #2084? That one is quite concerning.

I released 1.4.0.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Crystark picture Crystark  路  5Comments

wprater picture wprater  路  6Comments

dmmcgee picture dmmcgee  路  6Comments

davidmccoy picture davidmccoy  路  3Comments

Legogris picture Legogris  路  6Comments