security documentation
[kdebase.git] / workspace / plasma / design / CHANGELOG
blob37ab93a3376f00ddcb7739f4123c4d8b7c9e8533
1 libplasma 3.1 / KDE 4.3
2 =======================
3 libplasma
4 ---------
5 * Features
6     * Widgets
7         * NEW: SpinBox
8         * NEW: VideoWidget
9         * NEW: ScrollWidget. A widget that puts scrollbars when it contains a widget bigger than him.
10         * NEW: TextBrowser
11     * Theme
12         * Themes can now set UseNativeWidgetStyle=true in the [Settings] group of the metadata.desktop file and Plasma will default to native (QStyle) painting for all widgets
13     * Security
14         * Categories of applets can be excluded from the appletbrowser
15         * co-operative security
17 Developer Documentation
18 -----------------------
20 Desktop Theme
21 -------------
22 * Features
23     *FrameSvg
24        *NEW: overlays for a filigrane effect, can be either random positioned, fixed, scaled or tiled
25     *Desktop and panel toolboxes are now svg themed
27 Plasma Desktop Shell
28 --------------------
31 Other Shells
32 ------------
33 * NEW: plasma-mid, a shell for mobile internet devices
36 Tools
37 -----
40 Plugins/Addons
41 --------------
42 * Features
43      * Plasmoids and Containments
44          * Twitter
45              * Added support for other Twitter API based services like identi.ca (that is based on laconi.ca).
46          * File Watcher
47              * Added support for filtering (both regular expressions and exact matches are supported).
48          * Web browser
49              * real page zoom instead of just font scaling.
50          *Pager
51              * User can choose to do nothing, toogle the desktop or the dashboard when he click on the current desktop.
53 KRunner
54 -------
57 Platforms
58 ---------
62 libplasma 3.0 / KDE 4.2
63 =======================
65 libplasma
66 ---------
67 * Build
68     * libplasma has moved to kdelibs from kdebase-workspace and as such there is no longer a need to use FindPlasma.cmake. FindKDE4 now provides all the necessary plasma CMake bits needed, and using libplasma does not create a kdebase-workspace dependency for your application anymore.
70 * Features
71     * Symbol Versioning: limit loading of plugins to those that match the libplasma version
72     * NEW: ToolTipManager for Plasma style tooltips
73     * NEW: Wallpaper plugins for Containments
74     * NEW: Context for coordinating and publishing Context information, such as the current Activity or phsyical location
75     * Applet
76         * sizeHintChanged() signal. A containment (such as a panel) can adjust its size based on changed sizehints of an applet
77         * ContextConstraint events and access to the current Context object
78         * Shortcut editor in Applet configuration dialog allows setting of global shortcuts per-widget
79         * NEW: Plasma::Extender and Plasma::ExtenderItem, allowing visual, relocatable extensions to Applet
80         * NEW: PopupApplet, which switches between an icon with a popup in a Horizontal/Vertical containment (such as a panel) and the widget directly on the canvas in a Planer containment (such as a desktop), the icon can be replaced with custom graphics or widgets by the implementation
81     * Containment
82         * Support dropping of arbitrary data if the mimetypes are supported by an applet
83         * Activity naming and Context support
84         * Toolbox can be positioned in any corner or edge
85         * Toolbox actions are displayed as an always open toolbar when zoomed out for improved usability
86     * Corona
87         * addOffscreenWidget/removeOffscreenWidget: manage canvas items that should not appear in a primary view (e.g. Extenders)
88         * "screen" information querying added to Corona to allow different approaches for viewports; e.g. using KWindowSystem and QDesktopWidget for the Plasma shell, but window coordinates for plasmodviewer or other non-desktop apps.
89     * Package system
90         * PackageStructure supports arbitrary URIs (in addition to auto-discovery for package) structure description files.
91         * Package removal
92         * Package browsing interface can be provided by the PackageStructure plugin, allowing for 3rd party widget collectionsto offer online browsing and fetching customizations
93     * FrameSvg
94         * setting the margins via in-SVG hints
95         * paintPanel API additions to make it more like QPainter and Plasma::Svg
96     * Runners
97         * TryExec key in .desktop file now supported, allowing runners that rely on an external application to be conditional loaded at runtime
98     * Service
99         * Allow enabling/disabling of operations at runtime
100         * Associate widgets with operations
101     * Theme
102         * Support compressed SVGs (*.svgz)
103         * Supports a pixmap cache and a SVG element rects cache for faster startup
104     * Widgets
105         * NEW: Plasma::Slider based on QSlider
106         * NEW: Plasma::TabBar based on QTabBar, usable as both a standalone tabbar or as a tabwidget
107         * NEW: Plasma::Frame used to visually group widgets
108         * NEW: Plasma::TreeView used to put tree views or simple list in the canvas
109         * NEW: Plasma::BusyWidget used to indicate the loading of something
110         * NEW: Plasma::ToolButton based on QToolButton
111         * Plasma::PushButton is svg-themed
113 * Significant Fixes
114     * WebContent painting update synchronization (fixes, among other things, scrolling)
115     * Prevent crash when Containment that AppletBrowser is associated with is deleted
116     * Applet handles work with all icon sizes (user system settings)
117     * Fix View so that when a new activity is added, don't move more than necessary;
118       fixes dragging lock
119     * Dramatically fewer full paints by properly watching the exposed rect area, which for full screen Containments or large/complex Applets is quite significant in terms of performance
120     * Fix on-exit crashes related to focus handling issues in QGraphicsView
121     * Prevention of premature calls to Applet::constraintsEvent
122     * Applets now resize in "real time" without the pixelation
123     * Numerous crash fixes pushed upstream to QGraphicsView as well (focus resetting, scene queries on deletion..)
125 Developer Documentation
126 -----------------------
127 * Design documentation
128     * NEW: dataengine
129     * NEW: tooltips
130     * NEW: wallpaper
131     * NEW: widgets
132     * NEW: javascript
134 * Tutorials
135     * NEW: Extenders http://techbase.kde.org/Development/Tutorials/Plasma/UsingExtenders
137 Desktop Theme
138 -------------
139 * NEW: widgets/button for theming pushbuttons
140 * NEW: widgets/frame for theming Plasma::Frame used also in other widgets
141 * NEW: widgets/scrollbars to theme Plasma::ScrollBar and views scrollbars in libplasma
142 * NEW: widgets/configuration-icons: little icons used for configuration purposes across Plasma
143 * NEW: widgets/extender-background, widgets/extender-dragger: SVGs for new Extender widget
144 * NEW: widgets/tooltip: tooltip SVGa
145 * NEW: widgets/calendar
146 * NEW: widgets/containment-controls: icons and buttons for sizing panels and other containment tasks
147 * NEW: widgets/monitor: monitor for use in displaying mockups of on-screen content
148 * NEW: widget/glowbar: a glow for use by offscreen panels to indicate their location
149 * NEW: dialogs/kickoff: theming for the kickoff launcher menu
150 * color roles for buttons text and background added
151 * Plasma::Slider follows theme
152 * Applet handle all svg-themed
153 * The default Oxygen desktop theme radically improved across the board
155 Plasma Desktop Shell
156 --------------------
157 * Features
158     * Desktop
159         * New Containment configuration for all desktop containments: wallpapers, activity type, theme
160     * Panel
161         * Resizes itself when an applet changes its sizehint according to its maximum and minimum sizes
162         * Autohide and windows-cover-panel options
163         * Easier drag and drop to panel by showing an empty area between the two applets nearest to the mouse cursor
165 * Significant Fixes
166     * Reposition toolbox when zooming out/in to avoid panel overlap
167     * Draw the missing part of the toolbox when repositioned because of a panel
168     * MS Windows compile fixes
170 Other Shells
171 ------------
172 * plasmoidviewer new command line options:
173     * --list lists known applets
174     * --formfactor (-f)
175     * --containment (-c)
176     * --wallpaper (-w)
177     * --pixmapcache (-p)
179 Tools
180 -----
181 * Plasma Engine Explorer
182     * Remove/update sources via context menu
183     * NEW: Plasma::Service interaction UI, using DataEngine::serviceForSource
184 * plasmapkg
185     * now supports listing, updating and removing packages
186 * NEW: Destkop Theme Details
187     * Customize and create new desktop themes with kcmshell4 destkopthemedetails
189 Plugins/Addons
190 --------------
191 * Features
192     * Plasmoids and Containments
193         * NEW: Incoming messages: listens to various F/OSS email and IM apps for messages arriving
194         * NEW: Leave A Note: let people leave you notes on your computer, particularly handy for Plasma widets on the screensaver
195         * NEW: Previewer: drop files to preview them right on your desktop or panels
196         * NEW: System monitor
197         * NEW: Web browser: a WebKit browser in a desktop widget!
198         * NEW: Activity bar: quick switcher for Plasma activities
199         * NEW: Conway's game of life
200         * NEW: RSSNow! fancy online news ticker
201         * NEW: News, simple online news ticker
202         * NEW: Pastebin, drop text/data to upload it to a pastebin server
203         * NEW: Text snippets generator
204         * NEW: Timer
205         * NEW: Bouncing ball, throw it and watch it bounce around!
206         * NEW: Calendar
207         * NEW: Character selector
208         * NEW: Eyes
209         * NEW: LCD Weather Station plasmoid
210         * NEW: Quicklaunch plasmoid
211         * Task bar
212             * Grouping: manually or by application
213             * Sorting: manually or by program name
214             * Limit windows shown by desktop, screen or minimized status
215             * Multiple rows of windows
216             * Theming improved to look more consistent with other buttons and generally be more sexy
217         * System tray
218             * Supports hiding of icons
219             * Supports non-Freedesktop.org icons (e.g. full plasmoids or future creations) through a protocol abstraction
220             * Listens for and displays popup notifications and application jobs (e.g. file transfers)
221         * Now Playing media player controls: play, pause, stop, switch tracks and more from Plasma
222         * Notes
223             * Custom colors
224             * Export notes to file
225         * Clocks
226             * Custom colors for digital clock
227             * Standardized multi-timezone support in libplasmaclock
228         * Folder view
229             * Filtering improvements: mimetype and exclusion based.
230             * Sorting options, options for locking the icons in place and/or forcing grid alignment.
231             * Uses a top-to-bottom icon arrangement when used as a containment.
232             * Remembers icon positions.
233             * No longer blocks the GUI when loading large folders.
234             * Shows a busy animation while loading folders / laying out icons.
235             * Works in panels looking like a popup menu
236         * Default desktop containment
237             * Wheel mouse == switch desktop
238             * Creation of widgets on desktop containments puts them in empty areas, avoiding overlap
239         * Comics
240             * Respects web proxy and other relevant KDE settings
241             * Improved mouse interaction (middle mouse zooms, context menu, etc)
242             * Comicproviders can be written in any language supported by Kross
243             * Comicproviders can be downloaded via "Get Hot New Stuff"
244             * New comicproviders can be added on kde-files.org
245         * Lancelot
246             * Full keyboard support
247             * New lists with scrollbars
248             * Themes that match Plasma themes from kdeplasma-addons module
249         * Twitter
250             * When it is in the panel it is a popup, showing the avatar of the last person who sent a message and the numer of unread tweets as icon
251         * Trashcan
252             * Lets you configure system wide trash behaviour like size limits
254     * DataEngines
255         * NEW: Web site icons (favicons) engine
256         * NEW: Desktop notifications engines
257         * NEW: System monitor engine based on ksysguard (cpu, memory, heat, sensors, etc)
258         * NEW: Network engine
259         * NEW: Application jobs (aka kuiserver) engine; shows any published KJobs such as file operations
260         * NEW: Executables: run commands and get their output from stdout and stderr
261         * NEW: RSS
262         * NowPlaying
263             * Plasma::Service for controlling media players
264             * supports MPRIS
265         * Powermanagement
266             * Added a new source for managing PowerDevil profiles
268     * Runners
269         * NEW: Kate sessions runner
270         * NEW: Recent documents runner
271         * NEW: Spellcheck runner
272         * NEW: Konqueror history runner
273         * NEW: Konqueror sessions runner
274         * NEW: Konsole sessions runner
275         * NEW: Nepomuk search runner
276         * NEW: Power management controller (via PowerDevil)
277         * NEW: Places (as seen in dolphin, file dialog, kickoff, etc) runner
278         * Converter runner now does speed, masses and nautical distances; conversion code moved to a shared lib
280     * ScriptEngines
281         * NEW: Google Gadgets
282         * NEW: Python Plasmoids
283         * NEW: Ruby Plasmoids
284         * MacOS Dashboard widgets: improved JS API compliance
285         * JavaScript:
286             * DataEngines
287             * Services
288             * layouts
289             * configuration data
290             * much more featureful plasmoid object replaces applet object
292     * Wallpapers
293         * NEW: Image, Slideshow and Color plugins, based on previous code
294         * Directories recursed for images in Image and Slideshow plugin
295         * Slideshow images are randomized
297 * Significant Fixes
298     * Various clocks ported to AppletClock for calendar and timezone consistency
299     * Pager crash fixes
300     * MS Windows compile fixes
301     * Taskbar shows thumbnails of windows on hover (4.1 regression)
302     * TwitterEngine respects web proxies and provides a proper Plasma::Service
303     * Kickoff
304         * proper menu size restoration
305         * Hide Shutdown and Restart options when those actions are not possible.
306         * Make Sleep and Hibernate entries appear and work
307         * use Plasma::Theme to improve visual harmony with the rest of Plasma
309 KRunner
310 -------
311 * Features
312     * Plasma Screensaver: Plasma widget overlay for screensavers
313     * D-Bus autoactivation, so even if it has perma-crashed, selecting Run Command from Plasma will resurect it
314     * Alternate user interface: QuickSand
316 * Significant Fixes
317     * Screensaver activation fixed to compensate for system clock changes
318     * Several crashes related to access of non thread safe code
320 Platforms
321 ---------
322 Compile and runtime fixes for Microsoft Windows and Maemo