Skip to content

Commit

Permalink
Merge branch 'release-0.3.0'
Browse files Browse the repository at this point in the history
Conflicts:
	README.md
	changelog

Conflict in README.md due to versioning.
Immaterial conflict in changelog.
  • Loading branch information
Renelvon committed Nov 9, 2014
2 parents 5988335 + 0678744 commit 609d872
Show file tree
Hide file tree
Showing 182 changed files with 5,102 additions and 14,760 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@
.vagrant
blockchain
db/*.db
bin/
env/
gpg/random_seed
html/backups/
installers/ubuntu/*.deb
installers/ubuntu/output/
installers/windows/dist_exe/
8 changes: 4 additions & 4 deletions .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,15 @@ load-plugins=
# classes checker, but have no Warning level messages displayed,
# use "--disable=all --enable=classes --disable=W"
enable=E,W,C,R,F
disable=E0102,E0202,E0611,E1101,E1103,W0142,W0150,W0401,W0201,W0212,W0221,W0223,W0232,W0403,W0511,W0613,W0614,W0621,W0702,W0703,W0704,W1201,C0103,C0111,C0301,C0302,C0330,R0801,R0901,R0902,R0903,R0904,R0911,R0912,R0913,R0914,R0915,R0922,F0401
disable=E1101,E1103,W0142,W0201,W0212,W0223,W0403,W0511,W0613,W0703,W0704,C0103,C0111,C0302,C0330,R0801,R0902,R0903,R0904,R0911,R0912,R0913,R0914,R0915,R0922


[REPORTS]

# Set the output format. Available formats are text, parseable, colorized, msvs
# (visual studio) and html. You can also give a reporter class, eg
# mypackage.mymodule.MyReporterClass.
output-format=text
output-format=colorized

# Put messages in a separate file for each module / package specified on the
# command line instead of printing them on stdout. Reports (if any) will be
Expand Down Expand Up @@ -92,7 +92,7 @@ ignore-mixin-members=yes
# List of module names for which member attributes should not be checked
# (useful for modules/projects where namespaces are manipulated during runtime
# and thus existing member attributes cannot be deduced by static analysis
ignored-modules=
ignored-modules=behave,distutils

# List of classes names for which member attributes should not be checked
# (useful for classes with attributes dynamically set).
Expand All @@ -111,7 +111,7 @@ generated-members=REQUEST,acl_users,aq_parent
[FORMAT]

# Maximum number of characters on a single line.
max-line-length=80
max-line-length=116

# Regexp for a line that is allowed to be longer than the limit.
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
Expand Down
7 changes: 5 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ python:
install:
- pip install -r requirements.txt
- pip install -r test_requirements.txt
- pip install pysqlcipher
- npm install -g jshint

script: make
script:
- make

after_success:
- coveralls
77 changes: 77 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,83 @@ whose fingerprint is given below:
As an example, see the
[Beta 1.0 tag](https://github.com/OpenBazaar/OpenBazaar/tree/v0.1.0).

The procedure for doing releases is through a release branch. If you are a casual
contributor, you don't need to be aware of this procedure, as you can continue
pull requesting on the `develop` branch.

To release, approximately one week before the scheduled release date we will create
a release branch off of `develop`. These branches are named in the format `release-0.2.0`,
where `0.2.0` is our release version. This is called a *feature freeze*. Subsequently,
this release branch is used for QA by our testers, which are currently mostly the development
team and a couple of other individuals. QA includes running that version for a while and
observing potential crashes, as well as performing common operations such as browsing
markets. In addition, we make sure it runs on all the operating systems we support.

3 days before the feature freeze (10 days before release), we do not merge:
* Large stylistic changes
* Important modifications to our build system
* Upgrades to libraries we depend on
* Large architectural changes

After the feature freeze (one week before release), we do not merge:
* Any new features
* Non-critical bugfixes
* Any significant code changes

In case there are critical bugfixes to be made, we perform pull requests directly on the
release branch. These are the only commits that happen directly on the release branch, in
addition to a commit that increments the release version accordingly (a *version bump commit*).
Critical bugfixes involve security and stability. Generally, we avoid such pull requests,
and if your pull request is not critical, we'll ask you to target `develop`.

Once the release date is reached, the release branch is merged into `master`, and `master` is
backmerged into `develop` to include the fixes and bump made since.

The following serve as checklists for the release maintainer:

### Feature freeze checklist
1. `git checkout develop`
1. `git pull upstream develop`
1. `git push origin develop`
1. Get one LGTM on feature-freeze commit hash by the team.
1. `git checkout -b release-x.y.z`
1. `vim -p README.md changelog node/constants.py`
1. `git add -u .`
1. `git commit -m "Version bump to x.y.z"`
1. `git push origin release-x.y.z`
1. `git push upstream release-x.y.z`
1. Announce feature freeze to team.

### Release checklist
1. `git checkout release-x.y.z`
1. `git pull upstream release-x.y.z`
1. `git push origin release-x.y.z`
1. Get one LGTM on release-branch commit hash by the team.
1. `git checkout master`
1. `git pull upstream master`
1. `git push origin master`
1. `git merge --no-ff release-x.y.z`
1. `git push origin master`
1. Get one LGTM on release merge commit hash by the team.
1. `git push upstream master`
1. `git tag -s vx.y.z -m "OpenBazaar x.y.z"`
1. `git tag -v vx.y.z`
1. `git push origin vx.y.z`
1. `git push upstream vx.y.z`
1. Get one LGTM on release sig.
1. Announce release on Reddit `/r/openbazaar`.
1. Announce release on Twitter `@openbazaar`.
1. `git checkout develop`
1. `git pull upstream develop`
1. `git push origin develop`
1. `git checkout -b backmerge-x.y.z`
1. `git merge master`
1. `git push origin backmerge-x.y.z`
1. `hub pull-request -m "Backmerging release x.y.z"`
1. `git branch -d release-x.y.z`
1. `git push origin :release-x.y.z`
1. `git push upstream :release-x.y.z`

## Security
OpenBazaar is security-related software. We make heavy use of cryptography and
the blockchain. We employ
Expand Down
7 changes: 3 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,18 @@ RUN apt-get install -y alien libssl-dev wget lintian libjs-jquery curl
RUN curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | sudo python2.7

ADD . /bazaar
RUN cd /bazaar && pip install -r requirements.txt &&\
cd pysqlcipher && python setup.py install
RUN cd /bazaar && pip install -r requirements.txt

ENV RUNSH_ARGS -q 8888 -p 12345

WORKDIR /bazaar

ENV LOG_PATH /bazaar/logs/production.log

# touch log file before bash run.sh to keep tail -f work
# touch log file before bash openbazaar to keep tail -f work
RUN mkdir -p /bazaar/logs && touch $LOG_PATH
CMD IP=$(/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}') && \
bash run.sh --disable-open-browser -k $IP $RUNSH_ARGS && tail -f $LOG_PATH
bash openbazaar --disable-open-browser -k $IP $RUNSH_ARGS start && tail -f $LOG_PATH

# clean tmp file
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
all: test style

test:
nosetests
nosetests --with-coverage --cover-package=node --cover-inclusive

style:
./checkstyle.sh
13 changes: 8 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<img src="http://s27.postimg.org/5i0igk0v7/Open_Bazaar_Logo.png" width="800px"/>

<img src="https://travis-ci.org/OpenBazaar/OpenBazaar.svg?branch=master" />
[![Coverage Status](https://coveralls.io/repos/OpenBazaar/OpenBazaar/badge.png)](https://coveralls.io/r/OpenBazaar/OpenBazaar)

Seed Uptime Status: (http://status.openbazaar.org/)

Expand Down Expand Up @@ -36,7 +37,7 @@ You can financially support the project by either:
- Identity/Reputation system

## Project Status
- *OpenBazaar* is currently in **beta 2.3**
- *OpenBazaar* is currently in **beta 3.0**
- New versions are scheduled for release at the end of each month
- [Development Roadmap](https://github.com/OpenBazaar/OpenBazaar/wiki/Development-Roadmap)

Expand All @@ -54,16 +55,16 @@ cd OpenBazaar

After running the configure.sh script you should have an OpenBazaar installation ready to go, to start run:
```
./run.sh
./openbazaar start
```
OpenBazaar will open in a random port on your default web browser. Note that it may take several minutes for OpenBazaar to completely start.

Read more at the [build instructions wiki](https://github.com/OpenBazaar/OpenBazaar/wiki/Build-Instructions).

## Artwork Contributions
![](https://github.com/OpenBazaar/OpenBazaar/blob/gh-pages/img/logo_alt1-b-h.png?raw=true)
contributed by Jacob Payne
![](http://i.imgur.com/WwPUXGS.png)
<img src="https://blog.openbazaar.org/wp-content/uploads/2014/07/logo.png" width="500px"/>
contributed by Jacob Payne
<img src="http://i.imgur.com/WwPUXGS.png" width="500px"/>
contributed by Dean Masley

## Theory Work
Expand All @@ -77,6 +78,8 @@ contributed by Dean Masley
8. [OpenBazaar Genesis Contract](https://gist.github.com/drwasho/76e1161db1e5b860598a) by Dr Washington Sanchez (arbiter), Brian Hoffman (buyer), and Samuel Patterson (seller)
9. [A pseudonymous trust system for a decentralized anonymous marketplace](https://gist.github.com/dionyziz/e3b296861175e0ebea4b) by Dionysis Zindros
10. [Dispute Resolution in OpenBazaar - Arbitration Market](https://gist.github.com/drwasho/405d51bd1b1a32e38145) by Dr Washington Sanchez
11. [Notary Selection in OpenBazaar](https://gist.github.com/drwasho/a0225f5455e508095ac2) by Dr Washington Sanchez
12. [Risk and Insurance in OpenBazaar](https://gist.github.com/drwasho/9759924342859872851e) by Dr Washington Sanchez

## Screenshots
Here are some screenshots of the *alpha* UI so far:
Expand Down
2 changes: 1 addition & 1 deletion Vagrantfile
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
apt-get install -y build-essential python-dev python-pip python-zmq sqlite3 libjpeg-dev tor privoxy gnupg rng-tools mongodb-clients libssl-dev lintian libjs-jquery
pip install -r requirements.txt
#easy_install sqlite3dbm websocket behave
easy_install sqlite_dbm websocket behave pybitcointools
easy_install sqlite_dbm websocket behave bitcoin
cp -R /vagrant/ecdsa /usr/local/lib/python2.7/dist-packages/
mongo --eval "db = db.getSiblingDB('openbazaar')"
sudo rngd -r /dev/urandom
Expand Down
41 changes: 41 additions & 0 deletions changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,44 @@
openbazaar (0.3.0) unstable; urgency=low
OS/Install:
* Windows: Scripts to configure and run OpenBazaar on Windows 7 and up.
* Mac OS X: brew upgrade is now opt-in.
* Linux: Minor updates to debian packaging.

Documentation/Legal:
* Added instructions for using OpenBazaar over Tor. [Experimental]
* Added new articles: Risk and Insurance, Notary Selection.
* Removed residual LGPL headers.

UI/UX:
* Peers are now added dynamically on the sidebar.
* Automated connecting to other peers upon node startup.
* Replaced bash scripts for starting and stopping with a brand-new
all-python launcher.

Network:
* Added support for NAT punching via STUN.
* Changed connectivity scheme to use persistent ZMQ sockets. A node under
normal use shouldn't crash from too many open sockets any more.

Security:
* Replaced sign-and-encrypt scheme with sign-then-encrypt, ensuring better
sender anonymity.
* Installed infrastructure for input sanitization.

Code Quality:
* Installed test coverage reporting via coveralls.io.
* Added thorough unit tests for a few modules.
* Removed a number of unused files and a lot of dead code.
* Enforced stricter pylint checking.
* Updated dependencies.
* Installed support for more fine-grained logging.

Bug fixes:
* Ensure logs rotate properly.
* Many minor bug fixes and stability improvements.

-- OpenBazaar Team <[email protected]> Sun, 02 Nov 2014 03:17:36 +0200

openbazaar (0.2.3) unstable; urgency=low
* Messages between peers are no longer compressed.

Expand Down
9 changes: 8 additions & 1 deletion checkstyle.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,10 @@ function python_check() {
fi

count=0;
for file in $(find . -iname "*.py" -not -path "./env/*"|grep -v pybitmessage|grep -v pysqlcipher); do
for file in $(find . -name "*.py" \
-not -path "./env/*" \
-not -path "./html/bower_components/*" \
-not -path "./pybitmessage/*"); do
if ! $PYLINT --rcfile .pylintrc $file; then
ERR=true
fi
Expand Down Expand Up @@ -84,10 +87,14 @@ js)
exc)
execute_bit_check
;;
nl)
new_line_check
;;
*)
python_check
js_check
execute_bit_check
new_line_check
esac

if $ERR ; then
Expand Down
Loading

0 comments on commit 609d872

Please sign in to comment.