OpO FAST Web Server and Database
Downloads

Downloads include the binaries, helper scripts, and samples.

macOS Sierra opo-0.9.5_osx-10.12.6.tar.gz opo-latest_osx-10.12.6.tar.gz
macOS High Sierra opo-0.9.5_osx-10.13.1.tar.gz opo-latest_osx-10.13.1.tar.gz
Ubuntu 16.04 opo-0.9.5_ubuntu-16.04.tar.gz opo-latest_ubuntu-16.04.tar.gz
Ubuntu 17.04 opo-0.9.5_ubuntu-17.04.tar.gz opo-latest_ubuntu-17.04.tar.gz

To run opo-rub with Ubuntu Ruby 2.4 must be installed not using rbenv or rvm but directly using apt. This is due to the current linking. Hopefully that restriction will be lifted in the future. For now here are the steps

$ sudo apt-add-repository ppa:brightbox/ruby-ng $ sudo apt-get update $ sudo apt-get install ruby2.4 ruby2.4-dev libruby2.4 $ sudo /usr/bin/gem2.4 install oj

License

Copyright (C) 2017 Peter Ohler All rights reserved. Redistribution and use in binary forms, without modification, are permitted provided that redistributions reproduce the above copyright notice, this condition and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Release Notes (see the plans)
Release 0.9.5
December 19, 2017

C Client Support.

  • Support for a C client has been added. It offers asynchronous queries as well as pipelining. Speeds over 400K queries per second on a desktop machine.
Release 0.9.1
November 15, 2017

TQL Fix

  • The IN and BETWEEN operations where flagged as filter only. They are allowed in the WHERE clause now.
  • Fixed a crash that occurred on a ruby handler log entry.
Release 0.9.0
October 31, 2017

Journalling

  • Journalling implemented.
  • Benchmark tool, 'hose' updated to support any request such as a PUT.
Release 0.8.3
October 9, 2017

OpO-Rub configuration

  • OpO and OpO-Rub now look for configuration files in the ./config directory if none is specified.
Release 0.8.2
October 4, 2017

OpO-Rub Stability

  • OpO-Rub now handles Ruby exceptions better and does not hang.
Release 0.8.1
September 28, 2017

OpO-Rub Gem source

  • OpO-Rub now has an options to serve from an alternative source such as from inside a gem file.
Release 0.8.0d
September 11, 2017

OpO-Rub

  • Embedded Ruby support for the WABuR model.
  • Log message support added for handlers.
  • Interrupt messages added for handlers.
  • Keep-Alive connections support improved.
  • The hose application, used for benchmarking, now supports keep-alive connections.
Release 0.6.2d
August 30, 2017

Keep-Alive bug fix

  • Fixed keep-alive bug to allows all connections unless explicitly not keep-alive to continue receiving requests.
Release 0.6.1d
August 25, 2017

Decimal bug fix

  • Fixed a TQL parse error for decimal values.
Release 0.6.0d
August 24, 2017

Sync Release

  • Data is synced to disk on normal exit such as with ctrl-C.
  • URL paths without a file identified are with also try with index.html appended.
  • A run logging category was added to display start and shutdown infomation,
Release 0.5.0d
August 15, 2017

WABuR Release

  • First developer release. Many features are missing.
  • Support for spawning (sounds nicer than forking) an application and exchanging data over pipes. The WABuR Open Source project on GitHub explains the use in more detail and includes a sample app.