]> sigrok.org Git - libsigrokdecode.git/blame - NEWS
log: Use GLib printf for consistency
[libsigrokdecode.git] / NEWS
CommitLineData
91fe5791
UH
10.3.0 (2014-05-06)
2------------------
3
4Note: This release DOES change the libsigrokdecode public C API. This
5means it is NOT backwards-compatible and frontends will need updates.
6
7 * New supported protocol decoders:
8 - guess_bitrate Guess the bitrate/baudrate of a signal
9 - ir_nec NEC infrared remote control protocol
10 - ir_rc5 RC-5 infrared remote control protocol
11 - midi Musical Instrument Digital Interface
12 - parallel Parallel synchronous bus decoder
13 - rgb_led_spi RGB LED string decoder (SPI)
14 - xfp 10 Gigabit Small Form Factor Pluggable Module
15 - z80 Zilog Z80 microprocessor disassembly
16 * Add support for annotation rows, i.e. groups of annotation classes that
17 are supposed to be displayed on the same GUI "row" together.
18 * Add support for the new OUTPUT_BINARY feature, which allows PDs to output
19 decoded data in various file formats (for loading and further processing
20 in other tools, or for direct live piping into other tools).
21 * Add support for the OUTPUT_META output type. This is used by PDs for
22 reporting various data points to the frontends, allowing them to perform
23 various post-processing and statistics tasks on them (e.g. simple counts,
24 average/mean values, min/max values, and so on).
25 * The OUTPUT_PROTO output type is now called OUTPUT_PYTHON.
26 * All protocol decoders:
27 - Bump the 'api_version' field of all decoders to 2. They are no longer
28 compatible (and cannot be used with) older libsigrokdecode versions.
29 - Updates to emit proper annotation classes, annotation sample numbers,
30 and annotation rows for GUI usage (bugs #146, #148, #150, #151, #154,
31 #155, #162, #147, #163, #168, #156, #309, and #344).
32 - Longer and shorter annotations are now supplied for GUI usage (frontends
33 can for example always show the longest annotation per zoom-level).
34 - Extensive protocol information has been moved from the PDs to the wiki.
35 Example: http://sigrok.org/wiki/Protocol_decoder:Uart
36 - Use correct I²C / I²S names in user-visible texts (not I2C/I2S).
37 * dcf77:
38 - Fix a bug in the handling of DCF77 bit 0.
39 - Drop handling of the 'PON' pin, this is not DCF77 related (bug #153).
40 - Fix the data parity check (bug #157).
41 * i2c:
42 - Fix corner case that can yield issues when using triggers on LAs.
43 - Drop unneeded 'addressing' option.
44 - Output bit-exact annotations and data for use by stacked PDs.
45 * i2s:
46 - Add OUTPUT_BINARY support for dumping the decoded data in WAV format.
47 * lpc:
48 - Various fixes to make the PD work better (or at all).
49 - Fix the handling of optional channels.
50 - Make the RESET# pin optional.
51 * onewire_link:
52 - Split 'reset' and 'presence' annotations.
53 * pan1321:
54 - Support the JSEC, JPRO, JAAC, and JSDA commands.
55 - Various internal fixes and improvements.
56 * parallel:
57 - Fix internal use of the obsolete 'metadata' parameter (bug #202).
58 * rtc8564:
59 - Properly handle register 0x06 (weekday) and the 'century' bit.
60 * sdcard_spi:
61 - Emit bit-exact annotations for the register fields that need them.
62 - Fix a Python issue with duplicate keys in a dict (bug #191).
63 * spi:
64 - Either MISO or MOSI can be optional now, but not both (bug #175).
65 - The CS# pin is optional now. If the pin is supplied, it is honored
66 (decoding only happens when the pin is asserted). Otherwise decoding will
868fd207 67 use every CLK edge, regardless of CS# state or CS# existence (bug #152).
91fe5791
UH
68 - Rename the 'SCK' pin to the more common 'CLK'.
69 - Output bit-exact annotations and data for use by stacked PDs.
868fd207 70 - Fix a bug occurring when only MOSI (but not MISO) was supplied.
91fe5791
UH
71 * transitioncounter:
72 - Drop the obsolete 'transitioncounter' dummy protocol decoder.
73 * uart:
74 - Fix corner case that can yield issues when using triggers on LAs.
75 - Use 'T' for stop bits and 'P' for parity bits (shortest annotations).
76 - Add a data format selection option.
77 - Annotations for RX and TX are now emitted in different annotation rows.
78 - Either the RX or TX signal can be optional now (but not both).
79 - Fix incorrectly displayed characters (bug #201).
80 - Add support for OUTPUT_BINARY output for RX, TX, or both.
81 - Output bit-exact annotations and data for use by stacked PDs.
82 * uart_dump:
83 - Drop the obsolete 'uart_dump' decoder (the feature is now included
84 in the 'uart' protocol decoder itself via OUTPUT_BINARY).
85 * usb_packet:
86 - The 'usb_protocol' decoder has been renamed to 'usb_packet'.
87 - Various bugfixes and decoding improvements.
88 * usb_signalling:
89 - Fix decoding of individual bits, sample in the middle of bits (bug #158).
90 * libsigrokdecode API changes overview:
91 - Add srd_session_new(), srd_session_destroy(), and a session context.
92 - Add srd_session_metadata_set().
93 - The name 'probe' has been renamed to 'channel' everywhere.
94 - The lib no longer defineѕ names with _t suffix (POSIX reserved).
95 - Drop the obsolete SRD_MAX_NUM_PROBES.
96 - Add the SRD_CONF_SAMPLERATE config key.
97 - Please see the Doxygen API documentation for further details.
98 * Protocol decoder API:
99 - Metadata is passed to PDs at runtime now (not at decoder start).
100 PDs now have a new optional metadata() method to receive it.
101 - Output types are now registered via Decoder.register(), not Decoder.add().
102 - The report() method is now obsolete. This kind of information will be
103 passed to the frontends via the OUTPUT_META output type, allowing the
104 frontends to perform various post-processing and statistics tasks.
105 - PDs can now define BINARY_OUTPUT types via the 'binary' tuple.
106 - PDs can now define annotation rows via the 'annotation_rows' tuple.
107 - PD options are now a tuple of dicts. Each option is a dict containing
108 the keys 'id', 'desc', 'def', and 'values'. Valid option types are
109 UTF-8 strings, integers, and floats (bugs #254, #306, #317, #165).
110 - Channels, optional channels, and annotations are now tuples (not lists).
111 - Only load PDs of API version 2, all other versions are incompatible.
112 * srd_inst_channel_set_all(): Report an error if not all channels required
113 by the respective protocol decoder have been supplied.
114 * Remove some internal limitations to max. 64 channels (bug #120).
115 * Add a unit test suite framework for libsigrokdecode ('make check').
116 * Add a protocol decoder test-suite framework for developers (tests/pdtest).
117 * Various bugfixes:
118 - srd_inst_option_set(): Properly return an error on exceptions.
119 - srd_inst_option_set(): Fix setting of instance options, caused by class
120 variable clobbering or releasing borrowed references (bugs #170, #174).
121 - srd_decoder_load(): Error out upon invalid module names (bug #176).
122 - srd_decoder_load(): Don't try to load an already loaded PD twice.
123 - srd_decoder_load_all(): Avoid issues without prior srd_init() (bug #178).
124 - srd_decoder_doc_get(): Fix an issue in the unit test suite (bug #179).
125 - srd_pd_output_callback_add(): Honor cb_data value (bug #143).
126 - Fix issues with PDs not getting the samplerate (bugs #97, #132, #166).
127 - Don't incorrectly decrease a borrowed reference (bug #177).
128 - Fix various memory leaks and segfault conditions.
129 * Build system:
130 - Use pkg-config (not python3-config) to check for Python libs.
131 This enables (better) libsigrokdecode cross-compile support.
132 - PDs no longer have an extra Makefile.am, and 'make install' now
133 happens via a Python script.
134 - configure: Clearly mark required and optional libs.
135 - Fix an issue with DESTDIR support (bug #215).
136 - Add the HACKING file to the tarball.
137 * Updated or new build-time and runtime requirements:
138 - Python >= 3.2 (required)
139 - check >= 0.9.4 (optional, only needed for the libsigrokdecode testsuite)
140 - libsigrok >= 0.3.0 (optional, only needed for the developer PD testsuite)
141 - python3-coverage (optional, only needed for the developer PD testsuite)
142 * New 'make install'-time requirement:
143 - Python >= 3.2 (required)
144
10b38516
BV
1450.2.0 (2013-05-04)
146------------------
147
91fe5791
UH
148Note: This release DOES change the libsigrokdecode public C API. This
149means it is NOT backwards-compatible and frontends will need updates.
150
3d0530ef
UH
151 * New supported protocol decoders:
152 - Dallas DS1307 RTC
153 * Library: Decoders now expose their options via the GSList *options field
154 in struct srd_decoder.
cdf156ba
UH
155 * API related changes:
156 - Various API documentation fixes.
157 - srd_decoder_list() now returns 'const GSList *' instead of 'GSList *'.
158 - Added new srd_strerror() and srd_strerror_name() API calls.
3d0530ef 159 * Added support for optional probes for PDs.
10b38516 160
d71834ac 1610.1.1 (2013-01-27)
90a31a01
UH
162------------------
163
91fe5791
UH
164Note: This release does NOT change the libsigrokdecode public C API. This
165means existing libsigrokdecode frontends should not require any changes.
166However, individual PDs and their output changed, which may require
167some adaptations on the user's side in some cases.
168
90a31a01
UH
169 * New supported protocol decoders:
170 - avr_isp AVR In-System Programming
171 - can Controller Area Network
172 - jtag Joint Test Action Group (IEEE 1149.1)
173 - jtag_stm32 Joint Test Action Group / ST STM32
174 - lm75 National LM75
175 - lpc Low-Pin-Count
176 - maxim_ds28ea00 Maxim DS28EA00 1-Wire digital thermometer
177 - onewire_link 1-Wire serial communication bus (link layer)
178 - onewire_network 1-Wire serial communication bus (network layer)
179 - sdcard_spi Secure Digital card (SPI mode)
180 - tlc5620 Texas Instruments TLC5620
181 - uart_dump UART dump
182 * i2cfilter: Now outputs 'i2c' packets instead of just data bytes, so
183 other PDs can stack on top of it. It filters by I2C slave address.
184 * edid: Now takes 'i2c' packets as input.
185 * pan1321:
186 - Various bugfixes to make the PD actually work.
187 - Now features 'Text (short)' and 'Text (verbose)' outputs.
188 * usb:
189 - The PD is split into 'usb_signalling' and 'usb_protocol' (stacked on top).
190 - Various bugfixes to make the PD work (better).
191 - The DP/DM probes were swapped, this is now fixed.
192 - Preliminary support for USB low-speed (in addition to full-speed).
193 * mlx90614: Minor bugfixes.
194 * dcf77:
195 - Major bugfix, this PD was not working correctly at all.
196 - Handle PON signal.
197 * nunchuk: Complete rewrite, works (better) now.
198 * spi: Update docs, send CS# change packets, change output API slightly.
199 If you have a PD which stacks on top of SPI, it'll need to be adapted.
200 The PDs that ship with libsigrokdecode are updated already.
201 * mx25lxx05d:
202 - Implement support for the READ, RDSR, and PP commands.
203 - Decode status register bits.
204 - Fix SE command handling.
205 - Fix inverted SRWD bit handling.
206 * Various smaller style and consistency changes in code and PD descriptions.
207 * Fix the build with Homebrew on Mac OS X.
208 * Performance improvements in some PDs.
209 * Documentation: Update website and git URLs.
210 * pkg-config file: Small fix to improve behaviour on Windows with cmake.
a860b7cc 211 * All PD implementation files are now named 'pd.py' consistently.
90a31a01
UH
212 * configure script:
213 - Also check for python3.3-config in addition to python-config and others.
214 - Add missing -fvisibility=hidden to default CFLAGS.
215 - Fix CFLAGS handling (configure.ac amends CFLAGS, doesn't overwrite now).
a860b7cc
UH
216 * The minimum required glib version is 2.24.0 now.
217 * We now ship a standard INSTALL file which documents the 'configure' options.
90a31a01 218
6b249180 2190.1.0 (2012-04-17)
dc17bafa
UH
220------------------
221
222 * Initial release.
223