Skip to content

Commit f9ca5af

Browse files
committed
Merge branch 'master' of github.com:ethersphere/swarm
* 'master' of github.com:ethersphere/swarm: (54 commits) api, chunk, cmd, shed, storage: add support for pinning content (ethersphere#1509) docs/swarm-guide: cleanup (ethersphere#1620) travis: split jobs into different stages (ethersphere#1615) simulation: retry if we hit a collision on tcp/udp ports (ethersphere#1616) api, chunk: rename Tag.New to Tag.Create (ethersphere#1614) pss: instrumentation and refactor (ethersphere#1580) api, cmd, network: add --disable-auto-connect flag (ethersphere#1576) changelog: fix typo (ethersphere#1605) version: update to v0.4.4 unstable (ethersphere#1603) swarm: release v0.4.3 (ethersphere#1602) network/retrieve: add bzz-retrieve protocol (ethersphere#1589) PoC: Network simulation framework (ethersphere#1555) network: structured output for kademlia table (ethersphere#1586) client: add bzz client, update smoke tests (ethersphere#1582) swarm-smoke: fix check max prox hosts for pull/push sync modes (ethersphere#1578) cmd/swarm: allow using a network interface by name for nat purposes (ethersphere#1557) pss: disable TestForwardBasic (ethersphere#1544) api, network: count chunk deliveries per peer (ethersphere#1534) network/newstream: new stream! protocol base implementation (ethersphere#1500) swarm: fix bzz_info.port when using dynamic port allocation (ethersphere#1537) ...
2 parents aef840a + b635061 commit f9ca5af

File tree

1,711 files changed

+466486
-6556
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,711 files changed

+466486
-6556
lines changed

.dockerignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.github

.travis.yml

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,22 @@ sudo: false
44
branches:
55
only:
66
- master
7-
matrix:
7+
- /v(\d+\.)(\d+\.)(\d)/
8+
jobs:
89
include:
9-
- os: linux
10+
# This builder only tests code linters on latest version of Go
11+
- stage: lint
12+
os: linux
13+
dist: trusty
14+
go: 1.12.x
15+
env:
16+
- lint
17+
script:
18+
- go run build/ci.go lint
19+
20+
# Go 1.11.x is needed because of the Ubuntu PPA builds
21+
- stage: build
22+
os: linux
1023
dist: trusty
1124
sudo: required
1225
go: 1.11.x
@@ -18,7 +31,8 @@ matrix:
1831
- go run build/ci.go test -coverage $TEST_PACKAGES
1932

2033
# These are the latest Go versions.
21-
- os: linux
34+
- stage: build
35+
os: linux
2236
dist: trusty
2337
sudo: required
2438
go: 1.12.x
@@ -29,7 +43,8 @@ matrix:
2943
- go run build/ci.go install
3044
- go run build/ci.go test -coverage $TEST_PACKAGES
3145

32-
- os: osx
46+
- stage: build
47+
os: osx
3348
go: 1.12.x
3449
script:
3550
- echo "Increase the maximum number of open file descriptors on macOS"
@@ -44,17 +59,9 @@ matrix:
4459
- go run build/ci.go install
4560
- go run build/ci.go test -coverage $TEST_PACKAGES
4661

47-
# This builder only tests code linters on latest version of Go
48-
- os: linux
49-
dist: trusty
50-
go: 1.12.x
51-
env:
52-
- lint
53-
script:
54-
- go run build/ci.go lint
55-
5662
# This builder does the Ubuntu PPA upload
57-
- if: type = push
63+
- stage: deploy
64+
if: type = push
5865
os: linux
5966
dist: trusty
6067
go: 1.12.x
@@ -74,7 +81,8 @@ matrix:
7481
- go run build/ci.go debsrc -upload ethereum/ethereum -sftp-user ethswarm -signer "Ethereum Swarm Linux Builder <[email protected]>"
7582

7683
# This builder does the Linux Azure uploads
77-
- if: type = push
84+
- stage: deploy
85+
if: type = push
7886
os: linux
7987
dist: trusty
8088
sudo: required
@@ -106,7 +114,8 @@ matrix:
106114
- go run build/ci.go archive -arch arm64 -type tar -signer LINUX_SIGNING_KEY -upload ethswarm/builds
107115

108116
# This builder does the Linux Azure MIPS xgo uploads
109-
- if: type = push
117+
- stage: deploy
118+
if: type = push
110119
os: linux
111120
dist: trusty
112121
services:
@@ -132,7 +141,8 @@ matrix:
132141
- go run build/ci.go archive -arch mips64le -type tar -signer LINUX_SIGNING_KEY -upload ethswarm/builds
133142

134143
# This builder does the OSX Azure, iOS CocoaPods and iOS Azure uploads
135-
- if: type = push
144+
- stage: deploy
145+
if: type = push
136146
os: osx
137147
go: 1.12.x
138148
env:
@@ -143,7 +153,8 @@ matrix:
143153

144154

145155
# This builder does the Azure archive purges to avoid accumulating junk
146-
- if: type = cron
156+
- stage: cleanup
157+
if: type = cron
147158
os: linux
148159
dist: trusty
149160
go: 1.12.x

CHANGELOG.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
## v0.4.4 (Unreleased)
2+
3+
### Notes
4+
5+
### Features
6+
7+
### Improvements
8+
9+
### Bug fixes
10+
11+
## v0.4.3 (July 25, 2019)
12+
13+
### Notes
14+
15+
- **Docker users:** The `$PASSWORD` and `$DATADIR` environment variables are not supported anymore since this release. From now on you should mount the password or data directories as volumes. For example:
16+
```bash
17+
$ docker run -it -v $PWD/hostdata:/data \
18+
-v $PWD/password:/password \
19+
ethersphere/swarm:0.4.3 \
20+
--datadir /data \
21+
--password /password
22+
```
23+
24+
### Bug fixes and improvements
25+
26+
* [#1586](https://github.com/ethersphere/swarm/pull/1586): network: structured output for kademlia table
27+
* [#1582](https://github.com/ethersphere/swarm/pull/1582): client: add bzz client, update smoke tests
28+
* [#1578](https://github.com/ethersphere/swarm/pull/1578): swarm-smoke: fix check max prox hosts for pull/push sync modes
29+
* [#1557](https://github.com/ethersphere/swarm/pull/1557): cmd/swarm: allow using a network interface by name for nat purposes
30+
* [#1534](https://github.com/ethersphere/swarm/pull/1534): api, network: count chunk deliveries per peer
31+
* [#1537](https://github.com/ethersphere/swarm/pull/1537): swarm: fix bzz_info.port when using dynamic port allocation
32+
* [#1531](https://github.com/ethersphere/swarm/pull/1531): cmd/swarm: make bzzaccount flag optional and add bzzkeyhex flag
33+
* [#1536](https://github.com/ethersphere/swarm/pull/1536): cmd/swarm: use only one function to parse flags
34+
* [#1530](https://github.com/ethersphere/swarm/pull/1530): network/bitvector: Multibit set/unset + string rep
35+
* [#1555](https://github.com/ethersphere/swarm/pull/1555): PoC: Network simulation framework
36+
37+
## v0.4.2 (June 28, 2019)
38+
39+
### Notes
40+
41+
This release is not backward compatible with the previous versions of Swarm due to changes to the wire protocol of the Retrieve Request messages. Please update your nodes.
42+
43+
### Bug fixes and improvements
44+
45+
* [#1503](https://github.com/ethersphere/swarm/pull/1503): network/simulation: add ExecAdapter capability to swarm simulations
46+
* [#1495](https://github.com/ethersphere/swarm/pull/1495): build: enable ubuntu ppa disco (19.04) builds
47+
* [#1395](https://github.com/ethersphere/swarm/pull/1395): swarm/storage: support for uploading 100gb files
48+
* [#1344](https://github.com/ethersphere/swarm/pull/1344): swarm/network, swarm/storage: simplification of fetchers
49+
* [#1488](https://github.com/ethersphere/swarm/pull/1488): docker: include git commit hash in swarm version
50+
51+
## v0.4.1 (June 13, 2019)
52+
53+
### Improvements
54+
55+
* [#1465](https://github.com/ethersphere/swarm/pull/1465): network: bump proto versions due to change in OfferedHashesMsg
56+
* [#1428](https://github.com/ethersphere/swarm/pull/1428): swarm-smoke: add debug flag
57+
* [#1422](https://github.com/ethersphere/swarm/pull/1422): swarm/network/stream: remove dead code
58+
* [#1463](https://github.com/ethersphere/swarm/pull/1463): docker: create new dockerfiles that are context aware
59+
* [#1466](https://github.com/ethersphere/swarm/pull/1466): changelog for releases
60+
61+
### Bug fixes
62+
63+
* [#1460](https://github.com/ethersphere/swarm/pull/1460): storage: fix alignement panics on 32 bit arch
64+
* [#1422](https://github.com/ethersphere/swarm/pull/1422), [#19650](https://github.com/ethereum/go-ethereum/pull/19650): swarm/network/stream: remove dead code
65+
* [#1420](https://github.com/ethersphere/swarm/pull/1420): swarm, cmd: fix migration link, change loglevel severity
66+
* [#19594](https://github.com/ethereum/go-ethereum/pull/19594): swarm/api/http: fix bzz-hash to return ens resolved hash directly
67+
* [#19599](https://github.com/ethereum/go-ethereum/pull/19599): swarm/storage: fix SubscribePull to not skip chunks
68+
69+
### Notes
70+
71+
* Swarm has split the codebase ([go-ethereum#19661](https://github.com/ethereum/go-ethereum/pull/19661), [#1405](https://github.com/ethersphere/swarm/pull/1405)) from [ethereum/go-ethereum](https://github.com/ethereum/go-ethereum). The code is now under [ethersphere/swarm](https://github.com/ethersphere/swarm)
72+
* New docker images (>=0.4.0) can now be found under https://hub.docker.com/r/ethersphere/swarm
73+
74+
## v0.4.0 (May 17, 2019)
75+
76+
### Changes
77+
78+
* Implemented parallel feed lookups within Swarm Feeds
79+
* Updated syncing protocol subscription algorithm
80+
* Implemented EIP-1577 - Multiaddr support for ENS
81+
* Improved LocalStore implementation
82+
* Added support for syncing tags which provide the ability to measure how long it will take for an uploaded file to sync to the network
83+
* Fixed data race bugs within PSS
84+
* Improved end-to-end integration tests
85+
* Various performance improvements and bug fixes
86+
* Improved instrumentation - metrics and OpenTracing traces
87+
88+
### Notes
89+
This release is not backward compatible with the previous versions of Swarm due to the new LocalStore implementation. If you wish to keep your data, you should run a data migration prior to running this version.
90+
91+
BZZ network ID has been updated to 4.
92+
93+
Swarm v0.4.0 introduces major changes to the existing codebase. Among other things, the storage layer has been rewritten to be more modular and flexible in a manner that will accommodate for our future needs. Since Swarm at this point does not provide any storage guarantees, we have made the decision to not impose any migrations on the nodes that we maintain as part of the public test network, nor on our users. We have provided a [manual](https://github.com/ethersphere/swarm/blob/master/docs/Migration-v0.3-to-v0.4.md) for those of you who are running private deployments and would like to migrate your data to the new local storage schema.

Dockerfile

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
FROM golang:1.12-alpine as builder
2+
RUN apk add --no-cache make gcc musl-dev linux-headers git
3+
ADD . /swarm
4+
WORKDIR /swarm
5+
RUN make swarm
6+
7+
FROM ethereum/client-go:v1.8.27 as geth
8+
9+
FROM alpine:3.9
10+
RUN apk --no-cache add ca-certificates && update-ca-certificates
11+
COPY --from=builder /swarm/build/bin/swarm /usr/local/bin/
12+
COPY --from=geth /usr/local/bin/geth /usr/local/bin/
13+
ENTRYPOINT ["/usr/local/bin/swarm"]

Dockerfile.alltools

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
FROM golang:1.12-alpine as builder
2+
RUN apk add --no-cache make gcc musl-dev linux-headers git
3+
ADD . /swarm
4+
WORKDIR /swarm
5+
RUN make alltools
6+
7+
FROM ethereum/client-go:v1.8.27 as geth
8+
9+
FROM alpine:3.9
10+
RUN apk --no-cache add ca-certificates
11+
COPY --from=builder /swarm/build/bin/* /usr/local/bin/
12+
COPY --from=geth /usr/local/bin/geth /usr/local/bin/
13+
COPY docker/run-smoke.sh /run-smoke.sh
14+
ENTRYPOINT ["/usr/local/bin/swarm"]

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,5 @@ swarm:
99
@echo "Done building."
1010
@echo "Run \"$(GOBIN)/swarm\" to launch swarm."
1111

12+
alltools:
13+
build/env.sh go run build/ci.go install ./cmd/...

0 commit comments

Comments
 (0)