<div dir="ltr"><div><div><div>Actually, I believe we can have _several_ "update" objects stored in a _single_ update JSON file (in an array may be? My JSON is not fluent). The extension then will download the appropriate rulseset, this choice may be either hardcoded or set via (hidden) prefs.<br>

</div><div>PROS: Less hassle with signing and distribution.<br></div>CONS: Transfer overhead. No secret ruleset flavors ^_^<br><br></div>Best regards,<br></div>Maxim Nazarenko<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">

On 9 June 2014 07:14, Red <span dir="ltr"><<a href="mailto:redwire@riseup.net" target="_blank">redwire@riseup.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Yan and Jacob and I have been talking about version number strings in<br>
the update manifest that we've been refining a little bit lately.  I<br>
wrote in my comment on the gist<br>
(<a href="https://gist.github.com/redwire/2e1d8377ea58e43edb40" target="_blank">https://gist.github.com/redwire/2e1d8377ea58e43edb40</a>) that I was<br>
thinking that we could have a part of the version string be interpreted<br>
specially as meaning the ruleset release is for the development release<br>
of the extension vs the stable version.  While it would technically be<br>
possible to, for example say that a ruleset release versioned A.B.C.preD<br>
could be interpreted as being version A.B.C.D of the ruleset library for<br>
the developmental release of the extension (pre, in this case, denoting<br>
this), this still leaves us with the problem of serving different releases.<br>
<br>
The extension will have to be able to fetch the most recent ruleset<br>
release information (the appropriate update.json file) for any given<br>
version of the extension- developmental or otherwise.  If we were to<br>
adopt an approach of marking the ruleset version like I described above<br>
to distinguish between developmental and stable releases, we would be<br>
able to serve one update.json file from one specific URL at all times.<br>
This, however, leads to the problem that many clients could fail to<br>
update between stable and developmental ruleset releases.  The only<br>
reasonable thing to do about this is to make the extension aware of<br>
specifically which URL it is to fetch an appropriate update.json file<br>
from.  That is, a stable HTTPS-E release may fetch the file from<br>
<a href="http://eff.org/.../update-stable.json" target="_blank">eff.org/.../update-stable.json</a>, and a developmental release of the<br>
extension may fetch from <a href="http://eff.org/.../update-devel.json" target="_blank">eff.org/.../update-devel.json</a>.<br>
<br>
To make it possible for the extension to make this distinction without<br>
requiring more extra work from the project's maintainers (such as in the<br>
case of remembering to update the format_version preference for database<br>
file compatibility we discussed), I propose the following solution:<br>
Releases of the extension store version information (in a preference,<br>
perhaps) (is this already done somehow?) pertaining to whether the<br>
release is a dev. release or a stable release.<br>
The extension refers to a hard-coded mapping (JS Object) of version type<br>
to the URL to fetch the appropriate JSON file from.<br>
<br>
I realize I'm back to proposing something we decided would be best<br>
avoided in the case of the database version format preference, which<br>
would require extra attention from maintainers and developers.  However,<br>
I think that this, unlike the database format version preference idea,<br>
is far more reasonable, as the only change that would have to be made<br>
would be to a string constant or preference that we might expect would<br>
only take on one of two or three easily-understood and descriptive<br>
values ('developmental', 'stable', 'willeatyourcomputer', ...).<br>
<br>
I'd like to know if anyone has a simpler idea for making the distinction<br>
between version types than this!<br>
Cheers,<br>
Zack<br>
<br>
<br>_______________________________________________<br>
HTTPS-Everywhere mailing list<br>
<a href="mailto:HTTPS-Everywhere@lists.eff.org">HTTPS-Everywhere@lists.eff.org</a><br>
<a href="https://lists.eff.org/mailman/listinfo/https-everywhere" target="_blank">https://lists.eff.org/mailman/listinfo/https-everywhere</a><br></blockquote></div><br></div>