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

chore: update Unleash JS client #189

Merged
merged 2 commits into from
Feb 5, 2025
Merged

chore: update Unleash JS client #189

merged 2 commits into from
Feb 5, 2025

Conversation

Tymek
Copy link
Member

@Tymek Tymek commented Feb 5, 2025

About the changes

Bump unleash-proxy-client to 3.7.3

@Tymek Tymek enabled auto-merge (squash) February 5, 2025 10:59
@Tymek Tymek merged commit 2abbff7 into main Feb 5, 2025
4 checks passed
@Tymek Tymek deleted the chore/update-js-client branch February 5, 2025 11:10
@ahmetacer5
Copy link

Hi,

First off, thanks for all the work you put into maintaining @unleash/proxy-client-react!

We recently upgraded to latest version 4.5.2 and ran into an issue where the new HTTP headers introduced in this release caused our apps to break due to restrictions on our reverse proxy.

Since this change required us to update our proxy rules, it feels more like a breaking change rather than a patch or minor update. Based on SemVer, we expected a patch release to be fully backward-compatible, so this caught us off guard.

Would love to get your thoughts on:

How you approach versioning for changes like this
Whether similar updates in the future could be considered for a minor or major version bump
If there’s a way to make this kind of behavior configurable to avoid unexpected issues
Appreciate your time, and thanks again for all the work on this project!

The message above was improved with LLM, but reflects my opinions correctly :)

@kwasniew
Copy link
Contributor

kwasniew commented Feb 11, 2025

Hi @ahmetacer5 Sorry to hear about the problems. Let me explain the thinking behind those version changes so that we can come up with an action plan for future improvements. The new experimental HTTP headers got introduced in 4.5.0 (after 4.4.x) because it was a new feature so we decided to make a minor version bump (middle version). In 4.5.x we iterated on small fixes to those headers so they were patch version bumps. HTTP itself is designed with Robustness Principle (“be forgiving in what you receive”) in mind (https://en.wikipedia.org/wiki/Robustness_principle) allowing clients and network proxies to ignore things that they are not interested in. This removes common problems from oldschool binary protocols like CORBA/Java RMI etc and allows the client and server to be upgraded independently. In your proxy configuration can you have rules to allow Unleash headers (like Unleash-* or X-Unleash-*) without having to manually add them every time there’s a change? Would this work for you?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants