2015-09-02 14:25:07 +00:00
|
|
|
<h1>Release 0.9 ("?")</h1>
|
2015-07-21 23:28:53 +00:00
|
|
|
|
2015-09-02 14:25:07 +00:00
|
|
|
<p><b>2015-??-??</b></p>
|
2015-07-21 23:28:53 +00:00
|
|
|
|
2015-12-24 23:29:12 +00:00
|
|
|
<p> For this release we have mainly focused on ease of use and ease of
|
|
|
|
installation for new users. Recognizing that most users don't have
|
|
|
|
their own servers, we've been working on making it easier to run
|
|
|
|
Camlistore on cloud providers. Initially we've targeted the <a
|
2015-12-27 04:49:38 +00:00
|
|
|
href="https://cloud.google.com/">Google Cloud Platform</a> and <a
|
|
|
|
href="https://www.scaleway.com/">Scaleway</a>, making sure Camlistore
|
|
|
|
is well-adapted to those environments. For users wishing to use Google
|
|
|
|
Cloud Platform, we now provide a web-based launcher for users to
|
|
|
|
create their own Camlistore instances:</p>
|
2015-12-24 23:29:12 +00:00
|
|
|
|
|
|
|
<center>
|
|
|
|
<div style='font-size:18pt;font-weight:bold;'>
|
|
|
|
<a href="https://camlistore.org/launch/">camlistore.org/launch</a>
|
|
|
|
</div>
|
|
|
|
</center>
|
|
|
|
|
2015-12-27 04:49:38 +00:00
|
|
|
<p>For users wishing to use Scaleway, see our early <a
|
|
|
|
href="https://github.com/scaleway-community/scaleway-camlistore">scaleway-camlistore
|
|
|
|
image</a>. Our Scaleway image does not yet use Scaleway's Object Storage service, however,
|
|
|
|
and puts all Camlistore data on the same volume as the Camlistore code itself, potentially complicating
|
|
|
|
upgrades. It should be considered an early preview.</p>
|
|
|
|
|
|
|
|
<p>Making Camlistore run well on cloud providers required two other
|
|
|
|
major features: the <code>blobpacked</code> storage backend (for
|
|
|
|
latency and cost reasons) and <a
|
|
|
|
href="https://http2.github.io/">HTTP/2</a> (for latency reasons).</p>
|
|
|
|
|
|
|
|
<p>The <code>blobpacked</code> storage backend allows faster reading &
|
|
|
|
serving of files because it stores related blobs contiguously within
|
|
|
|
larger container blobs (which are also valid zip files) instead of
|
|
|
|
many small randomly dispersed blobs. See the <a
|
2015-12-24 23:29:12 +00:00
|
|
|
href="https://camlistore.org/pkg/blobserver/blobpacked">blobpacked
|
2015-12-27 04:49:38 +00:00
|
|
|
package</a> documentation.</p>
|
2015-07-21 23:28:53 +00:00
|
|
|
|
2015-12-27 04:49:38 +00:00
|
|
|
<p>The Go <a href="https://http2.github.io/">HTTP/2</a> implementation
|
|
|
|
was developed for both Camlistore and the Go standard library and will
|
|
|
|
be included in Go 1.6. Camlistore 0.9 only requires Go 1.5 but
|
|
|
|
includes a vendored copy of <a
|
2015-12-24 23:29:12 +00:00
|
|
|
href="https://godoc.org/golang.org/x/net/http2"><code>golang.org/x/net/http2</code></a>. See
|
|
|
|
<a href="https://http2.golang.org/">https://http2.golang.org/</a> for
|
2015-12-27 04:49:38 +00:00
|
|
|
a demo.</p>
|
2015-12-24 23:29:12 +00:00
|
|
|
|
2015-09-02 14:25:07 +00:00
|
|
|
<p>
|
2015-12-24 23:29:12 +00:00
|
|
|
Source release:
|
2015-09-02 14:25:07 +00:00
|
|
|
</p>
|
|
|
|
|
|
|
|
<center>
|
|
|
|
<div style='font-size:18pt;font-weight:bold;'>
|
|
|
|
<a href="https://github.com/camlistore/camlistore/archive/0.9.zip">camlistore0.9-src.zip</a>
|
|
|
|
</div>
|
|
|
|
<div style='margin-top:0.5em;'>
|
|
|
|
Github: <a href="https://github.com/camlistore/camlistore/tree/0.9">github.com/camlistore/camlistore/tree/0.9</a></div>
|
|
|
|
</center>
|
|
|
|
|
|
|
|
<p>
|
2015-12-24 23:29:12 +00:00
|
|
|
Binary release, new in this release:
|
2015-09-02 14:25:07 +00:00
|
|
|
</p>
|
|
|
|
|
|
|
|
<center>
|
|
|
|
<div style='font-size:18pt;font-weight:bold;'>
|
2015-12-24 23:29:12 +00:00
|
|
|
<a href="/dl/0.9/camlistore0.9-linux.tar.gz">Linux</a>,
|
|
|
|
<a href="/dl/0.9/camlistore0.9-osx.tar.gz">OS X</a>,
|
|
|
|
<a href="/dl/0.9/camlistore0.9-windows.zip">Windows</a>
|
2015-09-02 14:25:07 +00:00
|
|
|
</div>
|
|
|
|
</center>
|
2015-07-21 23:28:53 +00:00
|
|
|
|
2015-09-02 14:25:07 +00:00
|
|
|
<p>Please note that <a href="https://golang.org/dl/">Go 1.5 or newer</a> is now required for this release.</p>
|
2015-07-21 23:28:53 +00:00
|
|
|
|
|
|
|
<h2>Release stats</h2>
|
2015-12-24 23:10:15 +00:00
|
|
|
|
2015-07-21 23:28:53 +00:00
|
|
|
<p>
|
2015-12-24 23:10:15 +00:00
|
|
|
33 total commiters over 942 commits since <a
|
|
|
|
href="/docs/release/0.8">Camlistore 0.8</a>, including Aaron Bieber,
|
|
|
|
Aaron Boodman, Andrew Gerrand, Antonin Amand, Bill Thiede, Brad
|
|
|
|
Fitzpatrick, David Jack, Emil Hessman, Eric Drechsel, Fabian Reinartz,
|
|
|
|
Fabian Wickborn, Felix Geller, Gina White, Govert Versluis, Jingguo
|
|
|
|
Yao, Lindsey Simon, Mario Russo, Mathieu Lonjaret, Matthieu
|
|
|
|
Rakotojaona, Patrick Mezard, Robert Kroeger, Salman Aljammaz, Salmān
|
|
|
|
Aljammāz, Steven L. Speek, Tamás Gulácsi, Will Norris.
|
2015-07-21 23:28:53 +00:00
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>Thank you!</p>
|
|
|
|
|
2015-12-24 23:10:15 +00:00
|
|
|
<h2>Changes in 0.9</h2>
|
2015-07-21 23:28:53 +00:00
|
|
|
|
|
|
|
<h3>Android</h3>
|
|
|
|
<ul>
|
|
|
|
<li>Restrict upload by WiFI SSID.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Camget</h3>
|
|
|
|
<ul>
|
|
|
|
<li>Do not fetch file if already exists on local disk.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Camput</h3>
|
|
|
|
<ul>
|
|
|
|
<li>New option for <code>share</code> command: <code>-search</code>.</li>
|
|
|
|
<li>Detect and warn when using wrong GPG key.</li>
|
2015-12-28 22:22:51 +00:00
|
|
|
<li>New option for <code>file</code> command: <code>-contents_only</code>.</li>
|
2015-07-21 23:28:53 +00:00
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Camtool</h3>
|
|
|
|
<ul>
|
|
|
|
<li>New <code>makestatic</code> command.</li>
|
|
|
|
<li>New <code>packblobs</code> command.</li>
|
|
|
|
<li>New option for <code>search</code> command: </code>-rawquery</code>.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Cammount</h3>
|
|
|
|
<ul>
|
|
|
|
<li>Use VolumeName on OS X.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Devcam</h3>
|
|
|
|
<ul>
|
|
|
|
<li>Detect and warn when outdated.</li>
|
|
|
|
<li><code>test</code> command does check for bad imports and gofmt.</li>
|
|
|
|
<li>New option for <code>server</code> command: <code>-wipecache</code>.</li>
|
|
|
|
<li>New option for <code>server</code> command: <code>-memindex</code>.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Deploy</h3>
|
|
|
|
<ul>
|
2015-12-24 23:10:15 +00:00
|
|
|
<li>Launcher to help deploy Camlistore on Google Cloud Platform.</li>
|
2015-07-21 23:28:53 +00:00
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Docker</h3>
|
|
|
|
<ul>
|
|
|
|
<li><code>misc/docker/dock.go</code>: new program to generate a docker image for camlistored, as well binaries in isolation.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Genfileembed</h3>
|
|
|
|
<ul>
|
|
|
|
<li>New flag to generate build tags.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Images</h3>
|
|
|
|
<ul>
|
2015-12-24 23:10:15 +00:00
|
|
|
<li>Optional faster resizing with djpeg (if available)</li>
|
2015-07-21 23:28:53 +00:00
|
|
|
<li>Support for tiff decoding.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Importers</h3>
|
|
|
|
<ul>
|
|
|
|
<li>New importer: pinboard.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Indexer</h3>
|
|
|
|
<ul>
|
2015-12-24 23:10:15 +00:00
|
|
|
<li>Improved MySQL connection handling (switch to <code>go-mysql-driver</code>).</li>
|
2015-07-21 23:28:53 +00:00
|
|
|
<li>New sorted implementation: levelDB (https://github.com/syndtr/goleveldb).</li>
|
|
|
|
<li>Out of order reindexing finished/fixed.</li>
|
|
|
|
<li>When indexing from images: always try a small prefix buffer first, then read full file if needed.</li>
|
|
|
|
<li>Defined a (large) limit on key and value size for all sorted implementations.</li>
|
|
|
|
<li>The wholeRef of a file is always indexed, for faster file stats everywhere.</li>
|
|
|
|
<li>RDBMS-specific placeholder replacements (and table name replacements) are now cached.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Misc performance changes, bug fixes, clean-ups, etc.</h3>
|
|
|
|
<ul>
|
2015-12-27 04:49:38 +00:00
|
|
|
<li><code>HTTP/2</code></li>
|
2015-07-21 23:28:53 +00:00
|
|
|
<li>make.go: improvements, refactoring, and cleanup.</li>
|
|
|
|
<li>Migration to new third_parties: <code>golang.org/x/oauth2</code>, <code>google.golang.org/cloud</code>, etc.</li>
|
|
|
|
<li>goexif: features and fixes, then contributed upstream.</li>
|
|
|
|
<li>Server system status is constantly refreshed over websocket.</li>
|
|
|
|
<li>Most of the JSON maps (e.g. for server responses) should be gone in favor of annotated structs.</li>
|
|
|
|
<li>More robust localhost detection.</li>
|
|
|
|
<li>The setup wizard was removed.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Ports</h3>
|
|
|
|
<ul>
|
|
|
|
<li>Solaris: Camlistore should at least build.</li>
|
|
|
|
<li>Darwin/386: deprecated, and user is warned about it when trying to build.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Schema</h3>
|
|
|
|
<ul>
|
|
|
|
<li>Cache last blob read when reading files -> major performance optimization.</li>
|
|
|
|
<li>File/chunks related changes, often optimizations with blobpacked in mind.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Search</h3>
|
|
|
|
<ul>
|
|
|
|
<li>New "Around" parameter for queries. Introduced to help web UI features.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Storage</h3>
|
|
|
|
<ul>
|
2015-12-24 23:10:15 +00:00
|
|
|
<li>New <code>blobpacked</code> blobserver: keeps related blobs physically contiguous within zip files.</li>
|
|
|
|
<li>Many Google Cloud Storage improvements.</li>
|
2015-07-21 23:28:53 +00:00
|
|
|
<li>New SubFetcher interface.</li>
|
|
|
|
<li>New BlobStreamer interface.</li>
|
|
|
|
<li>New WholeRefFetcher interface.</li>
|
|
|
|
<li>New memory blobserver.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Website</h3>
|
|
|
|
<ul>
|
|
|
|
<li>New launcher to deploy Camlistore on Google Cloud: <a href="https://camlistore.org/launch">https://camlistore.org/launch</a>.</li>
|
|
|
|
<li>CONTRIBUTORS are generated from git log.</li>
|
|
|
|
<li>Issue tracker has moved to github.</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Web UI</h3>
|
|
|
|
<ul>
|
|
|
|
<li>New style: top search bar, pudgy navigation menu, vertical contextual actions sidebar.</li>
|
|
|
|
<li>Simpler URL blobRef format: <code>/ui/<blobref></code>.</li>
|
|
|
|
<li>Some new features:</li>
|
|
|
|
<ul>
|
|
|
|
<li>Improved uploading: context aware (add to an existing set), duplicate detection/prevention, better drop area, show bytes transfered.</li>
|
|
|
|
<li>Aspects: generic attributes editor for permanode aspect. New directory aspect.</li>
|
|
|
|
<li>Sidebar: mass tagging/deleting.</li>
|
|
|
|
<li>Selections state is saved accross navigation.</li>
|
|
|
|
<li>Download: view original (non-resized) item.</li>
|
|
|
|
<li>Videos rendering.</li>
|
|
|
|
</ul>
|
|
|
|
<li>Pages changes:</li>
|
|
|
|
<ul>
|
|
|
|
<li>Improved status page, with lots more info, and restart camlistored "button".</li>
|
|
|
|
<li>New help page: client tools configuration, and download links.</li>
|
|
|
|
<li>New mobile auto-configuration page with QR code.</li>
|
|
|
|
<li>New /debug/config page.</li>
|
|
|
|
</ul>
|
|
|
|
<li>misc:</li>
|
|
|
|
<ul>
|
|
|
|
<li>Piggy menu shows server errors.</li>
|
|
|
|
<li>Left/right navigation restored.</li>
|
|
|
|
<li>Better layout on mobile.</li>
|
|
|
|
<li>Cleaned out most of the non-React, legacy code.</li>
|
|
|
|
</ul>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>Wkfs</h3>
|
|
|
|
<ul>
|
|
|
|
<li>New package that provides a filesystem abstraction layer.</li>
|
|
|
|
</ul>
|