Release Note
v0.16
- support
image.save
(#575).
- support
- optimize event binding and support mobile firefox, and also fix a lot of other things (#606).
- Support js service in Rax DSL.
- Partial support of sending
ArrayBuffer
between js and native.
- Partial support of sending
- Add basic support of
<recycle-list>
, both in Vue and Rax DSL.
- Add basic support of
- Support saving image to photo alubm in
image
#547
- Support saving image to photo alubm in
- Support perspective features #551
- New interface to performance tracing #586
- Add the ability of FlatGUI, it can reduce the view hierarchy in
cell
#643
- Add the ability of FlatGUI, it can reduce the view hierarchy in
- Support the
box-shadow
style for Android 4.3 and higher #685
- Support the
- Support float interval/delay in timer #699
- New
recycle-list
compoent with hight performance and low memory cost #726
- New
- remove dependency about socketRocket dependency in iOS.
- fix coretext crash in iOS.
- fix toast view still pop while the page was destroyed in iOS.
- separate weex-vue-render into two parts: render core and plugins (#533).
- Fix Jni crash due to emoji #574
- Fix the lost refresh header of
list
in viewpager #601
- Fix the lost refresh header of
- Fix draw iconfont fail when first download iconfont #625
- Fix the problem of ‘text-overflow:clip’ #718
- Fix android new Date() cannot get accuracy time #753
v0.15
- support fast click and hairlines border #507.
- Add
weex.supports
api for feature detections. #6053
- Add
- Change default image quality to
WXImageQuality.AUTO
#478
- Change default image quality to
- Support the
scroll
event on horizontal scroller#494
- Support the
- Fix the console API to adapt JSC on Android. #470
- Fix invalid call scrollToElement when has not option param #491
- Fix the lines of
text
cannot be reset #493
- Fix the lines of
- Fix invalid init index on
slider
#510
- Fix invalid init index on
- Fix Memory optimization for
list
#512
- Fix Memory optimization for
v0.14
- support
waterfall
component (#438).
- support
- support pseudo-class (#474).
- Support component method in Vue DSL. (proposal)
- Support returning value synchronously for module methods. (proposal)
- Support drag-drop on
list
#416
- Support drag-drop on
- Support rotateX and rotateY, optimize animation as well #418
- Fix wrong vertical offset in scroll event on
waterfall
#424
- Fix wrong vertical offset in scroll event on
- Fix
clearTimeout
andclearInterval
doesn’t work when funId is greater than 127 #439
- Fix
v0.13.0
Notable Changes
- Slider implemention is refactored Pull Request#414
- Improve integration test. We are working with macaca team, to write better test code.Pull Request#411 Pull Request#397 Pull Request#402 Pull Request#413 Pull Request#390 Pull Request#346 Pull Request#319 Pull Request#304 Pull Request#295
scroller
now haspagingEnabled
attribute, which can enablepaging
feature in native Pull Request#393- New ‘prerender’ mechanism, which will support rendering a page in background. Pull Request#343](https://github.com/apache/incubator-weex/pull/343) Pull Request#342
- Fix
line-height
feature in iOS. Pull Request#377 Pull Request#305 - Add
needLayout
option in animation module operation after animation finished Pull Request#337 Pull Request#336 list
component has new type of event forsticky
feature Pull Request#332- Support bota and atob Pull Request#315
- Fix mixing background-color and border-color(rgba) in android Pull Request#359
Beside these, lots of crashes and bugs are fixed.Pull Request#441 Pull Request#413 Pull Request#403 Pull Request#373
v0.12.0 ( First Offical Release)
C++ timer by lycool
Discussed in https://lists.apache.org/thread.html/567c9b19d68ccf3e0d24c1467298ebcd4316ffa524c557a34c6c087f@%3Cdev.weex.apache.org%3E
relate pull requests:[apache/incubator-weex/pull/228|https://github.com/apache/incubator-weex/pull/228], [apache/incubator-weex/pull/232|https://github.com/apache/incubator-weex/pull/232], [apache/incubator-weex/pull/221|https://github.com/apache/incubator-weex/pull/221]Add scroller/list scroll event in html5 render
android&iOS already have this feature in v0.11
https://github.com/apache/incubator-weex/commit/f50fba8647c8bb6ac522b1a4569a2a2269da1953Enhance accessibility, new
aria-label
&role
support
[apache/incubator-weex/pull/149|https://github.com/apache/incubator-weex/pull/149]Native input/textarea enhancement by kfeagle & misakuo
supportnumber
data type; support soft keyboard eventPicker module enhancement
More picker options to customize picker dialog style(background color etc.). Related pull requests: [apache/incubator-weex/pull/234|https://github.com/apache/incubator-weex/pull/234], [apache/incubator-weex/pull/233|https://github.com/apache/incubator-weex/pull/233]Android DOM module refactor
Seperate module code by action, increasing the maintainability.
[apache/incubator-weex/pull/104|https://github.com/apache/incubator-weex/pull/104]
v0.10.0
New Feature
- Support Vue.js
The Vue.js 2.1.8 (runtime-only build) is in WeexSDK now. You can use Vue.js to build native app by WeexSDK 0.10.0.
We reused the original native render engine and developed a new renderer (weex-vue-render) for the web platform, which is based on Vue 2.0.
The former front-end framework (commonly known as.we
), which is inspired by Vue 1.0, is deprecated. Although it still works well in this release, we suggest to migrate it to Vue 2.0. SDK
New CSS support
- text
font-weight
font-weight
can set to [normal
|bold
] or 100-900. gradient
like CSS3, now you can use gradient in Weex. For example:background-image: linear-gradient(to right, blue, white);
- Pseudo class
Currently, Weex supports 4 pseudo classes:active
,focus
,disabled
,enabled
.
- text
New BroadcastChannel API
Developers can useBroadcastChannel
API to implement inter-instance communication.const Stack = new BroadcastChannel('Avengers')
Stack.onmessage = function (event) {
console.log(event.data) // in this case, it's "Hulk Smash !!!"
}
// in another instance
const Hulk = new BroadcastChannel('Avengers')
Hulk.postMessage("Hulk Smash !!!")
- Image’s
onload
event addnaturalHeight
andnaturalWidthimage
to get the original size of image file. - Websocket Support
WebSockets is an advanced technology that makes it possible to open an interactive communication session between the user’s h5/iOS/android and a server. With this API, you can send messages to a server and receive event-driven responses without having to poll the server for a reply.
Read more about Weex’s websocket. - Support synchronous method call
Both module and component method can defined synchronous method exposed to JS runtime now. Means native will invoke these method in JS thread directly. Support
viewport
configuration
Similar to W3C specification, Weex support set defineviewport
in script tag:<script type="config">
{
"viewport": {
"width": "device-width"
}
}
</script>
- Tools
- Devtools
- Support Vue 2.0 debugging.
- Add network switch for network inspector.
- Make application capable to decide which bundle is ‘un-debuggable’, which means page’s source code is unreadable in debug mode.
- Weexpack
- Has full set of commands for developers to setup android/ios application with his .we/.vue files.
- Developers could easily pack/install his application with simple command.
- Has full set of commands for developers to manage weex plugins, including create plugin template, add plugin to his project etc.
- Plugin market was formally used for developers to publish/download weex plugins.
- Devtools
- Support Vue.js
v0.9.4
- New features
- SDK
- New API to get Component’s size and position:
Now you can get these data throughgetComponentRect
:
Thevar dom = require('@weex-module/dom');
dom.getComponentRect(this.$el('comp_id'), function(data){
if(data.result)
console.log(data);
});
data
callback parameter contains aresult
to tell if operation is success. Andsize
tell you the true data(bottom
/top
/left
/right
/width
/height
) of component. - A brand new
picker
module. We have ‘single-picker’,’date-picker’ and ‘time-picker’ currently, and more common pickers are on the way.
There are two ways to usepicker
- Use
picker
module directly:var picker = require('@weex-module/picker');
var self = this;
picker.pickDate({
'value':'2016-11-28',
'max':'2029-11-28',
'min':'2015-11-28'
},function (ret) {
var result = ret.result;
if(result == 'success')
{
self.value = ret.data;
}
});
input
component also add ‘date’ and ‘timetype to work with
picker` module internally:<input
type="date"
placeholder="select date"
class="input"
autofocus="false"
value=""
onchange="onchange"
max = "2029-11-28"
min = "2015-11-28"
></input>
- New API to get Component’s size and position:
- Support animation with
width
andheight
property. - Support use empty value to reset css property to default value.
- Components can expose methods too, like modules do. Developers use the same way as create module method to achieve that.
- Add
blur
andfocus
method to manually controlinput
component to lose or get focus. - Support relative URL, which will resolve real URL by bundle’s URL.
- Core javascript framework’s unit test coverage is 100% now. we’ll pay more attention to quality.
- DevTool
- Support to check the node hierarchy in weex-devtool-extension and highlight the node if it exceeds an specified level.
- Support different refresh mode in devtools to reload the page or SDK automatically when source file updated.
- Improve quality in weex-devtools-android module
- Remove explicit dependency on okhttp and okhttp3 by reflection and proxy
- Improve demo application with less and refactored code
- Fix some crash caused by class up cast
- Fix reflection crash caused by complier optimization
- Fix “network on main thread” and stop screencast when disconnect
- Add weex-analyzer-android and weex-analyzer-ios which support the following on device directly:
- Inspect FPS/CPU/memory
- Inspect storage
- Display log information
- 3D viewer of the weex page
- Javascript error prompt
- SDK
v0.8.0
- New Features
- Add globalEvent module
- Support
width/height
animation in transition - Refactor the default js framework code, hide almost all the private APIs #777
- iOS 10 compatibility
- Performance
- Support
callAddElement
low-level API to make rendering faster - Improve SDK initialization performance, for minimise invoke thread impact.
- Use native
Set
polyfill to fix iOS7 memory leak - Use
setProperty
replace reflection for better performance - Add
static
directive in default js framework to avoid unnecessary data-binding and take down the memory use
- Support
- Tools
- Add weex-pack, our next generation of engineering development kits. It allows developers to create weex projects with simple commands and run the project on different development platforms.
- Add weex-devtool-extension, a extension for Weex devtool to improve your debug experience,which equivalent an element tag for debugger page.
- Move devtool to separate iOS and Android repos.
- Add “screencast” which enable the screen of the device(or monitor) to appear on the “Inspector” page;
- Add “remote control” function, in Android user could control remote device(or monitor) when he moves mouse on screencast;
- Add “select element” function which enable the user to find the exact node in “Elements” inspector Tab when he click the mouse on screencast;
- Add “vdom inspector”, so user can choose to see the details of native dom or vdom in “Elements” Tab at his preference;
- Adjust interfaces with weex SDK to support “callAddElement”;
v0.7.0
- New Features
- Timer Module
- Storage Module
- Unify the
image
component’s error page when src is invalid - Unify the
border
,padding
,background-color
style - Horizontal-scroller support
scrollto
api - Fix the issue that component with
position:fixed
style can not be closed - Module callback support
object
params - Slider suppport
setIndex
api
- Performance
- Use
callNative
signal to stop JSFM render after instance been destroyed - Lazily initialize JSFM When device is in low-memory status, improve SDK stability
- Use
- Tools
- Support debugging weex(.we) and react(.jsx) source
- Support apps debugging on the same device
- Support “watch” feature
- Solve the dependency on Debugger, user could start “Inspector” first or “Debugger” at will
- Add “refresh” function in sdk, user could inspect new file by scanning its QR code in playground;
- Android/ios inspect module split from weex sdk, and will deliver in separate repo in future; support inspect in windows system
v0.6.1
- New Features
- iOS has been open sourced
- Lifecycle Page Event: viewappear, viewdisappear
- fetch
- line-height
- list component
- support sticky header
- support scrollToElement API
- support nested horizontal scroller
- support cell children nodes event: appear/disappear
- Gesture: panstart/panmove/panend, swipe, longpress
- Improve Android text compatibility
- Performance
- iOS, iPhone 5c, rendering frame rate ascends from 45FPS to 52FPS
- Android, Redmi Note 1, loading time of the first screen descends from 602ms to 480ms
- Improve Android animation performance
Tools
- weex-toolkit supports require and generator
- Playground supports runtime performance viewer
v0.5.0
New Features
- TabBar is a specialized component corresponding to the radio-style selection.
- NavPage contains a navbar at the top of the window and an embed content page.
- Activity Showcase is built by composing TabBar and NavPage.
- Web displays web content in the weex page.
- A defines a hyperlink to a page in the web.
Text
supports style text-overflow.Image
supports attribute resize.List
supports eventsappear
,disappear
,loadmore
and refresh.- New Syntax
- Inline event supports a expression of calling event handler in template.
- Require Native Module requires a native module by
require('@weex-module/moduleName')
. - Computed Property supports complicated logic in data bindings.
- New Repeat Syntax is easy to access the key or value of repeated object.