-
Notifications
You must be signed in to change notification settings - Fork 2
/
NEWS
320 lines (228 loc) · 12.6 KB
/
NEWS
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
$Id: NEWS,v 1.17 2006/10/15 12:09:02 airborne Exp $
This file describes the external changes and important bug fixes
between different libcddb releases. These changes might impact the
programs that use this library. It does not describe every single
change made to the code tree. An overview of the CVS changes can be
found in the Changelog file.
CHANGES 1.2.2 -> 1.3.0
* [IMPORTANT] The text search functionality currently does not work
anymore. This feature uses the search form on the freedb.org
website. But since this form has disappeared, text search fails.
In the mean time you might make use of the album command of the
freedb2.org servers (see below).
* [NEW] Support was added for the 'album' command of the freedb2.org
servers. This feature can be used to do a text search for a certain
album. It does not perform any HTML page parsing but uses an
extension of the CDDB protocol. As input the function needs a disc
with either the artist or title filled in. The results are similar
as for the query command; i.e. a list of matching disc IDs together
with their categories. The example program also supports this
feature.
* [NEW] Functions where added to set (libcddb_set_flags) or reset
(libcddb_reset_flags) some flags. The flags used influence the
behaviour of the library. By default all flags are disabled.
Currently the following flags are available:
- CDDB_F_EMPTY_STR: When this flag is set, the library will never
return a NULL pointer for a string. Instead the empty string will
be returned.
- CDDB_F_NO_TRACK_ARTIST: When this flag is set, the library will
not return the disc artist if the track artist is undefined. A
NULL pointer (or the empty string if CDDB_F_EMPTY_STR is set) will
be returned instead.
CHANGES 1.2.1 -> 1.2.2
* [BUGFIX] Correctly specify the character set (UTF-8) when submitting
data to a server.
CHANGES 1.2.0 -> 1.2.1
* [NEW] It is now possible to fine tune the text search by specifying
which fields and categories to consider.
* [BUGFIX] Fixed cddb_sites function returning random values due to
uninitialized value.
* [UPDATE] The value of the LIBCDDB_VERSION_NUM defined variable is
now 121.
CHANGES 1.1.0 -> 1.2.0
* [NEW] Support for searching the FreeDB database using a text string
has been added. This feature has a similar API as the query
command but uses a string instead of actual disc data.
* [UPDATE] The value of the LIBCDDB_VERSION_NUM defined variable is
now 120.
CHANGES 1.0.2 -> 1.1.0
* [IMPORTANT] The installed header files now no longer contain any
actual structure definitions. All libcddb structures are now truly
opaque for the user of the library. Some of the structures have
also been updated. This means that the library is not binary
compatible with the previous version. It should however be possible
to just recompile any software using libcddb and link it against
this new library. The API is backwards compatible so no changes to
the software should be necessary.
* [NEW] Support for the FreeDB sites command that can be used to get a
list of mirror servers. A function was also added to initialize the
libcddb server connection data using one of the servers returned by
this command
* [NEW] A new error code was added (CDDB_ERR_INVALID) that is returned
when invalid input parameters are passed to one of the library
functions.
* [UPDATE] The value of the LIBCDDB_VERSION_NUM defined variable is
now 110.
CHANGES 1.0.1 -> 1.0.2
* [NEW] Added cddb_set_http_proxy_credentials function that allows you
to specify proxy user name and password in one go. It also does not
store the user's credentials as cleartext in memory.
* [FIX] An extra error code/message has been added to signal proxy
authentication failure.
CHANGES 1.0.0 -> 1.0.1
* [NEW] Added --without-cdio option to the configure script so you can
manually disable CD access support for the example program.
* Fixed iconv compiler warnings for Solaris and Cygwin.
* Fixed regex compilation issue on MacOS X.
CHANGES 0.9.6 -> 1.0.0
* [NEW] Added support for proxy authentication.
* [BUGFIX] Memory leaks fixed in regular expression handling.
* Iconv compilation fixes for Solaris.
CHANGES 0.9.5 -> 0.9.6
* Libcddb now uses the FreeDB protocol version 6. The difference with
version 5 is that now the responses from the FreeDB server are in
UTF-8 format instead of ISO8859-1. So if the CD you query contains
non-US-ASCII characters the results will be different in this new
version of libcddb.
* [NEW] It is now possible to set the character set that libcddb has
to use when returning disc data (see also above). Use the
cddb_set_charset function to set the user's character set. The
example program, cddb_query, now also has a command-line option for
specifying the character set.
* [BUGFIX] FreeDB changed the specs of their CDDB file format. The
results for certain discs failed to parse correctly because the
libcddb parser was too strict. This should be fixed now.
* [BUGFIX] When writing disc to cache, fill in category if genre is
not specified.
* [BUGFIX] When in CACHE_ONLY mode, do not perform network access when
writing disc record.
CHANGES 0.9.4 -> 0.9.5
* It is now possible to query CD entries if you only know the track
length. Previous versions of libcddb needed the track offsets from
the CD. Track offsets will be calculated automatically when a
length is specified and the offset is missing. This is less precise
than using the actual frame offsets. So whenever possible use the
offsets instead.
* Fixed some possible buffer overflows. The internal buffer size has
also been increased from 257 to 1024 bytes. It is now also possible
to change this buffer size in the cddb_cmd.h.
* Updated regression tests with less strict testing. Changes in the
queried CDDB entries should no longer trigger a test failure.
* Improved support for Win32 platforms (thx to Rocky Bernstein).
* Improved support for Mac OS X (thx to Rocky Bernstein and Derk-Jan
Hartman).
* It is now possible to specify the CD-ROM device to be used in the
example program.
CHANGES 0.9.3 -> 0.9.4
* The libcddb now installs a pkg-config(1) configuration file.
* Support for tilde-expansion (~) in the local cache directory has
been added. If the cache directory starts wit a tilde and the $HOME
environment variable is defined, then the tilde will be replaced by
the value of $HOME.
* All the networking code (DNS query, connect, read, write) now
supports time-outs to prevent blocking indefinitely. By default
this time-out is set to ten seconds. See the cddb_conn_t structure
for more information.
* A logging framework was added. This framework supports different
log levels and provides the possibility to install a custom log
handler. (based on a similar framework in libcdio, thx Rocky)
Because of this new framework, the --enable-debug configure
parameter has been obsoleted by --enable-loglevel=LVL.
* Added support for extended disc and track data. The parsing has
been updated and getters and setters were added to the disc and
track structures.
* If the DTITLE field of a CDDB entry does not contain both an artist
name and a disc title, libcddb assumes that they are equal.
* Extra regression tests were updated and added. The test framework
was also improved to skip proxy tests if the http_proxy environment
variable is not defined.
CHANGES 0.9.2 -> 0.9.3
* [SECURITY] The default values for the user name and the host name
that is used when contacting a CDDB server have been changed to
'anonymous@localhost'. Libcddb used to take the values from the
$USER and $HOSTNAME environment variables if they were present.
This would reveal confidential information about a user without that
person knowing it. It is still necessary to use a valid e-mail
address when submitting a new or updated CDDB entry to the server.
The libcddb write command will fail if the default value are still
present.
* Extra regression tests were added to test caching behaviour.
* Some getters and setters were added for fields in the connection
structure.
* It is now possible to customize the program name and version that is
used when contacting a CDDB server. This used to default to
'libcddb' and the version number of the library being used. Now it
is possible for a developer to use the name of the program using the
library.
CHANGES 0.9.1 -> 0.9.2
* [BUGFIX] There was a problem with multi-line track titles. The
title was being appended to title of the disc instead of to the one
from the track. This should now work correctly.
* [BUGFIX] The parsing state machine did not correctly detect the end
of the stream if there was no extended data present. This has been
fixed by putting the state machine in the STOP state when the end of
the stream is encountered.
* [BUGFIX] Fixed some memory leaks reported by Valgrind.
* The example program now returns the libcddb error code when exiting
after a failure. Proxy support has also been implemented.
* The regression tests have been expanded to include scripts that test
the libcddb CDDB entry parser and networking code. These networking
tests need Internet connectivity and a working proxy server enabled
through the http_proxy environment variable.
CHANGES 0.9.0 -> 0.9.1
* A Gentoo Linux ebuild file has been added in the misc/ directory.
* It is now possible to delete a disc/track title and artist name by
setting it to NULL using one of the set functions for these fields.
* [BUGFIX] In the previous release, when reusing a CDDB disc structure
for subsequent read operations, the disc and artist name were
appended to what was already present in the structure. This has
been fixed by reseting those strings before setting the new values.
* The example program has been improved. It now supports two extra
commands. One can be used to calculate the disc ID. The other will
query a CDDB server and report any matches that are found. Support
was also added to retrieve the necessary disc information from a CD
in the CD-ROM drive. To use this feature you will need an extra
library, i.e. libcdio. Information about this library can be found
at: http://savannah.nongnu.org/projects/libcdio/.
* Extra getters and setters were added and the documentation of other
library functions has been updated.
CHANGES 0.1.6 -> 0.9.0
* The src/ directory has been removed from the distribution. But a
new examples/ directory was added. Currently the example program
only supports the CDDB read command. This example will be expanded
in order to demonstrate every public function of the library.
* Local CDDB cache semantics have been expanded. Next to the option
to enable and disable caching that was already present, it is now
also possible to force the use of the cache. When this
functionality is enabled and an entry is not found in the local
cache a CDDB_ERR_DISC_NOT_FOUND error is returned. Three functions
have also been added to set the desired caching mode:
- cddb_cache_enable(c)
- cddb_cache_only(c)
- cddb_cache_disable(c)
All three functions expect a CDDB connection structure as a
parameter.
* Several get and set functions have been added to the API. It is my
intention to have such functions for every possible field that a
user is allowed to alter in the different library structures. This
will prevent problems in the future if the internal structures
should change.
* When the length of a CD track is not set when you call the
cddb_track_get_length function, it will be calculated. The
calculation uses the frame offsets of the current and next track and
possibly the disc length. The current implementation does not do
any rounding of the calculated value to the nearest second.
Therefore it is possible that the sum of the track lengths does not
equal the disc length. If the length can not be calculated -1 is
returned.
* The network access code has been rewritten to use the network
sockets directly instead of wrapping them in file descriptors. This
should enable BeOS users to use the library without having to change
any code. I don not have a BeOS system myself and am still waiting
for a confirmation whether the changes were enough.
* Support has been added for reading CDDB entries that have
multi-lined fields. Support to also split certain fields into
multiple lines when writing them (to the network or disc) is not yet
present. The FreeDB spec states that no line should be longer than
256 characters. This limit is not yet checked.
* Support to parse the year field of a CDDB entry has been added.