]>
Commit | Line | Data |
---|---|---|
921e1895 UH |
1 | 0.5.2 (2018-09-12) |
2 | ------------------ | |
3 | ||
4 | Note: This release does NOT change the libsigrokdecode public C API in | |
5 | incompatible ways. This means existing frontends should not require any | |
6 | changes. However, individual PDs and their output changed, which may | |
7 | require some adaptations on the user's side in some cases. | |
8 | ||
9 | * New supported protocol decoders: | |
10 | - mcs48 Intel MCS-48 external memory access protocol | |
11 | - st7735 Sitronix ST7735 TFT controller protocol | |
12 | - atsha204a Microchip ATSHA204A CryptoAuthentication device | |
13 | - cfp 100 Gigabit C form-factor pluggable (CFP) protocol | |
14 | - jtag_ejtag MIPS EJTAG protocol | |
15 | - swim STM8 Single Wire Interface Module (SWIM) protocol | |
16 | - cec HDMI Consumer Electronics Control (CEC) protocol | |
17 | - miller Miller encoding protocol | |
18 | - ook On-off keying protocol | |
19 | - ook_oregon Oregon Scientific weather sensor protocol | |
20 | - ook_vis OOK visualisation in various formats | |
21 | * Various minor performance improvements in the backend. | |
22 | * Fix an issue causing decoder termination to take a long time. | |
23 | * Fix multiple self.put() memory leaks (bug #329). | |
24 | * Fix multiple memory leaks reported by scan-build. | |
25 | * Show a backtrace when the decode aborts due to an error (bug #1158). | |
26 | * Perform the log level check for non-default handlers as well (bug #698). | |
27 | * Fix multiple compiler warnings. | |
28 | * Compiler: Add -Wshadow -Wformat=2 -Wno-format-nonliteral -Wfloat-equal. | |
29 | * Build system: Add Python 3.7 support. | |
30 | * Fix a 'make install' issue that happens with Python >= 3.7. | |
31 | * Add two missing Python GIL release operations. | |
32 | * libsigrokdecode API changes: | |
33 | - Add the srd_log_callback_get() API call. | |
34 | - Add the SRD_ERR_TERM_REQ error code. | |
35 | * dcf77: | |
36 | - Annotate invalid dow and month fields, do not abort execution (bug #1173). | |
37 | - Annotate unexpected bit numbers and values, do not abort execution. | |
38 | * spiflash: | |
39 | - Add basic Adesto AT45DBxx support (WRITE1/2, STATUS). | |
40 | - Add Adesto AT45DB161E metadata. | |
41 | * jtag: | |
42 | - Fix shifting of registers (bug #1066). | |
43 | * jtag_stm32: | |
44 | - Fix handling of boundary scan TAP and incorrect state transitions. | |
45 | * eeprom24xx: | |
46 | - Add ON Semi CAT24C256 and CAT24M01 support. | |
47 | * counter: | |
48 | - Emit wider annotations to improve readability in UIs (bug #1210). | |
49 | - Add support for user specified initial counter values (bug #1229). | |
50 | - Add an option to ignore a certain number of edges. | |
51 | - Let the user decide how to handle the initial dead_cycles state. | |
52 | * mdio: | |
53 | - Accept MDIO READ without previous ADDRESS command (bug #1258). | |
54 | * edid: | |
55 | - Add support for extension blocks. | |
56 | - Various annotation improvements. | |
57 | * spi: | |
58 | - Fix an issue causing an AttributeError during certain decodes. | |
59 | * usb_power_delivery: | |
60 | - Emit more details in annotations (power, PDO type, RDO info). | |
61 | - Add PPS support. | |
62 | - Add better USB Power Delivery 3.0 support. | |
63 | ||
ea5f5d1f UH |
64 | 0.5.1 (2018-04-12) |
65 | ------------------ | |
66 | ||
67 | Note: This release does NOT change the libsigrokdecode public C API in | |
68 | incompatible ways. This means existing frontends should not require any | |
69 | changes. However, individual PDs and their output changed, which may | |
70 | require some adaptations on the user's side in some cases. | |
71 | ||
72 | * New supported protocol decoders: | |
73 | - ac97 Audio and modem control for PC systems | |
74 | - ds243x Maxim DS243x series 1-Wire EEPROM protocol | |
75 | - maple_bus Maple bus peripheral protocol for SEGA Dreamcast | |
76 | - morse Demodulated morse code protocol | |
77 | - graycode Accumulate rotary encoder increments, timing statistics | |
78 | - counter Count number of edges | |
79 | - sda2506 Serial nonvolatile 1-Kbit EEPROM | |
80 | - rc_encode PT2262/HX2262/SC5262 remote control encoder protocol | |
81 | * Updated build requirements: | |
82 | - libglib >= 2.34 | |
83 | * New API calls: | |
84 | - srd_searchpaths_get(): Retrieve PD search paths. | |
85 | - srd_session_terminate_reset(): Terminate currently executing decoders | |
86 | in a session, reset internal state. Allows re-using a session. | |
87 | * can: | |
88 | - Introduce clock synchronization (bug #990). | |
89 | - Fix incorrect stuff bit handling (bug #1085). | |
90 | * i2c: | |
91 | - Don't drop the first sample of input data. | |
92 | - Make input samplerate optional (bug #1076). | |
93 | * i2s: | |
94 | - Binary output: Make 32-bit WAV files, set file size to 4GB. | |
95 | - Fix unportable use of struct.pack(). | |
96 | - Make samplerate meta data optional. | |
97 | * stepper_motor: | |
98 | - Make samplerate meta data optional. | |
99 | * pwm: | |
100 | - Fixup sample numbers for binary output. | |
101 | * onewire_network: | |
102 | - Fixup start samplenumber for annotations. | |
103 | * lpc: | |
104 | - Improve robustness when decoding unexpected input data. | |
105 | * ir_nec: | |
106 | - Make timing margin relative. | |
107 | - Optionally accept input signals that include the carrier. | |
108 | * usb_request: | |
109 | - Handle CONTROL transfer protocol stalls. | |
110 | * usb_power_delivery: | |
111 | - Enforce numerical order of RDO/PDO flag annotations, enforce check | |
112 | order for start-of-packet sequences (bug #1090). | |
113 | * parallel: | |
114 | - Cope with sparse input maps, assume zero for unconnected pins (bug #1088). | |
115 | - Unbreak and improve "word" de-multiplexing. | |
116 | - Implement consistent number formatting. | |
117 | - Expand 'wordsize' description (bits vs cycles). | |
118 | * spi: | |
119 | - Cope when a sample rate of 0 was configured (bug #1118). | |
120 | * Acquire/release the Python GIL where needed to avoid threading issues. | |
121 | This allows frontends to call libsigrokdecode API functions from different | |
122 | threads without running into issues. | |
123 | * Convert all protocol decoders to PD API version 3. | |
124 | * Support for the old PD API version 2 has been removed. | |
125 | * Unbreak the execution of Decoder.wait() with empty condition. | |
126 | * self.wait(): Accept more forms of "unconditional wait" (None, no args). | |
127 | * Fix a compiler warning on Mac OS X. | |
128 | * configure.ac: Add missing PKG_PROG_PKG_CONFIG and AC_C_BIGENDIAN. | |
129 | * Add a reset() method to all PDs which resets internal variable state. | |
130 | * Clarify and improve channel mapping debug output. | |
131 | * Print decoder and system search paths in debug output. | |
132 | * Drop overly verbose log messages about (un)loading PDs. | |
133 | * HACKING: Prefer git pull requests over mailing list patches. | |
134 | ||
168e5fbe UH |
135 | 0.5.0 (2017-06-12) |
136 | ------------------ | |
137 | ||
138 | Note: This release DOES change the libsigrokdecode public C API. This | |
139 | means it is NOT backwards-compatible and frontends will need updates. | |
140 | ||
141 | * New supported protocol decoders: | |
142 | - ade77xx Poly phase multifunction energy metering IC protocol | |
143 | - adf435x Wideband synthesizer with integrated VCO | |
144 | - aud Renesas/Hitachi Advanced User Debugger (AUD) protocol | |
145 | - avr_pdi Atmel proprietary interface for the ATxmega MCU | |
146 | - dali DALI lighting control protocol | |
147 | - dsi DSI lighting control protocol | |
148 | - dmx512 Professional lighting control protocol | |
149 | - eeprom93xx 93xx series Microwire EEPROM protocol (bug #931) | |
150 | - em4305 EM4205/EM4305 100-150kHz RFID protocol | |
151 | - gpib IEEE-488 GPIB / HPIB protocol | |
152 | - iec Commodore serial IEEE-488 (IEC) bus protocol | |
153 | - microwire 3-wire, half-duplex, synchronous serial bus (bug #931) | |
154 | - ps2 PS/2 keyboard/mouse interface | |
155 | - rgb_led_ws281x RGB LED string protocol (WS281x) | |
156 | - ssi32 Synchronous Serial Interface (32bit) protocol | |
157 | - t55xx T55xx 100-150kHz RFID protocol | |
158 | - wiegand Wiegand interface for electronic entry systems | |
159 | * Add support for the new query-based PD v3 decoder API. | |
160 | - Decoders using PD v3 API can benefit from both readability improvements | |
161 | as well as performance improvements. Up to 10x speedup has been measured | |
162 | in some situations (depends a lot on the decoder, the amount of data, | |
163 | the amount of edges in the signals, and the amount of oversampling). | |
164 | - The majority of all decoders have been converted to PD API v3. | |
165 | - For the time being, both APIs (2 and 3) will remain supported until all | |
166 | decoders have been converted to API version 3. Then, support for API | |
167 | version 2 will be dropped. | |
168 | * Add support for specifying the (assumed) initial pin states before the | |
169 | first sample that is being decoded. This can be set to 0/low, 1/high, or | |
170 | to "use the same value as in the first sample". | |
171 | * Add support for adding multiple instances of a decoder (bug #868). | |
172 | * Introduce a decoders/common facility for code shared between PDs (bug #804). | |
173 | * Supply metadata to all stacked decoders, not just low-level ones (bug #664). | |
174 | * Various Doxygen/documentation improvements. | |
175 | * Factor out a srd_decoder_apiver() internal helper function. | |
176 | * srd_inst_decode(): Return SRD_ERR_ARG if unitsize is 0. | |
177 | * Print error messages when decoders fail load time checks (bug #704). | |
178 | * Fix multiple valgrind warnings (memory leaks and such). | |
179 | * Build system: Sort PD list alphabetically in "make install". | |
180 | * mdio: | |
181 | - Replace PD with a new implementation that also supports Clause 22 and 45. | |
182 | - Improve annotations slightly. | |
183 | * xfp: | |
184 | - Move various constants to common/plugtrx for reusability purposes. | |
185 | * sdcard_{sd,spi}: | |
186 | - Move various constants to common/sdcard for reusability purposes. | |
187 | * usb_request: | |
188 | - Drop hardcoded samplerate (workaround for the fixed bug #664). | |
189 | * spiflash: | |
190 | - Handle CS# transitions, allow variable-length transfers. | |
191 | - Handle "Fast Read Dual I/O" commands. | |
192 | - Add a "format" decoder option. | |
193 | - Implement Release Power-down / Device ID (0xAB) command (bug #845). | |
194 | - Remove hardcoded Macronix references. | |
195 | - Add initial FIDELIX FM25Q32 metadata/support. | |
196 | - Implement WRSR, RDSR2 commands. | |
197 | - Various annotation improvements. | |
198 | * timing: | |
199 | - Add frequency and averaging support. | |
200 | - Disable averaging feature if it's set to zero. | |
201 | - Add edge-edge mode and delta calculation. | |
202 | * midi: | |
203 | - Decode note names and percussion names (e.g. 'G2', 'Tambourine'). | |
204 | - Decode instrument names and drum_kit names (e.g. 'GS Orchestra Kit'). | |
205 | - Handle Polyphonic Pressure / Aftertouch (message 0xAn). | |
206 | - Handle Program Change (message 0xCn). | |
207 | - Handle Channel Pressure / Aftertouch (message 0xDn). | |
208 | - Handle Channel Mode (message 0xBn mm where mm is 120 through 127). | |
209 | - Handle System Common messages (message 0xF1 through 0xF6), including | |
210 | full time code decoding. | |
211 | - SysEx decoding now decodes the 1-3 byte manufacturer field, payload | |
212 | is now displayed as hex. | |
213 | - 'undefined' fields now display the value (e.g. 'undefined 0xf4'). | |
214 | - Add 'MSB' and 'LSB' to many control_functions entries. | |
215 | - Fix "trapped in state X" bug with handle_channel_msg_generic(), | |
216 | though this might be dead code. | |
217 | - Fix bug in sysex_manufacturer_ids; 1-byte manufacturers were not | |
218 | tuples due to missing comma. | |
219 | - Fix bug in SysEx state machine; 0xF7 now sent to handle_sysex_msg(). | |
220 | - Annotations: Provide multiple string versions (shorter and longer ones). | |
221 | - chromatic_notes in list.py was off by 1 octave. | |
222 | - Handle "Running Status" where status byte can be omitted. | |
223 | - SysEx message can be terminated by status byte, not just EOX. | |
224 | - Handle SysReal messages that interrupt in-progress message transmission. | |
225 | - Identify and print garbage / truncated data. | |
226 | - Add 2 new annotations: text-sysreal-verbose and text-error. | |
227 | * usb_power_delivery: | |
228 | - Drop problematic exception in us2samples() function (bug #758). | |
229 | * uart: | |
230 | - Fix a bug in the output for stacked PDs (when there's RX/TX overlap). | |
231 | - Various output formatting improvements (e.g. for ASCII and octal). | |
232 | - Skip frames with invalid start bits. | |
233 | - Emit 2 bytes for 9-bit UART binary output (bug #708). | |
234 | - Default to hex format datavalue annotations. | |
235 | * spi: | |
236 | - Fix binary output for wordsizes > 8 (bug #686). | |
237 | * sdcard_sd: | |
238 | - Don't try to decode commands that are not yet supported. | |
239 | - Always show CMD argument in hex. | |
240 | - Fix incorrect CMD8 annotations. | |
241 | * can: | |
242 | - Add warnings for various invalid bits and fields. | |
243 | - Skip stuff bit inspection where not applicable (bug #656). | |
244 | * eeprom24xx: | |
245 | - Add Xicor X24C02 support. | |
246 | * onewire_link: | |
247 | - Replace PD with a new, improved implementation (bugs #666, #926). | |
248 | - Overdrive speed is now detected automatically. | |
249 | - Some no longer needed decoder options have been dropped. | |
250 | * Various decoders: | |
251 | - Fix some incorrect PD license metadata fields. | |
252 | - Fix typos, whitespace issues and random other cosmetics in some PDs. | |
253 | - Use consistent __init__() format across all PDs. | |
254 | - Move some duplicated code snippets/lists to decoders/common. | |
255 | * Rename the maxim_ds28ea00 decoder to ds28ea00. | |
256 | * Show library versions in the debug output. | |
257 | * configure: Also check for Python 3.6. | |
258 | * configure summary: Show build type (static/shared) and linker flags. | |
259 | * Remove FSF postal address from boiler plate license text. | |
260 | * HACKING: Update URL to Linux kernel coding style. | |
261 | ||
a87daa42 UH |
262 | 0.4.0 (2016-01-29) |
263 | ------------------ | |
264 | ||
265 | Note: This release DOES change the libsigrokdecode public C API. This | |
266 | means it is NOT backwards-compatible and frontends will need updates. | |
267 | ||
268 | * New supported protocol decoders: | |
269 | - adns5020 Bidirectional command and data over an SPI-like protocol | |
270 | - am230x Aosong AM230x/DHTxx/RHTxx humidity/temperature sensor | |
271 | - arm_etmv3 Decode ETM instruction trace packets | |
272 | - arm_itm Trace data from Cortex-M / ARMv7m ITM module | |
273 | - arm_tpiu Filter TPIU formatted trace data into separate streams | |
274 | - eeprom24xx 24xx series I²C EEPROM protocol | |
275 | - em4100 EM4100 100-150kHz RFID protocol | |
276 | - jitter Retrieves the timing jitter between two digital signals | |
277 | - max7219 8-digit LED display driver | |
278 | - mdio Half-duplex sync serial bus for MII management (MAC/PHY) | |
279 | - modbus Modbus RTU protocol for industrial applications | |
280 | - mrf24j40 IEEE 802.15.4 2.4 GHz RF tranceiver chip | |
281 | - nrf24l01 2.4GHz transceiver chip | |
282 | - pwm Analog level encoded in duty cycle percentage | |
283 | - qi Async serial protocol for Qi charger receivers | |
284 | - rfm12 HopeRF RFM12 wireless transceiver control protocol | |
285 | - sdcard_sd Secure Digital card (SD mode) low-level protocol | |
286 | - spdif Serial bus for connecting digital audio devices | |
287 | - stepper_motor Absolute position and movement speed from step/dir | |
288 | - swd Two-wire protocol for debug access to ARM CPUs | |
289 | - tca6408a Texas Instruments TCA6408A 8-bit I²C I/O expander | |
290 | - timing Calculate time between edges | |
291 | - usb_power_delivery USB Power Delivery protocol | |
292 | - usb_request USB (low-speed and full-speed) transaction/request protocol | |
293 | * The 'mx25lxx05d' decoder was renamed to 'spiflash' and made more generic. | |
294 | * arm_itm: | |
295 | - Use objdump instead of addr2line (bug #564). | |
296 | * can: | |
297 | - Emit bit value annotations. | |
298 | - Improve stuff bit annotation placement. | |
299 | * ds1307: | |
300 | - Emit per-bit annotations for registers. | |
301 | - Add more annotation classes (and annotation rows). | |
302 | - Handle register 0x07 (control register). | |
303 | - Handle SRAM register accesses. | |
304 | - Correctly handle address wrap-around. | |
305 | - Warn about (and ignore) non-DS1307 traffic. | |
306 | * edid: | |
307 | - Handle more EDID structure sections. | |
308 | - Add annotation rows. | |
309 | * jitter: | |
310 | - Avoid Unicode string literals (bug #569). | |
311 | * jtag: | |
312 | - Fix/enable OUT_PYTHON output. | |
313 | - Add more annotations, fix a SHIFT-IR/-DR issue. | |
314 | * jtag_stm32: | |
315 | - Fix incorrect handling of registers. | |
316 | - Decode more fields, improve IDCODE handling. | |
317 | - Decode IDCODE contents as strings (not just hex values). | |
318 | * midi: | |
319 | - Fix two incorrect sample numbers. | |
320 | - Update for a change (emit databyte/bits at the same time) in the uart PD. | |
321 | * mrf24j40: | |
322 | - Fix a register address typo. | |
323 | * nunchuk: | |
324 | - Fix inverted button press logic. | |
325 | * pan1321: | |
326 | - Update for a change (emit databyte/bits at the same time) in the uart PD. | |
327 | * onewire_link: | |
328 | - Fix a bug when the samplerate is too low for the PD (bug #357). | |
329 | * parallel: | |
330 | - Enforce that at least one pin must be provided. | |
331 | * pwm: | |
332 | - Avoid Unicode string literals (bug #569). | |
333 | * spi: | |
334 | - OUT_PYTHON docs: Fix order of MISO/MOSI data items. | |
335 | - Tell stacked decoders about missing CS# signal. | |
336 | - Add binary output facilities for MISO/MOSI (bug #424). | |
337 | - Don't decode data lines if CS# isn't asserted (bug #559). | |
338 | - Add a 'TRANSFER' output type. | |
339 | * spiflash: | |
340 | - Implement FAST READ command. | |
341 | - Add a 'chip' option in preparation for supporting more devices. | |
342 | - Fix incorrect 'inputs' field. | |
343 | * tlc5620: | |
344 | - Fix incorrect DAC selection decode, add more annotations. | |
345 | - Only decode the last 11 bits, ignore the rest. | |
346 | - Properly handle LOAD and LDAC based operations. | |
347 | - Handle the case of less than 11 bits in a command. | |
348 | - Add options for per-DAC Vref, show voltages. | |
349 | * uart: | |
350 | - Add signal inversion options 'invert_tx' and 'invert_rx'. | |
351 | - Emit databyte and bits list at the same time to simplify stacked PDs. | |
352 | - Improve sample positions at high data rates. | |
353 | - Handle framing errors better. | |
354 | - Performance-optimize handling of samples when TX and RX are both idle. | |
355 | * usb_packet: | |
356 | - Fix incorrect DATA*/MDATA handling (bug #623). | |
357 | - Handle invalid packets more gracefully (bug #186). | |
358 | - Calculate and check CRC5/CRC16. | |
359 | - Handle errors from usb_signalling. | |
360 | - Handle PREamble transmissions. | |
361 | * usb_request: | |
362 | - Handle transmission timeouts. | |
363 | - Handle PREamble transmissions. | |
364 | * usb_signalling: | |
365 | - Track USB symbol width to compensate frequency errors. | |
366 | - Detect bit stuffing errors. | |
367 | - Handle symbol errors in EOP state. | |
368 | - Use explicit positions for packet start/end (avoids glitches). | |
369 | - Decode RESET and Keep-Alive signalling conditions. | |
370 | - Add option to automatically set signalling speed. | |
371 | - Fix SOP detection after an error condition. | |
372 | - Add signalling states needed after LS PREamble PID. | |
373 | - Detect PREamble PID. | |
374 | * Drop the PD testing framework. It's in the 'sigrok-test' repository now | |
375 | (and is not meant for "end users" or distro packages anyway; it's a pure | |
376 | developer tool/system). This also fixes some PD test related build issues. | |
377 | * Makefile.am: Use libtool's -no-undefined option (fixes MinGW shared build). | |
378 | * Support loading decoders stored in ZIP files. | |
379 | * Updated build requirements: | |
380 | - libglib >= 2.28.0 | |
381 | - Drop obsolete (optional) dependencies: python3-coverage, libsigrok. | |
382 | * README: Use clearer descriptions for the dependencies. | |
383 | * Remove all references to the obsolete sigrok-commits mailing list. | |
384 | * Fix incorrect doxygen comment for srd_decoder_list() function (bug #378). | |
385 | * configure.ac: | |
386 | - Fix a shell portability issue ("==" vs. "="). | |
387 | - Use AM_CFLAGS instead of CFLAGS. | |
388 | - Only link the 'check' library into the unit tests (not the lib). | |
389 | * Unit tests: | |
390 | - Fix out-of-tree build. | |
391 | * libsigrokdecode.pc (pkg-config) file: | |
392 | - Fix an issue related to the Python lib dependencies. | |
393 | - Publish decodersdir variable. | |
394 | * Add "-git-<hash>" suffix to development version numbers. | |
395 | * Pass unitsize per sample chunk (bug #352). | |
396 | * Modernize the whole autotools setup. | |
397 | * Build with _POSIX_C_SOURCE=200112L per default. | |
398 | * Build: Show CC and CFLAGS in configuration summary. | |
399 | * Also look for decoders in XDG data directories. | |
400 | * Restrict Python code to stable ABI subset (PEP 384). | |
401 | * Fix various memory leaks. | |
402 | * Fix an issue with PDs not being properly removed upon unload. | |
403 | * Don't let Python override signal handlers (bug #461). | |
404 | * configure: Also check for Python 3.5 (bug #739). | |
405 | ||
91fe5791 UH |
406 | 0.3.0 (2014-05-06) |
407 | ------------------ | |
408 | ||
409 | Note: This release DOES change the libsigrokdecode public C API. This | |
410 | means it is NOT backwards-compatible and frontends will need updates. | |
411 | ||
412 | * New supported protocol decoders: | |
413 | - guess_bitrate Guess the bitrate/baudrate of a signal | |
414 | - ir_nec NEC infrared remote control protocol | |
415 | - ir_rc5 RC-5 infrared remote control protocol | |
416 | - midi Musical Instrument Digital Interface | |
417 | - parallel Parallel synchronous bus decoder | |
418 | - rgb_led_spi RGB LED string decoder (SPI) | |
419 | - xfp 10 Gigabit Small Form Factor Pluggable Module | |
420 | - z80 Zilog Z80 microprocessor disassembly | |
421 | * Add support for annotation rows, i.e. groups of annotation classes that | |
422 | are supposed to be displayed on the same GUI "row" together. | |
423 | * Add support for the new OUTPUT_BINARY feature, which allows PDs to output | |
424 | decoded data in various file formats (for loading and further processing | |
425 | in other tools, or for direct live piping into other tools). | |
426 | * Add support for the OUTPUT_META output type. This is used by PDs for | |
427 | reporting various data points to the frontends, allowing them to perform | |
428 | various post-processing and statistics tasks on them (e.g. simple counts, | |
429 | average/mean values, min/max values, and so on). | |
430 | * The OUTPUT_PROTO output type is now called OUTPUT_PYTHON. | |
431 | * All protocol decoders: | |
432 | - Bump the 'api_version' field of all decoders to 2. They are no longer | |
433 | compatible (and cannot be used with) older libsigrokdecode versions. | |
434 | - Updates to emit proper annotation classes, annotation sample numbers, | |
435 | and annotation rows for GUI usage (bugs #146, #148, #150, #151, #154, | |
436 | #155, #162, #147, #163, #168, #156, #309, and #344). | |
437 | - Longer and shorter annotations are now supplied for GUI usage (frontends | |
438 | can for example always show the longest annotation per zoom-level). | |
439 | - Extensive protocol information has been moved from the PDs to the wiki. | |
440 | Example: http://sigrok.org/wiki/Protocol_decoder:Uart | |
441 | - Use correct I²C / I²S names in user-visible texts (not I2C/I2S). | |
442 | * dcf77: | |
443 | - Fix a bug in the handling of DCF77 bit 0. | |
444 | - Drop handling of the 'PON' pin, this is not DCF77 related (bug #153). | |
445 | - Fix the data parity check (bug #157). | |
446 | * i2c: | |
447 | - Fix corner case that can yield issues when using triggers on LAs. | |
448 | - Drop unneeded 'addressing' option. | |
449 | - Output bit-exact annotations and data for use by stacked PDs. | |
450 | * i2s: | |
451 | - Add OUTPUT_BINARY support for dumping the decoded data in WAV format. | |
452 | * lpc: | |
453 | - Various fixes to make the PD work better (or at all). | |
454 | - Fix the handling of optional channels. | |
455 | - Make the RESET# pin optional. | |
456 | * onewire_link: | |
457 | - Split 'reset' and 'presence' annotations. | |
458 | * pan1321: | |
459 | - Support the JSEC, JPRO, JAAC, and JSDA commands. | |
460 | - Various internal fixes and improvements. | |
461 | * parallel: | |
462 | - Fix internal use of the obsolete 'metadata' parameter (bug #202). | |
463 | * rtc8564: | |
464 | - Properly handle register 0x06 (weekday) and the 'century' bit. | |
465 | * sdcard_spi: | |
466 | - Emit bit-exact annotations for the register fields that need them. | |
467 | - Fix a Python issue with duplicate keys in a dict (bug #191). | |
468 | * spi: | |
469 | - Either MISO or MOSI can be optional now, but not both (bug #175). | |
470 | - The CS# pin is optional now. If the pin is supplied, it is honored | |
471 | (decoding only happens when the pin is asserted). Otherwise decoding will | |
868fd207 | 472 | use every CLK edge, regardless of CS# state or CS# existence (bug #152). |
91fe5791 UH |
473 | - Rename the 'SCK' pin to the more common 'CLK'. |
474 | - Output bit-exact annotations and data for use by stacked PDs. | |
868fd207 | 475 | - Fix a bug occurring when only MOSI (but not MISO) was supplied. |
91fe5791 UH |
476 | * transitioncounter: |
477 | - Drop the obsolete 'transitioncounter' dummy protocol decoder. | |
478 | * uart: | |
479 | - Fix corner case that can yield issues when using triggers on LAs. | |
480 | - Use 'T' for stop bits and 'P' for parity bits (shortest annotations). | |
481 | - Add a data format selection option. | |
482 | - Annotations for RX and TX are now emitted in different annotation rows. | |
483 | - Either the RX or TX signal can be optional now (but not both). | |
484 | - Fix incorrectly displayed characters (bug #201). | |
485 | - Add support for OUTPUT_BINARY output for RX, TX, or both. | |
486 | - Output bit-exact annotations and data for use by stacked PDs. | |
487 | * uart_dump: | |
488 | - Drop the obsolete 'uart_dump' decoder (the feature is now included | |
489 | in the 'uart' protocol decoder itself via OUTPUT_BINARY). | |
490 | * usb_packet: | |
491 | - The 'usb_protocol' decoder has been renamed to 'usb_packet'. | |
492 | - Various bugfixes and decoding improvements. | |
493 | * usb_signalling: | |
494 | - Fix decoding of individual bits, sample in the middle of bits (bug #158). | |
495 | * libsigrokdecode API changes overview: | |
496 | - Add srd_session_new(), srd_session_destroy(), and a session context. | |
497 | - Add srd_session_metadata_set(). | |
498 | - The name 'probe' has been renamed to 'channel' everywhere. | |
499 | - The lib no longer defineѕ names with _t suffix (POSIX reserved). | |
500 | - Drop the obsolete SRD_MAX_NUM_PROBES. | |
501 | - Add the SRD_CONF_SAMPLERATE config key. | |
502 | - Please see the Doxygen API documentation for further details. | |
503 | * Protocol decoder API: | |
504 | - Metadata is passed to PDs at runtime now (not at decoder start). | |
505 | PDs now have a new optional metadata() method to receive it. | |
506 | - Output types are now registered via Decoder.register(), not Decoder.add(). | |
507 | - The report() method is now obsolete. This kind of information will be | |
508 | passed to the frontends via the OUTPUT_META output type, allowing the | |
509 | frontends to perform various post-processing and statistics tasks. | |
510 | - PDs can now define BINARY_OUTPUT types via the 'binary' tuple. | |
511 | - PDs can now define annotation rows via the 'annotation_rows' tuple. | |
512 | - PD options are now a tuple of dicts. Each option is a dict containing | |
513 | the keys 'id', 'desc', 'def', and 'values'. Valid option types are | |
514 | UTF-8 strings, integers, and floats (bugs #254, #306, #317, #165). | |
515 | - Channels, optional channels, and annotations are now tuples (not lists). | |
516 | - Only load PDs of API version 2, all other versions are incompatible. | |
517 | * srd_inst_channel_set_all(): Report an error if not all channels required | |
518 | by the respective protocol decoder have been supplied. | |
519 | * Remove some internal limitations to max. 64 channels (bug #120). | |
520 | * Add a unit test suite framework for libsigrokdecode ('make check'). | |
521 | * Add a protocol decoder test-suite framework for developers (tests/pdtest). | |
522 | * Various bugfixes: | |
523 | - srd_inst_option_set(): Properly return an error on exceptions. | |
524 | - srd_inst_option_set(): Fix setting of instance options, caused by class | |
525 | variable clobbering or releasing borrowed references (bugs #170, #174). | |
526 | - srd_decoder_load(): Error out upon invalid module names (bug #176). | |
527 | - srd_decoder_load(): Don't try to load an already loaded PD twice. | |
528 | - srd_decoder_load_all(): Avoid issues without prior srd_init() (bug #178). | |
529 | - srd_decoder_doc_get(): Fix an issue in the unit test suite (bug #179). | |
530 | - srd_pd_output_callback_add(): Honor cb_data value (bug #143). | |
531 | - Fix issues with PDs not getting the samplerate (bugs #97, #132, #166). | |
532 | - Don't incorrectly decrease a borrowed reference (bug #177). | |
533 | - Fix various memory leaks and segfault conditions. | |
534 | * Build system: | |
535 | - Use pkg-config (not python3-config) to check for Python libs. | |
536 | This enables (better) libsigrokdecode cross-compile support. | |
537 | - PDs no longer have an extra Makefile.am, and 'make install' now | |
538 | happens via a Python script. | |
539 | - configure: Clearly mark required and optional libs. | |
540 | - Fix an issue with DESTDIR support (bug #215). | |
541 | - Add the HACKING file to the tarball. | |
542 | * Updated or new build-time and runtime requirements: | |
543 | - Python >= 3.2 (required) | |
544 | - check >= 0.9.4 (optional, only needed for the libsigrokdecode testsuite) | |
545 | - libsigrok >= 0.3.0 (optional, only needed for the developer PD testsuite) | |
546 | - python3-coverage (optional, only needed for the developer PD testsuite) | |
547 | * New 'make install'-time requirement: | |
548 | - Python >= 3.2 (required) | |
549 | ||
10b38516 BV |
550 | 0.2.0 (2013-05-04) |
551 | ------------------ | |
552 | ||
91fe5791 UH |
553 | Note: This release DOES change the libsigrokdecode public C API. This |
554 | means it is NOT backwards-compatible and frontends will need updates. | |
555 | ||
3d0530ef UH |
556 | * New supported protocol decoders: |
557 | - Dallas DS1307 RTC | |
558 | * Library: Decoders now expose their options via the GSList *options field | |
559 | in struct srd_decoder. | |
cdf156ba UH |
560 | * API related changes: |
561 | - Various API documentation fixes. | |
562 | - srd_decoder_list() now returns 'const GSList *' instead of 'GSList *'. | |
563 | - Added new srd_strerror() and srd_strerror_name() API calls. | |
3d0530ef | 564 | * Added support for optional probes for PDs. |
10b38516 | 565 | |
d71834ac | 566 | 0.1.1 (2013-01-27) |
90a31a01 UH |
567 | ------------------ |
568 | ||
91fe5791 UH |
569 | Note: This release does NOT change the libsigrokdecode public C API. This |
570 | means existing libsigrokdecode frontends should not require any changes. | |
571 | However, individual PDs and their output changed, which may require | |
572 | some adaptations on the user's side in some cases. | |
573 | ||
90a31a01 UH |
574 | * New supported protocol decoders: |
575 | - avr_isp AVR In-System Programming | |
576 | - can Controller Area Network | |
577 | - jtag Joint Test Action Group (IEEE 1149.1) | |
578 | - jtag_stm32 Joint Test Action Group / ST STM32 | |
579 | - lm75 National LM75 | |
580 | - lpc Low-Pin-Count | |
581 | - maxim_ds28ea00 Maxim DS28EA00 1-Wire digital thermometer | |
582 | - onewire_link 1-Wire serial communication bus (link layer) | |
583 | - onewire_network 1-Wire serial communication bus (network layer) | |
584 | - sdcard_spi Secure Digital card (SPI mode) | |
585 | - tlc5620 Texas Instruments TLC5620 | |
586 | - uart_dump UART dump | |
587 | * i2cfilter: Now outputs 'i2c' packets instead of just data bytes, so | |
588 | other PDs can stack on top of it. It filters by I2C slave address. | |
589 | * edid: Now takes 'i2c' packets as input. | |
590 | * pan1321: | |
591 | - Various bugfixes to make the PD actually work. | |
592 | - Now features 'Text (short)' and 'Text (verbose)' outputs. | |
593 | * usb: | |
594 | - The PD is split into 'usb_signalling' and 'usb_protocol' (stacked on top). | |
595 | - Various bugfixes to make the PD work (better). | |
596 | - The DP/DM probes were swapped, this is now fixed. | |
597 | - Preliminary support for USB low-speed (in addition to full-speed). | |
598 | * mlx90614: Minor bugfixes. | |
599 | * dcf77: | |
600 | - Major bugfix, this PD was not working correctly at all. | |
601 | - Handle PON signal. | |
602 | * nunchuk: Complete rewrite, works (better) now. | |
603 | * spi: Update docs, send CS# change packets, change output API slightly. | |
604 | If you have a PD which stacks on top of SPI, it'll need to be adapted. | |
605 | The PDs that ship with libsigrokdecode are updated already. | |
606 | * mx25lxx05d: | |
607 | - Implement support for the READ, RDSR, and PP commands. | |
608 | - Decode status register bits. | |
609 | - Fix SE command handling. | |
610 | - Fix inverted SRWD bit handling. | |
611 | * Various smaller style and consistency changes in code and PD descriptions. | |
612 | * Fix the build with Homebrew on Mac OS X. | |
613 | * Performance improvements in some PDs. | |
614 | * Documentation: Update website and git URLs. | |
615 | * pkg-config file: Small fix to improve behaviour on Windows with cmake. | |
a860b7cc | 616 | * All PD implementation files are now named 'pd.py' consistently. |
90a31a01 UH |
617 | * configure script: |
618 | - Also check for python3.3-config in addition to python-config and others. | |
619 | - Add missing -fvisibility=hidden to default CFLAGS. | |
620 | - Fix CFLAGS handling (configure.ac amends CFLAGS, doesn't overwrite now). | |
a860b7cc UH |
621 | * The minimum required glib version is 2.24.0 now. |
622 | * We now ship a standard INSTALL file which documents the 'configure' options. | |
90a31a01 | 623 | |
6b249180 | 624 | 0.1.0 (2012-04-17) |
dc17bafa UH |
625 | ------------------ |
626 | ||
627 | * Initial release. | |
628 |