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

Accessing the latest version x.y.z releases by x.y or x #360

Closed
reezer opened this issue Aug 10, 2012 · 19 comments
Closed

Accessing the latest version x.y.z releases by x.y or x #360

reezer opened this issue Aug 10, 2012 · 19 comments

Comments

@reezer
Copy link
Contributor

reezer commented Aug 10, 2012

Various CDNs (Google's for example) allow access of the latest bug fix release of a certain series by not specifying the minor version number. This makes sense, because such releases usually don't contain anything that can breakage, but only contain bug, performance or stability fixes (maybe better support for certain browsers).

To give an example. The current:

http://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.0/jquery-1.8.0.min.js

should also be available as:

http://cdnjs.cloudflare.com/ajax/libs/jquery/1.8/jquery-1.8.min.js

and once 1.8.1 is released link to:

http://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.1/jquery-1.8.1.min.js

For comparison see:

https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
https://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js
https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js

(Maybe it would be better to mention this in its own ticket, but specifying the version number twice seems unnecessary.)


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@ryankirkman
Copy link
Member

So there's a few issues with implementing this:

  • It assumes everyone follows semantic versioning in the same manner
  • Depending on the Cache-Control max-age you might not actually get bug fixes for a long time (e.g. 1 year)
  • I'm not sure how we would implement this from a technical sense
    • Right now everything is just static file serving. Introducing somewhat dynamic script serving will complicate things

In regards to including the version number in the file name, my policy is to include the file exactly as it is provided by the library maintainer, filename and all, e.g. http://code.jquery.com/jquery-1.8.0.min.js

@reezer
Copy link
Contributor Author

reezer commented Aug 11, 2012

  • Well, one should of course know the library one uses. It's also not like one would have to include such a version. (and a lot of different libraries for sanity reasons follow this or similar semantics)
  • Isn't that what ETags are for?
  • Would symlinks be an option? That way they'd implemented just like most libraries in Unix systems, which do exactly what I propose here. But I don't know if and how git supports links.

@blaise-io
Copy link

I’d also appreciate this, in my case for jQuery as well. It would be great to automatically benefit from bug fix releases (third digit) without having to monitor bug fix releases and updating paths every time.

I understand this may be complicated because it needs adjustments to the existing architecture, but I think it would make a great additional to the service.

@thomasdavis
Copy link
Member

This is most likely out of our scope for now, we are trying to keep management overheads down.

Though will keep the ticket alive if anyone has any good ideas. Symlinks sounds like the way to go but I'm not sure I want to be managing hundreds of symlinks etc

@thomasdavis
Copy link
Member

Thanks @hpatoio

@thomasdavis
Copy link
Member

#612

@fidian
Copy link

fidian commented Jul 3, 2013

In #1495 I offered to make a shell script that would manage the multitude of shell scripts and it could be added as part of your build process. @ryankirkman had a concern that any sort of complexity might not work. Have symlinks even been tried? If not, I'd be happy to give a pull request that would add symlinks for a single project to save on clutter. It appears that the CDN might just proxy the first request through to another host, so I suppose it's more important to see if the original host supports symlinks.

@altmind
Copy link
Contributor

altmind commented Apr 14, 2014

👍 It will be a cool and needed feature.

@petecooper
Copy link
Contributor

Tagging in #987

@AliMD
Copy link

AliMD commented Jun 25, 2014

👍 nice idea ;)
whats your schedule for do it ?

@vakata
Copy link
Contributor

vakata commented Sep 11, 2014

If not wild card support, how about using "latest", especially for libs that use the npm hook - in npm there always is a latest tag. That could even promote moving to verified sources (npm) for the libs, and reduce manual submissions.

@luigimannoni
Copy link

Completely agree with that, i guess having a /latest/.js and /latest/.min.js would be easier to maintain rather than using wildcards

@AliMD
Copy link

AliMD commented Feb 5, 2015

Do you forgot this feature/issue ?!

@eusonlito
Copy link

👍

@dandv
Copy link

dandv commented Jul 8, 2015

I'd really like for latest or last to work. Useful also in examples of how to use libraries.

@Kristinita
Copy link

+1

@dhowe
Copy link

dhowe commented Jun 8, 2018

+1

1 similar comment
@temandroid
Copy link

+1

@MattIPv4
Copy link
Member

Closing, there is no feasible way to implement this whilst we have a focus on asset integrity with SRI.

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

No branches or pull requests