ok with your help I found the code to do this with every new release. I take the info from my README

list := OrderedCollection new. client := ZnClient new. readme := client get: 'https://raw.githubusercontent.com/kilon/ChronosManager/master/README.md'. readme regex: 'v.\..' matchesDo: [ :each | list add: each ]. list inspect.

list at:1 gives the top / latest version. So all will have to do is just add the new version info in the README which I would have done anyway.

Its not using the GITHUB API but it get the job done :)

Actually now that I am thinking about it the readme can contain all sort of information that my code can use and all in user readable format :) Beats Json and XML/Html syntax :)

On Fri, Dec 4, 2015 at 11:04 PM Dimitris Chloupis <kilon.alios@gmail.com> wrote:
Thank you both I will give both a try and be back with more questions :)

On Fri, Dec 4, 2015 at 6:57 PM Skip Lentz <skip.lentz@inria.fr> wrote:
Hi,

On Dec 4, 2015, at 11:56 AM, Dimitris Chloupis <kilon.alios@gmail.com> wrote:

because I am clueless with web dev can you help me understand how to do this with ZnClient ?

I tried some things, such as this snippet:

ZnClient new
setIfModifiedSince: DateAndTime now;
contentReader: [ :entity | ZipArchive new readFrom: entity readStream ];

But the response does not have a Last-Modified date.

So what you probably want is the date of the latest commit to master (or whatever branch). Considering you do want to minimize dependencies and therefore not use the API bindings, the following could be done:

client := ZnClient new.
" Get latest commit list, we only care about the response in this case "
client
setIfModifiedSince: (Date year: 2015 month: 12 day: 1);
client response isNotModified
ifTrue: [ nil ]
ifFalse: [
client
contentReader: [ :entity | ZipArchive new readFrom: entity readStream ];

So you need in total three GET requests, since the second request responds with a redirect. The first request does not count to the API rate limit if it returns a 304 Not Modified.