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