-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGELOG
150 lines (105 loc) · 4.14 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
gob v0.8
========
Changes
-------
- Standard output is now being checked for errors when exiting to
verify that e.g. the index has been completely written.
- Continuous integration has been updated from Trusty to Xenial.
Another build job for Bionic has been added.
- A lot of warnings have been fixed in order to enable the
continuous integration to build with `-Werror`.
- Tests have been refactored to avoid any use of pipes which may
swallow error codes.
- An error has been fixed that caused `warn()` to call exit(3P),
causing gob-fsck(1) to exit on the first warning.
- Added an editorconfig file.
gob v0.7
========
- The build system has been migrated from Makefiles to Meson.
- Top-level source files and manpages have been moved into a new
"src/" and "docs/" subdirectory, respectively.
- Support for encryption has been completely removed. Its
security cannot be guaranteed and better solutions exist by
e.g. writing the backup store into a LUKS volume.
- The hex conversion and blake2b hash functions have been
included into our sources. This allowed removing the dependency
on libsodium altogether.
gob v0.6
========
Changes
-------
- Build instructions and tests have been adjusted to not include
non-POSIX instructions. This enables support for OpenBSD.
- When writing a block into the block store, gob will now first
write everything into a temporary file and then rename that
file to have the final name. This will ensure that gob will
never put partially written blocks at a final block path.
- Travis CI has been fixed to check the signature of packages
installed via Bintray.
gob v0.5
========
Additions
---------
- A new tool "gob-fsck" has been added that checks an object
storage for consistency.
- A CI job has been added to do static analysis on gob's sources
via Coverity.
Changes
-------
- Previously, gob-chunk would just error out and leave the
partially written block in the object storage. Now, it instead
tries to unlink it first and only then abort.
- The block storage has been abstracted into its own structure
and set of functions.
gob v0.4
========
Changes
-------
- Rename from "sb" to "gob". All binaries now have a "gob-"
prefix instead of a "sb-" prefix.
- The block storage now has a version associated with it. This
makes sure that gob will not try to write to block stores which
have a different version, especially in the case of
backwards-incompatible changes.
sb v0.3
=======
Additions
---------
- Travis has been set up to build and test changes.
Changes
-------
- Data that is output by sb-encrypt is using fixed-length blocks
now, with the actual data's size being encoded as part of the
ciphertext.
- Switch to a secure scheme for generating encryption nonces.
Previously, nonces were simply the index of the current block
and as such completely deterministic. Nonces are now derived
from the hash of the index concatenated with the plain-text
data. This generates consistent nonces for the same block while
still being unpredictable from the outside without knowing the
plain text of the block.
sb v0.2
=======
Changes
-------
- Blocks are now allocated dynamically on the heap. Previously,
all blocks were allocated on the stack, which could have hit
the maximum stack size in case where the user has specified a
large block size via config.h.
- The default block size was increased to 4MB. The previous
default of 4KB resulted in huge block lists and tons of block
files.
sb v0.1
=======
This is the initial release of the simple backup tool. It
provides the following tools:
- sb-chunk writes data from standard input into a block store.
Chunks are being deduplicated based on the hash of the data
that is being written into the block store. The order of blocks
written into the blockstore are written to standard output.
- sb-cat will read a list of blobs and successively read each of
these blocks from a given block store to standard output.
- sb-encrypt will read data from standard input and write it
to standard output, encrypting it with a key.
- sb-decrypt will read data from standard input and write it to
standard output, decrypting it with a key.