Skip to content

Commit caa4669

Browse files
committed
Several changes:
- Wt 4 specific: - head-matter feature WIP Add head-matter instead of meta-headers with everything that has to go into the <head> - Improved handling of localized strings in XML files WString::toUTF8() will unescape localized strings if they are in the XHTML format, and WString::toXhtmlUTF8() will escape localized strings if they are in the plain format - Merges from Wt 3: - Fixed issue #5531 - Alexey Slaykovsky: MySQL DBO. Changed deprecated value. - Fix for issue #5545, fixed wrong use of MutationObserver - Fix for issue #5526: willPopup_ was not set to false on initial render. - Follow up for issue #5382, facebookservice didn't set the verified email address boolean correctly - fix for issue #5539: changed facebook oauth url to contain requested fields - 5550: Prevent theme application for specific widgets - Diwakar Kumar: Variable "changed" should be reset to "false" in "this.mouseUp" function to avoid unnecessary signal emmition during keyUp event.. - mickythump: fix-missing-brackets-client - Sulando: Added missing repaint() to WPolygonArea - Add libwtdbofirebird to FindWt.cmake - Peter Hille: Add libwtdbomysql to FindWt.cmake - Boris Nagaev: fix doubled WEnvironment in docs - 5266: A WDialog with Fade animation and Bootstrap 3 theme displays a black dialog cover. - Bootstrap version 3.3.7 - Closed an XSS vector - Added protected reset() method to WTemplate - 5542: WBootstrapTheme should not set btn-default on a non-default button - Respond with 505 to strange versions, and only HTTP/1.0 or HTTP/1.1 - WAxis constructor should be public - Only select closest series if it is within 20px of the given point - File drop widget: fixed cancel race condition - added PDF mimetype - fix unorthodox use of request to forward dataExceeded info broken by async handling in websession event queue - Fixed progressive bootstrap for WFileDropWidget - Only rerender data if column was made smaller and could reveal data - avoid manipulation of a phony reparented child - Fixed popup menu being stretched out when reparented in WStackedWidget - Issue #5495: better document setMenu making item not selectable - Issue #5509: Document that built-in httpd can serve gzipped static files - Fix issue #5351 - Fix issue #5278 - Fix #5376: set WPopupMenu submenu zIndex higher than parent menu - Use 1px transparent GIF instead of src="#" for WImage without valid WLink - Always perform WTableView updates row-wise, in ascending order
1 parent b3a1dd7 commit caa4669

File tree

116 files changed

+5221
-3262
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+5221
-3262
lines changed

CMakeLists.txt

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,19 @@ SET(CMAKE_MODULE_PATH
1818

1919
SET(VERSION_SERIES 3)
2020
SET(VERSION_MAJOR 3)
21-
SET(VERSION_MINOR 6)
22-
23-
SET(WT_SOVERSION 40)
24-
SET(WTEXT_SOVERSION 40)
25-
SET(WTHTTP_SOVERSION 40)
26-
SET(WTFCGI_SOVERSION 40)
27-
SET(WTISAPI_SOVERSION 16)
28-
SET(WTDBO_SOVERSION 40)
29-
SET(WTDBOSQLITE3_SOVERSION 40)
30-
SET(WTDBOPOSTGRES_SOVERSION 40)
31-
SET(WTDBOFIREBIRD_SOVERSION 40)
32-
SET(WTDBOMYSQL_SOVERSION 40)
33-
SET(WTTEST_SOVERSION 10)
21+
SET(VERSION_MINOR 7)
22+
23+
SET(WT_SOVERSION 41)
24+
SET(WTEXT_SOVERSION 41)
25+
SET(WTHTTP_SOVERSION 41)
26+
SET(WTFCGI_SOVERSION 41)
27+
SET(WTISAPI_SOVERSION 17)
28+
SET(WTDBO_SOVERSION 41)
29+
SET(WTDBOSQLITE3_SOVERSION 41)
30+
SET(WTDBOPOSTGRES_SOVERSION 41)
31+
SET(WTDBOFIREBIRD_SOVERSION 41)
32+
SET(WTDBOMYSQL_SOVERSION 41)
33+
SET(WTTEST_SOVERSION 11)
3434

3535
IF(NOT SHARED_LIBS)
3636
IF(WIN32)

Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ PROJECT_NAME = Wt
3232
# This could be handy for archiving the generated documentation or
3333
# if some version control system is used.
3434

35-
PROJECT_NUMBER = 3.3.6
35+
PROJECT_NUMBER = 3.3.7
3636

3737
# Using the PROJECT_BRIEF tag one can provide an optional one line description
3838
# for a project that appears at the top of each page and should give viewer

INSTALL

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,10 @@ Requirements
1414
you can have both of them.
1515

1616
The built-in web server is more convenient during development and is
17-
easier to setup.
17+
easier to setup. It also allows you to use WebSockets.
1818

19-
The FastCGI based solution provides more flexibility for deployment of
20-
the application. The built-in web server runs all sessions in a single
21-
process, while the FastCGI based solution allows different deployment
22-
schemes including dedicated processes per sessions.
19+
The FastCGI based solution can be more convenient for deployment behind
20+
another web server.
2321

2422
Each of these two choices correspond to a library, a so-called
2523
connector library. Below it is outlined how to configure the build
@@ -38,7 +36,7 @@ Requirements
3836
Preferably CMake 2.6, which comes with a usable script for finding
3937
boost libraries, but CMake 2.4 is still supported using Wt's own
4038
boost find script.
41-
* [5]C++ boost library (preferably version 1.41 or higher), with or
39+
* [5]C++ boost library (preferably version 1.46.1 or higher), with or
4240
without thread support. You can verify you have a thread-enabled
4341
boost installation by locating the libboost_thread library. Thread
4442
support is not essential: Wt functionality is not affected except
@@ -49,10 +47,8 @@ Requirements
4947
features will be disabled that depend on the revised versions of
5048
spirit, namely JSON parsing and improved SQL parsing (for Wt::Dbo).
5149
* Optionally, [6]OpenSSL, which is used to support the HTTPS protocol
52-
in the web client, the HTTPS protocol in the built-in wthttpd
53-
connector, additional cryptographic hash functions in the Auth
54-
library, and WebSockets (which requires a SHA-1 hash
55-
implementation).
50+
in the web client, and the HTTPS protocol in the built-in wthttpd
51+
connector.
5652
* Optionally, [7]Haru Free PDF Library, which is used to provide
5753
support for painting to PDF (WPdfImage).
5854
* Optionally, [8]GraphicsMagick, for supporting painting to raster
@@ -80,8 +76,7 @@ Requirements
8076
to enable optional features (you can also build without them), but
8177
otherwise no extra dependencies are required.
8278
* Optionally, zlib (libz), for compression over HTTP.
83-
* Optionally, OpenSSL (libopenssl), for HTTPS and WebSockets (which
84-
requires a SHA-1 hash implementation).
79+
* Optionally, OpenSSL (libopenssl), for HTTPS.
8580

8681
2 Additional and optional requirements for some of the examples
8782

@@ -124,10 +119,14 @@ Building and installing the Wt library
124119
may help CMake by setting some variables to help CMake locate the
125120
libraries. This may be done on the command-line using -Dvar=value or
126121
using the interactive program:
127-
$ ccmake .
122+
$ ccmake ../
128123

129-
Variables that you may set to configure Wt's built-in boost finding
130-
method:
124+
or
125+
$ cmake-gui ../
126+
127+
The GUI lists all variables that are configurable in Wt's build
128+
process. Variables that you may set to configure Wt's built-in boost
129+
finding method:
131130

132131
BOOST_COMPILER
133132
The boost compiler signature. For a library
@@ -142,7 +141,8 @@ Building and installing the Wt library
142141
lib/ and include/ are located for your boost installation.
143142

144143
Other variables specify several build and configuration aspects of Wt,
145-
of which the most relevant ones are:
144+
of which the most relevant ones are (there are many more visible in the
145+
GUI):
146146

147147
CMAKE_INSTALL_PREFIX
148148
Installation prefix for the library and include files)
@@ -333,9 +333,9 @@ HTTPS server options:
333333

334334
References
335335

336-
1. file://localhost/home/koen/project/wt/git/wt/INSTALL.html#requirements
337-
2. file://localhost/home/koen/project/wt/git/wt/INSTALL.html#build
338-
3. file://localhost/home/koen/project/wt/git/wt/INSTALL.html#examples
336+
1. file:///home/roel/project/wt/git/wt/INSTALL.html#requirements
337+
2. file:///home/roel/project/wt/git/wt/INSTALL.html#build
338+
3. file:///home/roel/project/wt/git/wt/INSTALL.html#examples
339339
4. http://www.cmake.org/
340340
5. http://www.boost.org/
341341
6. http://www.openssl.org/

INSTALL.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ <h3>1 Wt requirements</h3>
5757
</div>
5858
</li>
5959
<li><a href="http://www.boost.org/">C++ boost library</a> (preferably
60-
version 1.41 or higher), with or without thread support. You can
60+
version 1.46.1 or higher), with or without thread support. You can
6161
verify you have a thread-enabled boost installation by locating the
6262
libboost_thread library. Thread support is not essential: Wt
6363
functionality is not affected except for exotic things like server

INSTALL.win32.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ <h2>Requirements</h2>
3030
build on the Express Edition, which is free (as in beer) to use.
3131
<li>CMake cross-platform build system (www.cmake.org): cmake-2.6.x,
3232
Windows version (2.8 or newer recommended).</li>
33-
<li>Boost 1.36 (or later; a recent version is recommended)</li>
33+
<li>Boost 1.46.1 (or later; a recent version is recommended)</li>
3434
</ul>
3535
</p>
3636

ReleaseNotes.html

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,88 @@ <h1>Wt Release notes</h1>
2222
the way you build Wt, the way you configure Wt or the Wt API and
2323
behaviour.
2424

25+
<h2>Release 3.3.7 (February ?, 2017)</h2>
26+
<p>
27+
This release fixes many bugs, but also introduces some new features:
28+
</p>
29+
<dl>
30+
<dt>
31+
<a href="classWt_1_1WFileDropWidget.html">WFileDropWidget</a>
32+
</dt>
33+
<dd>
34+
The WFileDropWidget is a new widget that allows you to upload a file or multiple files by dragging them onto an area.
35+
</dd>
36+
<dt>
37+
Scroll visibility
38+
</dt>
39+
<dd>
40+
Some applications require you to know whether a widget is currently visible within the viewport, or whether it is
41+
scrolled out of view, e.g. to load more content as you scroll down the page. You can now enable scroll visibility
42+
detection with
43+
<a href="classWt_1_1WWidget.html#a5d403e0390841df77a23445b28044d5d">WWidget::setScrollVisibilityEnabled(bool)</a>,
44+
and react to changes in visibility with
45+
<a href="classWt_1_1WWidget.html#aa5ce605dd465e06f3e3c2dbce2a4098e">WWidget::scrollVisibilityChanged()</a>.
46+
A new scrollvisibility feature example has been added to demonstrate this infinite scrolling application.
47+
</dd>
48+
<dt>
49+
Touch events
50+
</dt>
51+
<dd>
52+
Although Wt already supported touch interactions in the charting library, touch events were previously
53+
not exposed by Wt. Now,
54+
we've added <a href="classWt_1_1WTouchEvent.html">WTouchEvent</a>, and the touchStarted, touchEnded, and touchMoved
55+
events have been added to
56+
<a href="classWt_1_1WInteractWidget.html">WInteractWidget</a>.
57+
Also, <a href="classWt_1_1WInteractWidget.html#a556c14d02388720b1d95b2149be2e867">draggable widgets</a> can now also
58+
be dragged after a long press, and you can select a range using a double touch in
59+
<a href="classWt_1_1WTableView.html">WTableView</a> and <a href="classWt_1_1WTreeView.html">WTreeView</a>.
60+
</dd>
61+
<dt>
62+
Combined session tracking mode
63+
</dt>
64+
<dd>
65+
<p>
66+
The default session tracking method for Wt is URL rewriting, using JavaScript to hide the session id from
67+
the address bar. Alternatively, cookies can be used with the Auto option, falling back to URL rewriting when
68+
cookies are not available. However, the cookie-based method did not allow for multiple sessions within the
69+
same browser.
70+
</p>
71+
<p>
72+
In order to make the URL rewriting method with requirement 6.5.10 of the PCI Data Security Standard, while not
73+
sacrificing the ability to have multiple sessions, a new Combined session tracking strategy has been added.
74+
Wt already makes it difficult to steal a session when the session id is discovered, but resources are not as
75+
protected. The Combined session tracking strategy uses URL rewriting in combination with a cookie that is shared
76+
between sessions as an extra measure against session hijacking. This is the most secure strategy, but it will
77+
deny access if cookie support is not available.
78+
</p>
79+
</dd>
80+
<dt>
81+
Wraparound for <a href="classWt_1_1WSpinBox.html">WSpinBox</a> and <a href="classWt_1_1WTimeEdit.html">WTimeEdit</a>
82+
</dt>
83+
<dd>
84+
WSpinBox will now wrap around from its maximum to its minimum if you <a href="classWt_1_1WSpinBox.html#a08413e777fefab00e36dc8d6c492bda5">enable wraparound</a>. WTimeEdit will take advantage of this feature by default.
85+
</dd>
86+
<dt>
87+
Some minor extra features:
88+
</dt>
89+
<dd>
90+
<ul>
91+
<li>
92+
It's now possible to retrieve a vector of all request headers with <a href="classWt_1_1Http_1_1Request.html#a0afe45bf93bb77270a85c75ca67cd521">Wt::Http::Request::headers()</a> in <a href="classWt_1_1WResource.html#a3a740f8cc29e2e6e4e58defc9c88b8b6">handleRequest</a> when implementing a WResource. It is still recommended, and more efficient, to use <a href="classWt_1_1Http_1_1Request.html#ade2596aa6802a63e21460094ea30a4d9">headerValue</a>, but retrieving a vector of all headers could be useful for debugging purposes.
93+
</li>
94+
<li>
95+
In an effort to reduce the amount of JavaScript generated by the charting API, the
96+
<a href="classWt_1_1WPainter.html#abccad19493d7461ca08c9e50ad7326f1">WPainter::drawStencilAlongPath()</a>
97+
method was added to WPainter.
98+
</li>
99+
<li>
100+
Previously, WDialogs were movable by default. It's now possible to disable this with
101+
<a href="classWt_1_1WDialog.html#afbccf557a0343591f3087c9a0a9b7051">WDialog::setMovable()</a>.
102+
</li>
103+
</ul>
104+
</dd>
105+
</dl>
106+
25107
<h2>Release 3.3.6 (July 13, 2016)</h2>
26108
<p>
27109
This release has a focus on bug fixes and some new features:

cmake/FindWt.cmake

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ FIND_LIBRARY( Wt_FCGI_LIBRARY NAMES wtfcgi PATHS PATH PATH_SUFFIXES lib lib-rele
5353
FIND_LIBRARY( Wt_DBO_LIBRARY NAMES wtdbo PATHS PATH PATH_SUFFIXES lib lib-release lib_release )
5454
FIND_LIBRARY( Wt_DBOSQLITE3_LIBRARY NAMES wtdbosqlite3 PATHS PATH PATH_SUFFIXES lib lib-release lib_release )
5555
FIND_LIBRARY( Wt_DBOPOSTGRES_LIBRARY NAMES wtdbopostgres PATHS PATH PATH_SUFFIXES lib lib-release lib_release )
56+
FIND_LIBRARY( Wt_DBOMYSQL_LIBRARY NAMES wtdbomysql PATHS PATH PATH_SUFFIXES lib lib-release lib_release )
57+
FIND_LIBRARY( Wt_DBOFIREBIRD_LIBRARY NAMES wtdbofirebird PATHS PATH PATH_SUFFIXES lib lib-release lib_release )
5658

5759
FIND_LIBRARY( Wt_DEBUG_LIBRARY NAMES wtd wt PATHS PATH PATH_SUFFIXES lib libd lib-debug lib_debug HINTS /usr/lib/debug/usr/lib)
5860
FIND_LIBRARY( Wt_EXT_DEBUG_LIBRARY NAMES wtextd wtext PATHS PATH PATH_SUFFIXES lib libd lib-debug lib_debug HINTS /usr/lib/debug/usr/lib)
@@ -62,6 +64,8 @@ FIND_LIBRARY( Wt_FCGI_DEBUG_LIBRARY NAMES wtfcgid wtfcgi PATHS PATH PATH_SUFFIXE
6264
FIND_LIBRARY( Wt_DBO_DEBUG_LIBRARY NAMES wtdbod wtdbo PATHS PATH PATH_SUFFIXES lib lib-debug lib_debug HINTS /usr/lib/debug/usr/lib)
6365
FIND_LIBRARY( Wt_DBOSQLITE3_DEBUG_LIBRARY NAMES wtdbosqlite3d wtdbosqlite3 PATHS PATH PATH_SUFFIXES lib lib-debug lib_debug HINTS /usr/lib/debug/usr/lib)
6466
FIND_LIBRARY( Wt_DBOPOSTGRES_DEBUG_LIBRARY NAMES wtdbopostgresd wtdbopostgres PATHS PATH PATH_SUFFIXES lib lib-debug lib_debug HINTS /usr/lib/debug/usr/lib)
67+
FIND_LIBRARY( Wt_DBOMYSQL_DEBUG_LIBRARY NAMES wtdbomysqld wtdbomysql PATHS PATH PATH_SUFFIXES lib lib-debug lib_debug HINTS /usr/lib/debug/usr/lib)
68+
FIND_LIBRARY( Wt_DBOFIREBIRD_DEBUG_LIBRARY NAMES wtdbofirebirdd wtdbofirebird PATHS PATH PATH_SUFFIXES lib lib-debug lib_debug HINTS /usr/lib/debug/usr/lib)
6569

6670
IF( Wt_LIBRARY )
6771
IF( Wt_HTTP_LIBRARY )
@@ -93,6 +97,12 @@ IF( Wt_DBO_LIBRARY )
9397
IF( Wt_DBOPOSTGRES_LIBRARY )
9498
SET( Wt_LIBRARIES ${Wt_LIBRARIES} ${Wt_DBOPOSTGRES_LIBRARY} )
9599
ENDIF( Wt_DBOPOSTGRES_LIBRARY )
100+
IF( Wt_DBOMYSQL_LIBRARY )
101+
SET( Wt_LIBRARIES ${Wt_LIBRARIES} ${Wt_DBOMYSQL_LIBRARY} )
102+
ENDIF( Wt_DBOMYSQL_LIBRARY )
103+
IF ( Wt_DBOFIREBIRD_LIBRARY )
104+
SET ( Wt_LIBRARIES ${Wt_LIBRARIES} ${Wt_DBOFIREBIRD_LIBRARY} )
105+
ENDIF ( Wt_DBOFIREBIRD_LIBRARY )
96106
ENDIF( Wt_DBO_LIBRARY )
97107

98108
IF( Wt_DEBUG_LIBRARY )
@@ -121,6 +131,12 @@ IF( Wt_DBO_DEBUG_LIBRARY )
121131
IF( Wt_DBOPOSTGRES_DEBUG_LIBRARY )
122132
SET( Wt_DEBUG_LIBRARIES ${Wt_DEBUG_LIBRARIES} ${Wt_DBOPOSTGRES_DEBUG_LIBRARY} )
123133
ENDIF( Wt_DBOPOSTGRES_DEBUG_LIBRARY )
134+
IF( Wt_DBOMYSQL_DEBUG_LIBRARY )
135+
SET( Wt_DEBUG_LIBRARIES ${Wt_DEBUG_LIBRARIES} ${Wt_DBOMYSQL_DEBUG_LIBRARY} )
136+
ENDIF ( Wt_DBOMYSQL_DEBUG_LIBRARY )
137+
IF ( Wt_DBOFIREBIRD_DEBUG_LIBRARY )
138+
SET (Wt_DEBUG_LIBRARIES ${Wt_DEBUG_LIBRARIES} ${Wt_DBOFIREBIRD_DEBUG_LIBRARY} )
139+
ENDIF ( Wt_DBOFIREBIRD_DEBUG_LIBRARY )
124140
ENDIF( Wt_DBO_DEBUG_LIBRARY )
125141

126142
IF(Wt_FOUND)

doc/main

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,10 @@ namespace Wt {
511511
$ ../../build/examples/wt-homepage/Home.wt --docroot=".;/favicon.ico,/css,/resources,/style,/icons" ...
512512
\endcode
513513

514+
If a static file (e.g. \c style.css) is requested, and the static file with \c .gz extension (e.g. \c style.css.gz)
515+
exists, then the built-in httpd will assume that the \c .gz file is the gzipped version of the file without \c .gz,
516+
and will serve the \c .gz file instead of applying compression.
517+
514518
\subsection wtisapi 9.3 ISAPI
515519

516520
When linking your application against <tt>wtisapi</tt>, the

examples/Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# Project related configuration options
55
#---------------------------------------------------------------------------
66
PROJECT_NAME = "Wt examples"
7-
PROJECT_NUMBER = 3.3.6
7+
PROJECT_NUMBER = 3.3.7
88
OUTPUT_DIRECTORY = ../doc/examples
99
CREATE_SUBDIRS = NO
1010
OUTPUT_LANGUAGE = English

0 commit comments

Comments
 (0)