@maccesar/titools 4.4.2 → 4.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -280,27 +280,90 @@ JavaScript in the web view executes in its own context. The web view can intera
280
280
  #### BackForwardList
281
281
  > The object returned to the <Titanium.UI.WebView.backForwardList> method.
282
282
 
283
- | Property | Type | Description |
284
- |----------|------|-------------|
285
- | currentItem | BackForwardListItem | The current item. |
286
- | backItem | BackForwardListItem | The item immediately preceding the current item. |
287
- | forwardItem | BackForwardListItem | The item immediately following the current item. |
288
- | backList | Array<BackForwardListItem> | The portion of the list preceding the current item. |
289
- | forwardList | Array<BackForwardListItem> | The portion of the list following the current item. |
290
-
291
- #### Dictionary
292
- > Plain JavaScript object.
283
+ | Property | Type | Platform | Description |
284
+ |----------|------|----------|-------------|
285
+ | currentItem | BackForwardListItem | ios | The current item. |
286
+ | backItem | BackForwardListItem | ios | The item immediately preceding the current item. |
287
+ | forwardItem | BackForwardListItem | ios | The item immediately following the current item. |
288
+ | backList | Array<BackForwardListItem> | ios | The portion of the list preceding the current item. |
289
+ | forwardList | Array<BackForwardListItem> | ios | The portion of the list following the current item. |
290
+
291
+ #### BackForwardListItem
292
+ > The object represents a webpage in the back-forward of a web view.
293
+
294
+ | Property | Type | Platform | Description |
295
+ |----------|------|----------|-------------|
296
+ | url | String | ios | The URL of the webpage represented by this item. |
297
+ | initialUrl | String | ios | The URL of the initial request that created this item. |
298
+ | title | String | ios | The title of the webpage represented by this item. |
299
+
300
+ #### DataCreationResult
301
+ > The parameter passed to the <Titanium.UI.WebView.createPDF> or <Titanium.UI.WebView.createWebArchive>callback.
302
+
303
+ | Property | Type | Platform | Description |
304
+ |----------|------|----------|-------------|
305
+ | data | Ti.Blob | ios | The created data. |
306
+ | success | Boolean | ios | Indicates if the data creation successful or not. |
307
+ | error | String | ios | Error message, if any returned. |
308
+
309
+ #### DataCreationResultAndroid
310
+ > Success callback in <Titanium.UI.WebView.createPDF>.
311
+
312
+ | Property | Type | Platform | Description |
313
+ |----------|------|----------|-------------|
314
+ | data | Ti.Blob | android | The created data. |
315
+
316
+ #### OnLinkURLResponse
317
+ > An object returned when the <Titanium.UI.WebView.onlink> callback is fired.
318
+
319
+ | Property | Type | Platform | Description |
320
+ |----------|------|----------|-------------|
321
+ | url | String | both | The URL of the link that should be navigated to. |
322
+
323
+ #### SearchResult
324
+ > The parameter passed to the <Titanium.UI.WebView.findString>.
325
+
326
+ | Property | Type | Platform | Description |
327
+ |----------|------|----------|-------------|
328
+ | success | Boolean | ios | Indicates if string found or not. |
329
+ | error | String | ios | Error message, if any returned. |
330
+
331
+ #### setHtmlOptions
332
+ > Options used by <Titanium.UI.WebView.setHtml>
333
+
334
+ | Property | Type | Platform | Description |
335
+ |----------|------|----------|-------------|
336
+ | baseURL | String | both | Sets the URL that the web content's paths will be relative to. |
337
+ | mimeType | String | both | Sets the MIME type for the content. Defaults to "text/html" if not specified. |
338
+
339
+ #### SnapshotResult
340
+ > The parameter passed to the <Titanium.UI.WebView.takeSnapshot> callback.
341
+
342
+ | Property | Type | Platform | Description |
343
+ |----------|------|----------|-------------|
344
+ | snapshot | Ti.Blob | ios | The snapshot image. |
345
+ | success | Boolean | ios | Indicates if the snapshot taken. |
346
+ | error | String | ios | Error message, if any returned. |
293
347
 
294
348
  #### StringSearchOptions
295
349
  > The optional options to pass to the <Titanium.UI.WebView.findString>. Pass a dictionary with one or more of the following string-keys: * `caseSensitive` (Boolean value) * `backward` (Boolean value) * `wraps` (Boolean value)
296
350
 
297
- | Property | Type | Description |
298
- |----------|------|-------------|
299
- | caseSensitive | Boolean | Whether or not the search should be case sensitive. |
300
- | backward | Boolean | The direction to search from the current selection. The search will respect the… |
301
- | wraps | Boolean | Whether the search should start at the beginning of the document once it reache… |
351
+ | Property | Type | Platform | Description |
352
+ |----------|------|----------|-------------|
353
+ | caseSensitive | Boolean | both | Whether or not the search should be case sensitive. |
354
+ | backward | Boolean | both | The direction to search from the current selection. The search will respect the… |
355
+ | wraps | Boolean | both | Whether the search should start at the beginning of the document once it reache… |
356
+
357
+ #### UserScriptParams
358
+ > Dictionary of options for the <Titanium.UI.WebView.addUserScript> method.
359
+
360
+ | Property | Type | Platform | Description |
361
+ |----------|------|----------|-------------|
362
+ | source | String | ios | A script that can be injected into a webpage. |
363
+ | injectionTime | Number | ios | The time when the script should be injected into the webpage. |
364
+ | mainFrameOnly | Boolean | ios | A Boolean value indicating whether the script should be injected only into the … |
302
365
 
303
- *Plus 2 more types: *
366
+ Also referenced by this API, documented elsewhere: `Dictionary`.
304
367
 
305
368
  ---
306
369
 
@@ -131,22 +131,54 @@ A `ListView` object is a container for [ListSection](Titanium.UI.ListSection) ob
131
131
  #### AnimatedOptions
132
132
  > A JavaScript object holding an `animated` property. Used for many UI methods as a means of specifying some transition should be animated.
133
133
 
134
- | Property | Type | Description |
135
- |----------|------|-------------|
136
- | animated | Boolean | If `true`, animate a transition for the method/value change. Note that for most… |
134
+ | Property | Type | Platform | Description |
135
+ |----------|------|----------|-------------|
136
+ | animated | Boolean | both | If `true`, animate a transition for the method/value change. Note that for most… |
137
137
 
138
138
  #### AnimatedWithDurationOptions
139
139
  > A JavaScript object holding `animated` and `duration` properties. Used on iOS For [TableView](Titanium.UI.TableView) and [ListView](Titanium.UI.ListView) content offset transitions.
140
140
 
141
- | Property | Type | Description |
142
- |----------|------|-------------|
143
- | animated | Boolean | If `true`, animate a transition for the method/value change. Note that for most… |
144
- | duration | Number | The duration in `milliseconds` for animation |
141
+ | Property | Type | Platform | Description |
142
+ |----------|------|----------|-------------|
143
+ | animated | Boolean | both | If `true`, animate a transition for the method/value change. Note that for most… |
144
+ | duration | Number | both | The duration in `milliseconds` for animation |
145
+
146
+ #### ListItemEventType
147
+ > The arguments for the <Titanium.UI.ListView.prefetch> and <Titanium.UI.ListView.cancelprefetch> events.
148
+
149
+ | Property | Type | Platform | Description |
150
+ |----------|------|----------|-------------|
151
+ | section | Ti.UI.ListSection | ios | List section if the item is contained in a list section. |
152
+ | sectionIndex | Number | ios | Section index. |
153
+ | itemIndex | Number | ios | Item index. |
154
+ | itemId | String | ios | The item ID bound to the list item that generated the event. |
155
+
156
+ #### ListViewIndexEntry
157
+ > A simple object that represents an index entry in a `ListView`.
145
158
 
146
- #### Dictionary
147
- > Plain JavaScript object.
159
+ | Property | Type | Platform | Description |
160
+ |----------|------|----------|-------------|
161
+ | title | String | ios | Title to display in the index bar. |
162
+ | index | Number | ios | Section index associated with this title. |
148
163
 
149
- *Plus 6 more types: ListViewMarkerProps, Padding, Point, SelectedItem*
164
+ #### ListViewMarkerProps
165
+ > The parameter for [setMarker](Titanium.UI.ListView.setMarker) and [addMarker](Titanium.UI.ListView.addMarker) methods.
166
+
167
+ | Property | Type | Platform | Description |
168
+ |----------|------|----------|-------------|
169
+ | sectionIndex | Number | both | The sectionIndex of the reference item. |
170
+ | itemIndex | Number | both | The itemIndex of the reference item. |
171
+
172
+ #### SelectedItem
173
+ > The arguments for the <Titanium.UI.ListView.itemsselected> event.
174
+
175
+ | Property | Type | Platform | Description |
176
+ |----------|------|----------|-------------|
177
+ | section | Ti.UI.ListSection | both | List section if the item is contained in a list section. |
178
+ | sectionIndex | Number | both | Section index. |
179
+ | itemIndex | Number | both | Item index. |
180
+
181
+ Also referenced by this API, documented elsewhere: `Dictionary`, [HorizontalInsets](#horizontalinsets), [ListViewAnimationProperties](#listviewanimationproperties), [Padding](api-ui-windows-navigation.md#padding), [Point](api-ui-extras.md#point).
150
182
 
151
183
  ---
152
184
 
@@ -422,27 +454,62 @@ There are few approaches to creating and using `TableView` object.
422
454
  #### AnimatedOptions
423
455
  > A JavaScript object holding an `animated` property. Used for many UI methods as a means of specifying some transition should be animated.
424
456
 
425
- | Property | Type | Description |
426
- |----------|------|-------------|
427
- | animated | Boolean | If `true`, animate a transition for the method/value change. Note that for most… |
457
+ | Property | Type | Platform | Description |
458
+ |----------|------|----------|-------------|
459
+ | animated | Boolean | both | If `true`, animate a transition for the method/value change. Note that for most… |
428
460
 
429
461
  #### AnimatedWithDurationOptions
430
462
  > A JavaScript object holding `animated` and `duration` properties. Used on iOS For [TableView](Titanium.UI.TableView) and [ListView](Titanium.UI.ListView) content offset transitions.
431
463
 
432
- | Property | Type | Description |
433
- |----------|------|-------------|
434
- | animated | Boolean | If `true`, animate a transition for the method/value change. Note that for most… |
435
- | duration | Number | The duration in `milliseconds` for animation |
464
+ | Property | Type | Platform | Description |
465
+ |----------|------|----------|-------------|
466
+ | animated | Boolean | both | If `true`, animate a transition for the method/value change. Note that for most… |
467
+ | duration | Number | both | The duration in `milliseconds` for animation |
436
468
 
437
469
  #### HorizontalInsets
438
470
  > Dictionary object of parameters for horizontal-only insets applied to [Table](Titanium.UI.TableView) and [List](Titanium.UI.ListView) views. Only `left` and `right` properties are used (see <Padding>).
439
471
 
440
- | Property | Type | Description |
441
- |----------|------|-------------|
442
- | left | Number | Left padding/inset |
443
- | right | Number | Right padding/inset |
472
+ | Property | Type | Platform | Description |
473
+ |----------|------|----------|-------------|
474
+ | left | Number | both | Left padding/inset |
475
+ | right | Number | both | Right padding/inset |
476
+
477
+ #### SelectedRowObject
478
+ > The arguments for the <Titanium.UI.TableView.rowsselected> event.
479
+
480
+ | Property | Type | Platform | Description |
481
+ |----------|------|----------|-------------|
482
+ | index | Number | both | Row index. |
483
+ | row | Ti.UI.TableViewRow | both | Table view row object. |
484
+ | rowData | Dictionary<Titanium.UI.TableViewRow> | both | Properties of the row. Use this property rather than `row` to access any custom… |
485
+ | section | Ti.UI.TableViewSection | both | Table view section object, if the clicked row is contained in a section. |
486
+
487
+ #### Size
488
+ > A simple object consisting of size measurements.
489
+
490
+ | Property | Type | Platform | Description |
491
+ |----------|------|----------|-------------|
492
+ | height | Number | both | The height measurement. |
493
+ | width | Number | both | The width measurement. |
494
+
495
+ #### TableViewAnimationProperties
496
+ > A simple object for specifying the animation properties to use when inserting or deleting rows, or scrolling the table.
497
+
498
+ | Property | Type | Platform | Description |
499
+ |----------|------|----------|-------------|
500
+ | animated | Boolean | both | Whether this table change should be animated. Ignored if any `animationStyle` v… |
501
+ | animationStyle | Number | both | Type of animation to use for row insertions and deletions. |
502
+ | position | Number | both | Specifies what position to scroll the selected row to. |
503
+
504
+ #### TableViewIndexEntry
505
+ > A simple object that represents an index entry in a `TableView`.
506
+
507
+ | Property | Type | Platform | Description |
508
+ |----------|------|----------|-------------|
509
+ | title | String | both | Title to display in the index bar for this item. |
510
+ | index | Number | both | Row index associated with this item. |
444
511
 
445
- *Plus 5 more types: SelectedRowObject, Size, TableViewAnimationProperties*
512
+ Also referenced by this API, documented elsewhere: `Dictionary`, [Padding](api-ui-windows-navigation.md#padding), [Point](api-ui-extras.md#point).
446
513
 
447
514
  ---
448
515
 
@@ -164,32 +164,60 @@ This applies to Windows inside both standalone NavigationWindow and TabGroup (wh
164
164
  #### AnimatedOptions
165
165
  > A JavaScript object holding an `animated` property. Used for many UI methods as a means of specifying some transition should be animated.
166
166
 
167
- | Property | Type | Description |
168
- |----------|------|-------------|
169
- | animated | Boolean | If `true`, animate a transition for the method/value change. Note that for most… |
167
+ | Property | Type | Platform | Description |
168
+ |----------|------|----------|-------------|
169
+ | animated | Boolean | both | If `true`, animate a transition for the method/value change. Note that for most… |
170
+
171
+ #### closeWindowParams
172
+ > Dictionary of options for the <Titanium.UI.Window.close> method.
173
+
174
+ | Property | Type | Platform | Description |
175
+ |----------|------|----------|-------------|
176
+ | animated | Boolean | both | Determines whether to use an animated effect when the window is closed. Default… |
177
+ | animationDuration | Number | ios | duration of the animation in milliseconds |
178
+ | animationStyle | Number | ios | Transition type to use during a transition animation. |
179
+ | activityEnterAnimation | Number | android | Animation resource to use for the incoming activity. |
180
+ | activityExitAnimation | Number | android | Animation resource to use for the outgoing activity. |
170
181
 
171
182
  #### Padding
172
183
  > Dictionary object of parameters for the padding/insets applied to all kinds of views.
173
184
 
174
- | Property | Type | Description |
175
- |----------|------|-------------|
176
- | left | Number | Left padding/inset |
177
- | right | Number | Right padding/inset |
178
- | top | Number | Top padding/inset |
179
- | bottom | Number | Bottom padding/inset |
185
+ | Property | Type | Platform | Description |
186
+ |----------|------|----------|-------------|
187
+ | left | Number | both | Left padding/inset |
188
+ | right | Number | both | Right padding/inset |
189
+ | top | Number | both | Top padding/inset |
190
+ | bottom | Number | both | Bottom padding/inset |
180
191
 
181
- #### closeWindowParams
182
- > Dictionary of options for the <Titanium.UI.Window.close> method.
192
+ #### shadowDict
193
+ > Dictionary describing the shadow effect for text.
183
194
 
184
- | Property | Type | Description |
185
- |----------|------|-------------|
186
- | animated | Boolean | Determines whether to use an animated effect when the window is closed. Default… |
187
- | animationDuration | Number | duration of the animation in milliseconds |
188
- | animationStyle | Number | Transition type to use during a transition animation. |
189
- | activityEnterAnimation | Number | Animation resource to use for the incoming activity. |
190
- | activityExitAnimation | Number | Animation resource to use for the outgoing activity. |
195
+ | Property | Type | Platform | Description |
196
+ |----------|------|----------|-------------|
197
+ | blurRadius | Number | both | Specifies the blur radius of the shadow. |
198
+ | color | String \| Ti.UI.Color | both | Color name or hex triplet specifying the color of the shadow. |
199
+ | offset | Size | both | <Size> with the properties `width` and `height` used as the horizontal and vert… |
200
+
201
+ #### titleAttributesParams
202
+ > Dictionary of options for the <Titanium.UI.Window.titleAttributes> property.
203
+
204
+ | Property | Type | Platform | Description |
205
+ |----------|------|----------|-------------|
206
+ | color | String \| Ti.UI.Color | both | Color of the window title, as a color name or hex triplet. |
207
+ | font | Font | ios | Font to use for the window title. |
208
+ | shadow | shadowDict | ios | Shadow color and offset for the window title. |
191
209
 
192
- *Plus 3 more types: windowToolbarParam*
210
+ #### windowToolbarParam
211
+ > Dictionary of options for the <Titanium.UI.Window.setToolbar> method.
212
+
213
+ | Property | Type | Platform | Description |
214
+ |----------|------|----------|-------------|
215
+ | translucent | Boolean | both | Defines if the toolbar is translucent. |
216
+ | animated | Boolean | both | Defines if the toolbar appearance is animated. |
217
+ | barColor | String \| Ti.UI.Color | both | Background color for the toolbar, as a color name or hex triplet. |
218
+ | tintColor | String \| Ti.UI.Color | both | The tintColor to apply to the tool bar. |
219
+
220
+ Also referenced by this API, documented elsewhere: `Dictionary`, [Font](api-ui-lists.md#font), [openWindowParams](#openwindowparams).
193
221
 
194
222
  ---
195
223
 
@@ -334,45 +362,45 @@ You can add tabs to the group using [addTab](Titanium.UI.TabGroup.addTab), and p
334
362
  #### closeWindowParams
335
363
  > Dictionary of options for the <Titanium.UI.Window.close> method.
336
364
 
337
- | Property | Type | Description |
338
- |----------|------|-------------|
339
- | animated | Boolean | Determines whether to use an animated effect when the window is closed. Default… |
340
- | animationDuration | Number | duration of the animation in milliseconds |
341
- | animationStyle | Number | Transition type to use during a transition animation. |
342
- | activityEnterAnimation | Number | Animation resource to use for the incoming activity. |
343
- | activityExitAnimation | Number | Animation resource to use for the outgoing activity. |
365
+ | Property | Type | Platform | Description |
366
+ |----------|------|----------|-------------|
367
+ | animated | Boolean | both | Determines whether to use an animated effect when the window is closed. Default… |
368
+ | animationDuration | Number | ios | duration of the animation in milliseconds |
369
+ | animationStyle | Number | ios | Transition type to use during a transition animation. |
370
+ | activityEnterAnimation | Number | android | Animation resource to use for the incoming activity. |
371
+ | activityExitAnimation | Number | android | Animation resource to use for the outgoing activity. |
344
372
 
345
373
  #### disableTabOptions
346
374
  > Dictionary of options for the <Titanium.UI.TabGroup.disableTabOptions> method.
347
375
 
348
- | Property | Type | Description |
349
- |----------|------|-------------|
350
- | animated | Boolean | Determines whether to use an animated effect to hide/show the navigation bar. |
351
- | enabled | Boolean | Show or hide the navigation bar. |
376
+ | Property | Type | Platform | Description |
377
+ |----------|------|----------|-------------|
378
+ | animated | Boolean | both | Determines whether to use an animated effect to hide/show the navigation bar. |
379
+ | enabled | Boolean | both | Show or hide the navigation bar. |
352
380
 
353
381
  #### openWindowParams
354
382
  > Dictionary of options for the <Titanium.UI.Window.open> method.
355
383
 
356
- | Property | Type | Description |
357
- |----------|------|-------------|
358
- | animated | Boolean | Determines whether to use an animated effect when the window is shown. |
359
- | bottom | Number \| String | Window's bottom position, in platform-specific units. |
360
- | fullscreen | Boolean | Determines if the window is fullscreen. |
361
- | height | Number \| String | Window's height, in platform-specific units. |
362
- | left | Number \| String | Window's left position, in platform-specific units. |
363
- | modal | Boolean | Determines whether to open the window modal in front of other windows. |
364
- | forceModal | Boolean | Indicates whether the window enforces modal behaviour. |
365
- | modalStyle | Number | Presentation style of this modal window. |
366
- | modalTransitionStyle | Number | Transition style of this modal window. |
367
- | navBarHidden | Boolean | For modal windows, hides the nav bar (`true`) or shows the nav bar (`false`). |
368
- | right | Number \| String | Window's right position, in platform-specific units. |
369
- | top | Number \| String | Window's top position, in platform-specific units. |
370
- | transition | Number | Transition style of this non-modal window. |
371
- | width | Number \| String | Window's width, in platform-specific units. |
372
- | activityEnterAnimation | Number | Animation resource to run on the activity being opened. |
373
- | activityExitAnimation | Number | Animation resource to run on the activity that is being put in background as a … |
374
-
375
- *Plus 1 more types: *
384
+ | Property | Type | Platform | Description |
385
+ |----------|------|----------|-------------|
386
+ | animated | Boolean | both | Determines whether to use an animated effect when the window is shown. |
387
+ | bottom | Number \| String | both | Window's bottom position, in platform-specific units. |
388
+ | fullscreen | Boolean | both | Determines if the window is fullscreen. |
389
+ | height | Number \| String | both | Window's height, in platform-specific units. |
390
+ | left | Number \| String | both | Window's left position, in platform-specific units. |
391
+ | modal | Boolean | both | Determines whether to open the window modal in front of other windows. |
392
+ | forceModal | Boolean | ios | Indicates whether the window enforces modal behaviour. |
393
+ | modalStyle | Number | ios | Presentation style of this modal window. |
394
+ | modalTransitionStyle | Number | ios | Transition style of this modal window. |
395
+ | navBarHidden | Boolean | both | For modal windows, hides the nav bar (`true`) or shows the nav bar (`false`). |
396
+ | right | Number \| String | both | Window's right position, in platform-specific units. |
397
+ | top | Number \| String | both | Window's top position, in platform-specific units. |
398
+ | transition | Number | ios | Transition style of this non-modal window. |
399
+ | width | Number \| String | both | Window's width, in platform-specific units. |
400
+ | activityEnterAnimation | Number | android | Animation resource to run on the activity being opened. |
401
+ | activityExitAnimation | Number | android | Animation resource to run on the activity that is being put in background as a … |
402
+
403
+ Also referenced by this API, documented elsewhere: `Dictionary`, [Font](api-ui-lists.md#font), [shadowDict](#shadowdict), [titleAttributesParams](#titleattributesparams).
376
404
 
377
405
  ---
378
406
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ti-guides
3
- description: 'Use when working on Titanium SDK fundamentals: project configuration (`tiapp.xml`, `timodule.xml`), CommonJS modules, Hyperloop native access, app distribution (App Store / Google Play, certificates, provisioning), Titanium CLI usage, memory management, bridge optimization, SQLite transactions, image memory, or coding standards. Triggers include `tiapp.xml` in the project root, for either Alloy (`app/`) or Classic (`Resources/`) Titanium projects.'
3
+ description: 'Use when working on Titanium SDK fundamentals: project configuration (`tiapp.xml`, `timodule.xml`), CommonJS modules, Hyperloop native access, app distribution (App Store / Google Play, certificates, provisioning), Titanium CLI usage, memory management, bridge optimization, SQLite transactions, image memory, coding standards, the compatibility matrix (which JDK, Node.js, Xcode or Android SDK a given Titanium SDK needs), or what changed in a Titanium SDK release. Triggers include `tiapp.xml` in the project root, for either Alloy (`app/`) or Classic (`Resources/`) Titanium projects.'
4
4
  ---
5
5
 
6
6
  # ti-guides
@@ -19,6 +19,8 @@ Use this skill when:
19
19
  - Using Hyperloop to call native APIs (Objective-C / Swift / Java)
20
20
  - Optimizing memory: removing global listeners, caching native properties, image memory footprints
21
21
  - Working with the Titanium CLI (`ti build`, `ti sdk install`, `ti sdk select`)
22
+ - Checking which JDK, Node.js, Xcode or Android SDK a Titanium SDK version requires
23
+ - Finding out what changed in a Titanium SDK release and whether it affects existing code
22
24
  - Writing CommonJS modules (stateful caching, ES6+ patterns, antipatterns)
23
25
  - Authoring `AndroidManifest.xml` overrides
24
26
  - Following TiDev style and naming conventions
@@ -47,6 +49,8 @@ Do NOT use for:
47
49
  | Google Play (APK / AAB), App Store (IPA), certificates, provisioning, deployment | [app-distribution.md](references/app-distribution.md) |
48
50
  | Complete `tiapp.xml` and `timodule.xml` reference | [tiapp-config.md](references/tiapp-config.md) |
49
51
  | Titanium CLI commands, options, tasks, configuration, build processes | [cli-reference.md](references/cli-reference.md) |
52
+ | JDK, Node.js, Xcode and Android SDK versions each Titanium SDK supports | [compatibility-matrix.md](references/compatibility-matrix.md) |
53
+ | What changed per 13.x release, and which changes affect your code | [sdk-release-notes.md](references/sdk-release-notes.md) |
50
54
  | Community support, modules, sample code, Slack, learning materials | [resources.md](references/resources.md) |
51
55
 
52
56
  ## Core practices
@@ -0,0 +1,89 @@
1
+ # Compatibility matrix
2
+
3
+ Which JDK, Node.js, Xcode and Android SDK versions a given Titanium SDK release can build with. Components outside the min/max ranges below are not compatible.
4
+
5
+ Only the currently supported ranges are reproduced here. Upstream also keeps collapsed tables of long-unsupported ranges (back to Titanium 1.7); if a project is pinned to something older than the rows below, consult the upstream matrix directly.
6
+
7
+ <!-- TOC-START -->
8
+ ## Contents
9
+
10
+ - [1. Operating system](#1-operating-system)
11
+ - [2. Java Development Kit](#2-java-development-kit)
12
+ - [3. Node.js](#3-nodejs)
13
+ - [4. Android](#4-android)
14
+ - [5. iOS and Xcode](#5-ios-and-xcode)
15
+ - [6. Which platform can build what](#6-which-platform-can-build-what)
16
+
17
+ <!-- TOC-END -->
18
+
19
+ ## 1. Operating system
20
+
21
+ | Operating system | Version |
22
+ |---|---|
23
+ | macOS | 10.11.5 and later |
24
+ | Windows | Windows 7 and later (Android) |
25
+ | Linux | Tested on Fedora and (K)Ubuntu; others should work |
26
+
27
+ ## 2. Java Development Kit
28
+
29
+ The JDK is required to build Titanium apps and modules for Android. OpenJDK or Oracle both work.
30
+
31
+ | Titanium SDK version | Min JDK | Max JDK |
32
+ |---|---|---|
33
+ | 13.3.0 - latest | 18 | 25 |
34
+ | 12.8.0 - 13.2.0 | 18 | 21 |
35
+
36
+ `12.0.0 - 12.7.0` (JDK 11-17) moved to the unsupported table when 13.3.0 shipped.
37
+
38
+ ## 3. Node.js
39
+
40
+ Node.js is required to install and run the Titanium SDK. On Windows, enable `dev mode` in Windows settings for Node to work correctly.
41
+
42
+ | Titanium SDK version | Min Node | Max Node |
43
+ |---|---|---|
44
+ | 13.1.1 - latest | 20.x | 24.x |
45
+ | 13.0.0 - 13.1.0 | 20.x | 22.x |
46
+ | 12.6.0 - 12.8.0 | 18.x | 22.x |
47
+
48
+ ## 4. Android
49
+
50
+ As of Titanium 9.0.0 the build system downloads the needed Android SDK platforms and tools automatically. Upgrade those packages only between major projects — changes there have broken the Titanium toolchain several times.
51
+
52
+ | Titanium SDK version | Min target (`android:targetSdkVersion`) | Max target | Min supported (`android:minSdkVersion`) |
53
+ |---|---|---|---|
54
+ | 13.1.0+ | 15.x (API 35) | 15.x (API 35) | 7.x (API 24) |
55
+ | 12.8.0 - 13.0.1 | 15.x (API 35) | 15.x (API 35) | 5.x (API 21) |
56
+ | 12.5.0 - 12.8.0 | 14.x (API 34) | 14.x (API 34) | 5.x (API 21) |
57
+ | 12.0.0 - 12.5.0 | 13.x (API 33) | 13.x (API 33) | 5.x (API 21) |
58
+
59
+ A `android:targetSDKVersion` set in `tiapp.xml` must fall inside the min/max target range of the SDK in use.
60
+
61
+ > **Note:** Titanium SDK 13.4.0 is described in its release note as *preparing the SDK for Android target SDK 36*. The matrix above still lists API 35 as the maximum; treat API 36 as in-progress rather than as a supported target until the matrix says otherwise.
62
+
63
+ Developing native Android add-on modules on macOS also requires the Xcode command line tools.
64
+
65
+ ## 5. iOS and Xcode
66
+
67
+ Building for iOS requires macOS — Apple's license agreement allows iOS development only on Apple hardware.
68
+
69
+ | Titanium SDK version | Min Xcode | Max Xcode | Notes |
70
+ |---|---|---|---|
71
+ | 12.6.3 - latest | 12.0.0 | 16.x | Full support for iOS 18.4 |
72
+ | 12.2.0 - 12.6.2 | 12.0.0 | 16.2 | Full support for iOS 17 |
73
+ | 10.1.0 - 12.1.2 | 11.0.0 | 13.x | Full support for iOS 15 |
74
+
75
+ | Titanium SDK version | Min iOS SDK | Max iOS SDK | Min target iOS | Max target iOS |
76
+ |---|---|---|---|---|
77
+ | 12.2.0 - latest | 13.0.0 | 17.x | 12.0 | 17.x |
78
+ | 10.1.0 - 12.1.2 | 13.0.0 | 15.x | 12.0 | 15.x |
79
+
80
+ > **Note:** these two tables lag behind the release notes. Titanium SDK 13.3.0 shipped *support for Xcode 27 and iOS 27*, which no row above reflects. Where they disagree, the release note is the newer statement — see [sdk-release-notes.md](sdk-release-notes.md).
81
+
82
+ ## 6. Which platform can build what
83
+
84
+ | Target | macOS | Windows | Linux |
85
+ |---|---|---|---|
86
+ | Android | Yes | Yes | Yes |
87
+ | iOS | Yes | No | No |
88
+
89
+ Anything marked *pre-release* upstream — Beta, Developer Preview, Release Candidate, and continuous builds — is not officially supported.
@@ -111,7 +111,13 @@ See `hyperloop-native-access.md` for native module development:
111
111
 
112
112
  ### IDE support
113
113
 
114
- - VS Code: https://code.visualstudio.com/ (with Titanium extensions)
114
+ Titanium has no IDE of its own; the CLI is the common denominator and every editor below drives it.
115
+
116
+ | Editor | Integration |
117
+ |---|---|
118
+ | Visual Studio Code | Titanium extension — https://code.visualstudio.com/ |
119
+ | JetBrains IDEs | Community plugin — https://github.com/devloopsnet/titanium-jetbrains |
120
+ | Atom | Titanium package (Atom itself is discontinued) |
115
121
 
116
122
  ### CLI tools
117
123
 
@@ -0,0 +1,75 @@
1
+ # SDK release notes: what changes your code
2
+
3
+ Condensed 13.x release history, filtered down to what actually affects how you write or configure an app. Full changelogs (every commit, every credit) live upstream under `Titanium_SDK_Release_Notes/`.
4
+
5
+ Each GA release desupports the previous patch release. Running an unsupported version is allowed, but bug reports against it are not accepted.
6
+
7
+ <!-- TOC-START -->
8
+ ## Contents
9
+
10
+ - [1. Version timeline](#1-version-timeline)
11
+ - [2. 13.4.0 — Android target SDK 36 groundwork](#2-1340--android-target-sdk-36-groundwork)
12
+ - [3. 13.3.1 — patch](#3-1331--patch)
13
+ - [4. 13.3.0 — Xcode 27, iOS 27, multi-scene](#4-1330--xcode-27-ios-27-multi-scene)
14
+ - [5. 13.2.0 — ViewPager2, keepHardwareMode](#5-1320--viewpager2-keephardwaremode)
15
+ - [6. Bundled module versions](#6-bundled-module-versions)
16
+
17
+ <!-- TOC-END -->
18
+
19
+ ## 1. Version timeline
20
+
21
+ | Version | Date | Headline |
22
+ |---|---|---|
23
+ | 13.4.0.GA | 28 July 2026 | Prepares the SDK for Android target SDK 36; v8 memory cleanup |
24
+ | 13.3.1.GA | 20 July 2026 | Patch — iOS restart and LiveView fixes |
25
+ | 13.3.0.GA | 01 July 2026 | Xcode 27 and iOS 27, Hyperloop 8.0.0, iOS multi-scene apps |
26
+ | 13.2.0.GA | 08 April 2026 | iOS core changes, Node.js 24 support, Android fixes |
27
+ | 13.1.0.GA | — | Minor release, high-priority fixes |
28
+ | 13.0.0.GA | — | Major release: iOS 26 / Xcode 26, Android 16 KB page size |
29
+
30
+ ## 2. 13.4.0 — Android target SDK 36 groundwork
31
+
32
+ - **Prepares the SDK for Android target SDK 36.** Groundwork only; the compatibility matrix still lists API 35 as the maximum target. See [compatibility-matrix.md](compatibility-matrix.md) § Android.
33
+ - v8 memory cleanup (Android).
34
+ - `Window.rect` now reflects pre-open `left`/`top` instead of reporting zeros before the window opens (Android).
35
+ - Build paths adjusted for Windows hosts.
36
+ - iOS: fixed the dimming area in a TableView SearchBar.
37
+ - The debug-only selector for `Ti.App._restart()` was removed, making the method callable outside debug builds.
38
+
39
+ ## 3. 13.3.1 — patch
40
+
41
+ iOS-only fixes: the `restart` method, and LiveView restart. Hyperloop bumped to 8.0.1.
42
+
43
+ ## 4. 13.3.0 — Xcode 27, iOS 27, multi-scene
44
+
45
+ - **Xcode 27 and iOS 27 support.** This postdates the Xcode/iOS rows in the compatibility matrix, which still cap at Xcode 16.x.
46
+ - **iOS multi-scene applications** are supported.
47
+ - **Hyperloop 8.0.0.**
48
+ - ScrollableView (Android): a deprecation note was added for its older events. As of SDK 13.4.0 no ScrollableView event is actually flagged deprecated in the API metadata — `scroll`, `scrollend` and `dragend` all remain current — so treat this as advance warning, not as a removal.
49
+ - ImageView: pinch-and-zoom improved on Android; the remote-image fade-in animation was removed on iOS.
50
+ - TabGroup (iOS): `focus` is now emitted separately from `selected`. Code that assumed one event covered both cases needs checking.
51
+ - `borderWidth` no longer renders at double thickness when `borderRadius` is an array (iOS).
52
+ - Android: Material 3 BottomNavigation theme and dark/light switching fixes, CameraX rotation fix under orientation lock, WebView fix for URLs carrying large GET data, `Ti.Preferences` optimized.
53
+
54
+ ## 5. 13.2.0 — ViewPager2, keepHardwareMode
55
+
56
+ - **ScrollableView moved to ViewPager2 on Android.** A backing-widget swap; verify paging, nested scrolling and any custom paging control against it.
57
+ - **`keepHardwareMode` added to `Ti.UI.View`** (Android) — controls the view's render mode.
58
+ - **`hideKeyboardAccessoryView` added to WebView** (iOS) to hide the keyboard accessory bar.
59
+ - **AttributedString support on Android**, previously iOS-only.
60
+ - Images can be dragged horizontally inside a ScrollableView (Android).
61
+ - ListView caches `searchText` (Android).
62
+ - The app name in `AndroidManifest.xml` now uses the i18n value.
63
+ - Node.js 24 support; core-js upgraded, removing the `baseline-browser-mapping` warning.
64
+ - iOS: Mac Catalyst fixes for `Ti.UI.Button` styling and events, and module builds with `mac=true`.
65
+
66
+ ## 6. Bundled module versions
67
+
68
+ Versions shipped with each SDK. Unchanged rows are omitted.
69
+
70
+ | Module | 13.2.0 (Android / iOS) | 13.3.0+ (Android / iOS) |
71
+ |---|---|---|
72
+ | facebook | 14.0.0 / 15.0.0 | 15.0.0 / 16.0.0 |
73
+ | hyperloop | 7.1.0 / 7.1.0 | 8.0.1 / 8.0.1 (8.0.0 in 13.3.0) |
74
+
75
+ Stable across 13.2.0–13.4.0: `ti.map` 5.7.0 / 7.3.1, `ti.webdialog` 2.5.0 / 3.0.2, `ti.playservices` 18.6.0 (Android only), `ti.identity` 3.2.0 / 5.0.0, `urlSession` 4.0.1 (iOS only), `ti.coremotion` 4.0.1 (iOS only), `ti.applesignin` 3.1.2 (iOS only).
@@ -108,9 +108,15 @@ scrollableView.addEventListener('scroll', (e) => {
108
108
  Ti.API.info(`Views: ${e.view}`); // View object reference
109
109
  });
110
110
 
111
- scrollableView.addEventListener('dragEnd', (e) => {
111
+ // Android only, and lowercase: ScrollableView has no `dragEnd` event.
112
+ scrollableView.addEventListener('dragend', (e) => {
112
113
  Ti.API.info(`Drag ended, settled on page: ${e.currentPage}`);
113
114
  });
115
+
116
+ // Cross-platform equivalent — fires once the view stops moving.
117
+ scrollableView.addEventListener('scrollend', (e) => {
118
+ Ti.API.info(`Settled on page: ${e.currentPage}`);
119
+ });
114
120
  ```
115
121
  ...
116
122
  ### Image gallery