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