As promised (but a little late), we’re going to make the upcoming 1.4 release candidate (1.3.2 release) available manually here. Please read for instructions and links to the files. For now, you’ll have to install manually until we can get some good feedback on the release and push the official 1.4. Our goal is to get feedback this week, do our final round of fixes and testing and release the final release early next week.
First, the links to the download links:
OSX (iPhone/Android): http://bit.ly/cyTWkA
Win32 (Android): http://bit.ly/90TmIY
Linux (Android): http://bit.ly/bSgTjo
To install, you’ll want to download the appropriate distribution above and then extract into your Titanium directory.
For example, on OSX, your Titanium directory will be under either /Library/Application Support/Titanium or ~/Library/Appcelerator Support/Titanium.
Once you locate your Titanium directory, extract the zip file into this directory. The zip file will expand the contents and create/overlay some new directories for 1.3.2.
NOTE for OSX users who use Safari to download: Safari by default will auto uncompress your downloads, how handy. However, if you have a directory named mobilesdk, your extracted directory will be renamed. On OSX, I suggest you use curl and do it the old fashion way. In the terminal, go to your Titanium directory and then run the following commands:
> curl -L http://bit.ly/cyTWkA >mobilesdk-1.3.2-osx.zip
> unzip -o mobilesdk-1.3.2-osx.zip
Now, you’ll need to restart Titanium Developer to pick up the new release. Once restarted, remember to change your application SDK version and then click the ‘Save’ button.
You should now be able to test with the latest release.
A few things to note:
- This release still has some issues we’re working through. You can see the latest fixes and outstanding items for 1.4.0 here. All the items on the list are not going to be fixed for the final 1.4.0 and will automatically roll into the next release (if not resolved).
- This release fixes all known crashes on iOS 4. There are a few issues we’re still working on but this release addresses the major issues we’ve found so far.
- This release is mainly a maintenance release and fixes hundreds of Android and iOS bugs. We have added some stuff that I’ll try and summarize below. We’ll have the full release notes and documentation up once 1.4 is final.
Some updated stuff worth noting:
- iAds is here! By much popular demand, you can now add iAds to your iOS applications. iAds works just like any normal view. You’ll create an iAd view by invoking Ti.UI.iOS.createAdView() and placing it at the appropriate location. Make sure you use height and width auto. Until iAds is available, you’ll only see a test ad (assuming you’ve provisioned your application for iAds).
- Support for Common JS. We have added basic support for Common JS where you can use the Common JS to import modules. We don’t fully support the various specifications yet but you can load third-party Common JS modules and use require to load them. Currently, you can drop the modules in your Resources directory and they’ll be picked up. See the updated Kitchen Sink for a simple example. Common JS is supported for both Android and iOS.
- We have deprecated the ImageView property ‘url’ and replace it with the existing ‘image’ property. You can still use the url but you’ll get a warning in the log and may encounter some issues in small cases. Using ‘image’ ensures that all cases should work.
If you find issues, please note them in the comments of this post to help us and others. Please also note we’re only focusing on show-stoppers. Feature requests for 1.4 final aren’t being considered at this time. If you’re a Premium subscriber, please open normal issues in Helpdesk instead of here so we can make sure we respond in the appropriate SLA.
Thanks for everyone’s help in testing.

@Tom – this issue will be fixed in 1.4
Custom headers on tableViews on iPhone are causing rows to be doubled but blank. And going clicking the same row consecutively causes the next page to be blank the second time around.
@Kevin – I think we have that fixed in head.
@Jeff – Great. I think that double row thing, at least in my case, is definitely happening from the createTableViewSection.
But the consecutive pressing problem happens on all my table based pages– even those without any headers/sections. The right view pops up and then goes black. Then going to a third time let’s the right view show again.
@Kevin – if you have a reproducible test case (please paste pastie/gist) we can test on latest build. we think we’ve addressed all of the Tableview issues for upcoming build.
The next build will drop tomorrow I’m assuming?
Here’s the double row bug I’m getting: http://pastie.org/1021178. I don’t know if this is what you fixed. You’ll notice it renders the first position correctly and then when you scroll it shifts rows down. So in the beginning the first row is populated, then the second blank, but once you scroll and go back to top the second row becomes populated and the first row blank. The code works fine in 1.2.0/1.3.0.
I’ll try to get a test case of the other bug together too.
@Kevin
It seems to work fine on head with 2 minor exceptions:
you have a 0 height on both the header view and label. given that, it’s not going to render (since you’ve said 0 height).
i modified the code to give it a height:
http://gist.github.com/455272
and it renders properly:
http://skitch.com/jhaynie/dknfb/iphone-simulator
That was actually by design and it worked on previous versions. I don’t want to see the header but I want the index and setting the height of the elements in the sections to 0 was the only way I could get the index to work. But the error is happening on pages where I have the header exposed. Did you get the error when it was set to 0? Or did you fix and run? I still get the error when i set explicit heights.
Here’s the pastie for the disappearing act: http://pastie.org/1021204.
I’m also getting hit with a lot of errors from the geo listener. I have it running in app.js to change a string every 10 meters and keep getting thrown an error. But maybe you’ve changed something in Ti.Geolocation?
var thumbnailView = Titanium.UI.createImageView({
image:blob,
left: l,
top: t,
width:60,
height:60
});
this line below allows me to overwrite the view with the image above
thumbScrollView.views[intFrameId].add(thumbnailView);
drawing thumbnailView above works fine in emu mode, but show a blank white space (completely transparent) on the iphone 3g iOS4, any ideas why?
@Kevin – on the first issue, yeah, I just re-did it (you can either set to 0 height or hidden:true). See http://skitch.com/jhaynie/dkng4/iphone-simulator
Since section indexes are related to multiple indexes, this is the best way to do it.
I’ll look at the 2nd issue.
On the geo issue, can you be a little more specific about the error thrown (stack or error details?) and some sample code?
alright, fyi i just loaded iPhone SDK 3.2.3 and ran the same code above and choose SDK 4.0 and it produced the blank image in the emulator. here is the trace: Sun Jun 27 20:04:44 Jets-Mac.local PhotoSquare[9736] : CGContextConcatCTM: invalid context 0×0
@js how were you able to run 3.2.3 and 4.0 together? Last I checked apple has dropped support of all versions but 3.2 and 4.0 from the sdk.
yes, I no longer have the option to run anything other than 3.2 and 4.0. As I’ve stated above that I chose 4.0 SDK and that when I was able to produced the error in the emulator now, instead loaded it to the phone to see the actual error like before.
you can try to emulate this problem by simply creating a new project and run this code in SDK 4.0
var win = Ti.UI.createWindow();
var thumbnailView = Titanium.UI.createImageView({
image:’images/yourfilename.jpg’,
left: 4,
top: 4,
width:60,
height:60
});
var thumbScrollView = Titanium.UI.createScrollView({
contentWidth: ‘auto’,
contentHeight: ‘auto’,
top: 55,
showVerticalScrollIndicator: true,
showHorizontalScrollIndicator: false
});
thumbScrollView.add(thumbnailView);
win.add(thumbScrollView);
win.open();
error:
Mon Jun 28 09:43:01 Jets-Mac.local test[18702] : CGBitmapContextCreateImage: invalid context 0×0
@jd we have fixed this on 1.4 build. i tested your code above and it works fine.
Jeff, I think i can finally prove to you why the error occurred now. No, I don’t think it’s fixed yet.
Let me give you an example. I think the error will crash if you introduce additional variables that are not part of the imageView properties. The example I gave before was excluding some of the customed variables that I used with the image, so by leaving the default properties then it’ll run fine.
so if you do it like this it will crash with the context error
var thumbnailView = Titanium.UI.createImageView({
image:’images/yourfilename.jpg’,
left: 4,
top: 4,
width:60,
height:60,
filename: myfilename, //by having this will produce the context error in SDK 4.0
filesize: myfilesize //by having this will produce the context error in SDK 4.0
});
It’s definitely a bug and only occur in SDK 4.0
JD
@jd – we’ll test that specific issue .. but we have _very many_ uses of custom attributes all over. you can use any custom property you want w/o any consequence in titanium like any normal javascript.
UPDATE ON BUILD
—————
Since it’s 5pm PST time here and we still have 5-6 regression issues we’re trying to fix and a another set of full testing we’ll have to do after that – we’re not going to be releasing today.
We should be able to get this out here in the next day or so. Please stand by and send you good vibes to us. :)
The Geolocation errors I’m getting come as this:
error:”Error Domain=kCLErrorDomain Code=0 \”The operation couldn’t be completed. (kCLErrorDomain error 0.)\”"
The pastie is: http://pastie.org/1022626
It’s the same code I’ve used since 1.2.0 and never had a problem. But now even with the createDialogBox commented out it puts up a dialog box with the error in it. It started happening once I put the 4.0 on my 3Gs and is also happening on my 4 but never had it happen on a phone running 3.1.3. It seems to happen quite frequently and pops up sometimes 3 or 4 times in rapid succession.
rock on appcelerators! thanks for the timeline update. 1-2 days sounds great to me. will use the spare time to prep a few touch-ups to the app itself. good luck with testing!
*~[ Good Vibes ]~*
Great news on 1.4 update! Thanks for the info and please, take all the warm fuzzies I can send your way