From 769031b0f1bf5a0c083963144687bc56b905c6ca Mon Sep 17 00:00:00 2001
From: =?utf8?q?Leif=20=C3=85strand?=
Date: Fri, 1 Feb 2013 16:15:16 +0200
Subject: [PATCH] Update release notes for 7.0.0
Change-Id: Ibdc57a75394d52c81af88b2b7c4ea7d07e5492b2
---
WebContent/release-notes.html | 343 ++++++++++++++++++++++++----------
1 file changed, 249 insertions(+), 94 deletions(-)
diff --git a/WebContent/release-notes.html b/WebContent/release-notes.html
index eaa8404580..88e1eb05cd 100644
--- a/WebContent/release-notes.html
+++ b/WebContent/release-notes.html
@@ -117,103 +117,257 @@
The @version@ includes many major and minor enhancements and changes. Below is a
list of the most notable changes:
-
+
- - GWT is now built into Vaadin Framework
+
- UI replaces Application as the main entry point
- - New SuperDevMode allows debugging client-side Java code in the browser without any plugins
+ - Heartbeat to reliably detect closed UI
+ - Supports multiple browser tabs by default
+ - Browser and request details available in UI init
+ - Direct access to request and session in UI init
+ - Access detected browser details in UI init
+ - Default UI class chosen based on a servlet parameter
+ - Custom UIProvider allows providing different UIs based on request parameters
+ - UI is by default reinitialized when the page is reloaded
- - Applications are now written by extending the UI class instead of the Application class
-
- - The UI class needs to be specified in the web.xml with the ui parameter
- - A Page object accessible from UI with getPage() contains API related to the browser window
- - The executeJavaScript() method is removed and replaced with a JavaScript object accessible from the Page with getJavaScript()
- - Reloading page spawns a new instance unless @PreserveOnRefresh specified for the UI
- - UIs use heartbeat to detect closing
- - Embedding of Vaadin applications (now UIs) in HTML pages has changed
-
- - Embedded UIs can have different themes and widget sets
-
-
-
-
- - The Application class is removed altogether
-
- - ApplicationServlet is replaced with VaadinServlet and VaadinService
- - User session is now associated with a VaadinSession
- - ApplicationResource is replaced with ConnectorResource
-
-
- - The current UI, Page, VaadinServlet, VaadinService, and VaadinSession can be accessed globally with a static getCurrent() method. The instance is a ThreadLocal object for the currently processed request.
- - The Window now only has the meaning of a floating sub-window inside browser window
- - The Panel and Windowno longer extend ComponentContainer,
- but SingleComponentContainer, which has no addComponent() method
-
- - The UI, Panel, and Window do not have have default
- content (used to be a VerticalLayout), but you must set the content
- component explicitly with the setContent() method or in the
- constructor
-
- - If the content is a layout, you need to add other components to the layout
- component with addComponent() instead of the container
-
-
- - Popup windows can no longer be opened directly from code, but by using a BrowserWindowOpener extension which can be attached to any component
- - Navigation API for view navigation
-
- - View navigation with bookmarking/linking with URI fragments and browser history support
- - Access control for views, view change confirmation
-
-
- - Component and UI extensions are now possible
- - Complete overhaul of the client-server communication architecture
-
- - All add-on components that have widgets need to be ported to Vaadin 7
- - Integration of a GWT widget is done in a connector class
- - Component-to-widget mapping now defined on the client-side, in the connector
- - No more Paintable or VariableOwner
- - Server-side components communicate their state to client-side widgets with a shared state object which is automatically synchronized
- - Both client-side and server-side can make RPC calls to the other side
-
- - Communicated in the next request/response
- - No return values
- - Typically for communicating events
-
-
- - Support for JavaScript components - no GWT integration code or widgets required
- - Handle JavaScript callbacks on the server-side
- - UIDL is deprecated
- - Compatibility layer for Vaadin 6 included for easy migration
-
-
- - Form is deprecated and form data binding is replaced with the new FieldGroup
-
- - Conversion between property and field type now handled with Converters
-
-
- - The LoginForm component is now deprecated because of unreliable support in browsers
- - Themeing is now done with Sass
-
- - Sass themes in SCSS notation are compiled on-the-fly when loading the theme (in debug/development mode), or manually with the theme compiler (in production mode)
- - Pure CSS themes are supported and largely compatible with Vaadin 6, but should include legacy-styles.css
-
- SASS themes need to (and CSS themes can) be compiled to a single CSS stylesheet with the vaadin-theme-compiler
- - Sass compiler can also be used in client-side projects.
- - Multiple themes can be used in a page
-
-
- - All addListener() methods have changed to listener-specific methods, such as addClickListener(), addValueChangeListener(), etc.
- - UriFragmentListener changed to UriFragmentChangedListener
- - UriHandler and ParameterHandler replaced with RequestHandler
- - Resource loading (JS/CSS) by the framework
- - Packaging has changed, now in a ZIP package (see Package Contents above)
-
- - Add-ons can modify the startup page
- - You can get the computed style of a component from the browser
- - Support for border, padding, and margin in core layout components
- - The ColorPicker component is now included in the Vaadin core framework
-
-
+ Redesigned layouts
+
+ - Minimal or no layout calculations to maximize layout speed
+ - Full control of layouts with CSS including borders and margins
+ - Redesigned lighter DOM for vertical, horizontal and css layout
+ - Client-side ComputedStyle API available
+
+
+ Split to seven jars to allow deploying only what you need
+ Adding multiple components with varargs in addComponents and appropriate constructors
+ Support for mixing multiple themes on the same page
+
+ RPC for communication between the server and the browser
+
+ - Static typing allows compile time checking
+ - Supports Java's primitive and boxed types, String, enums, arrays, List, Set, Map and Java beans
+ - Supports references to external or self served resources and references to other components
+ - Call from browser to server can be delayed to piggyback on the next XHR, optionally folding similar calls to only send the last value
+ - Calls to disabled or invisible components are ignored for security reasons
+
+
+ Server-client shared state
+
+ - Java objects can be shared between client and server for easy component development
+ - State is automatically mirrored from server to client
+ - Support both public fields and bean properties
+ - Supports the same types as with RPC
+ - Only parts of the state that are modified are sent over the wire
+ - Allow calculating state on the fly just before state is sent to client
+ - Client-side can listen to shared state changes to simplify connectors
+ - State class can be annotated to automatically delegate state changes to corresponding properties in widgets
+
+
+ Google Web Toolkit included
+
+ - A full copy of GWT is included in Vaadin Framework
+ - Vaadin team maintains a branch of GWT to include bug fixes and new features independent of official GWT release schedules
+ - All functionality of GWT is included to enable writing of client side UI:s, stateless applications, offline functionality and custom widgets
+ - Included Elemental library gives direct access to all cutting edge browser features
+ - Both browser plug-in based dev mode debugging as well as super dev mode are supported
+
+
+ No more need to call requestRepaint() in components
+ High level view navigation
+
+ - Support for URI fragment based view management
+ - Support for registering both pre-initialized view instances as well as view classes
+ - Programmatic navigation with navigateTo()
+ - Supports saving bookmarks to views
+ - Supports parameterized views
+ - Views can block navigation
+
+
+ Connectors
+
+ - Connectors provide a flexible communication channel between client and server
+ - Separating communication code from widgets promotes reusability
+ - An explicit Connector hierarchy is maintained
+ - Mapping between server-side and client-side defined in client-side code to avoid server-side classpath issues
+
+
+ JavaScript Connectors
+
+ - Implement connector logic using JavaScript instead of Java for easier integration with JavaScript libraries
+ - Wrap around any existing JavaScript based widget to adapt it for use in Vaadin
+ - No widgetset compilation needed
+ - Support for shared state and RPC as well as JSON-based communication based on simple JavaScript functions
+
+
+ ColorPicker component
+
+ - Easy to use interface with clickable color gradients
+ - RGB, HSV and swatches color modes
+ - Color history
+ - Color preview
+ - CSS color code representation and handling
+
+
+ Add listeners without method overloads
+
+ - Write addClickListener() instead of generic addListener()
+ - Supports code completion in IDE:s better
+ - Enables using Java 8 Lambda
+
+
+ Renewed Vaadin Maven Plugin including features from GWT Maven Plugin
+
+ - New Maven architype eases creation of Vaadin 7 applications
+
+
+ Renewed Eclipse Plugin adding Apache Ivy based dependency management
+ Page bootstrapping renewed
+
+ - Simpler inclusion of Vaadin UIs to custom web pages
+ - Add-ons and applications can dynamically modify bootstrap page HTML
+
+
+ VaadinSession
+
+ - Full control over session lifecycle
+ - Abstract away from servlets and portlets
+
+
+ VaadinService
+
+ - Easily access deployment information and HTTP requests
+ - Abstract away from servlets and portlets
+
+
+ Component extension API
+
+ - Allow adding functionality and customizations to any component
+ - Modify DOM and hook event listeners
+
+
+ JavaScript callbacks
+
+ - Declare client-side JavaScript API from server
+ - Eases integration with parts of the page not controlled with Vaadin
+
+
+ Relative paths used for all requests
+
+ - More flexible deployment
+ - Adds support for Apache ProxyPass and other similar proxies
+
+
+ HTML5
+
+ - Vaadin 7 uses HTML5 doctype
+ - Use any parts of HTML5 in your application
+
+
+ Page
+
+ - Abstraction for one browser window
+ - Run JavaScript
+ - Listen to page resizes
+ - Control navigation
+
+
+ Loading custom JavaScript
+
+ - Annotate server-side classes with @JavaScript to request loading of JavaScript files
+ - Automated control of loading order and ensuring that files are loaded only once
+
+
+ API cleanup
+
+ - API deprecated in Vaadin 6 or before removed
+ - Use enums instead of integer constants
+
+
+ Embedded split up to different components for different purposes
+
+ - Image for showing images
+ - BrowserFrame for embedding web pages with iframes
+ - Flash for embedding Flash content
+ - Embedded now only intended for embedding using <object>
+
+
+ Support for Firefox 17 extended support release in addition to latest stable Firefox release
+ Sass Compiler
+
+ - Allows modularization of themes for better reuse and easier maintenance
+ - Support the most important features of SCSS
+ - Pure Java implementation without Ruby dependency
+ - Supports all of CSS
+ - On the fly conversion of SCSS to CSS during development
+ - Built in themes are now based on Sass
+ - Can be used in client-side projects as well
+
+
+ @StyleSheet for automatic injection of css files
+ ConnectorResource replaces ApplicationResource to reduce memory consumption
+ Hierarchical error handling
+ Open popups and start downloads in a way not stopped by popup blockers
+ ThreadLocal access to VaadinService, VaadinRequest, VaadinResponse, VaadinSession and the current UI instance
+ Component id replaces debug ids to allow wider use possibilities for identifying corresponding widget elements in DOM
+ Range retrieval for indexed containers to enable optimize performance
+ Native support for percent sizes to let the browser do the percent to pixel calculation speeds up rendering
+ Custom class loader
+
+ - Allow specifying custom class loaders to better support Java EE, CDI and Spring
+ - Supports both servlets and portlets
+
+
+ Updated data model
+
+ - Property getValue() uses generics to return the expected type
+ - Two phase commit support for commit/rollback
+ - BeanItem supports nested properties to allow flattening complex datatypes
+
+
+ Bean Validation - Annotate beans with JSR-303 standard annotations to automatically create validators for the fields
+ Field group
+
+ - Allow data binding of multiple fields together to item data source
+ - Supports buffering
+ - Supports two phase commit
+ - Annotation based and field name based property mapping
+
+
+ Explicit data model converters
+
+ - All fields support explicit conversion from presentation format to data source format
+ - Conversions are bidirectional
+ - Allow defining a default converter for a specific type and override for specific fields
+ - Converters can be set per Table column to customize column formatting
+
+
+ Built-in default converters
+
+ - automated conversions beween String, Boolean, Long, Date, Double, Float, Integer and Number
+ - Built in converters support internationalization
+
+
+ Custom field component for building new fields as composition of existing components
+ Simplified validation API
+
+ - No need to implement isValid() in validators any more
+
+
+ Unsupported browser detection with customizable information page
+ Vaadin 6 compatibility layer to ease migration from Vaadin 6
+ Explicit layouts for Window and Panel
+
+ - Window and Panel components now require setting layout explicitly
+ - Distinction between Window or Panel and it's layout
+
+
+ Layout manager
+
+ - Allows building custom layout calculations for widgets when browser based layouts are not powerful enough
+ - Optimizes number of reflows by batching layout calculations from multiple widgets together
+
+
@@ -1364,7 +1518,8 @@
- - Mozilla Firefox 17 or newer
+ - Mozilla Firefox 18
+ - Mozilla Firefox 17 ESR
- Internet Explorer 8-10
- Safari 6
- Opera 12
--
2.39.5