core: update news file
[profile/ivi/rygel.git] / NEWS
1 0.4
2 ===
3
4 Brief summary of changes since 0.3:
5
6 - Rygel is no more just a MediaServer but rather a collection of DLNA (UPnP AV)
7   services (devices in UPnP speak).
8 - Port to new GUPnP APIs. The biggest advantage of that is that we now have
9   dynamic network support, i-e rygel can attach/detach to/from a network
10   interface as it goes up/down.
11 - Support for time-based seeking in transcoded streams.
12 - Folder plugin renamed to MediaExport.
13 - Nice default title for Tracker and MediaExport.
14 - Random tweaks to transcoding pipelines.
15 - Provide a DBus service providing two functionalities:
16    * Ability to tell rygel to shutdown. Starting of Rygel is automatically
17      handled by D-Bus since a .service file is provided by Rygel.
18    * Ability to tell Rygel (MediaExport plugin actually) to (un)export URIs on
19      the fly.
20 - Implement enabling/disabling of UPnP in the preferences.
21 - Configuration through commandline options.
22 - Use a .ini configuration file rather than gconf.
23 - Special default configuration for Maemo.
24 - Don't spam the user's config directory and instead keep the description files
25   into a separate subdirectory.
26 - `make clean` doesn't clean the generated C files anymore.
27 - Remove "all rights reserved" part from all copyright headers.
28 - Remove integrated DVB plugin as DVBDaemon now implements the external plugin
29   interface and hence dynamically glues to Rygel, just like PulseAudio.
30 - New classes to further ease the plugin implementation.
31 - MediaExport now uses the new Rygel clases to extract and save media metadata.
32 - (Un)pause the SoupMessage at the right time. This was causing a lot of delays
33   when playing media on Sony PS3.
34 - Bitrate is supposed to be in bytes/second. Not really but tell that to writers
35   of UPnP specification.
36 - Expose transcode formats in the GetProtocolInfo's source argument. This should
37   make Sony Bravia TVs happy.
38 - Transcoder URIs are now sorted according to their distance from the original
39   format.
40 - Provide "contentFeatures.dlna.org" header in the HTTP responses.
41 - Provide DLNA transferMode header in the HTTP responses.
42 - Only advertise internal URIs on local loopback interface.
43 - Replace 'ip' config by 'interface' so users can bind rygel to interfaces
44   rather than IP.
45 - Allow plugins to provide thumbnails.
46 - Add thumbnails (if available) for each item if none provided by plugins. This
47   works both on the destkop and maemo.
48 - Supress all C compiler warnings by default. These warnings are mostly useless
49   for us since almost all C code is generated.
50 - Provide simple and easy options to add and remove files and folders to
51   MediaExport in the Preferences UI.
52 - Use Glade to it's max.
53 - Preference dialog is now more like a GNOME preferences dialog.
54 - Provide .desktop file for preferences dialog.
55 - Shave the build output.
56 - External plugin:
57   - actually use 'DLNAProfile' property.
58   - Don't load the plugin more than once.
59   - Utilize optional MediaItem properties.
60   - Fetch items on demand.
61   - Fix critical warnings.
62 - Tracker plugin:
63   - Better detection of Tracker availability. Apparently ubuntu folks think that
64     providing a .service file is wrong.
65   - Better titles for top-level folders.
66   - More usable hierarchy: Browsing by artists, albums and tags.
67 - MediaExport plugin:
68   - notify about updates to containers.
69   - Skip files/folders starting with '.'.
70   - Avoid crash if unknown file is found.
71   - Delete gone directories on new start.
72   - React on deletion of files.
73   - Add recursive file monitoring.
74   - Export Metadata
75 - Mediathek plugin:
76   - Fix crash if no config is available.
77
78 Dependency-related changes:
79
80 - Require gupnp >= 0.13
81 - Require gupnp-av >= 0.5
82 - Require GStreamer >= 0.10.23
83 - Require libgee >= 0.3.0
84
85 Bugs fixed in this release:
86
87 584649 - Folder plugin should not export dot files and directories
88 586108 - ID3 information not exported on mp3 files
89 588034 - Bad durations for audio video files with media export plugin
90 585986 - Some copyright headers claim "all rights reserved"
91 585989 - Running "make clean" should leave generated C files in place.
92 586134 - Tracker plugin fails if org.freedesktop.Tracker can't be activated,
93          even if tracker is already running
94 586243 - GStreamer 0.10.23 required for correct operation of transcoder
95 587651 - Support for some MediaItem properties missing
96 587855 - HTTP Error responses not sent
97 587866 - No way to notify about new sub-containers
98 588030 - rygel-preferences crashes if user's config file is missing
99 588162 - Support seeking in transcoded content
100 589955 - dc:creator never included in DIDL output
101 589956 - git ignore rules
102 589974 - Set the bitrate for transcoded resources correctly.
103 589977 - Rygel not recognised by Sony Bravia televisions
104 590643 - refactor HTTP request handling code
105 590702 - Rygel should provide thumbnails for items
106 591580 - not compatible with Samsung UE46B7070
107 593228 - [plugin] new gstlaunch plugin
108
109 All contributors to this release:
110
111 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
112 Jens Georg <mail@jensge.org>
113 James Henstridge <james@jamesh.id.au>
114 Thijs Vermeir <thijsvermeir@gmail.com>
115 Ole André Vadla Ravnås <oleavr@gmail.com>
116
117 0.3
118 ===
119
120 Brief summary of changes since 0.2.2:
121
122 - Transcoding from any format (that gstreamer's decodebin2 can handle) to mp3,
123   linear PCM and mpeg transport stream containing mpeg 2 video and mp2 audio.
124 - Plugin API to deal with user preferences.
125 - User preferences UI: rygel-preferences.
126 - New plugins:
127    * Folder: Recursively exports folders specified in the user preferences.
128    * ZDFMediathek: Exports online media from 2nd German TV station.
129    * External: Exports media hierarchies provided by external applications
130      through implementation of this spec:
131      http://live.gnome.org/Rygel/MediaServer. The first application
132      that utilizes this feature is PulseAudio.
133 - Drop xbox support. It didn't work anyway and we better concentrate on
134   implementing standard stuff that it at least worthy of being called "UPnP" (
135   at least for now).
136 - Tracker and DVB plugins are only loaded if their corresponding services are
137   available.
138 - Export of duration for music and video items from Tracker.
139 - Use HTTP EOF encoding rather the CHUNKED for live streams.
140 - Ability to build rygel plugins outside it's source tree.
141 - HTTP proxying only if needed.
142 - Now that gupnp-av does DLNA profile guessing for us, no need to lie about
143   DLNA profile anymore.
144 - Add a summary after configure.
145 - HTTServer is now internal API.
146 - Use git-version-gen to generate package version.
147 - Differentiate between modules and plugins
148 - Passive, asynchronous plugin loading. A side-effect of which is that modules
149   can now load more than one plugin.
150 - Differentiate between name and title of the plugin.
151 - Plugins can now dynamically change their availability.
152 - Add API to get/list plugins.
153 - Re-use existing description from user's home directory. This not only speeds
154   the start-up but also obsoletes the necessity to keep immutable data (e.g UDN)
155   in user preferences.
156 - Provide gconf schemas.
157 - Lots of other improvements and bug fixes.
158
159 Dependency-related changes:
160
161 - Explicitly require and link to libsoup-2.4 >= 2.26.0.
162 - Don't require Vala (and bindings) in distribution tarball.
163 - Require gupnp-av >= 0.4.
164 - Require Vala >= 0.7.3.
165 - Require Gtk+ >= 2.16 if preferences UI is not disabled.
166
167 Bugs fixed in this release:
168
169 582173 - git-version-gen: generate versions with - instead of .
170 577000 - gupnp-av-cp does not like & in uris
171 576998 - Rygel wants to transcode audio files to video/mpeg
172 575935 - Add support for duration metadata field
173 574604 – bug connecting to PS3
174
175 All contributors to this release:
176
177 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
178 Jens Georg <mail@jensge.org>
179 Henrique Ferreiro <henrique.ferreiro@gmail.com>
180 Lennart Poettering <lennart@poettering.net>
181 Marc-André Lureau <marcandre.lureau@gmail.com>
182 Rob Taylor <rob.taylor@codethink.co.uk>
183
184 0.2.2
185 =====
186
187 Changes since 0.2:
188
189 - Use the new (0.6.9) Tracker API.
190 - Priority of gio-based streams are based on requested DLNA transfer mode.
191 - GIO-based/like asynchronous plugin API.
192 - Adapt to latest changes in gupnp-vala API.
193 - Serialization of media objects isn't done by media objects themselve
194   anymore, but by a new separate class, Rygel.DIDLLiteWriter.
195 - Internal API is marked 'internal' so it doesn't get to our (Vala) API.
196 - MediaObject now derives from GLib.Object.
197 - Generic AsyncResult implementation, SimpleAsyncResult.
198 - StateMachine interface that all state machines classes implement.
199 - Visible performance improvements in Tracker plugin by proper use of Tracker
200   APIs.
201 - Use Filename.to_string() and therefore make Bastien happy.
202 - Require lastest version (0.1.5) of libgee to use List.slice().
203 - Don't limit the number of objects returned to a client, let it decide
204   that on it's own.
205 - Proper handling of update notification to the client by use of a very simple
206   bubble-up mechanism for containers to signal updates.
207 - Decrease needed gconf version to 2.16.
208 - Set application name and therefore make Lennart happy.
209 - Require latest version of vala (0.5.7) and gupnp-vala (0.5.3).
210 - Allow multiple URIs for each media items.
211 - Response for seekable media request is now sent buffer by buffer so the whole
212   file is not put into memory.
213 - Some improvements to build system.
214 - Lots of other improvements and bugfixes.
215
216 0.2
217 ===
218
219 The major change after last release (as gupnp-media-server) is the introduction
220 of a simple yet powerful plugin-based architecture/api: Every plugin:
221 - is loaded into a separate MediaServer instance.
222 - can implement any kind and number of resources (currently only services).
223 - can export an icon file.
224 - inherit it's ContentDirectory implementation from a base class that does most
225   of the UPnP-related work. More improvements on this planned for next release.
226 - use an intuitive API to easily export media from URIs and live GStreamer
227   source elements over HTTP.
228
229 Other changes:
230
231 - Relicense under LGPL to allow proprietary plugins and ease of moving code
232   from/to gupnp libraries.
233 - DVB Daemon integration though a plugin. Now you can watch live channels from
234   your PC on your PS3 for example.
235 - Test plugin that exports one audio and video item, streaming contents from
236   GStreamer's audiotestsrc and videotestsrc elements respectively.
237 - Better interoperability with Sony playstation 3.
238 - Announce unavailability to UPnP world on exit.
239 - Loads of other improvements.
240
241 0.1
242 ===
243
244 - Initial release.