Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stable 3.0 release? #565

Closed
kylefox opened this issue Dec 4, 2019 · 32 comments
Closed

Stable 3.0 release? #565

kylefox opened this issue Dec 4, 2019 · 32 comments
Assignees

Comments

@kylefox
Copy link

kylefox commented Dec 4, 2019

Hey, first off: thanks for the excellent library 🙂

I'm just wondering if there's plans for a stable 3.0 release. The beta was released two months ago and it doesn't seem like there's been much activity since then.

(FWIW, I experimented with v3.0.0-beta.0 in my application and it seems to work just fine)

Please let me know if there's anything I could possibly help with to get 3.0 released 👍

@nreynis
Copy link
Contributor

nreynis commented Dec 5, 2019

I've got a couple more request to submit. One of them may be a breaking change for some narrow use cases, so if we could hold the release a little longer...

@carhartl
Copy link
Member

carhartl commented Dec 5, 2019

Yes, we will...

@carhartl
Copy link
Member

carhartl commented Dec 5, 2019

Hehe, yes we will... hold the release a little longer, and release a stable v3 :)

So there are some changes in the pipeline, and then there's going to be another beta, and at some point a stable release.

@carhartl
Copy link
Member

Bumped the beta one more time... nearing the stable release (-> rc -> stable).

@FagnerMartinsBrack
Copy link
Member

We still need a decision on this one.

We know it makes sense for a new converter API has to get in, then it's better to do it before final release. If not, then could we design the existing converter in a way we can extend later to add the converter for cookie name with a minor not major bump?

@carhartl
Copy link
Member

carhartl commented Mar 11, 2020

There's a release candidate now:

npm i js-cookie@rc

@FagnerMartinsBrack
Copy link
Member

FagnerMartinsBrack commented Mar 11, 2020

Shall we keep for a few months instead of a few weeks just in case something big as the encoding comes up or do you believe that's too much?

@carhartl
Copy link
Member

A few months sounds a bit too much to me.. at some point we should just release it or it will never happen. I‘m expecting a lot of issues coming in after we released anyway (because the encoding isn‘t compatible in v2 vs v3, which might surprise people who may not have read the release notes).

Would be useful to track the number of downloads of the rc in order to decide, as a rough estimate for usage..

@hartator
Copy link

because the encoding isn‘t compatible in v2 vs v3, which might surprise people who may not have read the release notes

Any reason why it doesn't have a default encoder that's the same behavior in v3 as in v2?

This will still allow custom encoders while being backward compatible and will work as expected by avoiding the %40-type that seems to be very common issues.

@carhartl
Copy link
Member

Any reason why it doesn't have a default encoder that's the same behavior in v3 as in v2

Because the implementation in v2 was wrong and we don‘t want to port the mistake to the new version.

@hartator
Copy link

Any reason why it doesn't have a default encoder that's the same behavior in v3 as in v2

Because the implementation in v2 was wrong and we don‘t want to port the mistake to the new version.

Cookies should not be decoded using decodeURIComponent?

@carhartl
Copy link
Member

Cookies should not be decoded using decodeURIComponent?

Not necessarily, it‘s common, but RFC 6265 doesn‘t demand anything like that. In fact it suggests to use base64 encoding for cookie values.

The reason we changed it in v3 is that we implemented the encoding following the guidelines for server inplementers (section 4) while we needed to follow section 5.2 (plus HTML 5 spec) which is less strict (to ensure interoperability). So we’re still using percent-encoding but for less characters. But we’re using percent-encoding because it works well/our own choosing.

@hartator
Copy link

Not necessarily, it‘s common, but RFC 6265 doesn‘t demand anything like that. In fact it suggests to use base64 encoding for cookie values.

The reason we changed it in v3 is that we implemented the encoding following the guidelines for server inplementers (section 4) while we needed to follow section 5.2 (plus HTML 5 spec) which is less strict (to ensure interoperability). So we’re still using percent-encoding but for less characters. But we’re using percent-encoding because it works well/our own choosing.

Got you. Thanks for the detailed answer. 👍

@lpellegr
Copy link

@carhartl Any updates?

@jubishop
Copy link

friendly ping on any updates to a 3.0 release :)

@carhartl
Copy link
Member

carhartl commented Sep 8, 2020

For a 3.0 release we‘ll need to solve #595.

@kylefox
Copy link
Author

kylefox commented Oct 28, 2020

Just wondering if #595 is still blocking a 3.0 stable release 🙂

It seems like discussion/development on #595 has stalled. Unless it's a regression from 2.x, could support for cookie names with brackets be a 3.x patch release?

@STR07
Copy link

STR07 commented Jan 19, 2021

Hey, are there any updates when 3.0 will be released? Thanks @carhartl

@FagnerMartinsBrack
Copy link
Member

FagnerMartinsBrack commented Jan 19, 2021

@STR07 I've commented on the last 2 issues we have pending (#595 and #646) which are apparently holding v3. Version 2 is pretty stable so I would advise using v2 in production instead of master for the time being as master changing all the time.

@mbolli
Copy link

mbolli commented Apr 15, 2021

@FagnerMartinsBrack my reason to use 3.x is that it's exposed as ES module.

@kylefox
Copy link
Author

kylefox commented May 1, 2021

Version 2 is pretty stable so I would advise using v2 in production

@FagnerMartinsBrack As far as I can tell v2 does not support the sameSite parameter, does it?

I understand why #595 and #646 are important, but IMHO they seem less important that the ability to use ES6 modules and sameSite params. Could a "Converter API" (#595) and a no-conflict mode (#646) be introduced in a patch version, i.e. 3.1.0? Or maybe #595 is punted even farther to v4? Because otherwise it feels like v3 will be delayed indefinitely.

@FagnerMartinsBrack
Copy link
Member

FagnerMartinsBrack commented May 1, 2021 via email

@mbolli
Copy link

mbolli commented Jun 1, 2021

I understand why #595 and #646 are important, but IMHO they seem less important that the ability to use ES6 modules and sameSite params. Could a "Converter API" (#595) and a no-conflict mode (#646) be introduced in a patch version, i.e. 3.1.0? Or maybe #595 is punted even farther to v4? Because otherwise it feels like v3 will be delayed indefinitely.

@kylefox I second this. I'm all for a 3.0 release in the current state. It seems stable enough for what 99% of the users do...

@theodoreb
Copy link

We've been shipping Drupal 9 with 3.0.0-rc.0 for more than a year, haven't seen any js-cookie related issue so far on our end. I would welcome a stable release too.

https://www.drupal.org/node/3104677
https://www.drupal.org/project/drupal/issues/3118726

@FagnerMartinsBrack
Copy link
Member

FagnerMartinsBrack commented Jun 29, 2021

@carhartl Shall we just release and deal with the other issues in a minor version? TBH I'm ok with just closing this issue with a release and then dealing with other issues later, even if that means a v4 in a few months/years.

This lib is so stable that just releasing it shouldn't make any harm. I would have a different position if there were 1k issues open to deal with.

@ZhangChengLin
Copy link

This lib is so stable that just releasing it shouldn't make any harm. I would have a different position if there were 1k issues open to deal with.

Some people will never use the rc version, and if they don't take a step forward, how do they know what's ahead?

@carhartl
Copy link
Member

carhartl commented Jul 4, 2021

Ok, the ES module support might warrant a mayor release on its own. For the release I still want to do something about #666 though.

Going to address it later today and do a release.

@emilio-martinez
Copy link

@carhartl anything blocking release at this point?

@carhartl
Copy link
Member

carhartl commented Jul 7, 2021

@emilio-martinez Time?

@carhartl
Copy link
Member

carhartl commented Jul 7, 2021

I will stop promising stuff.. whenever I find the time to assess #666 and do a release I will do it.

@carhartl carhartl self-assigned this Jul 11, 2021
@carhartl
Copy link
Member

carhartl commented Jul 13, 2021

#666 is merged, but now there‘s a problem with running browserstack tests to be fixed before I can finally release anything.

For one, we needed to migrate from travis.org to travis.com to bring back CI in the first place, but Browserstack tests do not seem to run at all there — I suspect it has to do with the type of credits we have (trial) which may not allow using addons (Browserstack). I doubt our setup will be easy to port to GitHub Actions. I hope it starts working once I‘ve asked for OSS credits.

I can’t run our Browserstack tests locally either. Looks like there‘s a problem with Apple Silicon..

Some more patience please 😀

@js-cookie js-cookie locked and limited conversation to collaborators Jul 17, 2021
@carhartl
Copy link
Member

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

No branches or pull requests