CHANGELOG.md 6.41 KB
Newer Older
Karsten Loesing's avatar
Karsten Loesing committed
1
# Changes in version 1.6.0 - 2017-02-17
2

3
4
5
6
 * Major changes
   - Deprecate DescriptorDownloader in favor of the much more widely
     used DescriptorCollector.

7
8
9
10
 * Medium changes
   - Add two methods for loading and saving a parse history file in
     the descriptor reader to avoid situations where applications fail
     after all descriptors are read but before they are all processed.
iwakeh's avatar
iwakeh committed
11
12
13
   - Unify the build process by adding git-submodule metrics-base in
     src/build and removing all centralized parts of the build
     process.
14
15
   - Avoid deleting extraneous local descriptor files when collecting
     descriptors from CollecTor.
16
17
18
19
   - Turn the descriptor reader thread into a daemon thread, so that
     the application can decide at any time to stop consuming
     descriptors without having to worry about the reader thread not
     being done.
20
21
22
   - Parse "proto" lines in server descriptors, "pr" lines in status
     entries, and "(recommended|required)-(client|relay)-protocols"
     lines in consensuses and votes.
23
   - Parse "shared-rand-.*" lines in consensuses and votes.
24
25
   - Deprecate DescriptorCollectorImpl now that
     DescriptorIndexCollector is the default.
26
27


Karsten Loesing's avatar
Karsten Loesing committed
28
# Changes in version 1.5.0 - 2016-10-19
29

30
31
32
33
34
35
 * Major changes
   - Make the DescriptorCollector implementation that uses CollecTor's
     index.json file to determine which descriptor files to fetch the
     new default.  Applications must provide gson-2.2.4.jar or higher
     as dependency.

36
37
38
39
 * Minor changes
   - Avoid running into an IOException and logging a warning for it.


Karsten Loesing's avatar
Karsten Loesing committed
40
# Changes in version 1.4.0 - 2016-08-31
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 * Major changes
   - Add the Simple Logging Facade for Java (slf4j) for logging
     support rather than printing warnings to stderr.  Applications
     must provide slf4j-api-1.7.7.jar or higher as dependency and can
     optionally provide a compatible logging framework of their choice
     (java.util.logging, logback, log4j).

 * Medium changes
   - Add an alpha version of a DescriptorCollector implementation that
     is not enabled by default and that uses CollecTor's index.json
     file to determine which descriptor files to fetch.  Applications
     can enable this implementation by providing gson-2.2.4.jar or
     higher as dependency and setting property descriptor.collector to
     org.torproject.descriptor.index.DescriptorIndexCollector.

57
 * Minor changes
58
59
   - Include resource files in src/*/resources/ in the release
     tarball.
60
   - Move executable, source, and javadoc jar to generated/dist/.
61
62


63
64
65
66
67
68
69
# Changes in version 1.3.1 - 2016-08-01

 * Medium changes
   - Adapt to CollecTor's new date format to make DescriptorCollector
     work again.


Karsten Loesing's avatar
Karsten Loesing committed
70
# Changes in version 1.3.0 - 2016-07-06
71
72
73

 * Medium changes
   - Parse "package" lines in consensuses and votes.
74
75
76
77
78
79
80
81
   - Support more than one "directory-signature" line in a vote, which
     may become relevant when authorities start signing votes using
     more than one algorithm.
   - Provide directory signatures in consensuses and votes in a list
     rather than a map to support multiple signatures made using the
     same identity key digest but different algorithms.
   - Be more lenient about digest lengths in directory signatures
     which may be longer or shorter than 20 bytes.
82
   - Parse "tunnelled-dir-server" lines in server descriptors.
83

84
85
86
87
 * Minor changes
   - Stop reporting "-----END .*-----" lines in v2 network statuses as
     unrecognized.

88

Karsten Loesing's avatar
Karsten Loesing committed
89
# Changes in version 1.2.0 - 2016-05-31
90
91
92
93

 * Medium changes
   - Include the hostname in directory source entries of consensuses
     and votes.
94
   - Also accept \r\n as newline in Torperf results files.
95
96
   - Make unrecognized keys of Torperf results available together with
     the corresponding values, rather than just the whole line.
97
98
   - In Torperf results, recognize all percentiles of expected bytes
     read for 0 <= x <= 100 rather than just x = { 10, 20, ..., 90 }.
99
100
   - Rename properties for overriding default descriptor source
     implementation classes.
101
   - Actually return the signing key digest in network status votes.
102
   - Parse crypto parts in network status votes.
103
104
   - Document all public parts in org.torproject.descriptor and add
     an Ant target to generate Javadocs.
105

106
107
108
 * Minor changes
   - Include a Torperf results line with more than one unrecognized
     key only once in the unrecognized lines.
109
110
   - Make "consensus-methods" line optional in network statuses votes,
     which would mean that only method 1 is supported.
111
112
   - Stop reporting "-----END .*-----" lines in directory key
     certificates as unrecognized.
Karsten Loesing's avatar
Karsten Loesing committed
113
   - Add code used for benchmarking.
114

115

Karsten Loesing's avatar
Karsten Loesing committed
116
# Changes in version 1.1.0 - 2015-12-28
117
118

 * Medium changes
119
120
121
122
123
124
   - Parse flag thresholds in bridge network statuses, and parse the
     "ignoring-advertised-bws" flag threshold in relay network status
     votes.
   - Support parsing of .xz-compressed tarballs using Apache Commons
     Compress and XZ for Java.  Applications only need to add XZ for
     Java as dependency if they want to parse .xz-compressed tarballs.
iwakeh's avatar
iwakeh committed
125
126
127
128
129
   - Introduce a new ExitList.Entry type for exit list entries instead
     of the ExitListEntry type which is now deprecated.  The main
     difference between the two is that ExitList.Entry can hold more
     than one exit address and scan time which were previously parsed
     as multiple ExitListEntry instances.
130
131
132
133
134
135
   - Introduce four new types to distinguish between relay and bridge
     descriptors: RelayServerDescriptor, RelayExtraInfoDescriptor,
     BridgeServerDescriptor, and BridgeExtraInfoDescriptor.  The
     existing types, ServerDescriptor and ExtraInfoDescriptor, are
     still usable and will not be deprecated, because applications may
     not care whether a relay or a bridge published a descriptor.
136
137
138
139
140
   - Support Ed25519 certificates, Ed25519 master keys, SHA-256
     digests, and Ed25519 signatures thereof in server descriptors and
     extra-info descriptors, and support Ed25519 master keys in votes.
   - Include RSA-1024 signatures of SHA-1 digests of extra-info
     descriptors, which were parsed and discarded before.
141
   - Support hidden-service statistics in extra-info descriptors.
142
143
   - Support onion-key and ntor-onion-key cross certificates in server
     descriptors.
144

145
146
147
148
 * Minor changes
   - Start using Java 7 features like the diamond operator and switch
     on String, and use StringBuilder correctly in many places.

149

Karsten Loesing's avatar
Karsten Loesing committed
150
# Changes in version 1.0.0 - 2015-12-05
Karsten Loesing's avatar
Karsten Loesing committed
151
152

 * Major changes
153
154
   - This is the initial release after four years of development.
     Happy 4th birthday!
Karsten Loesing's avatar
Karsten Loesing committed
155