@@ -22,6 +22,125 @@ <h1>Wt Release notes</h1>
2222the way you build Wt, the way you configure Wt or the Wt API and
2323behaviour.
2424
25+ < h2 > Release 3.3.6 (?, 2016)</ h2 >
26+ < p >
27+ This release has a focus on bug fixes and some new features:
28+ </ p >
29+ < dl >
30+ < dt >
31+ Support for WebSocket compression in wthttp
32+ </ dt >
33+ < dd >
34+ WebSocket traffic is now compressed, if possible.
35+ </ dd >
36+ < dt >
37+ Time entry improvements
38+ </ dt >
39+ < dd >
40+ < a href ="classWt_1_1WTimeEdit.html "> WTimeEdit</ a > now supports AM/PM in its format,
41+ < a href ="classWt_1_1WTimeValidator.html "> WTimeValidator</ a > now allows to select a minimum
42+ and maximum time and supports multiple formats,
43+ < a href ="classWt_1_1WTimePicker.html "> WTimePicker</ a > can now work up to
44+ millisecond precision, and is now rendered with spinboxes.
45+ </ dd >
46+ < dt >
47+ Skia version updated
48+ </ dt >
49+ < dd >
50+ The Skia backend for < a href ="classWt_1_1WRasterImage.html "> WRasterImage</ a > is now compatible with more recent versions of Skia. If you need
51+ to support an older version of Skia, use < tt > -DWT_SKIA_OLD=ON</ tt > . The Skia version of the Windows builds
52+ has been updated from 394c7bb to 834d9e1.
53+ </ dd >
54+ < dt >
55+ Wt::Dbo
56+ </ dt >
57+ < dd >
58+ It's now possible to mark foreign keys as literal with a “>” prefix, so Wt::Dbo can better map to
59+ an existing schema. Note that for consistency, this also means that the schema generated for ManyToMany relationships
60+ has been changed to include the id column names if a joinId has been specified. If you specify a joinId for ManyToMany
61+ relationships, you'll have to change it to include a “>” before it in order to keep the same database schema.
62+ </ dd >
63+ < dt >
64+ Scroll position
65+ </ dt >
66+ < dd >
67+ It's now possible to retrieve the scroll position of a
68+ < a href ="classWt_1_1WContainerWidget.html "> WContainerWidget</ a >
69+ with
70+ < a href ="classWt_1_1WContainerWidget.html#a0a7ce553b2b5107412a3bed8700355cb "> scrollTop()</ a >
71+ and
72+ < a href ="classWt_1_1WContainerWidget.html#a9a60d382fcd1490081087ce4f3649864 "> scrollLeft()</ a > .
73+ </ dd >
74+ < dt >
75+ Invalidation of stateless slots
76+ </ dt >
77+ < dd >
78+ < a href ="classWt_1_1WObject.html#a6dde4ce1e833a9966709daf3c0dedc9f "> WObject::isNotStateless()</ a >
79+ has been added, so functions called from functions that are marked as stateless can unmark
80+ it as stateless, reverting to plain server-side dynamic UI updates.
81+ </ dd >
82+ < dt >
83+ < a href ="classWt_1_1Auth_1_1Dbo_1_1UserDatabase.html "> Auth::Dbo::UserDatabase</ a >
84+ </ dt >
85+ < dd >
86+ The < a href ="classWt_1_1Auth_1_1Dbo_1_1UserDatabase.html "> Dbo UserDatabase</ a > implementation now
87+ compares e-mail addresses case insensitively. The < a href ="classWt_1_1Auth_1_1AuthService.html "> AuthService</ a >
88+ can be passed in the constructor, so the < a href ="classWt_1_1Auth_1_1Dbo_1_1UserDatabase.html "> UserDatabase</ a >
89+ knows whether the IdentityPolicy is EmailAddressIdentity.
90+ </ dd >
91+ < dt >
92+ Charting library
93+ </ dt >
94+ < dd >
95+ There have been many bug fixes and improvements to the charting library and the interactive features
96+ introduced in Wt 3.3.5:
97+ < ul >
98+ < li > Series < a href ="classWt_1_1Chart_1_1WCartesianChart.html#ad05997dbc2d59862e38272985abda9a9 "> can be selected</ a >
99+ on a < a href ="classWt_1_1Chart_1_1WCartesianChart.html "> WCartesianChart</ a > .
100+ LineSeries < a href ="classWt_1_1Chart_1_1WCartesianChart.html#a6078b67f146e686bd482d846dfe463cb "> can be manipulated</ a > .</ li >
101+ < li > < a href ="classWt_1_1Chart_1_1WAxis.html#a16d188d56c2b62b7b3f2ddb6fa96d7cc "> WAxis::setZoom()</ a > and
102+ < a href ="classWt_1_1Chart_1_1WAxis.html#a2f6a11d9d47036f8806c5a8412dfd24c "> WAxis::setPan()</ a >
103+ have been deprecated in favor of the easier to use
104+ < a href ="classWt_1_1Chart_1_1WAxis.html#a0be187399e7cb4877f2c5e3837eba6ea "> WAxis::setZoomRange()</ a > .
105+ You can listen to changes in zoom range with the
106+ < a href ="classWt_1_1Chart_1_1WAxis.html#a7e432917f0f23f18db3a043397a81904 "> WAxis::zoomRangeChanged()</ a > signal.</ li >
107+ < li > Series set as hidden will still be shown on a < a href ="classWt_1_1Chart_1_1WAxisSliderWidget.html "> WAxisSliderWidget</ a > .
108+ The typical application for this is to show a coarse model on the slider widget, and a more detailed one on the chart.</ li >
109+ < li >
110+ In order to provide better performance for charts containing a lot of data, the charting library has been
111+ overhauled to use < a href ="classWt_1_1Chart_1_1WAbstractChartModel.html "> WAbstractChartModel</ a > s,
112+ instead of < a href ="classWt_1_1WAbstractItemModel.html "> WAbstractItemModel</ a > s, avoiding the use of
113+ boost::any. The < a href ="classWt_1_1Chart_1_1WStandardChartProxyModel.html "> WStandardChartProxyModel</ a >
114+ wraps a < a href ="classWt_1_1WAbstractItemModel.html "> WAbstractItemModel</ a > so that those can still be used with charts.
115+ Note that this changes the return type of the
116+ < a href ="classWt_1_1Chart_1_1WAbstractChart.html#a477522bb1720fb20006c81be455b3366 "> WAbstractChart::model()</ a > method.
117+ </ li >
118+ < li > A chart's axes can now be < a href ="classWt_1_1Chart_1_1WAxis.html#a2bb7c8ec67ed2ff0b57953ea40cd87ef "> inverted</ a > .
119+ < li > Stacked series: negative values are now stacked separately from positive values.</ li >
120+ < li > < a href ="classWt_1_1Chart_1_1CurveLabel.html "> Curve labels</ a > can now be drawn on charts, so that curves,
121+ or certain points on curves, can be labeled.</ li >
122+ < li > < a href ="classWt_1_1Chart_1_1WAxis.html#afca24479982f10759be69703de5f4cd4 "> WAxis::getLabelTicks()</ a >
123+ has been modified with an argument
124+ < a href ="structWt_1_1Chart_1_1AxisConfig.html "> AxisConfig</ a > , so that different axis ticks can be drawn depending
125+ on the side that the axis is dawn on, or the zoom level it is drawn at. This is a breaking change if you override getLabelTicks.
126+ < a href ="classWt_1_1Chart_1_1WAxis.html#a71928aabf753854274d753e266aabfc2 "> WAxis::setLabelTransform()</ a >
127+ as a simpler method to change the tick
128+ labels depending on the side the axis is drawn on.</ li >
129+ < li > < a href ="classWt_1_1Chart_1_1WDataSeries.html "> WDataSeries</ a > is no longer a simple value class. The interface of
130+ < a href ="classWt_1_1Chart_1_1WCartesianChart.html "> WCartesianChart</ a > has been modified to reflect that: the old
131+ interface that copies WDataSeries over has been deprecated in favor of an interface that takes pointers to
132+ < a href ="classWt_1_1Chart_1_1WDataSeries.html "> WDataSeries</ a > .</ li >
133+ < li > It's now possible to < a href ="classWt_1_1Chart_1_1WDataSeries.html#ae668a1a90ccf668e426fc2d9e370bf2c "> specify a different model</ a >
134+ for each < a href ="classWt_1_1Chart_1_1WDataSeries.html "> WDataSeries</ a > .</ li >
135+ < li > < a href ="classWt_1_1Chart_1_1WPieChart.html#a0ff69f626136fa56e7de27f6a10d770d "> Chart::WPieChart::createLabelWidget()</ a >
136+ has been added, making it possible to replace the labels of a
137+ < a href ="classWt_1_1Chart_1_1WPieChart.html "> WPieChart</ a >
138+ with widgets.</ li >
139+ < li > Tooltips on charts can now be deferred, which can improve performance of interactive charts, and if you have a lot of tooltips.</ li >
140+ </ ul >
141+ </ dd >
142+ </ dl >
143+
25144< h2 > Release 3.3.5 (Dec 31, 2015)</ h2 >
26145< p >
27146 This release has a focus on bug fixes but also one or two new features:
0 commit comments