core: Prepare NEW file for release 0.4
[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 provideb 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 - Mediathek plugin:
75   - Fix crash if no config is available.
76
77 Dependency-related changes:
78
79 - Require gupnp >= 0.13
80 - Require gupnp-av >= 0.5
81 - Require GStreamer >= 0.10.23
82 - Require libgee >= 0.3.0
83
84 Bugs fixed in this release:
85
86 584649 - Folder plugin should not export dot files and directories
87 586108 - ID3 information not exported on mp3 files
88 588034 - Bad durations for audio video files with media export plugin
89 585986 - Some copyright headers claim "all rights reserved"
90 585989 - Running "make clean" should leave generated C files in place.
91 586134 - Tracker plugin fails if org.freedesktop.Tracker can't be activated,
92          even if tracker is already running
93 586243 - GStreamer 0.10.23 required for correct operation of transcoder
94 587651 - Support for some MediaItem properties missing
95 587855 - HTTP Error responses not sent
96 587866 - No way to notify about new sub-containers
97 588030 - rygel-preferences crashes if user's config file is missing
98 588162 - Support seeking in transcoded content
99 589955 - dc:creator never included in DIDL output
100 589956 - git ignore rules
101 589974 - Set the bitrate for transcoded resources correctly.
102 589977 - Rygel not recognised by Sony Bravia televisions
103 590643 - refactor HTTP request handling code
104 590702 - Rygel should provide thumbnails for items
105 591580 - not compatible with Samsung UE46B7070
106 593228 - [plugin] new gstlaunch plugin
107
108 All contributors to this release:
109
110 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
111 Jens Georg <mail@jensge.org>
112 James Henstridge <james@jamesh.id.au>
113 Thijs Vermeir <thijsvermeir@gmail.com>
114 Ole André Vadla Ravnås <oleavr@gmail.com>
115
116 0.3
117 ===
118
119 Brief summary of changes since 0.2.2:
120
121 - Transcoding from any format (that gstreamer's decodebin2 can handle) to mp3,
122   linear PCM and mpeg transport stream containing mpeg 2 video and mp2 audio.
123 - Plugin API to deal with user preferences.
124 - User preferences UI: rygel-preferences.
125 - New plugins:
126    * Folder: Recursively exports folders specified in the user preferences.
127    * ZDFMediathek: Exports online media from 2nd German TV station.
128    * External: Exports media hierarchies provided by external applications
129      through implementation of this spec:
130      http://live.gnome.org/Rygel/MediaServer. The first application
131      that utilizes this feature is PulseAudio.
132 - Drop xbox support. It didn't work anyway and we better concentrate on
133   implementing standard stuff that it at least worthy of being called "UPnP" (
134   at least for now).
135 - Tracker and DVB plugins are only loaded if their corresponding services are
136   available.
137 - Export of duration for music and video items from Tracker.
138 - Use HTTP EOF encoding rather the CHUNKED for live streams.
139 - Ability to build rygel plugins outside it's source tree.
140 - HTTP proxying only if needed.
141 - Now that gupnp-av does DLNA profile guessing for us, no need to lie about
142   DLNA profile anymore.
143 - Add a summary after configure.
144 - HTTServer is now internal API.
145 - Use git-version-gen to generate package version.
146 - Differentiate between modules and plugins
147 - Passive, asynchronous plugin loading. A side-effect of which is that modules
148   can now load more than one plugin.
149 - Differentiate between name and title of the plugin.
150 - Plugins can now dynamically change their availability.
151 - Add API to get/list plugins.
152 - Re-use existing description from user's home directory. This not only speeds
153   the start-up but also obsoletes the necessity to keep immutable data (e.g UDN)
154   in user preferences.
155 - Provide gconf schemas.
156 - Lots of other improvements and bug fixes.
157
158 Dependency-related changes:
159
160 - Explicitly require and link to libsoup-2.4 >= 2.26.0.
161 - Don't require Vala (and bindings) in distribution tarball.
162 - Require gupnp-av >= 0.4.
163 - Require Vala >= 0.7.3.
164 - Require Gtk+ >= 2.16 if preferences UI is not disabled.
165
166 Bugs fixed in this release:
167
168 582173 - git-version-gen: generate versions with - instead of .
169 577000 - gupnp-av-cp does not like & in uris
170 576998 - Rygel wants to transcode audio files to video/mpeg
171 575935 - Add support for duration metadata field
172 574604 – bug connecting to PS3
173
174 All contributors to this release:
175
176 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
177 Jens Georg <mail@jensge.org>
178 Henrique Ferreiro <henrique.ferreiro@gmail.com>
179 Lennart Poettering <lennart@poettering.net>
180 Marc-André Lureau <marcandre.lureau@gmail.com>
181 Rob Taylor <rob.taylor@codethink.co.uk>
182
183 0.2.2
184 =====
185
186 Changes since 0.2:
187
188 - Use the new (0.6.9) Tracker API.
189 - Priority of gio-based streams are based on requested DLNA transfer mode.
190 - GIO-based/like asynchronous plugin API.
191 - Adapt to latest changes in gupnp-vala API.
192 - Serialization of media objects isn't done by media objects themselve
193   anymore, but by a new separate class, Rygel.DIDLLiteWriter.
194 - Internal API is marked 'internal' so it doesn't get to our (Vala) API.
195 - MediaObject now derives from GLib.Object.
196 - Generic AsyncResult implementation, SimpleAsyncResult.
197 - StateMachine interface that all state machines classes implement.
198 - Visible performance improvements in Tracker plugin by proper use of Tracker
199   APIs.
200 - Use Filename.to_string() and therefore make Bastien happy.
201 - Require lastest version (0.1.5) of libgee to use List.slice().
202 - Don't limit the number of objects returned to a client, let it decide
203   that on it's own.
204 - Proper handling of update notification to the client by use of a very simple
205   bubble-up mechanism for containers to signal updates.
206 - Decrease needed gconf version to 2.16.
207 - Set application name and therefore make Lennart happy.
208 - Require latest version of vala (0.5.7) and gupnp-vala (0.5.3).
209 - Allow multiple URIs for each media items.
210 - Response for seekable media request is now sent buffer by buffer so the whole
211   file is not put into memory.
212 - Some improvements to build system.
213 - Lots of other improvements and bugfixes.
214
215 0.2
216 ===
217
218 The major change after last release (as gupnp-media-server) is the introduction
219 of a simple yet powerful plugin-based architecture/api: Every plugin:
220 - is loaded into a separate MediaServer instance.
221 - can implement any kind and number of resources (currently only services).
222 - can export an icon file.
223 - inherit it's ContentDirectory implementation from a base class that does most
224   of the UPnP-related work. More improvements on this planned for next release.
225 - use an intuitive API to easily export media from URIs and live GStreamer
226   source elements over HTTP.
227
228 Other changes:
229
230 - Relicense under LGPL to allow proprietary plugins and ease of moving code
231   from/to gupnp libraries.
232 - DVB Daemon integration though a plugin. Now you can watch live channels from
233   your PC on your PS3 for example.
234 - Test plugin that exports one audio and video item, streaming contents from
235   GStreamer's audiotestsrc and videotestsrc elements respectively.
236 - Better interoperability with Sony playstation 3.
237 - Announce unavailability to UPnP world on exit.
238 - Loads of other improvements.
239
240 0.1
241 ===
242
243 - Initial release.