summaryrefslogtreecommitdiff
path: root/NEWS.md
blob: 9863a531f037864ab6610cd62fb03c3a635a49bb (plain)
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
# Changes in catlfish 0.9.0-dev

## Features

- Configuration for selecting database backend added.
- Tool for parsing benchmarking output and generating HTML added.

## Improvements

- Merge-backup is now sending in chunks, improving performance.

# Changes in version 0.8.0 - 2015-09-21

## Incompatible changes

- The file format for persistent storage of log entries has
  changed. catlfish-0.8.0 is unable to read a database created by all
  previous versions. Previous versions are unable to read a database
  created by 0.8.0.

## Features

- Library call for verification of entries added, used by plop.
- New config parameter 'mmd' (maximum merge delay in seconds)
  added. Used to determine if an STH is fresh. Default, if not
  configured, is 86400, equals 24 hours (closes CATLFISH-51).
- New config group 'ratelimits' added (closes CATLFISH-52).
- Verification of leaf data when read from disk (closes CATLFISH-50).
- A new program, tools/storagegc.py, updates the lastverifiednewentry
  file for storage nodes to use in fetchnewentries (closes
  CATLFISH-54).
- Test suite is now verifying correct precert handling too.

## Bug fixes

- A bug with merging root certs, i.e. lacking ExtraData has been fixed
  (closes CATLFISH-45).
- Merge now fsyncs the logorder file (closes CATLFISH-46).
- A chain returned from the log (get-entries) now always contains a
  known root cert (closes CATLFISH-55).
- Extra data for precerts returned from the log is now conformant with
  RFC6962 (closes CATLFISH-56).

## Code cleanup

- Dialyzer clean.

# Changes in version 0.7.0 - 2015-04-25

## Features

- Support for secondary merge nodes added.
- HSM support verified to work with SoftHSMv2 and one real HSM.

# Changes in version 0.6.0 - 2015-04-13

## Features

- Pre-cert handling and get-entry-and-proof implemented. Now fully
  RFC6962 protocol compliant.
- Submitted X.509 certificates and their chains are now validated.
- Application split into frontend, storage, signing and merge nodes.
  Docker packaging added for running them.
- Tools for merging, submitting certs and verifying SCT's added. This
  is a separate code base from catlfish and plop.
- A config compiler was added making it possible to generate Erlang
  syntax configuration for a complex system from simpler yaml files.
- SCT caching added, not enabled by default.

## Internal bigger changes

- Add Erlang release management and a more controlled start process.
- Use mochiweb for serving httpd (replacing inets) and json encoding
  and decoding (replacing jiffy).
- Add system and unit tests.
- catlfish/plop interface clean up.
- Use lager for logging and hackney for http client.

# Changes in version 0.1.1 - 2014-09-20

catlfish version 0.1.1 fixes a major bug in add-chain decoding and
implements get-entry-and-proof.

# catlfish version 0.1.0 "PoC" - 2014-09-15

catlfish version 0.1.0 is the proof of concept release.

## Known bugs and shortcomings

- Knows nothing about x509. Accepts any data. v1/get-roots always
  returns the empty list.
- v1/add-pre-chain is not implemented.
- v1/get-entry-and-proof is not implemented.
- HTTP status codes are 200 for errors. They should be 400.