Version 1.0.9.
[gnuk/neug.git] / NEWS
1 NeuG NEWS - User visible changes
2
3
4 * Major changes in NeuG 1.0.9
5
6   Released 2018-11-20, by NIIBE Yutaka
7
8 ** Fraucheky with acknowledge button support
9 User can finish USB Mass Storage Class Device to start NeuG by
10 the ACK button now.
11
12 ** Upgrade of Chopstx
13 We use Chopstx 1.12, which has acknowledge button support.
14
15
16 * Major changes in NeuG 1.0.8
17
18   Released 2018-05-10, by NIIBE Yutaka
19
20 ** No inclusion of VID:PID in neug-no-vidpid.elf
21 Now, we have new file named neug-no-vidpid.elf with no VID:PID.  The
22 file neug.elf has the VID:PID, like version 1.0.6 or older.
23
24 ** Upgrade of Fraucheky
25
26 We use Fraucheky 0.7, with a bug fix of initialization.
27
28 ** Upgrade of Chopstx
29
30 We use Chopstx 1.9, which supports GD32F103.
31
32
33 * Major changes in NeuG 1.0.7
34
35   Released 2018-01-19, by NIIBE Yutaka
36
37 ** No inclusion of VID:PID in neug.elf
38
39 Distribution of binary image with VID:PID would violate vendor ID
40 agreement to USB Forum.  Now, we have new file named neug-vidpid.elf
41 for flashing.  The file neug.elf can be used to generate
42 neug-vidpid.elf and we can check if it is reproducible or not.
43
44 ** Upgrade of Fraucheky
45
46 We use Fraucheky 0.6, which allows USB VID:PID replacement
47 at the last stage of build.
48
49 ** Upgrade of Chopstx
50
51 We use Chopstx 1.8, which supports USB suspend.
52
53
54 * Major changes in NeuG 1.0.6
55
56   Released 2017-10-11, by NIIBE Yutaka
57
58 ** Port to GNU/Linux emulation
59 We can "run" NeuG stand-alone device on GNU/Linux by emulation through
60 USBIP.
61
62 ** Upgrade of Fraucheky
63 We use Fraucheky 0.5, which can work well with GNU/Linux emulation.
64
65 ** Upgrade of Chopstx
66 We use Chopstx 1.5, which supports Blue Pill and the emulation on
67 GNU/Linux.
68
69
70 * Major changes in NeuG 1.0.5
71
72   Released 2016-10-17, by NIIBE Yutaka
73
74 ** Upgrade of Chopstx
75 We use Chopstx 1.2, which supports FST-01G.
76
77
78 * Major changes in NeuG 1.0.4
79
80   Released 2015-09-18, by NIIBE Yutaka
81
82 ** Upgrade of Chopstx
83 We use Chopstx 0.10, which supports Nitrokey-Start.
84
85 ** USB reset handling
86 Now, USB reset lets NeuG device restart correctly.
87
88
89 * Major changes in NeuG 1.0.3
90
91   Released 2015-08-03, by NIIBE Yutaka
92
93 ** Fraucheky can be manually invoked
94 Even if Fraucheky is disabled at start by moving files to DROPHERE,
95 a user can invoke Fraucheky to see documents, now.
96
97 ** Upgrade of Chopstx
98 We use Chopstx 0.08, which supports ST-Dongle and STM32 Nucleo F103.
99
100 ** Upgrade of Fraucheky
101 We use Fraucheky 0.3, which can work well with FreeBSD.
102
103
104 * Major changes in NeuG 1.0.2
105
106   Released 2015-07-18, by NIIBE Yutaka
107
108 ** Upgrade of firmware enhancement
109 The process is protected by password.
110
111 ** Upgrade of Chopstx
112 We use Chopstx 0.07, which supports STM32 Primer2, CQ STARM.
113
114
115 * Major changes in NeuG 1.0.1
116
117   Released 2015-01-29, by NIIBE Yutaka
118
119 ** Upgrade of Chopstx
120 We use Chopstx 0.04.
121
122 ** Upgrade of Fraucheky
123 We use Fraucheky 0.1.
124
125 ** Compile options
126 We use -O3 (with no -Os) for neug.o and sha256.o.
127
128
129 * Major changes in NeuG 1.0
130
131   Released 2013-11-11, by NIIBE Yutaka
132
133 ** Upgrade of Chopstx
134 Now, we use Chopstx 0.03.
135
136 ** Stabilize the upgrade process
137 For firmware upgrade, it has been unstable somehow and it has been
138 recommended not to access its stream (/dev/ttyACM0) before running
139 neug_upgrade.py.  This bug was fixed in 1.0, and it's more stable.
140
141 ** Add support of Fraucheky
142 Fraucheky is a GPL container which makes sure to deliver GPL to users.
143
144
145 * Major changes in NeuG 0.11
146
147   Released 2013-08-22, by NIIBE Yutaka
148
149 ** Replacement of kernel (thread library)
150 Instead of ChibiOS/RT, we now use Chopstx.
151
152 ** Improved performance
153 The output of random numbers got faster than the previous
154 implementation by 30% or so.
155
156 ** Unsupported targets
157 CQ_STARM, STBEE, STBEE Mini, and STM32_PRIMER2 are not
158 supported in this release, but porting should be easy.
159
160
161 * Major changes in NeuG 0.06
162
163   Released 2013-03-15, by NIIBE Yutaka
164
165 ** Support for relocatable reGNUal
166 For firmware upgrade, we can use newer reGNUal (>= 1.0.4).
167
168
169 * Major changes in NeuG 0.05
170
171   Released 2013-02-07, by NIIBE Yutaka
172
173 ** Improvement on SHA256 calculation
174 The output of random numbers got faster than the previous
175 implementation by 2% or so.
176
177
178 * Major changes in NeuG 0.04
179
180   Released 2012-10-30, by NIIBE Yutaka
181
182 ** Update of ChibiOS/RT
183 ChibiOS/RT is updated to newer 2.4.3.
184
185 ** Improved performance
186 Improvement on generation speed, even when it's _not_ connected to USB
187 2.0 Hub.
188
189 ** Health tests run for NEUG_MODE_RAW
190 Health tests run when NEUG_MODE_RAW (CRC32 filter output).
191
192 ** More runtime info: tool/neug_check.py 
193 Now, we can observe max counts of repeat count test, adaptive
194 propotion test 64, and adaptive propotion test 4096.
195
196
197 * Major changes in NeuG 0.03
198
199   Released 2012-10-09, by NIIBE Yutaka
200
201 ** Change RNG constuct.
202 We replace all basic components again, to conform NIST SP 800-90B.
203 Now, we use two analog inputs use in addition to Vref and Temperature
204 Sensor.  We take advantage of another A/D convertor, ADC2.
205
206 In former versions, we use LSBs of inputs.  From this version, we use
207 all bits, and put them to CRC32 calculation unit.  That's because we
208 can get more entropy when using full bits.
209
210 The central component, the conditioning component, is the one with
211 SHA-256, to conform NIST SP 80-90B.
212
213 ** New ADC (A/D convertor) driver
214 Now, we use our own ADC driver, so that we can use ADC2 and we can
215 control ADC for our particular usage (such that put it to CRC32
216 calculation unit).
217
218 ** Selection of output
219 Using "stty" command, we can now select one of three outputs: final
220 output (conditioned), CRC32 filtered raw data before conditioning, and
221 raw input data of ADC.
222
223 ** USB strings for revision detail, configure options, and system service.
224 USB strings now have more information.  There are revision detail
225 string, configure options string, system service version string, as
226 well as vendor string and product string.  These strings could be
227 examined to check NeuG device.
228
229 ** New mandatory option '--vidpid' for configure
230 You must specify USB vendor ID and product ID for Gnuk.
231 The file NEUG_USB_DEVICE_ID lists valid USB device IDs.
232
233 ** Health tests
234 Health tests are implemented to conform NIST SP 800-90B.  There are
235 three tests, repetition count test, adaptive proportion test 64,
236 and adaptive proportion test 4096.
237
238 ** System service blocks at the beginning of flash ROM.
239 Once flash ROM is protected, first 4-KiB cannot be modified.  Gnuk use
240 this area for "system service".  NeuG has compatible system service
241 block as Gnuk.  Note that this area will not be able to be modified by
242 firmware upgrade (or by any method).
243
244 ** New tool: neug_upgrade.py
245 The tool neug_upgrade.py is to send reGNUal to NeuG device.  Then, we
246 put new NeuG binary (or any binary, say, Gnuk) into the device with
247 reGNUal.
248
249 ** New tool: neug_check.py
250 The tool neug_check.py is to check the device condition.  You can see
251 error counters of NeuG device with this tool.
252
253
254 * Major changes in NeuG 0.02
255
256   Released 2012-08-30, by NIIBE Yutaka
257
258 ** Change RNG constuct.
259 We replace all basic components.  Now, we use WELL 512a structure
260 for Physical-based RNG.
261
262 ** New USB stack.
263 Now, we use our own USB stack (taken from Gnuk).
264
265
266 * Major changes in NeuG 0.01
267
268   Released 2011-11-14, by NIIBE Yutaka
269
270 ** Support more boards
271 NeuG now supports FST-01, STM8S DISCOVERY, CQ-STARM and STBee, too.
272
273 ** Change RNG construct.
274 Basic technology is basically same (CRC-16, TinyMT), but we add
275 FNV32 hash as an output function, and give a seed to TinyMT from
276 Physical-based RNG.
277
278 ** Add Test results.
279 Under test-results directory, we put results of RNG test by rng-tools,
280 NIST STS 2.1.1, and Dieharder 3.31.1.
281
282
283 * Major changes in NeuG 0.00
284
285   Released 2011-07-14, by NIIBE Yutaka
286
287 ** This is initial release.
288
289 Local Variables:
290 mode: outline
291 End: