1WARNING! This file is no longer used.
2
3Please refer to the ReleaseNotes for major changes, and the git log for
4more fine-grained information on changes.
5
628-11-2013:
7	* WRasterImage: now also support skia as backend. Cmake option
8	ENABLE_GM is replaced by WT_RASTERIMAGE_IMPLEMENTATION, which has
9	to be set to none, GraphicsMagick, or skia.
10
1110-07-2013:
12	* WSignal: Due to boost 1.54 complaining on boost.signals being
13	deprecated, namespace Wt::Signals was created. This namespace contains
14	the boost signals implementation that is optimal for your boost: for
15	boost < 1.54 it will be signals, for boost > 1.54 it will be signals2.
16
1715-05-2013:
18	* WStandardItem, WStandardItemModel: before: checkboxes are rendered
19	in enabled state when ItemIsUserCheckable flag is set. Now: checkboxes
20	are rendered when CheckStateRole is present. If ItemIsUserCheckable is
21	set, the checkbox will be editable. If ItemIsUserCheckable is not set,
22	the checkbox will be uneditable. setCheckable(true) will add a
23	CheckStateRole of false when no CheckStateRole was present on the
24	element.
25
2605-04-2013:
27	* Client SSL certificates can be queried from (static) WResources
28
2926-02-2013:
30	* Fixed bugs #1711, #1712, #1713, #1714, #1715
31
32	* Wt-3.3.0-rc3
33
3419-02-2013:
35	* Fixed bugs #1689, #1698, #1687 (from Starius)
36
37	* Implemented features #1675 (from Thomas Saquet)
38
39	* Wt-3.3.0-rc2
40
4118-02-2013:
42	* Fixed regression in resource continations
43
4415-02-2013:
45	* Fixed bugs #1699, #1697, #1696, #1695, #1677, #1676
46
47	* Fixed WPopupMenu::triggered() behaviour change from 3.2.3
48
4912-02-2013:
50	* Wt-3.3.0-rc1
51
5225-01-2013:
53	* Merged in bootstrap branch, with many additions, changes and above
54	all addition of support for Twitter's Bootstrap framework as a new
55	theme
56
5712-12-2012:
58	* Added binary WebGL VBO buffers, contributed by Tassilo Glander
59
6001-11-2012:
61	* Wt-3.2.3
62
6305-10-2012:
64	* Layouts: various bug fixes and improvements
65
66	* Render: added support for repeating table headers
67
68	* WApplication: added some tentative methods for 404 generation in
69	response to internal paths
70
7113-09-2012:
72	* Render: added support for explicit page breaks and % widths
73
74	* layouts: fix popup widgets confusing preferred size calculations
75	(tentatively)
76
7713-08-2012:
78	* Payment: new API for payment processing, with an implementation
79	for PayPal
80
8110-08-2012:
82	* layouts: fix various issues
83
84	* WTextEdit: fix behaviour inside a WPanel
85
86	* Render: code reorganizations for java port
87
8803-08-2012:
89	* QueryModel: added stableResultRow() method which has more guarantees
90	of consistently returning the same result regardless of database
91	changes
92
9327-07-2012:
94	* Dbo/Exception: add support for SQLSTATE code information
95
96	* Mail/Client: log configuration that will be used on first use
97
98	* WAnchor: use <a> tag even if no link has been provided (#1348)
99
100	* WDoubleSpinBox: fix formatting (#1358)
101
102	* WSlider: add more hooks for custom styles
103
10425-07-2012:
105	* Layouts: fix error in switching to contents determining layout size
106
107	* Wt-3.2.2-p1
108
10923-07-2012:
110	* WebController: workaround filesystem runtime problem for boost 1.50
111
112	* Wt-3.2.2
113
11416-07-2012:
115	* Wt: fix compile issues with boost 1.50
116
117	* WPieChart: support TooltipRole data
118
119	* WGridLayout, WBoxLayout: fix dynamic add/remove behaviour, fix
120	behaviour in WGroupBox, and honor minimum size settings on container
121
122	* Wt-3.2.2-rc2
123
12404-07-2012:
125	* Wt-3.2.2-rc1
126
12728-06-2012:
128	* WAbstractSpinBox: fix (server-side) validate()
129
130	* WComboBox: handle current index when deleting rows
131
132	* WTreeView: use hasChildren() do determine need for expand icon
133
134	* layout: properly constrain minimum sizes in the application root
135
13623-05-2012:
137	* dbo: add One-to-One relations, using Wt::Dbo::weak_ptr<>
138
139	* dbo: check relations are soundly defined instead of generating wrong
140	SQL
141
142	* dbo: collection::clear() method added
143
144	* Utils::base64Encode(): added option to omit CRLFs from generated
145	base64 stream
146
147	* WGridLayout, WBoxLayout: more fixes to be backwards compatible
148	with previous version
149
150	* http/WtReply: fix memory leak when too-large files are uploaded
151	leaving stale temporary files
152
153	* WebSession: clean-up session-id file for FastCGI (regression)
154
155	* WApplication::setInternalPath(): make it work properly when used
156	without JavaScript
157
15815-05-2012:
159	* feature/dbo/tutorial9 example added: splits the classes over several
160	files
161
162	* WCartesianChart: add support for custom markers, and custom axis
163	padding
164
165	* WGridLayout, WBoxLayout: several bug fixes
166
16714-05-2012:
168	* WInteractWidget::setMouseOverDelay() configures a delay before
169	the mouse over signal is fired
170
171	* WInteractWidget::doubleClicked() has been reimplemented using
172	mouseClicked() so that not both will fire in case both have events
173	attached
174
17509-05-2012:
176	* WGridLayout, WBoxLayout: new implementation, which should get rid
177	of misfeatures and annoyances
178
179	* WebRenderer: do not generate double '//' when loading theme CSS
180
181	* WebSession: do not wait for 'load' signal if not using ajax puzzle
182
183	* WFileUpload: fix behaviour in MS HTA mode
184
18505-04-2012:
186	* StdGridLayoutImpl.js: unbreak layout in WGroupBox behaviour
187
188	* Dbo/QueryModel: fix Firefox not showing header problem (LevelRole error)
189
19003-04-2012:
191	* WGlobal: add more forwards
192
193	* WTreeView: relax fix for behaviour in layout manager
194
195	* Dbo::QueryModel: make const methods const
196
19730-03-2012:
198	* Wt 3.2.1 (final) released
199
20003-01-2012:
201	* Wt/Utils: new header with utility functions that implement
202	commonly used hash functions and encoding/decoding
203
204	* WAxis: fix Date and DateTime scale rendering, to take into acount
205	labelInterval() and better choice of label values
206
20728-12-2011:
208	* Dbo/Transaction: do not require a commit() to commit a transaction
209	(but preserve behaviour to rollback in case of an exception)
210
21127-12-2011:
212	* Auth/: reorganisation, more model/widget separation
213
21426-12-2011:
215	* WSlider: implement disabled rendering
216
21722-12-2011:
218	* hangman example: add Russian translation
219
22019-12-2011:
221	* Render/: optimize table rendering
222
22307-12-2011:
224	* WGoogleMap: unify loading for v2 and v3, fixes bugs in loading
225	a second v3 google map
226
22701-12-2011:
228	* Wt.js, WtReply: more robust handling of flaky WebSocket connections
229
230	* hangman example: misc editorial changes
231
232	* WReadOnlyProxyModel: a simple proxy model that allows sharing of
233	source model between different sessions (but read-only)
234
235	* Dbo: added belongsTo() and hasMany() overloads which infers the
236	foreign key names from the foreign table
237
238	* Dbo: added session() method to actions
239
240	* WStringStream: optimization for string literals which avoids
241	strlen()
242
243	* WDialog: fix positionAt()
244
245	* wtfcgi: fix regression (data corruption) when built with DEBUG=ON
246
24729-11-2011:
248	* Released: 3.2.0
249
25021-11-2011:
251	* Wt/Dbo/backend/Firebird: merged Firebird backend contributed by
252	Lukasz Matuszewski from Technical University of Gdansk.
253
254	* Wt/WLogger: the library now uses macros that wrap around
255	Wt::log() by default for internal logging, but this could be
256	adapted to use another logging system of your choice. We also
257	abide the third law of logging libraries: that they will expand
258	their features until they become unusable: we added configurations
259	options to enable or disable specific logging.
260
261	* WServer: support catching SIGHUP (on unix-like) systems to
262	reread the configuration file.
263
264	* httpd: implement newer (and newest) WebSocket drafts (protocol
265	versions 7, 8 and 13)
266
267	* all: closed several bugs and feature requests (#956, #1015,
268	#1018, #1064)
269
27018-11-2011:
271	* WString: we now store arguments as WString so they are also
272	properly i18n-ed (#1059).
273
27407-11-2011:
275	* WException: new, public exception class (was previously an internal
276	one)
277
278	* WIOService: new, public service class for async I/O, and its
279	thread pool
280
281	* WStringStream: new, public fast stringstream implementation (was
282	previously an internal class)
283
284	* Wt/Auth: new, authentication module
285
286	* Wt/Json: new, JSON library
287
288	* Wt/Mail: new, mail client
289
290	* Wt/Http/Client: new, http client (former Client renamed to WtClient)
291
292	* Wt/Test/WTestEnvironment: has moved to a "wttest" pseudo-connector
293	library
294
295	* WFormWidget: added a valueText() that returns the textual
296	representation of the current value
297
298	* WApplication: added deferRendering() and resumeRendering() API,
299	useful for asynchronous client operations
300
301	* Wt::log(): global logging method, similar to but more useful
302	than WApplication::log()
303
304	* WTemplate: added support for functions, and two standard functions
305	id() and tr()
306
307	* WTemplate: implemented arguments parsing and use ("class")
308
309	* WebSession: added DoS meausures: ajax puzzle and plain session
310	rate limitation
311
31219-10-2011:
313	* WAbstractItemView: reimplemented and simplified header item rendering
314
315	* Wt.js: workaround browser bugs in scrollLeft reading in RTL mode,
316	fixing WAbstractItemView column resizing in RTL layouts.
317
31812-10-2011:
319	* WRectF: fix isEmpty() to be more restrictive: only a rect with
320	width = 0 and height = 0 is now empty
321
32211-10-2011:
323	* WPopupMenuItem: fix crash with re-showing hidden popup
324
325	* WDialog: add setClosable() which adds a close icon to the title bar
326
327	* WAbstractItemView: more flexible API for header height and vertical
328	alignment
329
33005-10-2011
331	* WMediaPlayer: make sure that relative URLs resolve against deployment
332	path (#1007)
333
33403-10-2011
335	* Dbo: added dialect option for 'rows ? to ?' (Firebird database).
336
33723-09-2011
338	* Wt 3.1.11 released
339
34019-09-2011
341	* WAnchor, RefEncoder: added indirection to strip session ID from the
342	referrer before navigating to an external URL (#607)
343
344	* wthttp: stabilized WebSockets handling
345
34613-09-2011
347	* WConfig: added a check to detect header/library version mismatches
348
349	* Chart/WAxis.C: a fix from Joe Garcia, crash with log scaling
350
351	* WItemDelegate: set target new window for WLink data when it references
352	a resource
353
354	* WMenu: fix hiding of a menu item to hide the entire item, not just
355	the contents (label)
356
35705-09-2011
358	* WResource, Http/ResponseContinuation: added API to suspend a response
359	while waiting for more data, and resuming later
360
36131-08-2011:
362	* WResource: use suggestedFilename() also when set during
363	handleRequest() (#920)
364
36522-08-2011:
366	* Dbo/DbAction: fix missing actId() in FromAnyAction triggered
367	by QueryModel with natural ids
368
369	* WAbstractServer, WebMain, WebSession: added support for
370	scheduling events, used to timeout bootstyle response to avoid problems
371	on IE(9) ?
372
373	* WCssDecorationStyle: fix border() segfault
374
37510-08-2011:
376	* WContainerWidget, WScrollArea, DomElement: use overflow-x and
377	overflow-y CSS style since now well cross-browser supported (#830)
378
379	* Dbo/Session: add forceReread parameter to load()
380
381	* WLength: throw exception when unit is corrupt
382
383	* WTreeTable: throw exception on contract abuse
384
385	* examples/wt-homepage: Russian translation contributed by Dmitriy
386	Igrishin
387
38809-08-2011:
389	* Wt.js: fix z-index for drag widget (#927)
390
391	* WTreeView.js: fix column 0 resizing with total treeview regression
392
393	* WFormWidget.C: do not allow editing when isReadOnly()
394
395	* Dbo/ptr: fix ptr operator bool() loading the object (#909)
396
397	* Dbo/CMakeLists.txt: support building and installing Wt::Dbo
398	independently from Wt (#907)
399
40005-08-2011:
401	* WApplication: added a docRoot() method which returns the webserver
402	document root
403
40403-08-2011:
405	* WMediaPlayer: new cross-browser, flexible, audio/video player widget
406
407	* WHTML5Video, WHTML5Audio, WHTML5Media: renamed to WVideo, WAudio, WAbstractMedia
408
409	* WSound, SoundManager: reimplemented using WMediaPlayer
410
411	* WPopupMenu: new method setAutoHide() for automatic hide when
412	the mouse leaves
413
414	* WLink, ...: new utility class that abstracts a link destination (be
415	it a URL, a WResource or an internal path)
416
417	* WPopupMenuItem: new methods setLink() and setLinkTarget()
418	associate a link with the popup menu
419
42025-07-2011:
421	* WPopupMenu, WPopupMenuItem: improved triggered() signal API and
422	added setSelectable() signals
423
42418-07-2011:
425	* WMenuItem: fix takeContents() (#897)
426
427	* WMenu, WMenuItem, WSubMenuItem: simplifiy internal path handling with submenus
428
42915-07-2011:
430	* examples/feature/broadcast: add an example that illustrates
431	server push, WServer::post() and synchronizing a shared resource
432	across sessions
433
43414-07-2011:
435	* fix min-width being ignored in layout managers
436
437	* WDialog: implement setResiable() (#612)
438
43912-07-2011:
440	* collection: implemented count() method for relational
441	collections (#882)
442
44311-07-2011:
444	* WFileUpload, WApplication: fix maximum request size and fileTooLarge()
445	bugs (#794)
446
447	* WTestEnvironment: add methods to test reentrant eventloops (#711)
448
44908-07-2011:
450	* Wt 3.1.10 !
451
45207-07-2011:
453	* Dbo: allow foreign key constraints to be passed to a
454	primary key (that is also a foreing key)
455
456	* Dbo: implement ostream<< for a ptr<C>.
457
45806-07-2011:
459	* Wt.js: fix HTML5 history spec weirdness with null state
460
461	* WFileUpload: fix second upload() crash (#888).
462
46304-07-2011:
464	* WWebWidget: added childrenChanged() signal and use this in
465	WMenu to track contents stack updates
466
46729-06-2011:
468	* WWidget: show/hide animations also work on FF5 now
469
470	* WMenu: better handling of internal path changes to use best
471	match (when components include more than one level)
472
473	* WMenu: fix stateless slot learning issue with submenu items
474
47528-06-2011:
476	* Dbo/ptr: let modify() return a proxy mutator object which marks
477	dirty from its constructor and destructor, ensuring that
478	modifications are not lost in the case the session is flushed
479	amidst a modification.
480
48127-06-2011:
482	* Dbo/collection: implement insert() and erase() for ManyToOne
483	collections
484
48524-06-2011:
486	* WApplication: implemented changeSessionId() method, useful to
487	mitigate session fixation attacks
488
489	* WApplication: added removeMetaHeader() method
490
491	* WFontMetrics: solve pango font-based metrics for cursive fonts
492
493	* WTableCell, WTableRow, WTableColumn: add more convenience
494	methods for navigating the row, column
495
49623-06-2011:
497	* WApplication: button img style to keep HTML4 behaviour of centering
498	the icon vertically in the button
499
500	* WWidget, WWebWidget, js/ToolTip: implement an XHTML tooltip using
501	JavaScript
502
503	* WTableView: fix setHeaderRowHeight() in plain HTML mode, other
504	plain HTML style consistency improvements
505
50619-06-2011:
507	* collection: implement copy constructor which is needed for relational
508	collections
509
51014-06-2011:
511	* WTemplate, WText: implement setInternalPathEncoding() method which
512	encodes anchors with internal path references
513
514	* WAnchor, ... resolve relative paths correctly when HTML5 History
515	internal path implementations are used
516
51730-05-2011:
518	* WAbstractItemView, WTreeView: fix browser memory leaks of
519	inline stylesheet definitions (#834)
520
52127-05-2011:
522	* WebRenderer, WebSession: better detection of IE9 and workaround
523	its bugs (box-sizeing border-box)
524
525	* WWebWidget: do not set an offset auto for IE (gets confused)
526
52723-05-2011:
528	* WTextEdit: implement missing toolBar() method
529
530	* WCssDecorationStyle: fix operator= behaviour and unset properties
531	(#816)
532
53320-05-2011:
534	* WServer, http: remove singleton objects to allow multiple
535	WServer instances
536
537	* WAbstractSpinBox: fix behaviour on IE
538
539	* Wt.js: fix button up registration
540
54119-05-2011:
542	* WTextEdit: make all things configurable per instance (#801).
543
54413-05-2011:
545	* WebSession: relax needs for setting baseURL. Looks good !
546
547	* WWidget, WAnimation: added animation options for setHidden(),
548	and new methods animateShow() and animateHide()
549
550	* WStackedWidget: added support for a transition animation
551
552	* WDialog: added animation support for the dialog cover as well,
553	and improved centering on IE (at least it seems to me ?)
554
55506-05-2011:
556	* WebSession: fix baseURL property usage and internal path
557	inconsistencies
558
559	* WObject: fixed memory leak (signal destroyed was never deleted)
560
561	* WTreeTable: fixed progressive bootstrap behaviour
562
563	* WTableView: pageSize is minimally 1
564
565	* http/Connection: fix HTTP1.0 + continuations error (#810)
566
567	* WTestEnvironment: fix reading from server_ = 0 bug
568
56927-04-2011:
570	* backend/Postgres: use actual autogenerated id field name instead
571	of "id"
572
57326-04-2011:
574	* http/Connection: fix a leak in websocket sockets (file descriptors)
575
576	* WLayout: added a clear() method which removes all contents
577
578	* WDataSeries: fix setLabelColor() being ignored
579
580	* Dbo/backend/Postgres: set client encoding to UTF8
581
582	* WTable: added moveRow() and moveColumn() methods
583
584	* WTableView: fix setColumnHidden() with headerColumns()
585
586	* WebSession: use baseURL property for self-referencing URLs
587
588	* WServer: post() with optional fallbackFunction that is called
589	when the targeted session is dead (by Gaetano Mendola)
590
59114-04-2011:
592	* WAbstractArea: fix anchor not being deleted
593
59413-04-2011:
595	* WebSession: fix setting cookies when using websockets
596
597	* WApplication: fix unload() interfering with session reload
598	when reload-is-new-session is set to false
599
600	* sqlite3: bump to version 3.7.6
601
60212-04-2011:
603	* WebSession, WebRenderer: handle WidgetSet session reloading
604
60511-04-2011:
606	* http/Configuration.C: fix missing --docroot segfault problem
607
608	* web/WebRenderer: option to allow splitting skeleton file in an
609	invariant and variant part (useful if refreshing frequently)
610
611	* WGoogleMap: fix rendering in layout manager on webkit
612
613	* WStreamResource: refactored WFileResource, contributed by Dmitriy
614	Igrishin
615
61607-04-2011:
617	* 3.1.9: release time !
618
61905-04-2011:
620	* target/android, target/osx: starting to support these mobile targets
621
622	* Ext/Calendar: set selected date on render
623
62401-04-2011:
625	* Chart/WChart2DRenderer.C: avoid clipping with WRasterImage backend of
626	labels, titles by rendering in a wider box
627
628	* WServer::post(): for lock-free event delivery to a session, instead of
629	taking the WApplication::UpdateLock. Simplechat and codeview exapmles were
630	adapted to use this approach.
631
63229-03-2011:
633	* WAbstractItemView: fix API usage when not rendered
634
635	* WDate: patches from Gaetano Mendola w.r.t. invalid dates after month/year
636	operations + isLeapYear() implementation
637
63825-03-2011:
639	* FontSupportPango: store leaky pango_font_map in thread local memory
640
641	* WRasterImage: fix clipping problem with text rendering
642
643	* W*Slider: fix 0 value and readonly attribute behaviour (#748, #749)
644
645	* Wt.js: fitToWindow() when object is wider/taller than window (#766)
646
647	* WebSession: support cookies in CORS (withCredentials flag)
648
649	* Wt/WAxis: setResolution() implementation, contributed by Gaetano Mendola
650
65123-03-2011:
652	* target/osx: Add script to generate an OSX Framework for iPad/iPhone
653
654	* Dbo/Query: fix limit_ and offset_ not being copied in copy constructor
655
656	* Chart/WCartesianChart: allow custom color for a single bar in a bar
657	series using BarPenColorRole and BarBrushColorRole data roles
658
65921-03-2011:
660	* Dbo/QueryModel: honour original limit() and offset()
661
66225-02-2011:
663	* WSpinBox, WDoubleSpinBox: separated integer from double spinbox,
664	rewrite to take into account #737, #727, #721. Note that the API
665	changed in several ways.
666
66723-02-2011:
668	* WRasterImage: implement drawImage() and improved text rendering,
669	using libpango as font selector and glyph shaper, if available.
670
671	* WPdfImage: use libpango for selecting (truetype) fonts, if available.
672
67315-02-2011:
674	* WebSession: support HTML5 History API for internal paths
675
676	* wthttpd: a value for docroot like .:/css,/resources,/style is
677	interpreted as defaulting to a deployed app except for the given
678	paths, allowing deployment without ugly URLs (?_=)
679
68012-02-2011:
681	* WSubMenuItem: behave more consistently w.r.t selection (#694)
682
68311-02-2011:
684	* WString, WMessageResourceBundle: added i18n support for plural forms
685
686	* WSlider: provide better CSS-ability and support for HTML5 input range
687	native control
688
68910-02-2011:
690	* WRun(), WServer::addEntryPoint(): uses a boost::function for the
691	application creator callback, so that you can bind additional arguments
692
693	* WServer::initializeThread() a virtual method which can be used to
694	initialize thread in a specialized WServer class (only for built-in httpd)
695
69609-02-2011:
697	* WTableView, WTreeView: renamed (and implemented for WTableView)
698	setColumn1Fixed to setRowHeaderCount()
699
70004-02-2011:
701	* Released 3.1.8
702
70328-01-2011:
704	* Dbo: belongsTo() and hasMany(/* ManyToMany */) can now be passed
705	foreign key constraints such as NotNull and OnDeleteCascade.
706
70727-01-2011:
708	* StdGridLayout: collapse paddings of empty items (affects all non-Ext
709	layout managers)
710
71125-01-2011:
712	* Wt/Text/Renderer: warn but proceed when minimum render width exceeds
713	page width
714
715	* Wt/WPaintDevice: solve inconsistencies w.r.t. clear()
716
717	* WebRenderer, WebSession, Boot.html: wait for stylesheets to load
718	before loading widget tree in default bootstrap mode
719
720	* WApplication: initial work for RTL layout, set using
721	setLayoutDirection()
722
72319-01-2011:
724	* Wt/WPdfImage: add true type font support (libharu patch pending)
725
726	* Wt/WApplication.C: fix #693
727	(sloppy WApplication::internalPathMatches())
728
729	* Wt/WBoostAny.C: add support for bool types (#690)
730
731	* Boot.html, Hybrid.html: fix IE8 unreliable startup (occasional
732	blank screen)
733
73413-01-2011:
735	* Wt/Chart/WCartesianChart: implement legend location, alignment,
736	and styling options
737
738	* Wt/Chart/WDataSeries: add setXSeriesColumn() to allow for
739	individual X series per Y series in a scatter plot.
740
74111-01-2011:
742	* Wt/WAbstractItemView: implement setHeaderItemDelegate() and defer
743	rendering of header cells to the item delegate; also added
744	WStandardItemModel::setHeaderFlags() to allow configuration of
745	header flags.
746
74707-01-2011:
748	* Wt/WAbstractItemView: implement scrollTo()
749
750	* Wt/Dbo: support for bool types
751
75206-01-2011:
753	* Render/WTextRenderer, Render/WPdfRenderer: XHtml-to-(PDF) renderer.
754
755	* Wt/WFontMetrics: font metrics info
756
757	* Wt/WPaintDevice: add methods for font metrics
758
759	* WLength: add a string-based constructors which parses a CSS
760	length declaration like "50%"
761
762	* WFont: the string-based constructor now parses #aabbcc and
763	rgb(a,b,c) values into rgb components.
764
765	* WWidget: added setHeight() and setWidth() methods
766
76721-12-2010:
768	* WAbstractItemView, WTableView, WTreeView: persist editors through
769	model changes and avoid closing editors when something changes
770
771	* WAbstractItemModel: clarify (and narrow down) usage of internal data
772	in a model index so that views can keep their relaxed take on stale
773	indexes.
774
77516-12-2010:
776	* WEvent: add eventType() method
777
778	* wt-homepage, simplechat examples: show-case widget set mode
779
780	* blog example: add archive
781
782	* libwtwithqt: simplify implementation since notify() is now used
783	more consistently by Wt
784
785	* WObject: object ids are now seeded by a random start value, to
786	allow mixing of several wt applications
787
788	* WRasterImage: implemented a getPixel() method
789
79008-12-2010:
791	* WApplication: fix unload event interfering with session refresh
792
793	* WebSession: handle session quit() during a websocket message
794
795	* WRandom: moved high-entropy random generator to public API, and
796	a utility method to create a random id
797
798	* wt-homepage example: illustrate use of a cookie to persist logins
799	across sessions
800
80102-12-2010:
802	* WebSession, WApplication, ...: support CORS (Cross-Origin Resource
803	Sharing including IE's XDomainRequest and WebSockets), deprecated
804	WApplication::setAjaxMethod() which is now chosen automatically
805	and support request pref-flighting using OPTIONS.
806
80701-12-2010:
808	* WApplication, examples/wtwithqt/DispatchThread: attach the Qt
809	thread only during event handling
810
811	* Dbo/Session: add rereadAll() option to reread single table
812
813	* WFileUpload: correctly handle non-ascii tokens in suggestFileName()
814
81530-11-2010:
816	* fixed a regression in layout managers, released as 3.1.7a
817
81827-11-2010:
819	* js/StdGridLayout.js: implement rowspan handling
820
82126-11-2010:
822	* released 3.1.7
823
82424-11-2010:
825	* WAbstractItemView: added support for column hiding
826
82723-11-2010:
828	* Chart/WCartesianChart: support ToolTipRole data using WAbstractArea
829	areas
830
83115-11-2010:
832	* Dbo/Sesion: add rereadAll()
833
834	* Wt.js: fix IE6-8 history management regression
835
83610-11-2010:
837	* QueryModel: setData() now converts the incoming type to the database
838	field type (if possible), and also uses a transaction to persist the
839	result (if not nested in another transaction)
840
84108-11-2010:
842	* WebSession: landed Web Sockets support, must be enabled in the
843	configuration file
844
84505-11-2010:
846	* Wt.js: fix opera script loading indicating failure when loading from
847	cache
848
84902-11-2010:
850	* WebSession: initialize() in first notify()
851
852	* WStringUtil: fix a bug in widen() when the underlying conversion
853	gives an error
854
855	* build: fixes suggested by Pau
856
85729-10-2010:
858	* Wt 3.1.6 released
859
86028-10-2010:
861	* WebSession: use sequence instead of random numbers for resources
862
863	* WebRenderer: be resilient to multiple GET requests for the main
864	script
865
866	* WApplication: unload() does not quite() when reload-is-new-session
867	is disabled
868
869	* WebRenderer: fix regression where timers are stopped by refreshing
870	a session when reload-is-new-session is disabled
871
87227-10-2010:
873	* examples/feature/dbo: added examples from the Wt::Dbo tutorial
874
875	* WPushButton: added setRef() and setResource() APIs to make a button
876	behave like an anchor
877
878	* WString::widen() and WString::narrow(): fix broken implementation
879
88026-10-2010:
881	* WMessageResourceBundle: better preservation of white-space when
882	parsing the XML resource bundle
883
88425-10-2010:
885	* WFileUpload: added setMultiple() which alows multiple files to
886	be uploaded at once (and demonstrate in composer example)
887
888	* Http/Request: changed UploadedFileMap typedef from std::map to
889	std::multimap
890
891	* WAbstractItemView: added methods sortColumn() and sortOrder()
892
89322-10-2010:
894	* WFileUpload, WResource: support upload progress tracking (currently
895	only with wthttpd)
896
89721-10-2010:
898	* various: support IE9 in IE9 document mode, enabling HTML5 features
899	like canvas and disabling workarounds no longer needed -- hooray !
900
90119-10-2010:
902	* WPopupMenu: fix recycling of popup menu
903
90418-10-2010:
905	* WSignal: EventSignal::connect(): added an overload which accepts
906	a JavaScript function, as a short-cut for JSlot when connection
907	management is not needed
908
909	* WSpinBox: a spin box is in the making
910
911	* WApplication: deprecated getUpdateLock() in favour of the more
912	conventional RIIA UpdateLock(WApplication *app) constructor
913
914	* WebSession: do not access WebSession shared_ptr during ~WebSession
915	but allow acquiring the update lock to fail instead when an application
916	is slated for destruction (#564)
917
918	* SyncLock: an adaptor for a Boost Mutex lock which avoids dead-locks
919	when used while holding an application lock
920
92115-10-2010:
922	* WApplication: addMetaHeader() allows now to set http-equiv meta
923	headers and override the X-UA-Compatible meta header
924
92514-10-2010:
926	* WWebWidget: reimplemented buggy clear() optimisation.
927
92812-10-2010:
929	* WBoostAny: added registerType<Type>() method to register
930	new types for boost::any support by standard item views.
931
93211-10-2010:
933	* Dbo/WtSqlTraits, Dbo/backends: added support for WTime
934
935	* Dbo/QueryModel: added support for customized header data, and
936	option for setQuery() to keep the current columns.
937
938	* js/StdGridLayoutImpl: use parent node geometry for detecting need
939	for relayout, fixes IE7+ behaviour
940
94107-10-2010:
942	* WTableView, WTreeView, *ProxyModel: shift model indexes only after
943	the source model has inserted or removed rows, see bug #546
944
945	* WProgressBar: added valueChanged() and progressCompleted() signals,
946	from Omer Katz.
947
94805-10-2010:
949	* CMakeLists.txt: patch for gentoo, make many things optional which
950	can be enabled or disabled explicitly regardless of whether the
951	libraries and header files for it are found
952
95301-10-2010:
954	* WebController, WebSession: use shared_ptr for WebSession to resolve
955	concurrency bug #544
956
957	* Wt::Dbo: use a spirit based parser for sql queries to handle more
958	complex queries like 'WITH ... SELECT ...' syntax, but also with
959	complex aggregate functions in the SELECT clause.
960
96128-09-2010:
962	* WDatePicker: add setGlobalPopup() method which can be used to avoid
963	clipping problems on a date picker
964
965	* WDatePicker: add setPopupVisible() method
966
967	* Http/Request: add getRanges(), parsing the HTTP 1.1 Ranges header
968
969	* Http/Response: add setContentLength() allowing you to specify the
970	content length.
971
972	* WFileResource: support ranges to return partial file contents.
973
97427-09-2010:
975	* WMenuItem: destructor now cleans up properly
976
977	* all connectors: consider appRoot as the location for the
978	wt_config.xml file and provide ways to configure appRoot for
979	wthttp and fastcgi connectors.
980
98122-09-2010:
982	* WProgressBar: based on a contribution by Thomas Suckow.
983
98421-09-2010:
985	* WRegExpValidator, WSortFilterProxyModel: support case-insensitive
986	regular expressions
987
988	* WSuggestionPopup: optimized behaviour w.r.t server-side and
989	client-side filtering
990
99120-09-2010:
992	* WApplication: added makeAbsoluteUrl() method.
993
994	* WPopupMenuItem: support setDisabled().
995
99616-09-2010:
997	* WPaintDevice: remove paintFlags() method; PaintUpdate is a property of
998	the painted widget, and no longer something which has to do with
999	WPainter. In this we revert to the old behaviour of supporting multiple
1000	WPainters on a single paint device in turn.
1001
100214-09-2010:
1003	* Wt.js: fix JavaScript memory leak after learning about the
1004	surprising JavaScript scoping rules
1005
1006	* WApplication: add unload() and setConfirmCloseMessage() to handle the
1007	event of the user closing the window respectively have a confirmation
1008
1009	* WInteractWidget, WMouseEvent: add mouseWheel() event
1010
1011	* WTabWidget: fixed polished style close icon, and wrapping to next line
1012	if having many tabs
1013
1014	* WFormWidget: implement hasFocus()
1015
1016	* WLineEdit, WTextArea: implements methods for retrieving cursor
1017	position and current selection
1018
101908-09-2010:
1020	* WCheckBox: better tri-state support, using opacity: 0.5 as
1021	workaround instead of an image
1022
102307-09-2010:
1024	* WBoxLayout, WGridLayout: improved client-side performance by
1025	selectively doing relayout
1026
1027	* WDate, WCalendar, WDatePicker, ...: support i18n through built-in
1028	message resource bundle and get rid of ugly i18n bool in API
1029
103023-08-2010:
1031	* fcgi: fix connector when using WDialog::exec() or server push
1032	(this is broken in 3.1.4!)
1033
1034	* WSocketNotifier: finally (!) this beast works as advertised
1035
103610-08-2010:
1037	* isapi: various improvements
1038
1039	* WSignal: SLOT/slots macro can be disabled using -DWT_NO_SLOT_MACROS
1040
1041	* examples: cleanups to use appRoot() and no longer use SLOT() macro
1042
104302-08-2010:
1044	* WBatchEditProxyModel: a model that caches editing until submitted
1045	in batch (or reverted)
1046
1047	* Dbo/QueryModel: remove edit strategy, this is now handled by
1048	WBatchEditProxyModel
1049
1050	* WModelIndex: clarify usage when model rows/columns shift, implement
1051	in-place toRaw/fromRaw conversion
1052
1053	* WDialog: add titleBar() to access the title bar
1054
105530-07-2010:
1056	* Dbo/Query: support 'select distinct/all' syntax, and case-insenstive
1057	query parsing
1058
105929-07-2010:
1060	* WSuggestionPopup: misc improvements to server-side filtering, fixing
1061	rendering glitches
1062
1063	* examples/feature/suggestionpopup: example demonstrating WSuggestionPopup
1064	features
1065
106627-07-2010:
1067	* WRasterImage: Graphicsmagick backend implementation for WPaintDevice,
1068	sponsorted by Eurofer, can be used for PNG, GIF, etc... output
1069
107022-07-2010:
1071	* WPdfImage: PDF backend implementation for WPaintDevice,
1072	sponsored by Eurofer.
1073
1074	* http/Reply.C: enable compression for image/svg+xml mime-type.
1075
1076	* WInteractWidget: suppress click and double click mouse events when
1077	disabled
1078
107920-07-2010:
1080	* Wt/WTreeNode: added insertChildNode(), as suggested by
1081	Aleksey Chirkin
1082
108319-07-2010:
1084	* isapi: added a (first implementation) of an ISAPI connector,
1085	which provides native support in Microsft IIS.
1086
1087	* WebSession: fix one possible race condition, and one possible dead-lock
1088	when grabbing the session lock
1089
1090	* Dbo/QueryModel: implement write support (setData(), insertRows(),
1091	and removeRows())
1092
109315-07-2010:
1094	* Wt::Dbo: adds support for natural keys, including composite
1095	keys, custom id and version field names, and foreign key
1096	constraint definition that is compatible with mysql's broken sql.
1097
1098	* Wt::Dbo: Dbo base class is now changed to Dbo<C> template
1099	class to take into account customizable id type.
1100
110114-07-2010:
1102	* resizable layout managers: reset total width percentage of all
1103	remaining columns to 100
1104
1105	* WCanvasPaintDevice: fix transformation bug
1106
110707-07-2010:
1108	* examples/feature/serverPush: fix WIN32 build problem
1109
1110	* Chart/WCartesianChart: fix clipping margin glitch
1111
1112	* Dbo/QueryModel: fix missing implementation fields() method
1113
1114	* WAbstractToggleButton: fix disabled/readonly properties #423
1115
1116	* WApplication: useStyleSheet(): allow media to be specified
1117
1118	* WCanvasPaintDevice: fix font rendering glitch
1119
1120	* WTableView: improved keyboard navigation through editors
1121
112230-06-2010:
1123	* WTabWidget, WMenu: support for closing, hiding and disabing
1124	items, contributed by Dmitriy Igrishin
1125
1126	* Wt::Dbo: fix boost::optional<T> support
1127
1128	* WAbstractItemView: build fix for MSVC in non-Latin locales
1129
1130	* WAbstractItemModel: copyData() does first nullify existing data
1131
1132	* WSuggestionPopup: fix bug in handling of model row removal
1133
1134	* WWebWidget, WebRenderer: fix statelss slot learning bug when a
1135	stubbed widget is affected (see treelist example)
1136
1137	* WWebWidget: fix addStyleClass(), removeStyleClass()
1138	implementations with force=true (from Dmitriy Igrishin)
1139
1140	* WTableView: improved handling of arrow keys for navigating editors
1141
114210-06-2010:
1143	* WTableView, WTreeView: workaround IE bug w.r.t. white-space: nowrap
1144
1145	* Chart/WCartesianChart: added createLegendItemWidget() to paint the
1146	legend item outside the chart
1147
1148	* WItemDelegate, WAbstractItemView: add support for validation
1149
1150	* WBorderLayout: add missing setSpacing() method to control internal
1151	spacing
1152
1153	* WWidget: addStyleClass() and removeStyleClass() (finally!)
1154
1155	* WContainerWidget: workaround scrolling bug in IE caused by
1156	position: relative
1157
1158	* WEnvironment: agent() and agentIsXXX() methods
1159
1160	* WSvgImage: give in to inkscape's CSS font needs
1161
1162	* WHTML5Video, WHTML5Audio: HTML5 video and audio support
1163
1164	* WSuggestionPopup: implement explicit trigger (icon, key down)
1165
1166	* WTreeNode: support selection by click on whole row
1167
1168	* WWebWidget: added doJavaScript()
1169
1170	* examples/blog: improved support for MSVC builds, new feature allowing
1171	profile editing
1172
1173	* examples/feature/serverpush: simple example illustrating use of
1174	server push
1175
117620-05-2010:
1177	* build: added support for cygwin
1178
117919-05-2010:
1180	* WMenu: fix first selection not emitting internal path change (dmitry)
1181
1182	* WTableView: properly react to model changes
1183
1184	* WItemDelegate: explicit focus support
1185
118618-05-2010:
1187	* Chart/WChart2DRenderer: fix rendering glitch when rendering grids
1188
118913-05-2010:
1190	* WInteractWidget: added mouseDragged()
1191
1192	* WApplication: added addMetaHeader()
1193
119410-05-2010:
1195	* WTableView: now supports (almost) same API as WTreeView, with the
1196	similar style, but better performance for tabular data.
1197
1198	* WTableView, WTreeView, WAbstractItemView: support non-AJAX rendering
1199	using a paging bar.
1200
1201	* WAbstractItemDelegate, WItemDelegate, WAbstractItemView:
1202	supports editing
1203
1204	* Dbo/QueryModel: a Wt model for viewing data from a Dbo::Query
1205	result (a first version).
1206
1207	* Dbo/SqlTraits: sql_result_traits was renamed to query_result_traits,
1208	and its API updated to allow more robust query creation and result
1209	interpretation as a list of boost::any's
1210
1211	* Signal: SignalBase and EventSignalBase are now documented API
1212
1213	* WFlashObject: reimplemented: no longer relies on JavaScript to load
1214	the flash movie. WFlashObject no longer uses SwfObject.js. The objects
1215	will also be resized when inserted in a layout manager.
1216
1217	* WHTML5Video: HTML-5 video implementation, will become part of
1218	generic video support later
1219
1220	* http/Reply.C, http/StaticReply.C: support for http range header
1221	and partial content
1222
1223	* web/CgiParser.C: fix parsing logic error for multi-part/formdata
1224
122528-04-2010:
1226	* WTimer: implement singleShot(f) with f a function object variant
1227
122821-04-2010:
1229	* WMenu: support usage without contentsStack_
1230
1231	* rapidxml.hpp: fix bug #344 (some special entity characters not being
1232	handled properly)
1233
1234	* examples/planner: new example illustrating simple dbo usage
1235
123620-04-2010:
1237	* Dbo/SqlConnectionPool, Dbo/FixedSqlConnectionPool: connection pool
1238	implementations
1239
1240	* Dbo/Query: support for several bind strategies, including a new
1241	DynamicBinding strategy which supports incremental query
1242	specification
1243
1244	* Dbo/Session: add execute() method for executing SQL that does not
1245	return results
1246
124708-04-2010:
1248	* Http/Request: added headerValue()
1249
125007-04-2010:
1251	* WSuggestionPopup: add setFilterLength() and filterModel() methods
1252	which allow for server-side filtering based on initial input. Also
1253	support setMaxSize() to specifiy maximum height of the popup and
1254	scrolling through the list of suggestions
1255
125630-03-2010:
1257	* WPanel: make titleBarWidget() public
1258
125926-03-2010:
1260	* Wt/WShadow, Wt/WPainter: add support for drop shadows
1261
1262	* Wt/Chart/WDataSeries, Wt/Chart/WChart2DRenderer: add support for shadows
1263
126425-03-2010:
1265	* Wt/Dbo/backend: provide generic properties() and API clean-ups
1266
126724-03-2010:
1268	* Wt/Dbo/Query: also support queries without 'from' or 'select'
1269
1270	* Wt/Dbo/DbAction.C: create indexes on join table for each referenced
1271	table id
1272
1273	* Wt/Dbo: support schema-qualified tables
1274
127523-03-2010:
1276	* Wt/Dbo/Postgres, Wt/Dbo/Sqlite3: add proper support for dates,
1277	time stamps, binary blobs, var chars
1278
127919-03-2010:
1280	* WCheckBox, WRadioButton: fix inconsistencies when setting style
1281	attributes and they have a non-empty label
1282
128315-03-2010:
1284	* Dbo/backend/Postgres: a PostgreSQL backend, contributed by Hilary
1285	Cheng
1286
128712-03-2010:
1288	* EscapeOStream, WSvgImage: a host of performance improvements by
1289	tossing away stringstream in favour of a simple SStream
1290
1291	* WWidget: add setLayoutSizeAware() and layoutSizeChanged() methods
1292
129308-03-2010:
1294	* WResource: add setInternalPath() to deploy a resource at a
1295	deterministic URL
1296
129705-03-2010:
1298	* WebSession: add support for http PUT/DELETE methods.
1299
1300	* src/Http/Request: add method() to access request method
1301
1302	* src/Http/Response: add setStatus() to set the response status
1303
130403-03-2010:
1305	* WCalendar: add HorizontalHeaderFormat enum (long day name support),
1306	currentPageChanged signal, clicked signal, activated signal,
1307	SelectionMode enum (NoSelection mode support), renderCell() virtual
1308	method
1309
131001-03-2010:
1311	* WGridLayout, WBoxLayout: add support for user resizing ('splitter')
1312	functionality
1313
1314	* WTreeView, WGridLayout: externalize JS
1315
131625-02-2010:
1317	* src/Wt/WString: fix narrow() and widen() character encoding
1318	conversions
1319
1320	* http connector: spool large POSTs to a temporary file instead
1321	of in-memory, and avoid extra copies
1322
1323	* web/CgiParser.C: skip large file uploads entirely (instead of
1324	erroneously buffering them to memory)
1325
132622-02-2010:
1327	* Dbo/StdSqlTraits: support float and double
1328
1329	* WApplication: missing initialization messes up refresh() by reload
1330
1331	* WPainter: now has defined behavior when missing horizontal or vertical
1332	alignment flags in drawText()
1333
133418-02-2010:
1335	* web/EscapeOStream.C: fix build error on MSVC
1336
1337	* Wt 3.1.1 released
1338
133912-02-2010:
1340	* mxml: replace mxml with an (adapted) rapidxml browser.
1341
134228-01-2010:
1343	* Ext/Container.C, WStackedWidget.C: fixed behavior in combination
1344	with layout managers
1345
134625-01-2010:
1347	* WTreeView.C: simplified column resize handling code
1348
134922-01-2010:
1350	* WCanvasPaintDevice: Use HTML5 native canvas text when available
1351
135221-01-2010:
1353	* WSuggestionPopup, WTree, WTreeNode, & co: make CSS themed
1354
135518-01-2010:
1356	* Dbo: additional optional parameter to hasMany() allows the
1357	definition of the joinId in the joinTable (you need this if you
1358	are doing Many-to-Many between the same table).
1359
1360	* WDateTime, WTime: fix AM/PM parsing problem
1361
1362	* Dbo/SqlStatement: explicit null binding, since SQLite3 does not
1363	reset bindings on reset()
1364
1365	* WTreeView: fix ite column 0 changing
1366
136712-01-2010:
1368	* WTemplate: do not rerender bound widgets when rerendering the
1369	template if the widget was already rendered
1370
137111-01-2010:
1372	* themes/polished: several improvements
1373
1374	* WPanel, WCalendar, WDatePicker, WDialog: improved theme support
1375
1376	* WTreeView: several bug fixes and improved IE bug workaround support
1377
137805-01-2010:
1379	* Chart/WAxis: added setLabelFont(), labelFont() methods
1380
1381	* WTreeNode: fix selection handling when removing and readding a node
1382
1383	* Boot.html, Hybrid.html: fix an XSS vulnerability arising from the
1384	internal path
1385
138604-01-2010:
1387	* Wt.js, CommAjax.js, CommScript.js: support communication problems
1388	by retrying with exponential back-off
1389
139031-12-2009:
1391	* Dbo: quote all identifiers
1392
1393	* WContainerWidget: support resetting a layout manager
1394
139529-12-2009:
1396	* Release 3.1.0, after some more bug fixes
1397
139822-12-2009:
1399	* Ext/FormWidget: add changed(), blurred() and focussed() signals
1400
140121-12-2009:
1402	* WTemplate: add handleUnresolvedVariable() from Maurice Gittens
1403
1404	* WMenu: sanitize internal path handling
1405
1406	* documentation: integrate asciidoc and doxygen in CMake (target
1407	'doc'), and improve Wt::Dbo documentation
1408
140918-12-2009:
1410	* WTreeView: fix treeview column add/remove glitches with column 1 fixed
1411
141217-12-2009:
1413	* WSlider: correct upside down behavior of WSlider, use more accurate
1414	position handling
1415
141615-12-2009:
1417	* Wt/Dbo: new C++ ORM layer
1418
1419	* test/: automated test suite (for non-GUI features)
1420
1421	* src/Wt/WTemplate: new XHTML template-based widget
1422
1423	* examples/blog: new example that implements a blog using Wt and
1424	Wt::Dbo
1425
1426	* src/Wt/WDateTime, src/Wt/WTime: date time and time classes
1427
142815-12-2009:
1429	* CMakeLists.txt: add XML_FEATURES option which can be used to disable
1430	the (mini-)XML library
1431
143211-12-2009:
1433	* WPaintedWidget, Ext::Container: properly react to resizes within
1434	a Wt layout manager, both width and height
1435
1436	* StdGridLayoutItem.C, Ext::Widget: concatenate html and body style
1437	classes to not have interference
1438
143909-12-2009:
1440	* WDataSeries: added setHidden(bool) and isHidden()
1441
1442	* WCartesianChart: added renderLegendIcon()
1443
1444	* WTextEdit: fix updating of contents
1445
144607-12-2009:
1447	* WWidget: added isRendered(), let widgets keep track of being rendered
1448
1449	* WSignal: added connect(Function& f) method
1450
145104-12-2009:
1452	* src/web/skeleton/Wt.js: added getSelectionRange and setSelectionRange
1453	utility functions for line edits and text areas
1454
145530-11-2009:
1456	* src/mxml: updated to an unmodified mxml-2.6 (which includes our bug
1457	UTF-8 bug fixes)
1458
145925-11-2009:
1460	* all: added support for CSS-based themes.
1461
1462	* WAbstractItemModel, WAggregateProxyModel, WTreeView: addded support
1463	for drilling down through treeview columns
1464
1465	* WSlider: added sliderMoved() signal
1466
1467	* Chart/WAxis: added setAutoLimits() and autoLimits() methods, and have
1468	maximum() and minimum() return computed values
1469
1470	* Chart/WCartesianChart: use MarkerPenColorRole and
1471	MarkerBrushColorRole to override colors for markers per data point
1472
1473	* WCanvasPaintDevice: several improvements for outputting more
1474	concise JavaScript rendering statements
1475
1476	* WWidget: add find() method to find a widget with a particular
1477	objectName()
1478
1479	* WFileUpload: fileTooLarge() signal now propagates within the
1480	event loop
1481
148210-11-2009:
1483	* Chart/WCartesianChart, Chart/WDataSeries: added mapFromDevice() and
1484	mapToDevice() methods.
1485
148603-11-2009:
1487	* WTreeView: fix for adding a first row to an otherwise empty model
1488	(from Guy De Leeuw)
1489
149003-11-2009:
1491	* 3.0.0: released!
1492
149321-10-2009:
1494	* WMenu: set correct internal path before loading a menu item
1495
149609-10-2009:
1497	* WAxis: add TimeDateScale to AxisScale enum
1498
149928-09-2009:
1500	* WCartesianChart: seriesIndexOf() is now private
1501
1502	* WebRenderer: several small fixes for the hybrid bootstrap
1503
150423-09-2009:
1505	* WTableView: table_ is now private and a protected getter table() was
1506	added
1507
150818-09-2009
1509	* Wt.js: cancelEvent() includes an option to only include cancelling
1510	propagation or the default action
1511
1512	* WResource: add setChanged() and url() methods which are more
1513	useful than the generateUrl() method
1514
1515	* http/RequestParser: fix possible shared_ptr corruption issue
1516	reported by David Galicia
1517
1518	* WCssDecorationStyle: add method for WResource as background
1519	image
1520
1521	* JSlot: fix internal consistency problem when connecting same
1522	JSlot to same signal twice
1523
1524	* JSlot::exec() now takes parameters for object and event
1525
1526	* WTreeView: fix vertical scrolling showing mis-aligned columns
1527	when column 1 is fixed
1528
152915-09-2009:
1530	* WWidget: move WFormWidget::setEnabled() to WWidget::setDisabled(),
1531	allowing all widgets to be set enabled or disabled.
1532
1533	* WWidget: isVisible() and isEnabled() reflect the computed visibility
1534	respectively being enabled taking int account ancestors settings
1535
1536	* WWidget: added setHiddenKeepsGeometry(), which uses css visibility
1537	for setHidden()
1538
153903-09-2009:
1540	* WDialog, Ext::Dialog, and related: allow for multiple modal dialogs
1541	and nested exec() calls.
1542
1543	* Boot.html, Hybrid.html: add a loadScript() method to defer loading of
1544	user JavaScript
1545
154601-09-2009
1547	* WDatePicker: Use 'positionAtWidget' to make sure the widget
1548	is rendered visible even if at bottom of page (folds up instead of down)
1549
1550	* WDialog: Fix JavaScript positioning for IE6
1551
1552	* WFileUpload: Fix empty file regression (#53)
1553
155431-08-2009
1555	* Wt.js: fix server push mayhem
1556
1557	* WTreeView: fix autoJavaScript performance
1558
1559	* Wt.js: fix mouse capture on IE, fix mouse capture of mouse up when
1560	dragging outside the window
1561
1562	* Wt.js: fix synchronisation issue with 'load' request and loading
1563	of JS libraries
1564
1565	* Wt.js, DomElement: use setExpression() to set a CSS expression
1566	(for min/max-width)
1567
1568	* WApplication: fix conditional stylesheet condition parse error
1569	with 'gte' expression
1570
157126-08-2009
1572	* Wt.js: attach mouse grab events to body using DOM event
1573	capture
1574
1575	* HybridBoot.html, WebSession, WebRenderer: assimilate new
1576	bootstrap method with a refactoring, make it all a bit less
1577	stateful
1578
1579	* WApplication: notify() can now be used as a generic request
1580	handling point where you grab and free request-specific
1581	resources
1582
158322-08-2009
1584	* fcgi/Sever.C: make multi-threaded, using the <num-threads>
1585	number of threads
1586
158719-08-2009
1588	* ProgressiveBoot.html, WebSession, WebRenderer: a new bootstrap
1589	method has been added which implements the principle of
1590	"progressive enhancement"
1591
1592	* WebSession, Boot.html: avoid one extra round-trip when
1593	redirecting to the canonical URL.
1594
1595	* Plain.html: better SEO: do not render the form to a spider engine
1596
159718-08-2009
1598	* WWidget: add boxPadding() and boxBorder() methods, which are
1599	used by the layout managers to correct for built-in borders and
1600	paddings of form widgets
1601
1602	* WComboBox: listen to layoutChanged()
1603
160406-08-2009
1605	* WGoogleMap: add setCenter() method without zoom argument, change
1606	myHtml argument to WString
1607
160801-08-2009
1609	* WLineEdit: work around IE's inability to change <input> type
1610	attribute
1611
1612	* DomElement, WebRenderer, EscapeOStream: use IE alternative
1613	createElement() which also sets all attribute values, and thus
1614	saves JavaScript calls
1615
1616	* StdGridLayoutImpl, StdWidgetItemImpl: fix IE glitches in
1617	layout managers
1618
161931-07-2009
1620	* WCssDecorationStyle: add custom cursor image functionality
1621
162223-07-2009
1623	* WApplication: simplified the semantics of internal path API signal
1624	internalPathChanged(). You may still use the old behavior by
1625	defining the property oldInternalPathAPI.
1626
162720-07-2009:
1628	* WAxis: fix crash when dealing with negative values and a logscale axis
1629
163017-07-2009:
1631	* WServer, WGlobal: move WServer::Application and WServer::WidgetSet to
1632	global enum
1633
1634	* WAbstractToggleButton.C: put label inside a <span> so that it works
1635	as expected when used within a layout manager
1636
1637	* Test/WTestEnvironment: test environment, for instantiating
1638	WApplication instances usable for (unit) tests
1639
164006-07-2009:
1641	* WGridLayout, WBoxLayout, WTabWidget: better documentation that
1642	discusses how to set contents with 100% height.
1643
164429-06-2009:
1645	* JSlot: fix exec() call as suggested by Adrian Sutherland
1646
164725-06-2009:
1648	* WCanvasPaintDevice, WSvgImage, WVmlImage: string -> stringstream
1649	optimizations
1650
1651	* WTableCell: fix vertical component of content alignment
1652
1653	* WModelIndex: fix operator== to not use memcmp() since this gets
1654	into trouble with struct padding bytes
1655
165619-06-2009:
1657	* Chart/WAbstractChart: react well to modelReset() and
1658	modelLayoutChanged()
1659
1660	* WCheckbox, WRadioButton: internal cleanup and simplifications
1661
1662	* WButtonGroup: added checkedChanged() signal
1663
1664	* WIntValidator: allow entry of +/- signs
1665
166615-06-2009:
1667	* WGlobal: fix Horizontals = Left | Right and Verticals = Top | Bottom
1668
1669	* WPanel: clear the title bar
1670
1671	* DomElement: fix an unstubbing regression with ExtJS widgets
1672
1673	* Wt.js: fix server push + JSignal.emit()
1674
1675	* WGlobal: fix doxygen for WFlags masks
1676
1677	* http/Server.C: avoid http/https accept() to abort on Win32
1678
1679	* WResource, WFileResource: fix continuation + suggested filename
1680	data corruption, and implement WFileResource::setBufferSize()
1681
168210-06-2009:
1683	* WRectF: added isEmpty() method, removed isNull() method
1684
168509-06-2009:
1686	* WEnvironment: added headerValue method
1687
168808-06-2009:
1689	* WPoint, WPointF, WLineF: removed obsolete isNull methods
1690
169102-06-2009:
1692	* WAbstractItemDelegate, WItemDelegate: new classes to which the
1693	rendering of a model item is delegated.
1694
1695	* WTreeView: use WAbstractItemDelegate and WItemDelegates, and
1696	API to customize the used item delegate class.
1697
1698	* WWidget: add setSelectable() method which can enable or disable
1699	the rendering of the browser's default text selection handling
1700
170129-05-2009:
1702	* fcgi/Server.C: build fixes for FreeBSD and OpenSolaris
1703
1704	* fcgi/Server.C: implement a (mostly stub) WServer implementation
1705
1706	* Http/Response: add continuation() method to get a continuation
1707	created for the response.
1708
170928-05-2009:
1710	* WMenu: show vertical scrollbar when needed
1711
1712	* WGridLayout: support row stretch value of -1, like 0, but
1713	indicates that height of cell contents for that row still needs to
1714	be managed
1715
1716	* DomElement.C: fix IE6 min/max-width workaround bugs
1717
1718	* WStackedWidget: make behave well in layout managers
1719
1720	* WPainter::Image: add constructor that fetches image dimensions
1721	from file (from Daniel Derr)
1722
1723	* DomElement.C: fix style.float -> style.cssFloat or
1724	style.styleFloat property
1725
172626-05-2009:
1727	* WebRenderer, Configuration, WebSession, http/WServer: add support
1728	for a favicon per EntryPoint, and in general for a favicon not in
1729	"/favicon.ico"
1730
173118-05-2009:
1732	* WAbstractItemModel: add reset() method and modelReset() signal, which
1733	are used to invalidate the whole model. Adjusted the views to listen
1734	to this signal, and make WStandardItemModel::clear() call reset()
1735
1736	* Ext/ToolBar: implement addStretch()
1737
1738	* WPaintedWidget, WPaintDevice: support PaintUpdate flag which does
1739	not erase the painting but merely adds to it
1740
1741	* WTreeView: fix setColumnWidth() for column 0 bug,
1742	setSortingEnabled() when no model yet set bug, column removal
1743	behavior bug, JavaScript error when no column sort/resize handles
1744
1745	* StdGridLayoutImpl, WStackedWidget: make WStackedWidget manage
1746	children height actively when in a layout manager
1747
1748	* WebSession: make server push survive refresh(), and fix cookie
1749	support detection regression
1750
1751	* WApplication.C: fix expose logic for widgets removed from the
1752	widget tree
1753
1754	* WCssDecorationStyle: WBorder::None is not always default
1755
175611-05-2009
1757	* WDate: refactor modifiedJulianDate() to toJulianDate(), replaced
1758	modifiedJulianDate constructor to static fromJulianDate function
1759
176005-05-2009
1761	* WebSession: fix WApplication::attachThread(), simplify use of
1762	thread specific storage
1763
176404-05-2009
1765	* WString: do not assume a message resource bundle as localized
1766	strings
1767
1768	* Wt.js: fix empty line edit regression
1769
1770	* WCalendar: setSingleClickSelect()
1771
1772	* WEnvironment: getDeploymentPath()
1773
177423-04-2009:
1775	* WCheckBox, WAbstractToggleButton: tri-state checkboxes
1776
1777	* WAbstractItemModel, WModelIndex, WStandardItem: support
1778	tri-state checkboxes (ItemIsTriState ItemFlag)
1779
178022-04-2009:
1781	* WebRenderer: keep iterating the update map as long as render()
1782	calls add new widgets to it
1783
178421-04-2009:
1785	* WFormWidget: add setReadOnly(), isReadOnly() methods
1786
1787	* WTimer.C: fix multiple signals firing when stopping and
1788	restarting, and use client-side repetition if the signal is not
1789	exposed
1790
1791	* WFileUpload: deprecated isUploaded(), new method canUpload()
1792
179316-04-2009:
1794	* WApplication, WDialog: simplify dialog rendering, allow
1795	(multiple) non-modal dialogs (WDialog::setModal(false)), allow
1796	dialogs to be moved around by dragging in the title bar
1797
1798	* WWebWidget: saner handling of z-index, only apply IE6 shim to DIVs
1799
1800	* WPaintedWidget: fix use of WImage for WAbstractArea's
1801
1802	* WImage, Wt.js: fix position reporting in mouse events from
1803	WAbstractArea's in non-compliant browsers (all except for Firefox)
1804
180507-04-2009:
1806	* Ext/FormField: add setFocus() method
1807
180830-03-2009:
1809	* WEnvironment.C, WebSession.C, wt_config.xml: allow configuration
1810	of AJAX-capable user agents and bots in configuration file
1811
1812	* Configuration.C, wt_config.xml: synchronize configuration
1813	defaults. WARNING: default settings have changed! (see
1814	wt_config.xml what the default values are)
1815
1816	* WTabWidget.C: use a layout manager to manage vertical height
1817
1818	* WLabel.C: fix bug with placement of image and add option to place
1819	image to left or right of label text
1820
1821	* WDatePicker.C: implement setEnabled()
1822
1823	* WT_SERIES, WT_MAJOR, WT_MINOR, WT_VERSION: change to hexadecimal
1824	format for preprocessor defines
1825
1826	* Ext/TableView.C: fix access to null dataStore_
1827
182826-03-2009:
1829	* Fixed cookie handling. Cookie parser is now less strict, and cookie
1830	values are URL encoded, similar to PHP. Fixed setting multiple
1831	cookies.
1832
183324-02-2009:
1834	* WWebWidget: implement a real propagateRenderOk() that does not
1835	cause render() of children widgets of stubbed widgets
1836
1837	* WTreeView: move JavaScript around that assumes jsRef() exists
1838
1839	* WGoogleMap: fix require() dependency
1840
1841	* install: do not overwrite existing configuration file wt_config.xml
1842
184320-03-2009:
1844	* WFormWidget: refuse to give focus to a disabled widget
1845
1846	* Wt.js: make sure updated autoJavaScript() is executed by onresize
1847	handler
1848
184919-03-2009:
1850	* WGoogleMap: fix require() to depend on google.load
1851
1852	* filetostring: removed in favor of a CMAke-only solution
1853
1854	* simplechat: improve its behaviour
1855
1856	* WebSession/WebRenderer: update the form object list after
1857	each event since it may contain stale objects
1858
185917-03-2009:
1860	* Fixes for cookie parser
1861
1862	* Send along form values and hash in each 'update', and keep
1863	JavaScript updates around until acknowledged by the browser
1864	(avoids loss of updates especially for server push situations)
1865
186616-03-2009:
1867	* fixed build errors and warnings on Sun Studio and Visual Studio
1868
1869	* WSignal: remove EventSignal<void> specialization, use
1870	EventSignal<> everywhere
1871
1872	* add WT_NO_BOOST_INTRUSIVE compile option to use std::list instead
1873	of boost::intrusive::list (needed for Sun Studio)
1874
1875	* WTableColumn, WTableRow: support for custom id's with setId()
1876
1877	* WViewWidget: fix interference problem with stateless slot learning
1878
1879	* WWebWidget: complement quickPropagateRenderOk() with a clean
1880	rerender of itself
1881
1882	* Configuration.C: add option inline-css useful to disable inline
1883	CSS stylesheets, in case you prefer all of them in an external style
1884	sheet
1885
1886	* WTableCell, WDomElement: support colspan/rowspan as properties
1887
1888	* WTable.C: fix rendering problem for th/td reordering
1889
1890	* WebRenderer: WLoadingIndicator: fix rendering and stateless slot
1891	learning interference
1892
1893	* WebSession: avoid superfluous 'none' request
1894
189511-03-2009:
1896	* WPushButton: allow line breaks in text using ('\n')
1897
1898	* WebController: fix widget set mode (default entry path parsing)
1899
1900	* CMakeLists.txt: also install Http/ directory
1901
1902	* XSSFilter: refactored
1903
1904	* WAbstractTableModel: new abstract model class
1905
1906	* WebSession: simplify session locking (and fix reentrant event
1907	loop memory corrouption)
1908
190906-03-2009:
1910	* win32: fix build problems
1911
1912	* WMemoryResource: change API to unsigned char
1913
191403-03-2009:
1915	* WFileUpload.C: emit uploaded() signal in event loop.
1916
191727-02-2009:
1918	* WApplication.C, WebSession.C, Wt.js: finally a robust and simple
1919	server-push implementation instead of orbited
1920
1921	* WMenu.C, WTabWidget.C: simplify CSS (better IE workaround)
1922
1923	* WCssDecorationStyle, WGlobal, WText, Ext/TableView: remove
1924	deprecated enums and methods
1925
1926	* WButtonGroup: make API more complete
1927
1928	* WDatePicker: provide default constructor
1929
1930	* fcgi/FCGIStream.C: make FCGI connector work again in new branch
1931
1932	* lots of documentation updates
1933
193424-02-2009:
1935	* WOverlayLoadingIndicator.C: fixes for IE8 and opera
1936
193723-02-2009:
1938	* WAbstractItemModel.C, Wt.js: fix IE date propagation problem
1939
1940	* WLineEdit.C, WTextArea.C: do not set style classes when no validator
1941	is configured
1942
1943	* WSocketNotifier.C: fixes for boost >= 1.36 (does not work yet
1944	for win32)
1945
194602-02-2009:
1947	* fix konqueror show stopper bug
1948
194928-01-2009:
1950	* fix bug causing mouseup being called twice at end of drag (for
1951	example confused mandlebrot example)
1952
1953	* WApplication.C: found cause for long standing IE6 mystery 19px
1954	offset
1955
1956	* WDate.C: require 2 digits for 'dd' or 'MM' format entries
1957
1958	* WFormWidget.C: auto-validate when contents changes
1959
1960	* WebRenderer.C, Wt.js: fix several widgetset mode problems for
1961	IE.
1962
1963	* Wt.js: do not block when getting an AJAX error
1964
196526-01-2009:
1966	* 2.2.3 released.
1967
196823-01-2009:
1969	* examples: misc improvements, update homepage
1970
1971	* src/Wt/WAbstractItemModel: support for const char * data in
1972	boost::any()
1973
1974	* src/Wt/WTreeView: better support for non-JavaScript situations
1975
1976	* WDialog: fix layout regression
1977
197821-01-2009:
1979	* WRectF: normalized() returns a rectangle without negative width
1980	or height, and is used within WPainter to normalize rectangle
1981	arguments
1982
1983	* WebRenderer.C: fix embedded mode
1984
198516-01-2009:
1986	* new example 'gitmodel': demonstrates how to create a custom model
1987	class, to be used in conjunction with WTreeView.
1988
1989	* WGridLayout, WBoxLayout, WBorderLayout: when used in conjuction
1990	with WContainerWidget, there is now the possibility to hint an
1991	alternative implementation for managing space horizontally, which
1992	uses the 'table-layout: fixed' CSS property.
1993
1994	* WCssStyleSheet: fix JavaScript error on IE
1995
1996	* WTreeView: fixes for when the treeview is not immediately shown
1997
199815-01-2009:
1999	* WCanvasPaintDevice.C: fix arc drawing in singular case (width or
2000	height == 0), and for very skewed arcs (widht / height <<< 1 or >>> 1)
2001
200208-01-2009:
2003	* WTreeView: react to column insertion and removal, and
2004	fix WTreeNode::load() unintentionally overriding WWidget::load()
2005
2006	* WAbstractProxyModel: implement toRawIndex() and fromRawIndex() so
2007	that WTreeView does not lose selection or expanded index list when
2008	resorting (or partial refiltering)
2009
201007-01-2009:
2011	* WDialog: add setTitleBarEnabled() to disable the title bar
2012
201306-01-2009:
2014	* WTreeView: setColumnBorder() allows setting the color for a
2015	border line between columns, setColumnResizeEnabled() for
2016	disabling the resize handles, and the content in each column is
2017	now rendered with some padding (3px to the left and right).
2018
201905-01-2009:
2020	* WAbstractTobbleButton.C: fix inserting label into widget tree when
2021	parent is not passed in constructor
2022
2023	* Ext/Widget.C: fix hide() and show() to consistently use Ext methods
2024
2025	* Wt.js, WebRenderer.C, WApplication.C: fix IE CSS loading ?
2026
202724-12-2008:
2028	* WTreeView: setColumn1Fixed() allows fixing of the first column while
2029	scrolling through the other columns in a large model.
2030
203122-12-2008:
2032	* WMenu, WTabWidget: implement removeItem() and removeTab()
2033
2034	* WebRenderer.C: fix internal path issue when starting with a path,
2035	AJAX is available, and deployment ends on a /
2036
2037	* WDialog: fix usage of layout managers in contents area
2038
2039	* WJavaScript, WSignal: scope ::_1 in global scope
2040
2041	* WOverlayIndicator: allow style class customization (Goetz Babin-Ebell)
2042
2043	* CgiParser: cleanup when using GNU regexp API (Goetz Babin-Ebell)
2044
2045	* Ext/PagingToolBar.C: fix adding multiple additional toolbar items.
2046
204710-12-2008:
2048	* WCompositeWidget.C: fix implementation not being load()ed
2049
2050	* Boot.html, Wt.js: do not create a new stylesheet but add rules to
2051	existing inline stylesheet (for ordering consistency)
2052
2053	* Wt.js: fix regression for widget coordinates
2054
205506-12-2008:
2056	* hello-widgetset: do not build with fcgi connector (Guy Deleeuw)
2057
2058	* global: do not use (unsigned) long long but
2059	use (u)int64_t (Goetz Babin-Ebell and Pau)
2060
2061	* DomElement.C: convert <img> to <input type=image> instead of
2062	wrapping it in a button, when JavaScript is not available (Anthony
2063	aka roja)
2064
206504-12-2008:
2066	* treeview-dragdrop: new example, demonstrating Drag&Drop operations
2067	between treeviews, WSortFilterProxyModel usage, and context popup
2068	menus.
2069
207002-12-2008:
2071	* WWidget: remove parent_ member, use WObject::parent() instead
2072
207327-11-2008:
2074	* WPopupMenu, WPopupMenuItem: implementation of a popup menu
2075
2076	* WAbstractProxyModel, WSortFilterProxyModel: proxy model classes
2077	for WAbstractItemModel, that provide filtered and sortered views
2078	of a source model
2079
2080	* StdGridLayoutImpl.C: more consistent layout rendering, now using
2081	JavaScript on all browsers, and using relative positioning of contents
2082	to avoid overflow the layout when the child manages its size using
2083	JavaScript (like WTreeView)
2084
2085	* WButtonGroup: add count() method (from Torsten Schulz)
2086
2087	* WComboBox: add findText() method.
2088
2089	* WDialog.C: avoid applying css rules to contained tables.
2090
2091	* WDropEvent: add mouseEvent() to access causing mouse event details
2092
2093	* JSignal: support passing original event too using Wt.createEventCall()
2094
2095	* WTreeView: add expandToDepth() method, and pass mouse event in
2096	  item clicked, doubleClicked and mouseWentDown signals.
2097
2098	* WTreeView: better support for item drag&drop.
2099
210019-11-2008:
2101	* StaticReply.C: do not bwarf when we cannot determine file
2102	size (i.e. for a pipe, reported by Michael Sorensen)
2103
2104	* WMenuItem.C, DomElement.C: do not prevent default action for
2105	anchor click, by default, (reported by Bin tan)
2106
210718-11-2008:
2108	* WTreeNode.C: apply width to TD only for IE
2109
2110	* WTreeTable.C: fix scrollbar issues for IE6 and IE7
2111
2112	* TabWidget.C: fix offsets hiding problem
2113
211417-11-2008:
2115	* Boot.html, examples/hello-widgetset/hello.html: fix race
2116	condition for IE7/6 with ExtJS loading (thanks to Guy Deleeuw for
2117	help in debugging)
2118
2119	* Ext/Dialog.C: make sure dialog is not centered on too small window.
2120
212114-11-2008:
2122	* WOverlayLoadingIndicator: a more obvious loading indicator
2123
212413-11-2008:
2125	* WApplication.C: fix miscalculation of exposed signals
2126
2127	* WMenu.C: make Horizontal menus really behave horizontal
2128
2129	* WLoadingIndicator, WDefaultLoadingIndicator: interface and default
2130	implementation for loading the indicator
2131
213212-11-2008:
2133	* Boot.hml: typo oops indicated by Anthony Roger Buck
2134
2135	* WApplication, WDialog, Ext::Dialog, Ext::MessageBox: more generic
2136	way of preventing signals hidden by a modal dialog
2137
2138	* WTreeView: more accurate column widths
2139
2140	* CgiParser: fix handling of plain POSTs (indicated by Jim Koornneef)
2141
2142	* WebSession: fix handling of recursive event loop when JavaScript
2143	is disabled
2144
2145	* Configuration.C, Wt.js: add configuration option for strict
2146	event serialization, dropping events that happen while a response
2147	is pending (off by default).
2148
2149	* WTreeTable.C, WTree.C, WTreeNode.C: backport IE fixes from
2150	WTreeView to WTreeTable
2151
215207-11-2008:
2153	* Boot.html: fix issue with IE7 and extkitchen loading (do not
2154	apply same fix as for IE6)
2155
2156	* WTreeView: support multi line headers, and rework layout management
2157	for header row (revert to old style since it didn't work for IE7)
2158
215906-11-2008:
2160	* examples/extkitchen: use a WTreeView as another MVC-model
2161	when demonstrating Ext::TableView
2162
2163	* WAbstractItemModel, WItemSelectionModel, WTreeView, Wt.js:
2164	support for drag of item selections, and drop of item selections
2165	or other events
2166
2167	* WTreeView: several bug fixes for incrementally handling row
2168	insert and removals, and cosmetic improvements
2169
217004-11-2008:
2171	* WTreeView.C: allow setColumnWidth() and setContentAlignment for
2172	column 0 too.
2173
2174	* WebRenderer.C, WContainerWidget.C: brush up WidgetSet mode
2175
2176	* examples/hello-widgetset: WidgetSet mode example
2177
217803-11-2008:
2179	* examples/treeview, examples/widgetgallery: new examples
2180
2181	* WSubMenuItem.C: a menu item that can contain a sub menu
2182
2183	* WGridLayout.C: do not attempt to layout when hidden since
2184	measurements will fail
2185
2186	* WGridLayout.C: apply width rules to every row since first
2187	row may contain overspanned cells
2188
2189	* WAnchor.C: support configurable word-wrap
2190
2191	* WTextArea: allow default Wt-invalid class for also for textarea
2192
2193	* WCssStyleSheet: implement assignment operator, and reimplement
2194	addRule with WCssDecorationStyle, returns a WCssTemplateRule now.
2195
2196	* WMenu: allow multiple menus to use a single
2197	WStackedWidget (useful for menus with submenus)
2198
2199	* WSuggestionPopup.C: pop up after widget itself
2200
2201	* WTable.C: fix memory leak introduced by incremental row rendering
2202
2203	* WTransform.C: fix double rounding error bug leading to NaNs
2204
2205	* WTreeView: add setHeaderHeight() and setColumnAlignment()
2206	methods, and many rendering misc.
2207
2208	* Ext/Widget.C: apply correct style classes to body if Ext is not
2209	loaded during initial page render
2210
2211	* WApplication.C, Boot.html, Wt.js: url encoding and decoding for
2212	internal paths
2213
2214	* Boot.html, Wt.js: avoid race condition with IE when loading
2215	application
2216
2217	* Wt 2.2.1 released
2218
221927-10-2008:
2220	* WAnchor.C: no clicked connect when setting internal paths
2221
2222	* WWidget, WWebWidget, WCompositeWidget: add setLineHeight() API
2223
2224	* WCssStyleSheet: WCssTemplateRule copies CSS properties from a
2225	template widget
2226
2227	* WModelIndex: allow for SHA-1 internal Id's for on-disk models
2228
2229	* WTreeView, WModelIndex, WStandardItem: add UrlRole and
2230	InternalPathRole
2231
223223-10-2008:
2233	* WAppliation.C: be more accurate about when to absolutelify
2234	relative URLs
2235
2236	* WContainerWidget.C: use sorted vector instead of set to figure
2237	out child insertions
2238
2239	* WResource.C: use Content-Disposition to trick IE to get the name
2240	right (in addition to an internal path)
2241
2242	* WTable, DomElement.C: use table DOM API, and present row
2243	additions incrementally
2244
2245	* RequestHandler.C: fix url decoding
2246
224713-10-2008:
2248	* WTreeView.C: loading indicator in spacer
2249
2250	* WTree.C: fix propagation of events inside table rows
2251
225211-10-2008:
2253	* src/WebSession.C: do not use relative Urls when JavaScript is
2254	disabled since we cannot redirect to the canonical url (Bin Tan)
2255
2256	* WDate.C: bugfix in JS date parsing
2257
2258	* WServer.C: added new --config parameter to specify the
2259	location of the wt_config.xml file
2260
2261	* WApplication.C: style Wt-invalid applies to all objects, not only
2262	input
2263
2264	* Configuration.C: look for configuration file path in environment
2265	variable WT_CONFIG_XML. This is overridden by program option --config
2266	in wthttpd.
2267
226811-10-2008:
2269	* src/WebSession.C: do not use relative Urls when JavaScript is
2270	disabled since we cannot redirect to the canonical url (Bin Tan)
2271
2272	* src/WTreeView[.C]: implement selection, make sorting controls
2273	optional
2274
227510-10-2008:
2276	* WDateValidator.C: better client-side date validation
2277
227809-10-2008:
2279	* fcgi/Server.C: pass parent environment to children (suggested by
2280	misi e)
2281
2282	* WBorderLayout[.C]: implement methods to retrieve widgets or
2283	layout items set for a position.
2284
2285	* WAbstractItemModel[.C], WModelIndex[.C], WStandardItemModel[.C]:
2286	add support for hierarchical models
2287
2288	* WAbstractItemModel[.C]: new abstract base class for
2289	one-dimensional list models
2290
2291	* WAbstractToggleButton.C: do not generate no-op click handlers
2292
2293	* WApplication: update outdated documentation (rsh not longer
2294	needed, and internal paths work for all major browsers since 2.2.0)
2295
2296	* WApplication.C: improve consistency for CSS + XHTML
2297
2298	* WComboBox.C, Ext/ComboBox.C: use WStringListModel instead of
2299	WStandardItemModel by default
2300
2301	* WContainerWidget[.C]: add scrolled event signal
2302
2303	* WContainerWidget[.C], WWebWidget[.C]: implement different way of
2304	handling insertChild() that fixes a bug with removing a child that
2305	was just inserted but not yet rendered
2306
2307	* WCssDecorationStyle[.C]: support dynamic updates to style sheet
2308	rules
2309
2310	* WCssStyleSheet[.C], Wt.js, WebRenderer.C: support dynamic
2311	addition and removal of stylesheet rules
2312
2313	* Wt.js, WEvent, WebController.C: pipeline multiple events,
2314	queueing events while a reply is pending.
2315
2316	* WEvent: add a WScrollEvent
2317
2318	* WLabel[.C]: add methods to configure and inspect word wrapping.
2319
2320	* WStandardItem[.C]: new class for implementing the hierarchical
2321	WStandardItemModel
2322
2323	* WStringListModel[.C]: new model that implements a simple string list
2324
2325	* WTableRow[.C]: add setHidden() and related methods
2326
2327	* WTreeView[.C]: new view widget for displaying trees or tree tables
2328
2329	* Chart/WAbstractChart[.C], Chart/WCartesianChart[.C],
2330	Chart/WPieChart[.C], Ext/ComboBox[.C], Ext/TableView[.C]: update
2331	model listeners to use new hierarchical WAbstractItemModel API
2332
2333	* DomElement.C: generate more compact code by using more
2334	aggressively innerHtml
2335
233602-10-2008:
2337	* Ext/TableView.C: shift selected rows when rows are
2338	inserted/deleted
2339
2340	* WebController.C: do not send anything when the page script is
2341	requested outside the Bootstrap.
2342
234301-10-2008:
2344	* WebController.C: fix refresh() regression, simplify, prevent
2345	CSRF, and remove unnecessary code
2346
234730-09-2008:
2348	* Connection.C: catch exceptions thrown by
2349	remote_endpoint() (reported by kal sason)
2350
235128-09-2008:
2352	* WContainerWidget.C: do not stub TDs for IE
2353
235421-09-2008:
2355	* DomElement.C: do not use innerHTML on IE6 for select element (fixes
2356	WComboBox error reported by Sergey Bryukov)
2357
235819-09-2008:
2359	* WApplication.C: do not block timers when dialog is active (Billy
2360	Muma)
2361
236218-09-2008:
2363	* various places: do not generate DOM ids when serving to a bot,
2364	in the hope that this improves the way the bot indexes the page
2365	since it should always look the same
2366
2367	* Configuration.C: add <num-threads> configuration option for
2368	FastCGI deployments, to allow usage of reentrant event loops, as
2369	used by (W)Dialog::exec() methods when using shared session
2370	process deployments.
2371
237210-09-2008:
2373	* WLocalizedStrings: add an abstract class to localized WString,
2374	which is by default implemented using WMessageResourceBundle, but
2375	may be customized (as suggested by Lars Hamren)
2376
2377	* several files: fixes for RubyWt (Richard Dale)
2378
2379	* WTabWidget: CSS fix for IE7
2380
238121-08-2008:
2382	* all: build fixes for Sun Studio 12, and boost 1.36
2383
2384	* various places: better use of STL containers
2385
238619-08-2008:
2387	* src/web/WebSession.h: build fix for boost 1.36
2388
2389	* examples/wt-homepage: add Chinese translation (by Zhimin Song)
2390
2391	* various places: fixes suggested by Richard Dale and Pau
2392
239318-08-2008:
2394	* CMakeFile.txt: default is now boost 1.35
2395
239613-08-2008:
2397	* StdGridLayoutImpl.C: deal with padding in widgets correctly,
2398	always fit item heights (this may cause rows to get stuck at a
2399	particular height, but gives more consistent behaviour..., handle
2400	UL children
2401
2402	* WApplication: simplify internalPath stuff
2403
2404	* WebController: propagate form values before touching the widget tree
2405
240611-08-2008:
2407	* WMenu: add setInternalBasePath(), do not specify display: inline
2408	for a horizontal menu item, instead, should be handled by
2409	programmer CSS
2410
2411	* WMenuItem: do not erronously delete contents in destructor, if
2412	it was already loaded.
2413
241408-08-2008:
2415	* Bejing: olympics started! gogo Kim Gevaert!
2416
2417	* WApplication: more internal path small fixes
2418
2419	* Connection.C: build fixes for MSVC and Visual Age
2420
242107-08-2008:
2422	* WApplication: fix old behaviour of applicationName(), deprecate it
2423
2424	* WebSession.C, WebController.C, WebRenderer.C: improved url and
2425	internal path handling: handle redirecting to a new internal path,
2426	properly initialize application with an initial internal path,
2427	more flexible internal paths (do not enforce trailing '/')
2428
2429	* WMenu: properly restore application internal path when doing
2430	stateless slot learning
2431
243206-08-2008:
2433	* cmake/WtFindSsl.txt: removed redundant code
2434
2435	* src/web/skeleton/Wt.js: fix widget position bug when nested in scrolled
2436	DOM elements or page on Safari/Opera/IE
2437
2438	* all: merged in prettyurls branch
2439	  - no longer use frameset in bootstrap page, load instead ajax script. Remove
2440	    all code that dealt with the frame, and Ajax skeleton page
2441	  - switch to own implementation of history management, remove really simple
2442	    history framework code
2443	  - add internal path API: see WApplication::setInternalPath(),
2444	    WAnchor::setRefInternalPath()
2445	  - remove internal iframes to deal with file uploads, found a workaround for IE
2446	    problem
2447	  - make JavaScript skeleton files compressable with YUI JS compressor
2448	  - WMenu and WMenuItems: API changes to work with internal path API
2449	  - improved marking of deprecated methods in API
2450
2451	* wt_config.xml: add new setting <redirect-message> used in anchor
2452	for redirecting to non-JavaScript version
2453
245405-08-2008:
2455	* web/Configuration.C: remove cppfileno mess
2456
245704-08-2008:
2458	* WFormWidget.C: fix crash when calling setBuddy() twice (or only
2459	once in case of WAbstractToggleButton)
2460
2461	* WTreeTable.C: fix problem when height is not explicitly set
2462
246302-08-2008:
2464	* WVMLImage.C: fix bounding box calculation for arc rendering in path when
2465	rotated. It is still broken for non-uniform scale + rotation
2466
2467	* TableView.C: fix cellSelected signal when used together with a
2468	PagingToolBar to not propagate the correct model indexes
2469
247001-08-2008:
2471	* src/http/StaticReply.C, src/http/StockReply.C: transmit response only
2472	when all POST'ed data was received
2473
2474	* src/http/StaticReply.C: call stream_.clear() to recover from error state
2475
247629-07-2008:
2477	* WEnvironment.C, src/web/WebController.C, src/web/WebRenderer.C:
2478	fix cookie setting and cookie parsing
2479
2480	* WMenuItem: move itemWidget() from protected to public scope.
2481
248225-07-2008:
2483	* WTextEdit[.C]: implement an XHTML rich text editor wrapping the
2484	TinyMCE javascript library
2485
2486	* CMakeListst.txt: install resources/ folder to share/Wt/resources
2487
2488	* WText[.C]: deprecated WText::Formatting enum,
2489	WText::setFormatting() and WText::formatting() for Wt::TextFormat
2490	enum, WText::setTextFormat() and textFormat(). Add a constructor
2491	that accepts the format as an argument, and update examples
2492
2493	* http/Reply.C, http/StaticReply.C: serve a .gz version of a file
2494	with gzip content-encoding if possible and available, fix a
2495	problem with logging when the reply is relayed
2496
249722-07-2008:
2498	* WAbstractArea, WRectArea, WCircleArea, WPolygonArea: new classes
2499	that implement interactive areas on WImage and WPaintedWidget.
2500
2501	* WImage, WPaintedWidget: add methods for defining interactive
2502	areas
2503
2504	* StdGridLayoutImpl.C: fix alignment margin glitch
2505
2506	* WApplication.C: default stylesheet: add border: 0px for images,
2507	which are rendered using a border when adding a map.
2508
2509	* WMemoryResource: add constructors and methods for using C-style
2510	array data.
2511
2512	* WLogger.C: fix error in ~WLogEntry
2513
2514	* all: misc build fixes for win32
2515
251615-07-2008:
2517	* src/wt: renamed to src/Wt
2518
2519	* src/Ext: renamed to src/Wt/Ext
2520
2521	* src/Chart: renamed to src/Wt/Chart
2522
2523	* src: upgrade to new include file locations <Wt/...>
2524
2525	* cmake/FindWt.cmake: update to new new include file locations,
2526	and add some documentation for cmake newbies
2527
2528	* src/wt/StdLayoutImpl.C: fix itemAt() problem
2529
2530	* src/Wt/WMessageResource*, src/wt/WString[.C]: make literal
2531	WString work properly with argument substitution (reported by
2532	Micahel Ivanov)
2533
2534	* src/web/Configuration.C: setup loggers even if no wt_config.xml
2535	file (reported by Goetz Babin-Ebell)
2536
253714-07-2008:
2538	* src/wt/WComboBox[.C], src/Ext/ComboBox[.C]: fix problem with
2539	setModel wrongly deleting the previous model (reported by Michael
2540	Ivanov).
2541
2542	* src/wt/WApplication, examples/composer/ComposeExample.C,
2543	src/wt/WMessageResourceBundle: document and contrast expected
2544	location for relative URLs or relative paths (suggested by Pau
2545	Garcia)
2546
2547	* doc/main: improved Inroduction to include logging and error
2548	handling, and related configuration options
2549
2550	* src/Chart/WChart2DRenderer.C: fix regression with stacked bars,
2551	introduced by WAxis::setBreak() implementation
2552
2553	* */CMakeListst.txt: install header files in Wt/ subdirectory to
2554	not clobber the main include directory. You should make sure that
2555	${CMAKE_INSTALL_PREFIX}/include/Wt is searched for these headers!
2556
255713-07-2008:
2558	* src/wt/WLogger[.C], src/wt/WApplication: logging API, new method
2559	WApplication::log()
2560
2561	* src/web/Configuration.[Ch], src/wt/Configuration.[Ch]: add
2562	configuration options for accesslog and application logging
2563
2564	* src/wt/WText[.C], src/wt/WWebWidget[.C]: allow to detect XML
2565	parse errors when using XHTMLFormatting
2566
2567	* allover: code cleanups to use logging instead of std::cerr, to
2568	throw exceptions for fatal errors
2569
2570	* src/wt/WLayout[.C]: change contract of count() and itemAt() to
2571	allow for '0' layout items, fix crash with WGridLayout (reported by
2572	bvh).
2573
257410-07-2008:
2575	* src/Ext/Widget.C: propagate CSS style class and inline style to
2576	the Ext widget through the config.
2577
2578	* src/web/WtRandom.C: fix integer overflow compile warning (Pau
2579	Garcia)
2580
258109-07-2008:
2582	* src/Chart/WAxis[.C]: add setBreak() to support a "broken" axis
2583	that omits a part of the entire value range.
2584
258507-07-2008:
2586	* src/wt/WContainerWidget.C: implement clear() to also delete any
2587	layout manager that was set, and support creation of a layout
2588	manager in an existing widget
2589
2590	* examples/simplechat/SimpleChat.C: use clear() in conjunction
2591	with layout managers
2592
2593	* src/web/DomElement.C: make sure style attribute is rendered as
2594	JavaScript
2595
2596	* src/wt/WApplication.C: do not apply 19px IE6 offset bug to IE7 or
2597	later
2598
2599	* src/wt/WGridLayout.C: use default spacing of 6px instead of 9px
2600
2601	* src/wt/WContainerWidget.C: setLayout() replace two bools
2602	fitWidth and fitHeight with an alignment option
2603
2604	* examples/painting/PaintExample.C: use WGridLayout
2605
260603-07-2008:
2607	* src/web/skeletons/*, src/web/DomElement.C,
2608	src/web/WebRenderer.C: make sure Wt homepage validates as proper
2609	HTML or XHTML.
2610
2611	* src/wt/WText.C: autodetect common block-style XHTHML content and
2612	call setInline(false) for block elements (helps in producing valid
2613	XHTML).
2614
2615	* src/Ext/Widget.C: fix for Ext date picker and calendar with Firefox 3
2616
2617	* src/web/WebRenderer.C: fix JavaScript to reload an old session
2618	(again!)
2619
262002-07-2008:
2621	* src/wt/WAppliation.C: block events from widgets under the modal
2622	dialog cover
2623
262401-06-2008:
2625	* src/wt/WServer[.C]: API to start and stop the embedded http
2626	server programatically.
2627
2628	* src/Ext/TextEdit.C: fix forgotten string literal bug (Michael
2629	Ivanov)
2630
2631	* src/wt/WApplication.C: add auto-centering for WDialog using
2632	JavaScript (Michael Ivanov)
2633
263430-06-2008:
2635	* src/wt/WGridLayout.C, src/wt/StdGridLayoutImpl.C: unify
2636	cross-browser handling, fix alignment bugs, border handling
2637
263827-06-2008:
2639	* src/Ext/Widget.C: eliminate client-side memory leak of ExtW array
2640
2641	* src/wt/StdGridLayoutImpl.C: fix minimum row height calculation
2642	bug, and some clean up + internal doc improvements
2643
2644	* src/Ext/Container.C: fix interference bugs between Ext and Wt
2645	layout managers
2646
2647	* src/wt/WBoxLayout, src/wt/WGridLayout: implement alignment
2648
264925-06-2008:
2650	* src/wt/WBoxLayout[.C], src/wt/WGridLayout[.C],
2651	src/wt/WBorderLayout[.C], src/wt/WContainerWidget[.C]: implemented
2652	layout management for WContainerWidgets
2653
2654	* examples/chat: simplified by using layout managers instead of
2655	absolute CSS layout.
2656
2657	* src/wt/WApplication.C: reset padding to 0 for the body. Add
2658	padding to the WApplication::root() if you want to have it back.
2659
2660	* src/web/DomElement.C: change cancelEvent() signature, and add
2661	emulate IE support for setMinimumSize() (using CSS expressions),
2662	add support for CSS property white-space
2663
2664	* src/web/skeleton/Wt.js: add pixel calculation routines
2665
2666	* src/wt/WApplication.C: define declared functions as soon as
2667	possible
2668
2669	* src/wt/WText[.C]: add setWordWrap() method
2670
2671	* src/wt/WLabel.C: use setWordWrap(false) for the text
2672
2673	* src/wt/WMenuItem.C: do not set margin-right for horizontal
2674	items (Billy Muma)
2675
267618-06-2008:
2677	* CMakeLists.txt: fixed CONFIGDIR issues
2678
2679	* src/http/Reply.[Ch]: fixed non-multi threaded build
2680
2681	* src/wt/WTabWidget[C], src/wt/WMenu[C]: reimplement
2682	currentChanged signal
2683
268417-06-2008:
2685	* src/wt/WContainerWidget.C: fix bug caused by not searching child
2686	list before inserting child, triggered when using insertBefore()
2687
2688	* src/Ext/Dialog.C, src/Ext/MessageBox.C: workaround for missing
2689	cursor problem in FireFox 1.5 and 2
2690
269116-06-2008:
2692	* CMakeLists.txt: CONFIGDIR variable (from Pau Garcia i Quiles)
2693
2694	* src/CMakeLists.txt: use a macro for FileToString
2695
2696	* examples/wtwithqt: new example and library for interopability
2697	between Wt and Qt4.
2698
269913-06-2008:
2700	* LICENSE: Clarified that GPL Wt is only licensed under the
2701	second version of the GNU GPL (requested by debian folks)
2702
2703	* src/wt/WWebWidget.C: performance improvement, do not search child
2704	list before inserting child because we know for sure that it isn't
2705	there
2706
2707	* src/Ext/Dialog.C: do not use display:none since this may
2708	cause problems with certain Ext widgets that need hide-with-offsets
2709
2710	* src/Chart/WAxis[.C]: add support for axis titles with custom font
2711
271212-06-2008:
2713	* src/Ext/WWidgetItemImpl: do not use display:none since this may
2714	cause problems with certain Ext widgets that need hide-with-offsets
2715
271611-06-2008:
2717	* add WEnvironment::pathInfo()
2718
271910-06-2008:
2720	* refactoring to simplify WWebWidget implementations
2721
2722	* preliminary support for AJAX on IE Mobile. Things that do not
2723	yet work include WFileUpload, WTimer, and there are many rendering
2724	layout glitches (such as in the tree list stuff).
2725
2726	* src/web/DomElement.C, src/web/WebController.C: fix handling
2727	multiple buttons when JavaScript is not available
2728
2729	* src/Ext/TableView.C: clearSelection() fix (Archimedes Cortes)
2730
2731	* src/wt/WFormWidget, src/wt/WValidator: add an inputFilter()
2732	method which allows filtering input characters against a regular
2733	expression.
2734
2735	* src/wt/WTree.C: let selection only on the label, so that other
2736	interactive widgets may be present in other columns
2737
2738	* src/web/DomElement.C: support return value, note this may break
2739	existing behaviour of JavaScript slots, since they really need to
2740	return properly! Better cross-platform event handling.
2741
274230-05-2008:
2743	* src/http/Server.[Ch]: fix potential thread safety issue on shutdown
2744	(Max M)
2745
274628-05-2008:
2747	* src/Ext/LineEdit[.C]: add setMaxLength()
2748
2749	* src/wt/WAnchor.C: fix targetChanged_ is uninitialized bug
2750
275127-05-2008:
2752	* src/fcgi/Server.C, src/web/Configuration.C: support valgrind arguments
2753
2754	* src/web/Configuration.C: fix close(-1) valgrind warning, and
2755	read 'valgrind-path' from fcgi-configuration
2756
275726-05-2008:
2758	* charts example: better support without JavaScript
2759
2760	* src/Ext/NumberField: fix undefined reference: setDecimalPrecision()
2761
2762	* src/Ext/TableView: add setColumnAlignment() method
2763
2764	* src/web/DomElement.C: better support for anchor onclick events:
2765	use browser default when used with a modifier, otherwise prevent
2766	browser default
2767
2768	* src/web/WebSession, src/web/WebController: propagate initial history
2769	as a history event after application construction
2770
2771	* various places: documentation improvements
2772
277321-05-2008:
2774	* src/web/WWebWidget.C: allow disabling the stubbing of small
2775	widgets (added setLoadLaterVisible() method)
2776
2777	* src/wt/WWidget: add htmlText() method to public API
2778
277920-05-2008:
2780	* src/wt/WTreeNode.C, src/wt/WIconPair.C: performance improvements
2781
2782	* src/wt/WTree.C: suppress browser text selection when selection is
2783	enabled
2784
2785	* src/web/skeleton/Ajax.html: support for IE 8 beta
2786
2787	* various places: documentation improvements
2788
2789	* src/wt/WApplication[.C]: added WApplication::applicationName(),
2790	from Goetz Babin-Ebell.
2791
2792	* src/wt/WWebWidget.C: optimize widget destruction
2793
279415-05-2008:
2795	* src/web/WebSession.C: fix build problem when threading is disabled
2796
2797	* src/wt/WVmlImage.C, Wt.js: fix selection problem on IE
2798
279914-05-2008:
2800	* src/wt/WInteractWidget.C: block changed signal after enterPressed
2801	when the enterPressed signal is connected to get same behaviour across
2802	all browsers
2803
2804	* src/wt/WLenghtValidator.C: fix bug in constructor
2805
2806	* src/wt/WLineEdit[.C]: add setMaxLength()
2807
2808	* src/wt/WWidget.C: disable the fixed JavaScript implementation
2809	for hide() and show() and revert to stateless slot learning by
2810	default to take into account reimplement setHidden() methods. This
2811	is now overridden only in WTreeNode.
2812
2813	* src/web/CgiParser.C: open spoolfile in binary mode, fixes wrong
2814	behaviour with binary files on Windows platforms
2815
2816	* src/wt/WApplication: revert behaviour change for url() to return
2817	the entire application path
2818
2819	* src/wt/WSlider.C: avoid compile warning with gcc 4.2
2820
282113-05-2008:
2822	* src/wt/WValidator[.C], src/wt/WIntValidator[.C],
2823	src/wt/WDoubleValidator[.C], src/wt/WDateValidator[.C],
2824	src/wt/WRegExpValidator[.C]. src/wt/WLengthValidator[.C],
2825	src/wt/WFormWidget[.C]: add javaScriptValidate() for
2826	client-side validation
2827
2828	* src/wt/WDate[.C]: small cleanup and add conversion to perl
2829	regular expression for client-side validation
2830
2831	* put Wt stateless client-side routines in a version-dependent
2832	namespace WT_CLASS
2833
2834	* src/wt/WMessageResources.C: preserve white space and new lines for
2835	message resources
2836
283711-05-2008:
2838	* src/wt/WSignal[.C]: reduce memory for unused event signals, and
2839	add support for preventing the default handler (untested)
2840
2841	* src/wt/WInteractWidget: better keyboard event documetation
2842
2843	* src/wt/WTree[.C]: support for standard behaviour of Control and
2844	Shift modifiers in extended selection mode
2845
284610-05-2008:
2847	* src/web/DomElement.C, src/web/skeleton/Wt.js, src/wt/WEvent[.C]:
2848	improved keyboard and mouse event information
2849
2850	* src/wt/WInteractWidget: better keyboard event documetation
2851
2852	* src/wt/WTree[.C]: support for standard behaviour of Control and
2853	Shift modifiers in extended selection mode
2854
285508-05-2008:
2856	* cmake/WtFindBoost.txt, src/web/random_device.cpp: add support
2857	for MacOS X
2858
2859	* src/wt/WAbstractItemModel: add asString(const boost::any&) and
2860	asNumber(const boost::any&), and add warnings when trying to read
2861	or write data outside the bounds
2862
2863	* src/wt/WAbstractToggleButton.C, src/wt/WFormWidget.C: avoid
2864	double changed event propagation (needs exception for bug in IE6
2865	and IE7).
2866
2867	* src/wt/WCanvasPaintDevice.C: improve text rendering, optimize
2868	path rendering, and fix bug with clipping and transformations
2869
2870	* src/wt/WColor: documentation improvements, and specify default
2871	colors numerically
2872
2873	* src/wt/WComboBox: documentation improvements
2874
2875	* src/wt/WComboBox.C: do not emit changed() event when changing
2876	the values using setCurrentIndex()
2877
2878	* src/wt/WDate: add support for conversion to integers using
2879	julian day calculation, and add methods addDays(), addMonths(),
2880	and addYears(), and fix string parse bug s/1900/2000
2881
2882	* src/wt/WDoubleValidator: fix default argument to real -inf
2883
2884	* src/wt/WPainter, src/wt/WVmlImage: add support for rectangle
2885	clipping to VML renderer
2886
2887	* src/wt/WPainterPath: add support for bounding box calculations,
2888	fix inverted angle calculation in getArcPosition()
2889
2890	* src/wt/WRectF: add intersection test and united() method
2891
2892	* src/wt/WResource: add write(std::ostream&) method to serialize a
2893	resource (e.g. to a file)
2894
2895	* src/wt/WSvgImage: optimize paths even when transformations
2896	change (only translations), fix clipPath definition so that it
2897	works with inkscape and opera, and make drawText() more accurate
2898
2899	* src/wt/WVmlImage: optimize paths through transformations, and
2900	use multiple parallel paths to avoid overlap artefacts, and add
2901	full text support (including rotations and scales)
2902
2903	* src/wt/WWebWidget: fix bug with double processing of new siblings
2904
2905	* src/wt/WWidget: move enums to Wt:: scope (with full backwards
2906	compatible support)
2907
2908	* src/Chart/: first release of the Wt charting library
2909
2910	* examples/charts/: example demonstrating the Wt charting library
2911
2912	* src/wt/WPanel: new widget (will evolve to support many standard
2913	options you want for a panel)
2914
291529-04-2008:
2916	* src/wt/WLength: Added multiplication operator, and toPixels()
2917	method
2918
2919	* src/wt/WFont: Fixed equality operator: fixed sizes are now also
2920	compared
2921
2922	* src/wt/WVmlImage.C, src/web/WebController.C, src/wt/WEnvironment,
2923	src/web/skeleton/Boot.html: Fixed rendering on high density
2924	displays (DPI scaling)
2925
292625-04-2008:
2927	* CMakeLists.txt: Dynamic/static boost build fix
2928
292924-04-2008:
2930	* CMakeLists.txt: FindWt.cmake is now installed in /usr/share/...
2931	instead of /usr/usr/share/...
2932
2933	* src/wt/WCssDecorationStyle.C: bugfix for setting background colors
2934
293519-04-2008:
2936	* src/web/WWebWidget.C: also update form objects in addChild()
2937	and removeChild (could be optimized later)
2938
293918-04-2008:
2940	* CMakeLists.txt: LIB_INSTALL_DIR fixes. LIB_INSTALL_DIR must now be
2941	a relative path.
2942
2943	* src/web/WebController.C: reroute all methods that may call user
2944	code through WApplication::notify() (including rendering and
2945	application refresh())
2946
2947	* src/wt/WApplication[.C], src/web/WebSession[.C]: allow
2948	post-construction and pre-destruction application initialization
2949	and finalization
2950
2951	* src/wt/WApplication[.C], src/web/WebSession[.C]: attachThread()
2952	attaches an auxiliary thread to an application context
2953
2954        * src/http/Connection.C: use graceful connection shutdown on timeout,
2955        to avoid the occasional 502 proxy errors
2956
295717-04-2008:
2958	* src/http/Connection.C. src/http/Reply.C: fix race condition on
2959	shutdown, protect connection_ with a mutex, and illegal access to
2960	dead connection's request in the logging
2961
2962	* src/http/HTTPRequest.[Ch]: keep a shared pointer (ReplyPtr)
2963	instead of raw pointer for the WtReply
2964
2965	* src/web/WebController.C: remove killed sessions from sessions
2966	map from sessions map in forceShutDown() so that they do not get
2967	illegally accessed from expireSessions().
2968
2969	* src/web/WebSession: do not call finalize() on 0 app_
2970
2971	* src/wt/WResource: setRequest() flushes a previous request if
2972	there is already one
2973
2974	* src/wt/WMenuItem.C: fix memory leak with LazyLoading
2975
2976	* various places: make build work on gcc 3.4.0 (thanks to Petr Cerny)
2977
297814-04-2008:
2979	* src/web/DomElement.C: do not use innerHTML in xhtml (opera
2980	doesn't like it with inline SVG)
2981
2982	* src/wt/WPaintedWidget.C: prefer InlineSVG on Opera
2983
2984	* src/wt/WPaintDevice.C, src/wt/WVmlImage.C: scale pen widths with
2985	transform
2986
2987	* src/web/skeletons/Wt.js: import XML nodes with correct namespace
2988	into DOM
2989
2990	* revert commit 4e7766d105888ae898ca6a8d7446d2188ae09846, since IE
2991	cannot handle special tokens in DOM element id's
2992
2993	* release 2.1.2
2994
299513-04-2008:
2996	* src/wt/WPainter[.C], src/wt/WCanvasPaintDevice[.C],
2997	src/wt/WVmlImage[.C], src/wt/WSvgImage[.C]: add drawImage() methods
2998
2999	* src/wt/WRectF.C: fix setX() and setY() incorrect width adaptation
3000
3001	* src/wt/WSvgImage.C: fix regression in drawLine
3002
3003	* src/wt/WTransform.C: fix double comparison in SVD decomposition
3004
3005	* src/wt/WVmlImage.C: fix drawArc() wrong transformation problem
3006
300712-04-2008:
3008	* src/web/DomElement.C, src/web/skeleton/Wt.js: capture() mouse
3009	down so that all subsequent mouse events are received by the same
3010	element/widget
3011
3012	* src/web/WebRenderer.C: use JS reload(true) to force reload, and
3013	disallow caching of bootstrap HTML
3014
3015	* src/web/WebRenderer.C, src/wt/WVmlImage.C: use VML in standards
3016	compliant rendering mode
3017
3018	* src/web/skeleton/Wt.js: make private functions really sit within
3019	"Wt" closure
3020
3021	* src/wt/WJavaScriptSlot.C: fix wrong JavaScript code when JSlot
3022	is not owned by a WWidget, and thus not using function
3023	declaration, and define JavaScript functions before loading
3024
3025	* src/wt/WPaintedWidget[.C]: update() on resize()
3026
3027	* src/wt/WSlider[.C]: initial implementation of a slider
3028	control (rendered using WPaintedWidget)
3029
3030	* src/Ext/TabWidget[.C]: make sure currentIndex() is updated before
3031	propagating the signal
3032
3033	* src/wt/WVmlImage.C: correct -1 vertical offset problem
3034
3035	* src/wt/WTreeTableNode.C: fix seg fault of calling virtual method
3036	addChildNode() from WTreeNode constructor
3037
3038	* src/wt/WTree.C: fix seg fault on consecutive calls of setTreeRoot()
3039
3040	* src/wt/WTreeNode[.C]: rename expanded() to isExpanded() and add
3041	two signals, expanded and collapsed
3042
3043	* src/wt/WSignal: allow late binding of a relay signal to
3044	EventSignal<void>
3045
3046	* src/wt/WTableTreeNode: change incorrect protected scope of
3047	addChildNode() to public
3048
304911-04-2008:
3050	* src/wt/WPainter[.C]: expand API with setViewPort() and
3051	setWindow() methods
3052
3053	* src/wt/WTransform.C: fix reflexion bug in WTransform's SVD
3054
3055	* src/wt/WPen[.C]: define 0 width as cosmetic pen of width 1
3056	pixel, independent of transformation matrix
3057
3058	* Boost 1.35 support
3059
3060	* CMakeLists.txt: The static version of Wt is now default
3061	built on Windows
3062
306310-04-2008:
3064	* src/wt/WApplication[.C]: fix regression in
3065	WApplication::processEvents()
3066
3067	* src/wt/WPainter[.C]: add WPainter::save() and
3068	WPainter::restore() methods
3069
3070	* src/wt/WTransform.C: handle reflexions correctly in the singular
3071	value decomposition
3072
3073	* Released 2.1.1
3074
307509-04-2008:
3076	* src/wt/WLineF, WPointF, WRectF, WPaintDevice, WPainter, WPen,
3077	WBrush, WPainterPath, WVmlImage, WSVGImage, WCanvasPaintDevice:
3078	complete implementation and documentation
3079
3080	* src/wt/WString: improve documentation
3081
308207-04-2008:
3083	* src/wt/WTreeNode[.C]: add virtual expandable() method which
3084	returns whether a node is expandable (even when not populated)
3085
3086	* src/Ext/TabWidget.C: addTab(WWidget *, const WString&) checks if
3087	the widget is a Panel, and only creates a Panel if not.
3088
3089	* src/wt/WJavaScriptSlot[.C], WObject[.C], add
3090	implementPrelearned() to directly specify the JavaScript behavior
3091	for a method. Add support to switch the implementation of a method
3092	between implementStateless() and implementJavaScript().
3093
3094	* src/wt/WTreeNode[.C]: add setChildCountPolicy() to enable the
3095	child count next to the label, which now by default is disabled
3096
3097	* src/wt/WWidget.C, src/wt/WWebWidget.C: performance optimization:
3098	change implementation of hide() and show() from stateless to
3099	prelearned
3100
3101	* src/wt/WTreeTable[.C]: use offsetHeight instead of clientHeight and
3102	offsetTop to solve layout problem ?
3103
3104	* src/wt/WObject[.C]: use a simple 64-bit encoding for a valid
3105	JavaScript identifier id
3106
310702-04-2008:
3108	* src/Ext/*.C: performance improvement: change config generation
3109	to use streaming instead of string concatenation
3110
3111	* src/Ext/*.C: performance improvement: do not use addUpdateJS
3112	when not yet rendered
3113
311401-04-2008:
3115	* src/wt/WApplication: support dynamic loading of scripts,
3116	internal stylesheet changes, and external stylesheets. This fixes
3117	the problem with using Ext widgets only later in the application.
3118
3119	* src/wt/WTableRow[.C], src/wt/WTableColumn[.C]: add support in
3120	public API
3121
3122	* src/wt/WApplication.C: move default CSS for widgets to the
3123	widget constructors
3124
3125	* src/wt/Ext/Widget.C, src/wt/WJavaScriptSlot.C: fix bugs when
3126	using setId() to override the auto-generated id's.
3127
3128	* src/wt/WEnvironment[.C]: make hostName() and clientAddress()
3129	robust to proxies at either the client or server side, add
3130	urlScheme() method.
3131
3132	* src/fcgi/Server.C, src/http/PosixMain.C,
3133	src/web/WebController.C: add support for multiple entry points
3134
3135	* src/http/Configuration.C: add --servername option to override
3136	the DNS name as default host name
3137
3138	* src/http/Configuration.C: fix -1 error when removing trailing
3139	'/' from directories.
3140
3141	* src/web/CgiParser.C: use GNU regex when HAVE_GNU_REGEX is defined.
3142
3143	* src/web/Configuration.C: add behind-reverse-proxy boolean
3144	configuration option, and separate general from FastCGI specific
3145	settings
3146
3147	* src/web/DomElement.C, src/web/EscapeOStream.C,
3148	src/web/WebRenderer.C: more rendering performance improvements
3149
3150	* src/web/WebController.C: use GNU regex when HAVE_GNU_REGEX is defined.
3151
3152	* src/web/WebController.C, src/web/WebRenderer.C,
3153	src/web/WebSession.C: preliminary support for embedded application
3154	mode, cross-domain AJAX using dynamic script tags, and automatic
3155	conversion from relative to absolute URLs
3156
3157	* src/web/skeletons/: reorganisation to have modular javascript,
3158	and encapsulation in JavaScript "classes" to allow multiple
3159	applications in a single page (in the future)
3160
3161	* src/wt/WApplication.C: make "Loading" feedback work properly on
3162	all browsers
3163
3164	* src/wt/WCssDecorationStyle.C: do not generate no-op JavaScript
3165
3166	* src/wt/WCssStyleSheet[.C]: add functionality to check whether a
3167	particular rule has already been added
3168
3169	* src/wt/WMessageResources.C: do not read the same XML file twice
3170	when locale is empty
3171
3172	* src/wt/WPushButton.C: do not generated no-op JavaScript
3173
3174	* src/wt/WResource: change suggestFilename to suggestFileName, add
3175	addHeader() method
3176
3177	* src/wt/WSignal.C: fix double removal of a user event signal from
3178	the exposed signals list
3179
318018-03-2008:
3181	* src/wt/WStackedWidget[.C]: fix bug when trying to add a composite
3182	widget to a stack (cannot yet call hide()) through parent passing,
3183	reported by Michael Ivanov
3184
318517-03-2008:
3186	* src/web/DomElement.C: fix regression introduced 04-03-2008 with
3187	alternate hiding method interfering with setPositionScheme()
3188
3189	* src/Ext/ComboBox.C: use modelColumn when indexing into model.
3190
3191	* src/web/DomElement.C: various performance improvements (const
3192	char * for string literals)
3193
3194	* src/web/EscapeOStream[.C]: performance improvements
3195
3196	* src/web/FileServe.C: performance improvement: avoid char-based I/O
3197
3198	* src/web/WebRenderer.C: performance improvements: do not use
3199	formName(), instead use pointer, do not propagateRenderOk() before
3200	initial render, do stateless slot learning in JavaScript update
3201
3202	* src/wt/WObject.C: performance improvement: use sprintf() in formName()
3203
3204	* src/wt/WSignal.C: performance improvements: use local info to
3205	track whether a signal was exposed instead of the expensive call
3206	to WApplication
3207
3208	* src/wt/WWebWidget.C: performance improvements
3209
3210	* src/wt/WTreeNode[.C]: virtual method displayedChildCount()
3211
3212	* src/web/skeleton/Ajax.html: fix offset problem in coordinate
3213	calculations
3214
3215	* src/wt/TableView[.C]: use SelectionBehavior instead of
3216	SelectionUnit, which is now deprecated
3217
3218	* src/wt/WSelectionBox[.C]: add support for multiple selection
3219
3220	* src/web/DomElement.C: fix button wrap when using IE6 with
3221	JavaScript disabled
3222
3223	* all: various documentation cleanups
3224
322513-03-2008:
3226	* wthttpd: make build without thread support really work without
3227	linking to a thread library
3228
3229	* src/mxml/mxml-file.c: fix unicode encoding to not encode twice,
3230	bug that was triggered on linux-arm platforms
3231
3232	* src/mxml: merge with latest official release 2.5
3233
3234	* src/wt/WDate.C, src/http/Request.C: fix non-cost string literals
3235
3236	* src/web/CgiParser.C: fix a regression to detect content-type
3237
323812-03-2008:
3239	* src/wt/WPainterPath: complete API, largely untested
3240
324110-03-2008:
3242	* src/wt/WPainterPath and devices: implement painter path arcTo()
3243
324406-03-2008:
3245	* examples/wt-homepage/: updated to emweb design
3246
3247	* src/wt/WApplication.C: disable state system for WebKit, since it
3248	does not work at all
3249
3250	* src/wt/WMessageResources.C, src/wt/WWebWidget.C, src/web/DomElement.C:
3251	do not let mxml self-close non-self-closing tags (gives problems in IE)
3252
325305-03-2008:
3254	* src/wt/WMenu[.C]: added method setRenderAsList() which allows
3255	the menu to be rendered as an HTML list
3256
3257	* src/wt/WContainerWidget[.C]: added methods setList(), isList(),
3258	isOrderedList(), isUnorderedList(), that allow the container to
3259	be used to render HTML <ul> and <ol> lists.
3260
326104-03-2008:
3262	* src/wt/WTable.C: correctly participate in slot learning when
3263	stubbed
3264
3265	* src/wt/WWebWidget[.C]: allow alternate method for hiding, which
3266	propagates to parents. methods does not use display: none
3267
3268	* src/Ext/ComboBox.C, src/Ext/DateField.C: use alternate method
3269	for hiding
3270
327103-03-2008:
3272	* examples/extkitchen/ExtKitchenExample.C: modify example to use
3273	a WTable for layout
3274
327502-03-2008:
3276	* src/wt/WSignal: connect new signals at_front, since it seems
3277	that boost signals will call slots being appended to the signal
3278	during slot invocation -- contrary to the documentation
3279
3280	* src/wt/W[.*]Image: add support for VML rendering
3281
3282	* src/wt/WVmlImage.C: make text alignment work properly
3283
328401-03-2008:
3285	* src/wt/WMenu[Item][.C]: make itemSelected signal normal signal,
3286	instead of being called from within stateless slot
3287
3288	* src/web/WebRenderer.C: do not show 'ignore' for updates to widgets
3289	not inserted into the widget hierarchy
3290
3291	* src/wt/WObject.C: do not show internal error when (no)FormData
3292	is called
3293
3294	* src/http/WinMain.C: adapted for non-boost asio
3295
3296	* src/wt/WWebWidget.C: Allow widget reparenting. setParent() for a
3297	widget who has already a parent used to be a no-op; now it reparents
3298	the widget.
3299
3300	* */CMakelists.txt: added 'd' suffix to debug libraries; added
3301	FindWt.cmake (from Pau Garcia i Quiles)
3302
3303        * Released 2.1.0
3304
330529-02-2008:
3306	* */CMakeList.txt: Restructured the cmake files
3307
3308	* wthttp: made zlib dependency optional
3309
3310	* wthttp: asio_error becomes asio_error_code and asio_system_error
3311
3312 	* src/Ext/Widget.C: make setHidden() behave properly also when
3313	not yet rendered
3314
331525-02-2008:
3316	* documentation updates
3317
331823-02-2008:
3319	* several fixes for JavaScript handling after a reload of the same
3320	session
3321
332222-02-2008:
3323	* src/wt/WTreeTable.C: fix layout bug when using a border for the
3324	header
3325
332616-02-2008:
3327	* src/wt/WAnchor[.C]: allow referencing to dynamically generated
3328	documents
3329
333015-02-2008:
3331	* src/Ext/TableView.C: implement enableColumnHiding() methods
3332
3333	* src/, src/http: move to boost-1.34.1 and (boost/non-boost) asio 0.3.9
3334
3335	* src/Ext/Dialog.C: implement setSizeGripEnabled(bool) method
3336
3337	* src/Ext/Panel[.C]: add collapse(), expand() methods and fix
3338	setCollapsed() implementation
3339
3340	* src/Ext/TableView.C: fix setAutoExpandColumn min and max widths
3341
334214-02-2008:
3343	* src/Ext/PagingToolBar.C: render other buttons that were added,
3344	as suggested by Michael Ivanov, 08-01-2008
3345
3346	* src/wt/WLabel[.C]: add setBuddy(Ext::FormField *) as suggested
3347	by Pau Garcia i Quiles, 16-01-2008
3348
3349	* src/wt/WAnchor[.C]: add setTarget() method
3350
335113-02-2008:
3352	* src/Ext/MessageBox.[Ch]: fix delete from buttonClicked crash,
3353	reported by Alex, 05-01-2008
3354
3355	* src/wt/WAnchor[.C]: fix anchor implementation problem reported
3356	by Lasse Karkkainen, 15-01-2008. Note that the API has changed,
3357	since we no longer use a WLabel (which caused the problem). Unless
3358	your code relied on the fact that it was implemented using a label
3359	there should be no problem in adapting to the new API.
3360
3361	* src/web/WebController.C: fix IE6 history problem reported by Joe
3362	Croft, 28-01-2008
3363
3364	* src/web/WebRender.C: fix synchronization problem of form
3365	objects, bug and patch by Goetz Babin-Ebell
3366
3367	* src/wt/WContainerWidget.C: syntax fix, by Goetz Babin-Ebell
3368
3369	* src/wt/WString and related: use UTF8 internally, as suggested by
3370	Goetz Babin-Ebell
3371
337202-01-2008:
3373	* src/wt/WTreeTable[.C]: scroll content while keeping headers fixed
3374
3375	* src/wt/WTreeNode[.C]: add support for an invisible root node
3376
3377	* src/Ext/LayoutImpl.C: trigget layout recalculation after adding a
3378	panel
3379
3380	* src/Ext/Button.C: fix bug not showing initial enabled/disabled state
3381
3382	* src/Ext/WWidgetItemImpl.C: wrap non-Container Widgets also, so that
3383	their style is not lost
3384
3385	* src/Wt/WPainter: drawLine methods
3386
3387	* src/web/skeleton/Ajax.html: fix mouse position calculations in
3388	presence of scrolled widgets
3389
339001-01-2008:
3391	* src/web/WebController.[Ch], src/http/HTTPStream.[Ch]:
3392	addSocketNotifier and removeSocketNotifier as virtual methods in
3393	WebStream instead of callbacks from wt lib to connector lib
3394
339530-12-2007:
3396	* src/wt/WRectF[.C], src/wt/WCanvasPaintDevice[.C], ...: further
3397	improvements to painting infrastructure
3398
3399	* src/wt/WSignalMapper: API changes to be able to build on MSVC
3400
3401	* src/wt/WEnvironment: allow reading content type, and raw CGI
3402	environment variables
3403
3404	* src/web/Configuration.C: switch back to default to HTML mime type
3405
340629-12-2007:
3407	* src/http/PosixMain.C: use asio::thread by default
3408
3409	* src/wt/WContainerWidget.C: fix bug to use delete[] instead of delete
3410	on overflow_ array
3411
3412	* src/wt/WApplication: add notify(const WEvent& e) method to allow
3413	custom event exception handling.
3414
3415	* src/wt/WEnvironment: add cgiValue() method to inspect any CGI
3416	environment variable
3417
341818-12-2007:
3419	* various places: pass string by reference where it makes sense
3420
3421	* Ext/*: upgrade from Ext 1.x to Ext 2.x series, main addition is a
3422	full layout management system
3423
342412-12-2007:
3425	* src/web/WebRenderer.C, src/web/DomElement.C, ...: serve XHTML
3426	content-type if the browser accepts it, and if it is not disabled
3427	in the config.xml file
3428
3429	* resources/orbited.js: produce valid XHTML (no document.write())
3430
3431	* resources/rsh.js: produce valid XHMTL (except for IE)
3432
3433	* src/wt/WApplication[.C]: split javascript in javascript that
3434	needs to be run before starting the DOM (which is rendered
3435	everytime the page is reloaded), and javascript that is run to
3436	manipulate the DOM (which is the default)
3437
3438	* src/web/DomElement.C: fix button wrap layout that was adding
3439	extra padding in non-javascript support rendering
3440
3441	* src/wt/WApplication.C: use lowercase CSS element selectors!
3442	you will need to change your style sheets accordingly!
3443
3444	* src/wt/WBrush[.C], src/wt/WPaintDevice[.C],
3445	src/wt/WPaintedWidget[.C], src/wt/WPainter[.C], src/wt/WPen[.C],
3446	src/wt/WPointF[.C], src/wt/WVectorImageResource[.C]: initial
3447	check-in of incomplete painting infrastructure
3448
344910-12-2007:
3450	* src/web/WebController.C: keep the server push connection alive
3451	when receiving a heart-beat
3452
3453	* src/web/skeleton/Ajax.html: preliminary WinCE IE support
3454
3455	* src/wt/WImage[.C]: add loaded event
3456
345702-12-2007:
3458	* examples/simplechat: added a chat example (replaces previous
3459	stupid serverpush example)
3460
3461	* src/web/WServerPushResource.C, resources/orbited.js: several
3462	improvements to make server-push work
3463
3464	* src/web/WebSession.C: allow updating another session from within an
3465	existing session
3466
3467	* src/wt/WContainerWidget: add setOverflow() method for easier
3468	scrollbars
3469
3470	* src/wt/WString: add operator< to be able to put them in std::set<>
3471
347201-12-2007:
3473	* src/mxml: updated to mxml-2.4
3474
3475	* resources/rhs.js, resources/json2005.js, src/wt/WApplication.C,
3476	src/web/WebController.C: upgraded to RSH 0.6 RC1 (works now in IE,
3477	Firefox and Opera)
3478
3479	* examples/hello/hello.C: make example more interesting
3480
3481	* examples/serverpush/serverpush.C: adapted to test intermixing
3482	event server and client events
3483
3484	* src/Ext/TableView.C: disconnect connections when changing model
3485
3486	* src/fcgi/FCGIStream.[Ch]: add socket notifier stubs
3487
3488	* src/http/Server.[Ch], src/web/WebController.[Ch]: implement
3489	socket notification
3490
3491	* src/http/WtReply.[Ch]: robust handling of server shutdown and
3492	connection closing
3493
3494	* src/web/WServerPushResource.C: adapted for orbited.js for as
3495	server-push library
3496
3497	* src/web/WebController.C: no longer add --Quited to application
3498	title when quiting an application
3499
3500
350127-11-2007:
3502	* src/Ext/MessageBox.C: fix setting prompt value
3503
3504	* src/Ext/DataStore[.C], src/Ext/ComboBox[.C],
3505	src/Ext/TableView[.C]: bundle model changes leading to
3506	significant reduction in generated JS for model changes.
3507
3508	* src/Ext/DataStore[.C], src/Ext/TableView[.C]: support resetting the
3509	model, and process row removals in reverse order
3510
3511	* src/wt/WAbstractToggleButton.C: use click signal instead of
3512	change to make checked/unChecked signals work in IE.
3513
3514	* src/wt/WSignal.C: reorder emission of stateless and dynamic slots,
3515	to avoid processing on a signal that has been deleted (which should
3516	not happen in a stateless slot).
3517
351823-11-2007:
3519	* src/wt/WButtonGroup, src/Ext/RadioButton.C: add support for
3520	Ext::RadioButton in WButtonGroup
3521
352223-11-2007:
3523	* CMakeLists.txt, src/CMakeLists.txt: add build option to disable
3524	thread (in wthttpd) altogether
3525
352622-11-2007:
3527	* src/Ext/DataStore.C: fix use of DataStore when removing rows
3528
352915-11-2007:
3530	* src/Ext/DataStore.C: fix regression bug when inserting rows
3531
3532	* src/Ext/ComboBox.[Ch]: add activated signal
3533
3534	* src/Ext/DataStore.C: fix use of DataStore when inserting rows
3535
353612-11-2007:
3537	* src/Ext/ProgressDialog.C: don't show by default (unlike Qt)
3538
353926-10-2007:
3540	* src/Ext/TableView.C: add missing method implementations
3541
354221-10-2007:
3543	* src/Ext/DataStore.[Ch], src/Ext/TableView.[Ch]: support multiple row
3544	selection, and be robust to sorting by using ids instead of row
3545	indexes
3546
3547	* src/Ext/TabWidget[.C]: fix bug where children were not inserted
3548	into the widget tree, and thus could not implement event handling
3549
3550	* src/wt/WTreeTableNode.C: fix konqueror/IE6 rendering problems
3551
355218-10-2007:
3553	* src/Ext/TableView[.C]: add methods for modifying and inspecting
3554	the current selection
3555
355617-10-2007:
3557	* src/wt/WMessageResources.C: remove the trailing '\n' that was
3558	being added to every WString in a resourcefile by mxml
3559
356010-10-2007:
3561	* examples/extkitchen/ExtKitchenExample.[Ch]: add a password prompt
3562	dialog example
3563
3564	* src/wt/WAbstractToggletButton.[C], src/wt/WCheckBox.[Ch],
3565	src/wt/WRadioButton.[C]: fix reversion caused by constructor with
3566	bool as first argument resulting in missing label text
3567
3568	* src/wt/WFormWidget.[C]: add setFocus() method
3569
3570	* src/wt/WInPlaceEdit.C: focus line edit using setFocus()
3571	stateless slot
3572
3573	* src/wt/WScrollArea.[C]: add vertical scrollbar stuff
3574
357501-10-2007:
3576	* src/web/skeleton/*.html: Reorder inline and external stylesheets so
3577	that Wt's default rules can be overridden by applications
3578
3579	* src/wt/WAnchor: Inherit from WContainerWidget so that other stuff can
3580	be added to it
3581
358227-09-2007:
3583	* src/CMakeLists.txt: integrate mxml sources directly in libwt.so (to
3584	avoid the static non-PIC .a in dynamic .so problem with CMake)
3585
358624-09-2007:
3587	* resources/dhtml_dhtmlHistory.js, src/web/WebController.C: use
3588	dynamically generated blank image
3589
3590	* src/wt/WApplication.C: use dhtml_dhtmlHistory.js in directory
3591	specified using resourcesURL property
3592
3593	* src/web/skeleton/Ajax.html: fix Loading... CSS for Internet Explorer
3594
359521-09-2007:
3596	* src/wt/WMenuItem.C: fix segfault when container stack is deleted
3597	before menu.
3598
3599	* src/mxml/*: supply a version of mxml(patched 2.3) which is used
3600	by default instead of a system-installed mxml.
3601
360211-09-2007:
3603	* src/wt/WSignal: fixed EventSignal.emit() to also emit stateless
3604	slots.
3605
360608-09-2007:
3607	* src/wt/WMenuItem, src/wt/WMenuItem.C: decouple render widget
3608	from activate signal, move margin for horizontal items from WMenu.C
3609
3610	* src/wt/WObject, src/wt/WSignal: use WObject::Method typedef
3611
3612	* src/examples/wt/RoundedWidget.C: implement missing method, add
3613	enabledRoundedCorners method for changing color in stateless
3614	slot functions.
3615
3616	* src/wt/WTabWidget, src/wt/WTabWidget.C, others: implement
3617	WTabWidget with doxygen look, based on WMenu.C
3618
361907-09-2007:
3620	* src/Ext/SplitterHandle.C, src/Ext/Splitter.C: implemented full
3621	awareness of configured minimum and maximum sizes.
3622
3623	* src/Ext/TableView.C, src/wt/WAbstractItemModel.C: added full
3624	support for other data types in models with respect to rendering
3625	and editing
3626
362704-09-2007:
3628	* src/CMakeLists.txt: added -DBOOST_SPIRIT_THREADSAFE, fixes
3629	thread safety problem (Max M)
3630
3631	* src/http/Reply.C: implemented If-Modified-Since, Last-Modified,
3632	and 304 Not Modified response codes
3633
3634	* *CMakeLists.txt: add soversioning
3635
3636	* src/wt/WDllDefs: added WT_VERSION define (4gsystems)
3637
3638	* src/wt/WTimer: WTimer memory leak patch (4gsystems)
3639
364003-09-2007:
3641	* all: Released 2.0.5.
3642
3643	Didn't keep track of ChangeLog, intending to improve on
3644	that, using GNU Changelog guidelines.
3645
364612-05-2007:
3647	* Haven't kept track of things in ChangeLog.. Sorry.
3648
364918-02-2007:
3650	* various transient and widget memory improvements
3651	  sample of sizeof() before and after:
3652	  WObject:           48		 40
3653	  WResource:         84		 60
3654	  WWidget:           92		 68
3655	  WWebWidget:       592		108
3656	  WInteractWidget: 1356		300
3657	  WText:           1384		328
3658	  WTable:          1376		320
3659
366016-02-2007:
3661	* New widget: WTreeTable and example File Browser.
3662
366318-12-2006:
3664	* Use Boost.Signals instead of home-brew signal/slots
3665	* Drag&Drop seems to work with firefox/konqueror, probably needs more
3666	testing
3667	* valgrind checked, no warnings no errors !
3668	* adopt wide string array
3669
367005-12-2006:
3671	* Solaris patches by Patrick Mauritz
3672	* Drag&Drop, initial implementation (not yet complete)
3673	* Drag&Drop example
3674
367501-12-2006:
3676	* Happy birthday, Wt.
3677	* many changes not documented in the Changelog.
3678
367907-09-2006:
3680	* Support for cookies for session management (when available) instead
3681	  of URL rewriting
3682	* Support for reading and setting cookies (in respectively WEnvironment
3683	  and WApplication)
3684
368504-09-2006:
3686	* Starting to finalize event handling: WMouseEvent and WKeyEvent
3687	* working on a new example and a new widget: WVirtualImage
3688
368902-09-2006:
3690	* Added WTreeNode and WIconPair widgets, derived from the
3691	  treelist example with different loading policies, and OO
3692	  overloading capabilities.
3693	* Corrected API bug: hide() and show() are non-virtual but
3694	  setHidden() is the virtual one that you should reimplement
3695	* Remove WCssDecorationStyle from WWebWidget header, and do
3696	  not allocated it until needed. Saves alot on memory usage
3697	  when using many widgets.
3698
369901-09-2006:
3700	* Moved Menu from the homepage example to become WMenu. Provides now
3701	  different loading policies for the items, and customizable
3702	  WMenuItem look (through OO inheritance).
3703	* Fixed a nasty bug in stateless slot learning.
3704
370530-08-2006:
3706	* implemented WJavascriptSlot (abdiel) for pure client-side event
3707	  handling
3708	* implemented WSuggestionPopup
3709	* use two-phase rendering for all updates, and configuration option
3710	  to change the threshold
3711	* separated examples in their own doxygen documentation
3712	* added ContactSuggestions widget to the composer example
3713	* various documentation improvements
3714	* fix a bug with deleting a signal while emitting the slots (abdiel)
3715	* avoid (?) race condition in blur() and click() handler in WSuggestionPopup.C
3716
371724-08-2006:
3718	* mindfully implemented all quoting stuff
3719	* change behaviour at quit(): simply render the last changes, but
3720	  add -- Quited. to the title, and avoid receiving new events.
3721	* fix non-javascript look for the wrap buttons.
3722
372322-08-2006:
3724	* add WWidget::isVisible()
3725	* workaround for Firefox keeping 'Transferring data from:'
3726	* yet another WFileUpload implementation -- the final one ?
3727	* misc improvements to Composer example
3728	* add support for external stylesheets
3729	* fix stateless slots discarding changes after serving resource
3730	* allow caching of WWidget resources
3731
373221-08-2006:
3733	* Added the composer example
3734	* Fixed bug not quoting href attribute in DemoTreeList
3735	* CgiParser: revert old behaviour, parsing through big requests
3736	* move helper function escape and replace to DomElement
3737	* WFileUpload::fileTooLarge in addition to WAppliation::requestTooLarge
3738	* isLoaded is broken because of WCompositeWidget..., but not needed anyway
3739        * add WEnvironment::getArgument, by Tomek Mazurek
3740	* WFileUpload: looks much better (konqueror, opera & firefox).
3741        * WFileUpload: added alternative firefox implementation that is even better (but is not used now)
3742	* WFileUpload: add isUploaded to check if calling upload() will do anything
3743	* WLineEdit: bugfix: escape preset text
3744	* WText: bugfix: replace newlines with <br/> in plainFormatting
3745	* WTextArea: bugfix: now set preset text correctly
3746	* WWebWidget, WCompositeWidget: bugfix: fix destructor javascript code
3747	* WWebWidget: bugfix: do not propagate renderOk in stubbed widgets
3748	* WWebWidget: bugfix: escapeText returns the escaped text
3749	* WWidget: bugfix: resourceMimeType: escape " in javascript code.
3750
375118-08-2006:
3752	* Documentation improvements
3753	* Fixed WFileUpload and FileUpload example (one bug remains)
3754	* Add propagateRenderOk() instead of creating the complete
3755	  DOM structure
3756	* prevent XSS attacks at the heart by filtering user supplied
3757	  XHTML.
3758	* Do not parse CGI input if too big anyway -- simply discard.
3759
376017-08-2006:
3761	* Documentation improvements, also doxygenified some reusable
3762	  classes in the examples.
3763
376416-08-2006:
3765	* improved look on non-javascript version, konqueror renders
3766	  wt-homepage now ok, but Firefox keeps adding padding inside
3767	  the button...
3768
376914-08-2006:
3770	* parse locale from browser and use it as start-up locale
3771	  and other things in WEnvironment
3772	* release 1.1.5
3773
377411-08-2006:
3775	* performance improvement: keep track of widgets that need
3776	  to be repainted, and only process these when finding
3777	  changes in the DOM.
3778
377910-08-2006:
3780	* many new features, not kept track off in ChangeLog (bad habit)
3781	* release 1.1.4
3782
378313-07-2006:
3784	* adopted cmake, an autoconf/tool/make alternative.
3785
378626-04-2006:
3787	* new: WContainerWidget::insert(WWidget *w, WWidget *before)
3788	* WCssDecorationStyle background image may be positioned
3789	* Added a Style example
3790
379124-04-2006:
3792 	* Patch for gcc 4 compile errors (Alan Ezust).
3793	* chased any remaining memory leaks in all examples, reworked
3794	  WCompositeWidget implementation -- you will need to update any code
3795	* WFileUpload improvements: looks better, works better
3796          Added a changed signal which allows capturing file selection on
3797          some browsers
3798	* WApplication: limit post-size API
3799	* CgiParser: make buffer static
3800
380122-04-2006:
3802	* fix session behaviour with multiple fastcgi servers for high
3803	  performance settings
3804	* added WDoubleValidator and WRegExpValidator and example of a
3805	  custom validator -- DateValidator
3806
380720-04-2006:
3808	* kick buggy cgi_util.c in favour of C++ CgiParser
3809	* rewrote WFileUpload -- works well but looks ugly (most of the time)
3810	* fixed some memory-leaks indicated by valgrind
3811
381214-04-2006:
3813	* many changes in the last months that were not recorded
3814	  in the Changelog.
3815
381616-01-2006:
3817	* add new example hangman, contributed by Wim Dumon
3818	* add new example hello-word, contributed by Wim Dumon
3819	* fixed contentAlignment() on non-inline children
3820	* moved HorizontAlignment to WWidget (that was ugly!)
3821	* add support for valgrind, and fixed dito bugs
3822	* remove excess zeros in object ids
3823	* release 1.0.14
3824
382503-01-2006:
3826	* add WSignalMapper class, suggested by Wim Dumon
3827	* fix gcc 4 compile error, thanks to Costantino Giuliodori and Udo
3828	  Kreckel.
3829	* release 1.0.13
3830	* add WContainerWidget::clear()
3831	* add WLineEdit::echoMode (Normal/Password)
3832
383329-12-2005:
3834	* add javascript but non-ajax code. But does not work with
3835	  netscape 4, because of 'onclick' not working ?
3836	* release 1.0.12
3837
383828-12-2005:
3839	* make WWidget an abstract interface
3840	* create WWebWidget
3841	* create WCompositeWidget
3842	* fixed a bug not initializing margin and padding
3843	* add non-javascript support
3844	* add message resource bundles, and support for localization to
3845	  most WWebWidgets
3846	* add refresh() in WApplication and WWidget, and in wt-homepage
3847	  example.
3848
384922-12-2005:
3850	* fix (hack?) for browser going back to Wt page bug
3851	* added side specific margin and padding, moved padding to
3852	  WContainerWidget
3853	* More documented members in WWidget
3854	* release 1.0.11
3855
385621-12-2005:
3857	* added WFont, and use in the wt-homepage example (for the navigation
3858	  menu)
3859	* discovered, but not fixed, the reason why going back to the Wt page
3860	  does not work: when going backward, the page replays the same stuff
3861	  as if it was unloaded. So, we probably want our first keep-alive
3862	  message to be 'load', which should find out which things were
3863	  stubbed, and retransmit these -- are easier just trigger a reload
3864
386520-12-2005:
3866	* some bug fixes in WStackedWidget
3867	* converted homepage to Wt (as new example)
3868	* add support for WApplication.title()
3869	* release 1.0.10
3870
387119-12-2005:
3872	* started doing ChangeLog
3873	* read XHTML tutorial at w3org, now properly generate xhtml, no more
3874  	  problems caused by closing non-empty tags (such as <select />), and
3875 	  fixes some cross-browser inconsistencies such as disabled widgets
3876	* add security checks around web references to resource and signal
3877	  instances (as suggested by Graydon Hoare).
3878	* quit the application nicely on timeout by exiting the eventloop
3879	  (as suggested by Wim Dumon).
3880	* release 1.0.9
3881