core: Prepare NEWS file for release 0.4.6
[profile/ivi/rygel.git] / NEWS
1 0.4.6
2 =====
3
4 Brief summary of changes since 0.4.4:
5
6 - Implement optional UPnP Search action. This is not only a must have feature
7   for a commercial MediaServer but is also a big first step towards proper
8   XBox 360 support.
9 - Simplify Browse action handling.
10 - Simplify MediaServer plugin implementation.
11 - Make sure autostart dir exists before attempting to write to it.
12 - Fix a potential crash that is trigered by MediaContainer reporting incorrect
13   (higher) number of children.
14 - External:
15   - Work around (vala) bug#602003.
16   - Optimizations and code clean-ups.
17 - Tracker:
18   - Provide an efficient Search implementation using Tracker's search API.
19   - Minor code clean-ups.
20
21 Dependency-related changes:
22
23 - Require gupnp-av >= 0.5.2.
24 - Require gupnp-vala >= 0.6.2.
25 - Require valac >= 0.7.9.
26
27 Bugs fixed in this release:
28
29 600256 - Segfault when trying to access a stream
30
31 All contributors to this release:
32
33 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
34
35 0.4.4
36 =====
37
38 Brief summary of changes since 0.4.2:
39
40 - Provide a gstreamer-based MediaRenderer plugin. This is mostly code stolen (
41   and heavily adapted) from gupnp-media-renderer except that it doesn't depend
42   on libowl-av and/or gtk+.
43 - More ease for MediaServer implementors.
44 - Better error handling.
45 - Make sure no message is suppressed until we know what level of console output
46   user wants.
47 - Make use of vala's async support to simplify code quite a bit.
48 - Plugins should load xml files from source tree when built with
49   '--enable-uninstalled' configure flag.
50 - Build with no optimizations in debug mode.
51 - Use closure table to speed up object lookup and deletion.
52 - Add build option for SQL debugging.
53 - Workaround a crasher bug (#3774) in sqlite 3.6.12.
54 - Use vala's static client D-Bus syntax.
55 - Early ignorance of disabled plugins. This not only speeds-up startup a bit but
56   also rids us of redundant debug messages.
57 - MediaExport:
58   - Nicely handle unavailability of gstreamer's playbin(2) element.
59   - Fix a potential crasher.
60 - Tracker:
61   - Use multidimensional arrays to deal with search results. This combined with
62     static client D-Bus syntax gives us quite a speed boost.
63   - Handle item creation error.
64 - External:
65   - Allow applications to provide custom thumbnails for items.
66   - Support pixel-aspect-ratio properties.
67   - All D-Bus operations are now done asynchronously.
68   - Make use of plugin icon if provided.
69   - Move magic string substitution to core so other plugins can benefit from it.
70 - Lots of other improvements and bug fixes.
71
72 Dependency-related changes:
73
74 - Require and adapt to libgee >= 0.5.
75 - Require and adapt to valac >= 0.7.8.
76
77 Bugs fixed in this release:
78
79 597276 - Rygel crash on startup
80 587649 - thumbnails not published for external media servers
81 589959 - External plugin should query media servers on demand
82 598005 - unable to load media-tracker plugin
83
84 All contributors to this release:
85
86 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
87 Jens Georg <mail@jensge.org>
88 Thijs Vermeir <thijsvermeir@gmail.com>
89
90 0.4.2
91 =====
92
93 Brief summary of changes since 0.4.1:
94
95 - Ability to specify verbosity of console messages by a number between 0 to 5.
96 - Be able to survive unavailability of D-Bus session bus. This should make it
97   easier to setup Rygel on headless NAS machines.
98 - MediaExport:
99   - Provide duration and date of media.
100   - Improved guessing for type (UPnP class) of media.
101   - Re-harvest metadata when a file/directory is modified.
102   - Speed-up browsing (twice as before).
103 - rygel-preferences:
104   - Fix enabling/disabling of widgets.
105   - Copy the desktop file from correct location.
106 - Mediathek and GstLaunch disabled by default in the user configuration.
107 - Add GstLaunch to maemo configuration (disabled by default though).
108 - Put dbus-glib-1 to the list of vala API dependencies.
109 - Fix seek headers.
110 - Be more verbose at the end of configure.
111
112 Bugs fixed in this release:
113
114 596500 - Mpeg TS video files are mistaken for audio files
115 596213 - Wrong state for checkboxes
116 596327 - Enables some weird plugins by default
117 596330 - Missing some metadata
118
119 All contributors to this release:
120
121 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
122 Jens Georg <mail@jensge.org>
123
124 0.4.1
125 =====
126
127 A micro release that fixes some important issues found in the previous release:
128
129 - Update the Rygel D-Bus service paths everywhere.
130 - Ignore two ignorable errors.
131 - Initialize sensitivity of trancoding checkboxes to the same value as that of
132   "Transcoding Support" checkbox.
133 - Fix seeking in transcoded streams. Without this fix, the success of seeking
134   was based on pure luck.
135 - Correct headers in some files to reflect the correct license: LGPL.
136 - No need for DVB configuration anymore.
137
138 Bugs fixed in this release:
139
140 596211 - Error exiting the prefs
141 596213 - Wrong state for checkboxes
142
143 All contributors to this release:
144
145 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
146 Jens Georg <mail@jensge.org>
147 René Stadler <mail@renestadler.de>
148
149 0.4
150 ===
151
152 Brief summary of changes since 0.3:
153
154 - Rygel is no more just a MediaServer but rather a collection of DLNA (UPnP AV)
155   services (devices in UPnP speak).
156 - Port to new GUPnP APIs. The biggest advantage of that is that we now have
157   dynamic network support, i-e Rygel can attach/detach to/from a network
158   interface as it goes up/down.
159 - Support for time-based seeking in transcoded streams.
160 - Random tweaks to transcoding pipelines.
161 - Provide a DBus service providing two functionalities:
162    * Ability to tell Rygel to shutdown. Starting of Rygel is automatically
163      handled by D-Bus since a .service file is provided by Rygel.
164    * Ability to tell Rygel (MediaExport plugin actually) to (un)export URIs on
165      the fly.
166 - Implement enabling/disabling of UPnP in the preferences.
167 - Configuration through command-line options.
168 - Use a .ini configuration file rather than gconf.
169 - Special default configuration for Maemo.
170 - Don't spam the user's config directory and instead keep the description files
171   into a separate subdirectory.
172 - `make clean` doesn't clean the generated C files anymore.
173 - Remove "all rights reserved" part from all copyright headers.
174 - Remove integrated DVB plugin as DVBDaemon now implements the external plugin
175   interface and hence dynamically glues to Rygel, just like PulseAudio.
176 - New classes to further ease the plugin implementation.
177 - (Un)pause the SoupMessage at the right time. This was causing a lot of delays
178   when playing media on Sony PS3.
179 - Bitrate is supposed to be in bytes/second. Not really but tell that to writers
180   of UPnP specification.
181 - Expose transcode formats in the GetProtocolInfo's source argument. This should
182   make Sony Bravia TVs happy.
183 - Transcoder URIs are now sorted according to their distance from the original
184   format.
185 - Provide "contentFeatures.dlna.org" header in the HTTP responses.
186 - Provide DLNA transferMode header in the HTTP responses.
187 - Only advertise internal URIs on local loopback interface.
188 - Replace 'ip' config by 'interface' so users can bind Rygel to interfaces
189   rather than IP.
190 - Allow plugins to provide thumbnails.
191 - Add thumbnails (if available) for each item if none provided by plugins. This
192   works both on the desktop and Maemo.
193 - Suppress all C compiler warnings by default. These warnings are mostly useless
194   for us since almost all C code is generated.
195 - Preference dialog is now more like a GNOME preferences dialog.
196 - Provide .desktop file for preferences dialog.
197 - Shave the build output.
198 - GstLaunch: New plugin that exposes gstreamer pipelines described using
199   familiar gst-launch syntax in the user configuration.
200 - Tracker plugin:
201   - Nicer default title.
202   - Better detection of Tracker availability. Apparently ubuntu folks think that
203     providing a .service file is wrong.
204   - Better titles for top-level folders.
205   - More usable hierarchy: Browsing by artists, albums and tags.
206 - Folder plugin:
207   - Rename to MediaExport.
208   - Nicer default title.
209   - Use the new Rygel classes to extract, export and save media metadata.
210   - notify about updates to containers.
211   - Skip files/folders starting with '.'.
212   - Avoid crash if unknown file is found.
213   - Delete gone directories on new start.
214   - React on deletion of files.
215   - Add recursive file monitoring.
216   - Provide simple and easy options to add and remove files and folders from the
217     preferences UI.
218 - External plugin:
219   - actually use 'DLNAProfile' property.
220   - Don't load the plugin more than once.
221   - Utilise optional MediaItem properties.
222   - Fetch items on demand.
223   - Fix critical warnings.
224 - Mediathek plugin:
225   - Fix crash if no config is available.
226
227 Dependency-related changes:
228
229 - Require gupnp >= 0.13
230 - Require gupnp-av >= 0.5
231 - Require GStreamer >= 0.10.23
232 - Require libgee >= 0.3.0
233
234 Bugs fixed in this release:
235
236 584649 - Folder plugin should not export dot files and directories
237 586108 - ID3 information not exported on mp3 files
238 588034 - Bad durations for audio video files with media export plugin
239 585986 - Some copyright headers claim "all rights reserved"
240 585989 - Running "make clean" should leave generated C files in place.
241 586134 - Tracker plugin fails if org.freedesktop.Tracker can't be activated,
242          even if tracker is already running
243 586243 - GStreamer 0.10.23 required for correct operation of transcoder
244 587651 - Support for some MediaItem properties missing
245 587855 - HTTP Error responses not sent
246 587866 - No way to notify about new sub-containers
247 588030 - rygel-preferences crashes if user's config file is missing
248 588162 - Support seeking in transcoded content
249 589955 - dc:creator never included in DIDL output
250 589956 - git ignore rules
251 589974 - Set the bitrate for transcoded resources correctly.
252 589977 - Rygel not recognised by Sony Bravia televisions
253 590643 - refactor HTTP request handling code
254 590702 - Rygel should provide thumbnails for items
255 591580 - not compatible with Samsung UE46B7070
256 593228 - [plugin] new gstlaunch plugin
257
258 All contributors to this release:
259
260 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
261 Jens Georg <mail@jensge.org>
262 James Henstridge <james@jamesh.id.au>
263 Thijs Vermeir <thijsvermeir@gmail.com>
264 Ole André Vadla Ravnås <oleavr@gmail.com>
265
266 0.3
267 ===
268
269 Brief summary of changes since 0.2.2:
270
271 - Transcoding from any format (that gstreamer's decodebin2 can handle) to mp3,
272   linear PCM and mpeg transport stream containing mpeg 2 video and mp2 audio.
273 - Plugin API to deal with user preferences.
274 - User preferences UI: rygel-preferences.
275 - New plugins:
276    * Folder: Recursively exports folders specified in the user preferences.
277    * ZDFMediathek: Exports online media from 2nd German TV station.
278    * External: Exports media hierarchies provided by external applications
279      through implementation of this spec:
280      http://live.gnome.org/Rygel/MediaServer. The first application
281      that utilizes this feature is PulseAudio.
282 - Drop xbox support. It didn't work anyway and we better concentrate on
283   implementing standard stuff that it at least worthy of being called "UPnP" (
284   at least for now).
285 - Tracker and DVB plugins are only loaded if their corresponding services are
286   available.
287 - Export of duration for music and video items from Tracker.
288 - Use HTTP EOF encoding rather the CHUNKED for live streams.
289 - Ability to build rygel plugins outside it's source tree.
290 - HTTP proxying only if needed.
291 - Now that gupnp-av does DLNA profile guessing for us, no need to lie about
292   DLNA profile anymore.
293 - Add a summary after configure.
294 - HTTServer is now internal API.
295 - Use git-version-gen to generate package version.
296 - Differentiate between modules and plugins
297 - Passive, asynchronous plugin loading. A side-effect of which is that modules
298   can now load more than one plugin.
299 - Differentiate between name and title of the plugin.
300 - Plugins can now dynamically change their availability.
301 - Add API to get/list plugins.
302 - Re-use existing description from user's home directory. This not only speeds
303   the start-up but also obsoletes the necessity to keep immutable data (e.g UDN)
304   in user preferences.
305 - Provide gconf schemas.
306 - Lots of other improvements and bug fixes.
307
308 Dependency-related changes:
309
310 - Explicitly require and link to libsoup-2.4 >= 2.26.0.
311 - Don't require Vala (and bindings) in distribution tarball.
312 - Require gupnp-av >= 0.4.
313 - Require Vala >= 0.7.3.
314 - Require Gtk+ >= 2.16 if preferences UI is not disabled.
315
316 Bugs fixed in this release:
317
318 582173 - git-version-gen: generate versions with - instead of .
319 577000 - gupnp-av-cp does not like & in uris
320 576998 - Rygel wants to transcode audio files to video/mpeg
321 575935 - Add support for duration metadata field
322 574604 – bug connecting to PS3
323
324 All contributors to this release:
325
326 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
327 Jens Georg <mail@jensge.org>
328 Henrique Ferreiro <henrique.ferreiro@gmail.com>
329 Lennart Poettering <lennart@poettering.net>
330 Marc-André Lureau <marcandre.lureau@gmail.com>
331 Rob Taylor <rob.taylor@codethink.co.uk>
332
333 0.2.2
334 =====
335
336 Changes since 0.2:
337
338 - Use the new (0.6.9) Tracker API.
339 - Priority of gio-based streams are based on requested DLNA transfer mode.
340 - GIO-based/like asynchronous plugin API.
341 - Adapt to latest changes in gupnp-vala API.
342 - Serialization of media objects isn't done by media objects themselve
343   anymore, but by a new separate class, Rygel.DIDLLiteWriter.
344 - Internal API is marked 'internal' so it doesn't get to our (Vala) API.
345 - MediaObject now derives from GLib.Object.
346 - Generic AsyncResult implementation, SimpleAsyncResult.
347 - StateMachine interface that all state machines classes implement.
348 - Visible performance improvements in Tracker plugin by proper use of Tracker
349   APIs.
350 - Use Filename.to_string() and therefore make Bastien happy.
351 - Require lastest version (0.1.5) of libgee to use List.slice().
352 - Don't limit the number of objects returned to a client, let it decide
353   that on it's own.
354 - Proper handling of update notification to the client by use of a very simple
355   bubble-up mechanism for containers to signal updates.
356 - Decrease needed gconf version to 2.16.
357 - Set application name and therefore make Lennart happy.
358 - Require latest version of vala (0.5.7) and gupnp-vala (0.5.3).
359 - Allow multiple URIs for each media items.
360 - Response for seekable media request is now sent buffer by buffer so the whole
361   file is not put into memory.
362 - Some improvements to build system.
363 - Lots of other improvements and bugfixes.
364
365 0.2
366 ===
367
368 The major change after last release (as gupnp-media-server) is the introduction
369 of a simple yet powerful plugin-based architecture/api: Every plugin:
370 - is loaded into a separate MediaServer instance.
371 - can implement any kind and number of resources (currently only services).
372 - can export an icon file.
373 - inherit it's ContentDirectory implementation from a base class that does most
374   of the UPnP-related work. More improvements on this planned for next release.
375 - use an intuitive API to easily export media from URIs and live GStreamer
376   source elements over HTTP.
377
378 Other changes:
379
380 - Relicense under LGPL to allow proprietary plugins and ease of moving code
381   from/to gupnp libraries.
382 - DVB Daemon integration though a plugin. Now you can watch live channels from
383   your PC on your PS3 for example.
384 - Test plugin that exports one audio and video item, streaming contents from
385   GStreamer's audiotestsrc and videotestsrc elements respectively.
386 - Better interoperability with Sony playstation 3.
387 - Announce unavailability to UPnP world on exit.
388 - Loads of other improvements.
389
390 0.1
391 ===
392
393 - Initial release.