1 | ## [1.17.3](https://github.com/tidev/alloy/compare/1.17.2...1.17.3) (2022-01-10)
|
2 |
|
3 |
|
4 | ### Bug Fixes
|
5 |
|
6 | * pin colors version to avoid dos issue ([5f10891](https://github.com/tidev/alloy/commit/5f10891ef6a9f6357a41ef782390a8d6a9d2d1de))
|
7 |
|
8 | ## [1.17.2](https://github.com/tidev/alloy/compare/1.17.1...1.17.2) (2022-01-04)
|
9 |
|
10 |
|
11 | ### Bug Fixes
|
12 |
|
13 | * **deps:** bump xmldom to 0.8.0 ([#1270](https://github.com/tidev/alloy/issues/1270)) ([d0a4299](https://github.com/tidev/alloy/commit/d0a42991a02b1535d2e5d933365d67e9a3e81b63))
|
14 |
|
15 | ## [1.17.1](https://github.com/tidev/alloy/compare/1.17.0...1.17.1) (2021-11-17)
|
16 |
|
17 |
|
18 | ### Bug Fixes
|
19 |
|
20 | * **compile/hook:** error if unable to find the alloy cli ([166dc3b](https://github.com/tidev/alloy/commit/166dc3b61c2dba6fbeecf1d4d00a742dea15be99))
|
21 |
|
22 | # [1.17.0](https://github.com/tidev/alloy/compare/1.16.4...1.17.0) (2021-11-02)
|
23 |
|
24 |
|
25 | ### Bug Fixes
|
26 |
|
27 | * **compile/sourcemap:** use path.join rather than manually constructing a path ([537107d](https://github.com/tidev/alloy/commit/537107debd06930ed3ea932395e2654e4996db48))
|
28 |
|
29 |
|
30 | ### Features
|
31 |
|
32 | * **all:** set default backbone version ([fb845f7](https://github.com/tidev/alloy/commit/fb845f735be4ff6999807f14b740c37357145977))
|
33 |
|
34 | ## [1.16.4](https://github.com/tidev/alloy/compare/1.16.3...1.16.4) (2021-09-17)
|
35 |
|
36 |
|
37 | ### Bug Fixes
|
38 |
|
39 | * **compile:** provide filename to babel transform to allow using config files ([#1218](https://github.com/tidev/alloy/issues/1218)) ([ba0068e](https://github.com/tidev/alloy/commit/ba0068ed094906a474c3d6552e27b4e809414a2f))
|
40 |
|
41 | ## [1.16.3](https://github.com/tidev/alloy/compare/1.16.2...1.16.3) (2021-06-29)
|
42 |
|
43 |
|
44 | ### Bug Fixes
|
45 |
|
46 | * **generate:** mark name as optional as it is not required for jmk ([bc0e06f](https://github.com/tidev/alloy/commit/bc0e06f9169cc7a5e34c0f1e757f29af3a6ffc7b))
|
47 | * **new:** mark dir as optional as it is not required ([d151848](https://github.com/tidev/alloy/commit/d151848ad1ba7a8494b5005d016725645173ba4d))
|
48 |
|
49 | ## [1.16.2](https://github.com/tidev/alloy/compare/1.16.1...1.16.2) (2021-06-15)
|
50 |
|
51 |
|
52 | ### Bug Fixes
|
53 |
|
54 | * **compile:** don't create widget sourcemaps if sourcemaps are disabled ([b1259b1](https://github.com/tidev/alloy/commit/b1259b1feff867bdab8ebb29ce9ceae2f739290e))
|
55 |
|
56 | ## [1.16.1](https://github.com/tidev/alloy/compare/1.16.0...1.16.1) (2021-06-08)
|
57 |
|
58 |
|
59 | ### Bug Fixes
|
60 |
|
61 | * **compile:** generate source maps for lib files in widgets ([ba8d4c2](https://github.com/tidev/alloy/commit/ba8d4c22872c78927b8b231cc0f5e2cb0384525c))
|
62 |
|
63 | # [1.16.0](https://github.com/tidev/alloy/compare/1.15.4...1.16.0) (2021-03-03)
|
64 |
|
65 |
|
66 | ### Features
|
67 |
|
68 | * support using OptionBar ([93c2df1](https://github.com/tidev/alloy/commit/93c2df14e190bb281ac191b9c85e529fc2b11dc6))
|
69 |
|
70 | ## [1.15.4](https://github.com/tidev/alloy/compare/1.15.3...1.15.4) (2021-01-04)
|
71 |
|
72 |
|
73 | ### Bug Fixes
|
74 |
|
75 | * **compile:** allow TabGroup as child of a NavigationWindow ([#1067](https://github.com/tidev/alloy/issues/1067)) ([d837e76](https://github.com/tidev/alloy/commit/d837e76f1e304a8704232020b56e03c0f806953b))
|
76 |
|
77 | ## [1.15.3](https://github.com/tidev/alloy/compare/1.15.2...1.15.3) (2020-11-23)
|
78 |
|
79 |
|
80 | ### Bug Fixes
|
81 |
|
82 | * improve check around whether widget is only tag in the view ([#1035](https://github.com/tidev/alloy/issues/1035)) ([7e4c3d6](https://github.com/tidev/alloy/commit/7e4c3d6e6ba7f3fbf3b9b4889ac1ec79e2b30192))
|
83 |
|
84 | # Alloy Release Notes
|
85 |
|
86 | ### Release 1.15.2
|
87 |
|
88 | ### Bug Fixes
|
89 |
|
90 | * [ALOY-1737](https://jira.appcelerator.org/browse/ALOY-1737) - Set items directly in ListView [#966](https://github.com/tidev/alloy/pull/966)
|
91 | * [ALOY-1738](https://jira.appcelerator.org/browse/ALOY-1738) - Fix handling of Require tags [#967](https://github.com/tidev/alloy/pull/967)
|
92 |
|
93 | ### Release 1.15.1
|
94 |
|
95 | ## Improvements
|
96 |
|
97 | * [ALOY-1735](https://jira.appcelerator.org/browse/ALOY-1735) - Create VS Code settings.json file on project creation [#965](https://github.com/tidev/alloy/pull/965)
|
98 |
|
99 | ### Bug Fixes
|
100 |
|
101 | * [ALOY-1736](https://jira.appcelerator.org/browse/ALOY-1736) - Ensure package.json has correct fields [#965](https://github.com/tidev/alloy/pull/965)
|
102 |
|
103 | ### Release 1.15.0
|
104 |
|
105 | ### New Features
|
106 |
|
107 | * [ALOY-1732](https://jira.appcelerator.org/browse/ALOY-1732) - Add ability to run in the background without UI [#959](https://github.com/tidev/alloy/pull/959)
|
108 | * [ALOY-1733](https://jira.appcelerator.org/browse/ALOY-1733) - Add template for Alloy + webpack usage [#963](https://github.com/tidev/alloy/pull/963)
|
109 |
|
110 | ### Improvements
|
111 |
|
112 | * [ALOY-1256](https://jira.appcelerator.org/browse/ALOY-1256) - Allow using a Widget as a primary control in an XML View [#949](https://github.com/tidev/alloy/pull/949)
|
113 | * [ALOY-1253](https://jira.appcelerator.org/browse/ALOY-1253) - Support WPATH in widget XML view attribute values [#948](https://github.com/tidev/alloy/pull/948)
|
114 |
|
115 | ### Bug Fixes
|
116 |
|
117 | * [ALOY-1720](https://jira.appcelerator.org/browse/ALOY-1720) - Version string comparison will break for SDK 10.0.0 [#960](https://github.com/tidev/alloy/pull/960)
|
118 | * [ALOY-1734](https://jira.appcelerator.org/browse/ALOY-1734) - Declare Alloy globals before execution of app.js/alloy.js [#964](https://github.com/tidev/alloy/pull/964)
|
119 |
|
120 | ### Release 1.14.6
|
121 |
|
122 | * [ALOY-1721](https://jira.appcelerator.org/browse/ALOY-1721) - Alloy global can no longer be accessed in styles [#955](https://github.com/tidev/alloy/issues/955)
|
123 |
|
124 | ### Release 1.14.5
|
125 |
|
126 | * Update node.extend
|
127 |
|
128 | ### Release 1.14.4
|
129 |
|
130 | * Correctly get node name in alloy global transform
|
131 |
|
132 | ### Release 1.14.3
|
133 |
|
134 | * [ALOY-1710](https://jira.appcelerator.org/browse/ALOY-1710) - Fix undeclared variable error [#947](https://github.com/tidev/alloy/pull/947)
|
135 |
|
136 | ### Release 1.14.2
|
137 |
|
138 | * [ALOY-1598](https://jira.appcelerator.org/browse/ALOY-1598) - Fix error with binding_no_persistence sample [#882](https://github.com/tidev/alloy/pull/882)
|
139 | * [ALOY-1693](https://jira.appcelerator.org/browse/ALOY-1693) - Maintain db connection during sql sync [#933](https://github.com/tidev/alloy/pull/933)
|
140 | * [ALOY-1633](https://jira.appcelerator.org/browse/ALOY-1633) - Inject _, Alloy, and Backbone variables into files when used rather than make available as globals [#911](https://github.com/tidev/alloy/pull/911)
|
141 | * [ALOY-1701](https://jira.appcelerator.org/browse/ALOY-1701) - XML: Unable to use platform namespace restriction on event handlers [#940](https://github.com/tidev/alloy/pull/940)
|
142 | * [ALOY-1705](https://jira.appcelerator.org/browse/ALOY-1705) - Fix to allow return outside of function [#939](https://github.com/tidev/alloy/pull/939)
|
143 | * [ALOY-1706](https://jira.appcelerator.org/browse/ALOY-1706) - Compile error if Alloy view filename contains hyphen [#938](https://github.com/tidev/alloy/pull/938)
|
144 |
|
145 | ### Release 1.14.1
|
146 |
|
147 | #### Improvements
|
148 |
|
149 | * [ALOY-1697](https://jira.appcelerator.org/browse/ALOY-1697) - Add WebView "onlink" callback support
|
150 |
|
151 | #### Bug Fixes
|
152 |
|
153 | * [ALOY-1698](https://jira.appcelerator.org/browse/ALOY-1698) - Compile: Errors thrown during sourcemap step are not visible to a user
|
154 |
|
155 | ### Release 1.14.0
|
156 |
|
157 | #### New Features
|
158 |
|
159 | * [ALOY-1632](https://jira.appcelerator.org/browse/ALOY-1632) Allow passing custom template directories to the `alloy new` command [#912](https://github.com/tidev/alloy/pull/912)
|
160 | * [ALOY-1646](https://jira.appcelerator.org/browse/ALOY-1646) Allow platform xml namespaces to be used with xml attributes in Alloy [#922](https://github.com/tidev/alloy/pull/922)
|
161 | * XML attributes can now be prefixed with a platform to have the property be platform specific. For example `<Label android:text="Hello Android!" ios:text="Hello iOS!" windows:text="Hello Windows!" />`
|
162 | * [ALOY-1363](https://jira.appcelerator.org/browse/ALOY-1363) Add support to set object properties via XML [#765](https://github.com/tidev/alloy/pull/765)
|
163 | * Properties that are objects (like `font`) can now be set in XML as well as TSS files. For example to set the `font.fontFamily` property use `<Label font.fontFamily="Roboto">Hello</Label>`
|
164 | * [ALOY-1316](https://jira.appcelerator.org/browse/ALOY-1316) Support use of $.args.* in any XML attribute or TSS property [#885](https://github.com/tidev/alloy/pull/885)
|
165 |
|
166 | #### Improvements
|
167 |
|
168 | * [ALOY-1629](https://jira.appcelerator.org/browse/ALOY-1629) Upgrade to babel 7 packages [#905](https://github.com/tidev/alloy/pull/905)
|
169 | * [ALOY-1652](https://jira.appcelerator.org/browse/ALOY-1652) Improve handling of missing directories and files in `alloy new` [#925](https://github.com/tidev/alloy/pull/925)
|
170 | * [ALOY-1682](https://jira.appcelerator.org/browse/ALOY-1682) Update to moment to 2.24.0 and update moment locales. [#928](https://github.com/tidev/alloy/pull/928)
|
171 | * Previous version was 2.21.0
|
172 | * New locales are ar-dz, ar-kw, ar-ly, bm, de-ch, dv, en-SG, en-ie, en-il, en-nz, es-do, es-us, fr-ch, ga, gd, gom-latn, gu, it-ch, kk, kn, ku, ky, lo, mi, mn, mt, nl-be, pa-in, sd, se, ss, sw, te, tet, tg, tlh, ug-cn, ur, uz-latn, x-pseudo, yo, zh-hk,
|
173 | * [ALOY-1683](https://jira.appcelerator.org/browse/ALOY-1683) Update to Underscore.js 1.9.1 [#929](https://github.com/tidev/alloy/pull/929)
|
174 | * Previous version was 1.8.3
|
175 | * [ALOY-1648](https://jira.appcelerator.org/browse/ALOY-1648) Include Backbone.js 1.4.0 [#929](https://github.com/tidev/alloy/pull/929)
|
176 | * Includes 42 new locales
|
177 | * [ALOY-1505](https://jira.appcelerator.org/browse/ALOY-1505) Add ability to set cancel and destructive properties on OptionDialog options [#879](https://github.com/tidev/alloy/pull/879)
|
178 | * [ALOY-1612](https://jira.appcelerator.org/browse/ALOY-1612) CLI: Be able to use Alloy source-maps in Safari Debugger / Chrome Dev-Tools [#893](https://github.com/tidev/alloy/pull/893)
|
179 |
|
180 | #### Fixes
|
181 |
|
182 | * [ALOY-1535](https://jira.appcelerator.org/browse/ALOY-1535) Only warn when using an AlertDialog with child views not restricted to Android [#810](https://github.com/tidev/alloy/pull/810)
|
183 | * [ALOY-1653](https://jira.appcelerator.org/browse/ALOY-1653) Runtime error on Android when using optiondialog and not declaring destructive or cancel properties [#926](https://github.com/tidev/alloy/pull/926)
|
184 | * [ALOY-1684](https://jira.appcelerator.org/browse/ALOY-1684) Calling sort for a collection does not call the dataFunction as of backbone 1.1.2 and above [#929](https://github.com/tidev/alloy/pull/929)
|
185 | * [ALOY-1690](https://jira.appcelerator.org/browse/ALOY-1690) sourcemaps not being generated for files under lib [#893](https://github.com/tidev/alloy/pull/893)
|
186 | * [ALOY-1691](https://jira.appcelerator.org/browse/ALOY-1691) Source maps report incorrect "file" value [#893](https://github.com/tidev/alloy/pull/893)
|
187 |
|
188 |
|
189 | ### Release 1.13.10
|
190 |
|
191 | #### Fixes
|
192 |
|
193 | [ALOY-1686](https://jira.appcelerator.org/browse/ALOY-1686) Alloy: App crashes due to context used when accessing Ti.Database API
|
194 |
|
195 | ### Release 1.13.9
|
196 |
|
197 | #### Fixes
|
198 |
|
199 | [ALOY-1650](https://jira.appcelerator.org/browse/ALOY-1650) Debugger does not hit breakpoints when running Android on Windows
|
200 |
|
201 | ### Release 1.13.8
|
202 |
|
203 | #### Fixes
|
204 |
|
205 | [ALOY-1644](https://jira.appcelerator.org/browse/ALOY-1644) Selective compilation does not regenerate platform app.js on Windows
|
206 |
|
207 | ### Release 1.13.7
|
208 |
|
209 | #### Fixes
|
210 |
|
211 | [ALOY-1641](https://jira.appcelerator.org/browse/ALOY-1641) iOS: TabbedBar usage on lower than SDK 8 is broken
|
212 |
|
213 | ### Release 1.13.6
|
214 |
|
215 | #### Improvements
|
216 |
|
217 | [ALOY-1640](https://jira.appcelerator.org/browse/ALOY-1640) Update TabbedBar to use the Ti.UI namespace
|
218 |
|
219 | #### Fixes
|
220 |
|
221 | [ALOY-1637](https://jira.appcelerator.org/browse/ALOY-1637) ES6 code frame fails when using duplicate variable declarations
|
222 | [ALOY-1639](https://jira.appcelerator.org/browse/ALOY-1639) Update animation library to use `createMatrix3D/createMatrix2D` in place of the deprecated `create3DMatrix/create2DMatrix`
|
223 |
|
224 | ### Release 1.13.5
|
225 |
|
226 | [ALOY-1638](https://jira.appcelerator.org/browse/ALOY-1638) Theme is "null" when a theme is defined in config.json
|
227 |
|
228 | ### Release 1.13.1
|
229 |
|
230 | #### Fixed
|
231 |
|
232 | [ALOY-1622](https://jira.appcelerator.org/browse/ALOY-1622) Error on sql migration due to undeclared variable
|
233 |
|
234 | ### Release 1.13.0
|
235 |
|
236 | #### Added
|
237 |
|
238 | [TIMOB-24817](https://jira.appcelerator.org/browse/TIMOB-24817) Support defining Alloy widgets in ListView templates
|
239 |
|
240 | ### Release 1.12.0
|
241 |
|
242 | #### Improvements
|
243 |
|
244 | * [ALOY-1603](https://jira.appcelerator.org/browse/ALOY-1603): Update momentjs to 2.21.0
|
245 | - View the momentjs release notes [here](https://github.com/moment/moment/blob/d0a45f0390c108cc18d71a3d3f38d040392483c5/CHANGELOG.md), previous version was 2.16.0
|
246 |
|
247 | #### Fixed
|
248 |
|
249 | * [ALOY-1606](https://jira.appcelerator.org/browse/ALOY-1606): Android: Debugger not hitting breakpoints on Windows
|
250 | * [ALOY-1602](https://jira.appcelerator.org/browse/ALOY-1602): Avoid some global variables to be only available in parent controller
|
251 | - Thanks to @clementblanco for this contribution!
|
252 | * [ALOY-1607](https://jira.appcelerator.org/browse/ALOY-1607): Fix BaseController.removeListener
|
253 | - Thanks to @jormagar for this contribution!
|
254 | * [ALOY-1609](https://jira.appcelerator.org/browse/ALOY-1609): Add plugins/ti.alloy to gitignore
|
255 | * [ALOY-1599](https://jira.appcelerator.org/browse/ALOY-1599): Model Data binding problem with the first upper case in the model src
|
256 | - Thanks to @darknos for this contribution!
|
257 | * [ALOY-1595](https://jira.appcelerator.org/browse/ALOY-1595): alloy compile broken on node 9.3.0
|
258 | * [PR-878](https://github.com/tidev/alloy/pull/878): Fix links in README
|
259 | - Thanks to @dfrankow for this contribution!
|
260 |
|
261 | ---
|
262 | ### Release 1.11.0
|
263 | * No changes, just a version bump
|
264 |
|
265 | ---
|
266 | ### Release 1.10.12
|
267 |
|
268 | #### Fixes and Improvements
|
269 | * [ALOY-1597](https://jira.appcelerator.org/browse/ALOY-1597): Improve compile error messages to include a code frame that point to source locations
|
270 | * [ALOY-1596](https://jira.appcelerator.org/browse/ALOY-1596): Do not copy Mobileweb assets on alloy new
|
271 | * [ALOY-1592](https://jira.appcelerator.org/browse/ALOY-1592): Builtins: Reimplement measurement by convertUnits
|
272 | * [ALOY-1534](https://jira.appcelerator.org/browse/ALOY-1534): Add support for Backbone 1.3.3 and Underscore 1.8.3
|
273 | * [ALOY-1528](https://jira.appcelerator.org/browse/ALOY-1528): Checks the theme’s config.json for dependencies when
|
274 | returning widget directories
|
275 |
|
276 | ---
|
277 | ### Release 1.10.11
|
278 |
|
279 | #### Fixed
|
280 | * [ALOY-1168](https://jira.appcelerator.org/browse/ALOY-1168): Replace Underscore with Lodash for Alloy compile
|
281 |
|
282 | ---
|
283 | ### Release 1.10.10
|
284 |
|
285 | #### Fixed
|
286 | * [ALOY-1593](https://jira.appcelerator.org/browse/ALOY-1593): Android Debugger: Some breakpoints not hit if "Resume"
|
287 | is done anytime during debug
|
288 |
|
289 | ---
|
290 | ### Release 1.10.9
|
291 |
|
292 | #### Fixed
|
293 | * [ALOY-1590](https://jira.appcelerator.org/browse/ALOY-1590): OS_IOS assigned to a variable causes a crash
|
294 |
|
295 | ---
|
296 | ### Release 1.10.8
|
297 |
|
298 | #### Fixed
|
299 | * [CLI-1272](https://jira.appcelerator.org/browse/CLI-1272): Removed mobileweb and blackberry from studio config.json
|
300 | template
|
301 | * [ALOY-1584](https://jira.appcelerator.org/browse/ALOY-1584): Android: Ti.UI.Toolbar has no click event
|
302 |
|
303 | ---
|
304 | ### Release 1.10.7
|
305 |
|
306 | #### Fixed
|
307 | * [ALOY-1318](https://jira.appcelerator.org/browse/ALOY-1318): DefaultIcon(-platform).png should be theme-able
|
308 |
|
309 | ---
|
310 | ### Release 1.10.6
|
311 |
|
312 | #### Fixed
|
313 | * [CLI-1272](https://jira.appcelerator.org/browse/CLI-1272): Remove "mobileweb" from config template
|
314 | * [CLI-1273](https://jira.appcelerator.org/browse/CLI-1273): Fallback if empty ResultSet is returned
|
315 |
|
316 | ---
|
317 | ### Release 1.10.5
|
318 |
|
319 | #### Fixed
|
320 | * [ALOY-1582](https://jira.appcelerator.org/browse/ALOY-1582): Fix Ti.Platform.osname on Windows
|
321 |
|
322 | ---
|
323 | ### Release 1.10.4
|
324 |
|
325 | #### Fixed
|
326 | * [ALOY-1574](https://jira.appcelerator.org/browse/ALOY-1574): Unable to use ES6 import/exports in alloy controllers
|
327 | * [TIMOB-25269](https://jira.appcelerator.org/browse/TIMOB-25269): iOS: Add iPhone X screenshots
|
328 | * [ALOY-1579](https://jira.appcelerator.org/browse/ALOY-1579): Support Titanium.UI.Android.DrawerLayout
|
329 | * [ALOY-1578](https://jira.appcelerator.org/browse/ALOY-1578): Move Ti.UI.iOS.Toolbar to Ti.UI.Toolbar
|
330 | * [ALOY-1572](https://jira.appcelerator.org/browse/ALOY-1572): Alloy doesn't compile external app.js
|
331 | * [ALOY-1564](https://jira.appcelerator.org/browse/ALOY-1564): Broken Require data-binding event translation
|
332 | * [ALOY-1524](https://jira.appcelerator.org/browse/ALOY-1524): Replace wrench with fs-extra
|
333 |
|
334 | ---
|
335 | ### Release 1.10.3
|
336 |
|
337 | #### Fixed
|
338 | * [ALOY-1570](https://jira.appcelerator.org/browse/ALOY-1570): exports.baseController does not work since 1.10.0
|
339 |
|
340 | ---
|
341 | ### Release 1.10.2
|
342 |
|
343 | #### Fixed
|
344 | * [ALOY-1567](https://jira.appcelerator.org/browse/ALOY-1567): Minification produces invalid code
|
345 | * Remove the minification process from Alloy and handle it from the SDK instead.
|
346 |
|
347 | ---
|
348 | ### Release 1.10.1
|
349 |
|
350 | #### Fixed
|
351 | * [ALOY-1565](https://jira.appcelerator.org/browse/ALOY-1565): KitchenSink v2 errors out on iOS
|
352 | * Fix to use only 3 of babili's plugins to 'optimize' code and avoid modifying code in a way our old TiCore on iOS chokes on.
|
353 |
|
354 | ---
|
355 | ### Release 1.10.0
|
356 |
|
357 | #### Added
|
358 | * [ALOY-1312](https://jira.appcelerator.org/browse/ALOY-1312): Upgrade Alloy to support ES6
|
359 | * Migrates from using uglifyjs to parse and transform user and library code to using babel and babili
|
360 |
|
361 | ---
|
362 | ### Release 1.8.0
|
363 |
|
364 | #### Fixed
|
365 | * [ALOY-1365](https://jira.appcelerator.org/browse/ALOY-1365): Added support
|
366 | for Alloy-specific i18n and platform folders for both the whole Alloy app
|
367 | and overridable at the theme level. Improved widget i18n support.
|
368 |
|
369 | ---
|
370 | ### Release 1.7.6 - (08/26/2015)
|
371 |
|
372 | #### Fixed
|
373 | * [CLI-768](https://jira.appcelerator.org/browse/CLI-768): Alloy app fails to build on Windows with
|
374 | error "Alloy compiler failed"
|
375 |
|
376 | ---
|
377 | ### Release 1.7.5 - (08/21/2015)
|
378 |
|
379 | #### Fixed
|
380 | * [ALOY-1300](https://jira.appcelerator.org/browse/ALOY-1300): iOS Assets Catalog inconsistency between
|
381 | Alloy and Classic
|
382 |
|
383 | ---
|
384 | ### Release 1.7.4 - (08/18/2015)
|
385 |
|
386 | #### Changed
|
387 | * [ALOY-1239](https://jira.appcelerator.org/browse/ALOY-1239): Set Node 0.10 as minimum supported version
|
388 |
|
389 | #### Fixed
|
390 | * [ALOY-1299](https://jira.appcelerator.org/browse/ALOY-1299): Cannot build a new project for iOS
|
391 | due to missing appicons
|
392 | * [ALOY-1226](https://jira.appcelerator.org/browse/ALOY-1226): To Do sample app - validate() fails
|
393 | to prevent invalid (empty) items from being added
|
394 |
|
395 | ---
|
396 | ### Release 1.7.2 - (07/29/2015)
|
397 |
|
398 | #### Fixed
|
399 | * [ALOY-1288](https://jira.appcelerator.org/browse/ALOY-1288): Windows: Label not visible when using default app.tss
|
400 | * [ALOY-1287](https://jira.appcelerator.org/browse/ALOY-1287): Alloy styles compilation does not produce the
|
401 | same results across successive compilations
|
402 |
|
403 | ---
|
404 | ### Release 1.7.1 - (07/21/2015)
|
405 |
|
406 | #### Added
|
407 | * [ALOY-1280](https://jira.appcelerator.org/browse/ALOY-1280): Support CommandBar in XML markup on Windows
|
408 |
|
409 | #### Fixed
|
410 | * [ALOY-1214](https://jira.appcelerator.org/browse/ALOY-1214): Button in Inheritance sample app difficult to click on iOS
|
411 |
|
412 | ---
|
413 | ### Release 1.6.2 - (06/11/2015)
|
414 |
|
415 | Alloy 1.6.2 is a patch release addressing high-priority issues from previous releases.
|
416 |
|
417 | #### Fixed Issues
|
418 |
|
419 | * [ALOY-1272](https://jira.appcelerator.org/browse/ALOY-1272): Building an Alloy project with
|
420 | the Titanium CLI on Windows fails
|
421 |
|
422 | ---
|
423 | ### Release 1.6.0 - (05/21/2015)
|
424 |
|
425 | [Full list of Issues that were addressed in Release 1.6.0](https://jira.appcelerator.org/issues/?filter=16721)
|
426 |
|
427 | #### Behavior Changes
|
428 |
|
429 | To prepare for forthcoming Windows Phone support, Alloy and the Titaium SDK now support the
|
430 | `windows` subfolder to include assets only for Windows Phone applications. If have existing
|
431 | `windows` subfolders, you will need to rename them and update any paths.
|
432 |
|
433 | #### New Features
|
434 |
|
435 | ##### Backbone 1.1.2 Support
|
436 |
|
437 | Alloy 1.6.0 introduces support for Backbone 1.1.2. Due to breaking changes from
|
438 | Backbone 0.9.2 to 1.1.2, Alloy still uses Backbone 0.9.2 as its default
|
439 | Model and Collection implementation. You will need to update the configuration file to use the
|
440 | newer Backbone library, then update your application to fix the breaking behavior changes and take
|
441 | advantage of the new Backbone features.
|
442 |
|
443 | In the future, Backbone 1.1.2 will become the default and 0.9.2 support will be deprecated and
|
444 | eventually removed.
|
445 |
|
446 | For details, see the
|
447 | [Alloy Backbone Migration guide](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_Backbone_Migration).
|
448 |
|
449 |
|
450 | ##### CLI extract-i18n command
|
451 |
|
452 | The Alloy CLI extract-i18n command now extracts localized strings from the XML files, in addition to
|
453 | the JavaScript and TSS files, to populate the `strings.xml` file.
|
454 |
|
455 |
|
456 | ##### Underscore 1.6.0 Upgrade
|
457 |
|
458 | The underscore.js library was upgraded from version 1.4.4 to version 1.6.0.
|
459 |
|
460 | ##### Windows Phone Support
|
461 |
|
462 | To prepare for forthcoming Windows Phone support, Alloy added several conditionals to support logic,
|
463 | UI elements and assets to only be included with Windows Phone applications.
|
464 |
|
465 | * In controllers, use the `OS_WINDOWS` constant.
|
466 | * In XML and TSS files, assign the `platform` attribute of UI elements a `windows` value.
|
467 | * Under the component folders in the `app` folder, add `windows` subfolders to include assets only for Windows Phone.
|
468 |
|
469 | ##### XML Markup Enhancements
|
470 |
|
471 | * Support <ActionView/> as a child tag of the <MenuItem> object to set the `actionView` property
|
472 | of `Titanium.Android.MenuItem`. Only supports the Android platform.
|
473 |
|
474 |
|
475 | ---
|
476 | ### Release 1.5.1 (10/2/2014)
|
477 |
|
478 | Below are the fixes included in this release.
|
479 |
|
480 | * [ALOY-1149](https://jira.appcelerator.org/browse/ALOY-1149). iOS: Gradient array properties are converted into objects
|
481 |
|
482 | ---
|
483 | ### Release 1.5.0 (09/29/2014)
|
484 |
|
485 | [Full list of Issues that were addressed in Release 1.5.0](https://jira.appcelerator.org/issues/?filter=16426)
|
486 |
|
487 | #### Deprecations and Removals
|
488 |
|
489 | ##### Sample Widgets
|
490 |
|
491 | The sample widgets included in the Alloy repository have been removed.
|
492 |
|
493 | To find replacements for these widgets, or to find other widgets,
|
494 | we recommend you visit [http://gitt.io](http://gitt.io).
|
495 |
|
496 |
|
497 | ##### localStorage Sync Adapter
|
498 |
|
499 | As of this Release, the `localStorage` sync adapter is deprecated and will be removed in a future
|
500 | release.
|
501 |
|
502 | Use the `properties` sync adapter instead.
|
503 |
|
504 | #### New Features
|
505 |
|
506 | ##### Built-in Update
|
507 |
|
508 | The moment built-in now uses version 2.7.0 of the moment.js library.
|
509 |
|
510 | ##### Data Binding Enhancements
|
511 |
|
512 | * Support data binding for a Picker. Add data binding attributes to the PickerColumn and map model
|
513 | attributes to the PickerRow properties.
|
514 |
|
515 | * Support mixture of text and data binding notation when binding model attributes to XML
|
516 | attributes, for example, `<Label text="first name: {model.first_name}"/>`.
|
517 |
|
518 | * Support mapping multiple model attributes to a single XML attribute, for example,
|
519 | `<Label text="{model.title} by {model.author}">`.
|
520 |
|
521 | For more details, see [Alloy Data Binding](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_Data_Binding).
|
522 |
|
523 | ##### XML Markup/TSS Enhancements
|
524 |
|
525 | * Support setting ActionBar properties in XML and TSS using the `ActionBar` element. For XML
|
526 | markup, add the `<ActionBar/>` tag as a child of either a `<TabGroup/>` or `<Window/>`.
|
527 | Before this Release, you defined ActionBar properties in the `Menu` element. Do not set the same
|
528 | ActionBar properties in both the `ActionBar` and `Menu` elements.
|
529 | For more details, see the "Android ActionBar" section in
|
530 | [Alloy XML Markup](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_XML_Markup).
|
531 |
|
532 | * Support `<KeyboardToolbar/>` as a child tag of the `<TextArea/>` object to set the `keyboardToolbar`
|
533 | property of `Titanium.UI.TextArea`. Only supports the iOS platform.
|
534 |
|
535 | * Support `<AndroidView/>` or `<View/>` as a child tag of the `<AlertDialog/>` and
|
536 | `<OptionDialog/>` objects to set the `androidView` property. Only supports the Android platform.
|
537 |
|
538 | * Support the localization function `L()` with the Label's `text` property or as node text, for
|
539 | example, `<Label text="L('foo')"/>` or `<Label>L('foo')</Label>`.
|
540 |
|
541 | * Support spaces with the comma-separated values in the `platform` attribute, for example,
|
542 | `<Label platform="ios, android"/>`. Prior to this Release, placing spaces in the platform
|
543 | attribute would throw an error.
|
544 |
|
545 | ---
|
546 | ### Release 1.4.1 (07/28/2014)
|
547 |
|
548 | Below are the fixes included in this release.
|
549 |
|
550 | * [ALOY-1091](https://jira.appcelerator.org/browse/ALOY-1091). id property of <Picker> other than 'picker' is treated as a variable
|
551 | * [ALOY-1094](https://jira.appcelerator.org/browse/ALOY-1094). Date or time pickers: cannot use Ti.UI.* type constants, must use Titanium.UI.* abbreviations
|
552 |
|
553 | ---
|
554 | ### Release 1.4.0 (07/17/2014)
|
555 |
|
556 | [Full list of Issues that were addressed in Release 1.4.0](https://jira.appcelerator.org/issues/?filter=16137)
|
557 |
|
558 | #### Deprecations
|
559 |
|
560 | ##### Sample Widgets
|
561 |
|
562 | The sample widgets included in the Alloy repository are deprecated and will be removed from the repo
|
563 | in a future version. There are known issues with some of the widgets, which will not be addressed.
|
564 |
|
565 | If you would like to take over maintenance and support for any of these widgets, please contact Tim
|
566 | Poulsen at [tpoulsen@appcelerator.com](mailto:tpoulsen@appcelerator.com).
|
567 |
|
568 | To find replacements for these widgets, or to find other widgets,
|
569 | we recommend you visit [http://gitt.io](http://gitt.io).
|
570 |
|
571 | #### New Features
|
572 |
|
573 | ##### Compiler Directives for Distribution Targets
|
574 |
|
575 | This release introduces two new compiler directives used to distinguish distribution targets:
|
576 |
|
577 | * `DIST_ADHOC` : true if the current compiler target is built for iOS Ad Hoc distribution,
|
578 | for example, if you set the `-T dist-adhoc` option when building with the Titanium CLI.
|
579 | * `DIST_STORE` : true if the current compiler target is built for deployment to the
|
580 | Google Play Store or iTunes App Store, for example, if you set the `-T dist-store` option when
|
581 | building with the Titanium CLI.
|
582 |
|
583 | Use these compiler directives in your controller code or initializer file (`alloy.js`).
|
584 |
|
585 | Note that the `ENV_PRODUCTION` constant will be true too since these deployments are only for production builds.
|
586 |
|
587 |
|
588 | ##### Controller-less Views
|
589 |
|
590 | As of this Release, Alloy provides a new way to create controller-less views. Each component in
|
591 | the controller-less view needs to be assigned an `id` attribute. Using the `Require` or `Widget`
|
592 | elements to include external views in the controller-less view does not work using this procedure,
|
593 | that is, you can include the external views, but the styles cannot be updated with the `updateViews`
|
594 | method.
|
595 |
|
596 | 1. Use the `Alloy.createController()` method to create a controller from the controller-less view.
|
597 | 2. Use the [updateViews()](http://docs.appcelerator.com/platform/latest/#!/api/Alloy.Controller-method-updateViews)
|
598 | method with the controller instance to update the styles of the view components.
|
599 | Pass a style dictionary as the only argument to the method. The style dictionary contains key-value pairs,
|
600 | where the key is the id of the view component and the value is another dictionary containing
|
601 | key-value pairs of attributes you want to set for the view component.
|
602 | 3. Use the `getView()` method with the controller instance to retrieve the view of the
|
603 | controller, which can be added to another view.
|
604 |
|
605 | See also:
|
606 |
|
607 | * [Alloy Guides: Views without Controllers](http://docs.appcelerator.com/platform/latest/#!/guide/Views_without_Controllers)
|
608 | * [Controller-less View test app](https://github.com/tidev/alloy/tree/1_4_X/test/apps/testing/ALOY-362)
|
609 |
|
610 |
|
611 | #### Custom Query Styles
|
612 |
|
613 | This release introduces the ability to use a custom query to determine if a style should be
|
614 | applied or not. For example, the application can query if the device is running iOS 7 or later,
|
615 | then apply a style to compensate for view components appearing behind the status bar.
|
616 |
|
617 | To use a custom query:
|
618 |
|
619 | 1. Define a conditional statement, which returns a boolean value, and assign it to a property in
|
620 | the `Alloy.Globals` namespace.
|
621 | 2. Assign the `if` attribute to an element in the XML file or in the conditional block of the TSS file to
|
622 | the defined query with the `Alloy.Globals` namespace.
|
623 |
|
624 | See also:
|
625 |
|
626 | * [Alloy Styles and Themes: Custom Query Styles](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_Styles_and_Themes-section-35621526_AlloyStylesandThemes-CustomQueryStyles)
|
627 | * [Custom TSS queries test app](https://github.com/tidev/alloy/tree/1_4_X/test/apps/advanced/custom_tss_queries)
|
628 |
|
629 | ##### Map Module Integration
|
630 |
|
631 | This release introduces better integration with the [ti.map module](http://docs.appcelerator.com/platform/latest/#!/api/Modules.Map),
|
632 | which includes the ability to define `Annotation` objects in XML markup and support for data-view binding.
|
633 |
|
634 | To add `Annotation` objects in the XML markup, use the `<Module>` tag to load the map module
|
635 | and create a map view. Add `<Annotation>` tags as children of the `<Module>` tag.
|
636 |
|
637 | To support data-view binding, set the `dataCollection` attribute to the name of the collection in
|
638 | the `<Module>` tag. Map attributes to bind in the `<Annotation>` tag. The `<Module>` tag also
|
639 | supports the `dataFilter` and `dataTransform` attributes.
|
640 |
|
641 | <Alloy>
|
642 | <Collection src="places"/>
|
643 | <Window>
|
644 | <Module id="mapview" module="ti.map" method="createView" dataCollection="places">
|
645 | <Annotation latitude="{latitude}" longitude="{longitude}" title="{title}" />
|
646 | </Module>
|
647 | </Window>
|
648 | </Alloy>
|
649 |
|
650 | See also:
|
651 |
|
652 | * Alloy Example in [ti.map module](http://docs.appcelerator.com/platform/latest/#!/api/Modules.Map)
|
653 | * [Map Module test app](https://github.com/tidev/alloy/tree/1_4_X/test/apps/testing/ALOY-800)
|
654 | * [Map Module with Data Binding test app](http://github.com/tidev/alloy/tree/1_4_X/test/apps/testing/ALOY-503)
|
655 |
|
656 |
|
657 | ##### Widget Component Generation
|
658 |
|
659 | The Alloy CLI can now generate controller, view and style components for widgets.
|
660 | Add the `--widgetname <WIDGET_NAME>` option to the `alloy generate` command
|
661 | to create components for the specified widget.
|
662 |
|
663 | ##### Widget Themes
|
664 |
|
665 | This release supports themes for widgets. Widget themes work the same as project themes except for
|
666 | the placement of the files.
|
667 |
|
668 | Inside your theme folder (`app/themes/<THEME_NAME>`), create `widgets/<WIDGET_NAME>` folders,
|
669 | where `<THEME_NAME>` is the name of the theme and `<WIDGET_NAME>` is the name of the widget.
|
670 |
|
671 | Create two folders, `assets` and `styles`, to place your custom images and styles for your widget,
|
672 | respectively. The `assets` and `styles` folders need to be placed in the folder that is named after
|
673 | the widget.
|
674 |
|
675 | If the theme is enabled, the files in the widget theme folder will replace the default ones
|
676 | used by the widget.
|
677 |
|
678 | See also:
|
679 |
|
680 | * "Themes" section in [Alloy Widgets](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_Widgets)
|
681 | * [Widget Themes test app](https://github.com/tidev/alloy/tree/1_4_X/test/apps/testing/ALOY-378)
|
682 |
|
683 |
|
684 | ##### XML Markup/TSS Enhancements
|
685 |
|
686 | * Support the Android Action Bar in XML and TSS using the `Menu` element. To define an action bar in XML markup,
|
687 | add the `<Menu>` tag as a child of either a `<Window>` or `<TabGroup>`. To add action items in XML markup, add
|
688 | `<MenuItem>` tags as children of `<Menu>`. The `ActionBar` attributes may be defined in the XML
|
689 | markup or TSS file. For details, see the "Android ActionBar" section in
|
690 | [Alloy XML Markup](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_XML_Markup).
|
691 |
|
692 | * Support `Button` attributes in `<LeftNavButton>` and `<RightNavButton>`. Instead of
|
693 | creating a `Button` object for the `LeftNavButton` or `RightNavButton` elements, add the
|
694 | `Button` attributes to either `LeftNavButton` or `RightNavButton` in either the XML markup
|
695 | or the TSS file. For details, see the "iOS Navigation Button Shorthand" section in
|
696 | [Alloy XML Markup](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_XML_Markup).
|
697 |
|
698 | * Support Date Picker attributes. The
|
699 | [maxDate](http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.Picker-property-maxDate)
|
700 | [minDate](http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.Picker-property-minDate),
|
701 | and [value](http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.Picker-property-value)
|
702 | attributes now accept date strings. For Alloy XML and TSS files, use a date string that can
|
703 | be parsed by the [moment.js constructor](http://momentjs.com/docs/#/parsing/string/), which includes
|
704 | ISO-8601 and RFC2822 dates.
|
705 |
|
706 | * Support the localization function, `L()`, as node text for the `OptionDialog`'s `<Option>` tag.
|
707 |
|
708 | * Support [Titanium.UI.RefreshControl](http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.RefreshControl)
|
709 | in XML markup. Add the `<RefreshControl>` tag as a child of either `<ListView>` or `<TableView>`.
|
710 |
|
711 | * Add shorthand notation for `TextField` keyboard attributes. When specifying either the `keyboardType` or
|
712 | `returnKeyType` attributes, you do not need to use `Titanium.UI.KEYBOARD_` or `Titanium.UI.RETURNKEYTYPE_`
|
713 | as part of the constant name. For details, see the "TextField Keyboard Shorthands" section in
|
714 | [Alloy XML Markup](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_XML_Markup).
|
715 |
|
716 | * Support `undefined` as a settable value in the TSS files. Assign `undefined` to an attribute
|
717 | to unset it. Do not encase `undefined` in quotes.
|
718 |
|
719 | See also:
|
720 |
|
721 | * [Action Bar test app](https://github.com/tidev/alloy/tree/1_4_X/test/apps/testing/ALOY-784)
|
722 | * [Button Shorthand test app](https://github.com/tidev/alloy/tree/1_4_X/test/apps/testing/ALOY-714)
|
723 | * [Date Picker test app](https://github.com/tidev/alloy/tree/1_4_X/test/apps/testing/ALOY-263)
|
724 | * [Options Dialog with Localization Function test app](https://github.com/tidev/alloy/tree/1_4_X/test/apps/testing/ALOY-1009)
|
725 | * [Refresh Control test app](https://github.com/tidev/alloy/tree/master/test/apps/testing/ALOY-910)
|
726 | * [Text Field Keyboard Shorthand test app](https://github.com/tidev/alloy/tree/1_4_X/test/apps/testing/ALOY-927)
|
727 |
|
728 |
|
729 | #### Known Issues
|
730 |
|
731 | ##### Alloy Plugin
|
732 |
|
733 | Alloy 1.4.0 includes changes to the Alloy plugin, which is used by Studio to compile and launch your
|
734 | project. These changes will be applied automatically the first time you build a project after
|
735 | updating to 1.4.0. However, because the first build uses the old plugin, there is a small chance
|
736 | that it will fail. Retrying the build should resolve the issue, or you can manually update the
|
737 | plugin with the following command:
|
738 |
|
739 | alloy install plugin [path_to_project]
|
740 |
|
741 | If you enter this command while in your project's folder, omit the path.
|
742 |
|
743 | CLI users are not affected by this change.
|
744 |
|
745 |
|
746 | #### New APIs
|
747 |
|
748 | The following APIs are new in Release 1.4.0.
|
749 |
|
750 | |API|Type|Note|
|
751 | |---|----|----|
|
752 | |`Alloy.Controller.updateViews`|method|Applies a dictionary of properties to the components of a view in the controller.|
|
753 |
|
754 | ---
|
755 | ### Release 1.3.1 (02/10/2014)
|
756 |
|
757 | Below are the new key features and fixes in this release. Also see the
|
758 | [full list of changes](https://jira.appcelerator.org/secure/IssueNavigator.jspa?mode=hide&requestId=15666).
|
759 |
|
760 | * [ALOY-905](https://jira.appcelerator.org/browse/ALOY-905). Alloy now supports TiSDK 3.0.0+ again!
|
761 | * [ALOY-907](https://jira.appcelerator.org/browse/ALOY-907). Fixed unhandled exception errors in invalid JS.
|
762 | * [ALOY-912](https://jira.appcelerator.org/browse/ALOY-912). Better handling of runtime conditionals on TableView proxy properties.
|
763 | * [ALOY-914](https://jira.appcelerator.org/browse/ALOY-914). Show Alloy appicon instead of Titanium default.
|
764 | * [ALOY-916](https://jira.appcelerator.org/browse/ALOY-916). Copy theme assets to platform-specific folders.
|
765 | * [ALOY-920](https://jira.appcelerator.org/browse/ALOY-920). Fixes compile time error when using should.js.
|
766 | * [ALOY-922](https://jira.appcelerator.org/browse/ALOY-922). Fixes error when using proxy properties on a TextField in an ItemTemplate.
|
767 | * [ALOY-937](https://jira.appcelerator.org/browse/ALOY-937). Fixes copying of platform-specific widget assets.
|
768 |
|
769 | ---
|
770 | ### Release 1.3.0 (12/20/2013)
|
771 |
|
772 | [Full list of Issues that were address in Release 1.3.0](https://jira.appcelerator.org/secure/IssueNavigator.jspa?mode=hide&requestId=15575).
|
773 |
|
774 | #### Breaking Changes
|
775 |
|
776 | ##### Titanium SDK Support
|
777 |
|
778 | Due changes in the application build process for both Alloy and the Titanium SDK,
|
779 | Alloy 1.3.0 only supports Titanium SDK 3.2.0 and later. You can find details on this in the following tickets:
|
780 |
|
781 | * [TIMOB-14884](https://jira.appcelerator.org/browse/TIMOB-14884)
|
782 | * [ALOY-760](https://jira.appcelerator.org/browse/ALOY-760)
|
783 |
|
784 | #### New Features
|
785 |
|
786 | ##### XML Markup Enhancements
|
787 |
|
788 | * Support children elements for Widget and Require elements. View objects created using the Widget
|
789 | and Require elements can contain child view elements, which are added as children views of the
|
790 | parent Widget or Require view object. Example: [require_children](https://github.com/tidev/alloy/tree/master/test/apps/advanced/require_children)
|
791 |
|
792 | * Support `<HeaderView>`, `<FooterView>` and `<PullView>` as children tags of the `<ListView>` object to
|
793 | specify the `headerView`, `footerView` and `pullView` properties of `Titanium.UI.ListView`.
|
794 |
|
795 | * Support `<SearchBar>` and `<SearchView platform="android>` as children tags of the `<ListView>` object to
|
796 | specify the `searchView` property of `Titanium.UI.ListView`.
|
797 |
|
798 | * Support `<HeaderView>` and `<FooterView>` as children tags of the `<ListSection>` object to
|
799 | specify the `headerView` and `footerView` properties of `Titanium.UI.ListSection`.
|
800 |
|
801 | * Support `<LeftButton>`, `<RightButton>` and `<KeyboardToolbar>` as children tags of the `<TextField>` object to
|
802 | specify the `leftButton`, `rightButton` and `keyboardToolbar` properties of `Titanium.UI.TextField`.
|
803 | These properties are only supported on the iOS platform.
|
804 |
|
805 | * Support shorthand method for declaring iOS system buttons. When specifying the `system`
|
806 | attribute for a Button object, you do not need to use the `Ti.UI` namespace. For example, the
|
807 | following markup creates the iOS camera button:
|
808 |
|
809 | <Button systemButton="CAMERA"/>
|
810 |
|
811 | ##### TSS Enhancements
|
812 |
|
813 | * Support for bitwise operators, which includes bit shifting ('>>', '<<', and '>>>'), bitwise AND
|
814 | ('&'), bitwise OR ('|') and bitwise XOR ('^').
|
815 |
|
816 | ##### Model Enhancements
|
817 |
|
818 | * Support fetching a model using its ID attribute rather than an SQL query with the SQLite sync adapter.
|
819 | For example, you can fetch a model by using the attribute:
|
820 |
|
821 | myModel.fetch({id: 123});
|
822 |
|
823 | rather than using an SQL query:
|
824 |
|
825 | myModel.fetch({query: 'select * from ... where id = ' + 123 });
|
826 |
|
827 | ##### New Compiler Hook
|
828 |
|
829 | This Release added a new compiler task called `pre:load` that is triggered before copying assets and
|
830 | other resources to the project's `Resources` folder. This task is executed near the beginning of
|
831 | the Alloy compiliation process, after the project is cleaned.
|
832 |
|
833 | ##### Support Platform and Environment-Specific Project Configurations
|
834 |
|
835 | In the project configuration file (`config.json`), you can combine the `os` and `env` keys together
|
836 | to specify an environment and platform configuration. For example, the code below specifies
|
837 | configurations for iOS test, iOS development and iOS production:
|
838 |
|
839 | "os:ios env:production": {
|
840 | "foo": "os:ios env:production"
|
841 | },
|
842 | "os:ios env:development": {
|
843 | "foo": "os:ios env:development"
|
844 | },
|
845 | "os:ios env:test": {
|
846 | "foo": "os:ios env:test"
|
847 | }
|
848 |
|
849 | Previously, you could not specify both a platform and environment together.
|
850 |
|
851 | ##### New APIs
|
852 |
|
853 | The following APIs are new in Release 1.3.0.
|
854 |
|
855 | |API|Type|Note|
|
856 | |---|----|----|
|
857 | |`Alloy.builtins.animation.flip`|method|Transitions from one view to another using a 3D flip animation (iOS only).|
|
858 | |`Alloy.builtins.animation.flipHorizontal`|method|Transitions from one view to another using a horizontal flip animation (iOS only).|
|
859 | |`Alloy.builtins.animation.flipVertical`|method|Transitions from one view to another using a vertical flip animation (iOS only).|
|
860 | |`Alloy.builtins.animation.HORIZONTAL`|constant|Constant to specify a horizontal flip (iOS only).|
|
861 | |`Alloy.builtins.animation.VERTICAL`|constant|Constant to specify a vertical flip (iOS only).|
|
862 |
|
863 | ---
|
864 |
|
865 | ### Release 1.2.2 (18 September 2013)
|
866 |
|
867 | * [ALOY-813](https://jira.appcelerator.org/browse/ALOY-813). Fixed bug handling unicode characters in XML attributes.
|
868 | * [ALOY-817](https://jira.appcelerator.org/browse/ALOY-817). Fixed bug adding XML event handlers to UI components that use custom namesapces.
|
869 | * [ALOY-815](https://jira.appcelerator.org/browse/ALOY-815) & [ALOY-818](https://jira.appcelerator.org/browse/ALOY-818). Support Ti.UI.iOS.NavigationWindow API in XML
|
870 |
|
871 | ---
|
872 | ### Release 1.2.1 (27 August 2013)
|
873 |
|
874 | * [ALOY-789](https://jira.appcelerator.org/browse/ALOY-789). Fixed improper handling of printable escape characters in TSS.
|
875 | * [ALOY-802](https://jira.appcelerator.org/browse/ALOY-802). Fixed escape character handling issue in TSS on Windows.
|
876 | * [ALOY-803](https://jira.appcelerator.org/browse/ALOY-803). Fixed issue with controller subfolders on Windows.
|
877 | * [ALOY-804](https://jira.appcelerator.org/browse/ALOY-804). Fixed issues with `jake` on Windows.
|
878 |
|
879 | ---
|
880 | ### Release 1.2.0 (15 August 2013)
|
881 |
|
882 | * [Full list of Issues that were addressed in Release 1.2.0](https://jira.appcelerator.org/secure/IssueNavigator.jspa?mode=hide&requestId=15334)
|
883 | * Fixes for a [handlful of Windows issues](https://jira.appcelerator.org/secure/IssueNavigator.jspa?mode=hide&requestId=15445) are available in the latest 1.2.1 release candidate. You can install it like this: `[sudo] npm install -g alloy@1.2.1-cr2`.
|
884 |
|
885 | #### New Features
|
886 |
|
887 | ##### Dynamic Styling
|
888 |
|
889 | As of this Release, Alloy supports changing styles dynamically during runtime. There are two methods
|
890 | to support dynamic styling in Alloy. You can either generate a dynamic style dictionary that can be
|
891 | passed to `applyProperties` or a create method, or modify TSS class styles to an existing component on
|
892 | the fly.
|
893 |
|
894 | For more information, see:
|
895 | * [Dynamic Styles guide](http://docs.appcelerator.com/platform/latest/#!/guide/Dynamic_Styles)
|
896 | * [dynamic_styling Sample](https://github.com/tidev/alloy/tree/master/test/apps/advanced/dynamic_styling)
|
897 | * Refer to the "New APIs" section below.
|
898 |
|
899 | ##### ListView in Markup
|
900 |
|
901 | ListView objects can now be created in markup and with collection-view binding enabled.
|
902 |
|
903 | For more information, see:
|
904 | * [listview Sample](https://github.com/tidev/alloy/tree/master/test/apps/ui/listview)
|
905 | * [binding_listview Sample](https://github.com/tidev/alloy/tree/master/test/apps/models/binding_listview)
|
906 | * [ListView API Reference](http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.ListView)
|
907 | * [Alloy Data Binding guide](https://github.com/tidev/alloy/tree/master/test/apps/models/binding_listview)
|
908 |
|
909 | ##### Module Markup Element
|
910 |
|
911 | Use the new `Module` XML element to include a view from a native module.
|
912 |
|
913 | For more information, see:
|
914 | * "Module XML Element" section in the [Alloy XML Markup guide](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_XML_Markup)
|
915 | * [native_modules Sample](https://github.com/tidev/alloy/tree/master/test/apps/advanced/native_modules)
|
916 |
|
917 | ##### CLI Command to Generate Styles
|
918 |
|
919 | Style files can be generated using the Alloy CLI. The Alloy CLI extracts the IDs and classes from
|
920 | the markup file to create a skeleton style file.
|
921 |
|
922 | For more information, see the "Generating a Style" section in the
|
923 | [Alloy Tasks guide](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_Tasks).
|
924 |
|
925 | #### New APIs
|
926 |
|
927 | The following APIs are new in Release 1.2.0.
|
928 |
|
929 | |API|Type|Note|
|
930 | |---|----|----|
|
931 | |`Alloy.Controller.addClass`|method|Adds a TSS class to the specified view object.|
|
932 | |`Alloy.Controller.createStyle`|method|Creates a dictionary of properties based on the specified styles.|
|
933 | |`Alloy.Controller.removeClass`|method|Removes a TSS class from the specified view object.|
|
934 | |`Alloy.Controller.resetClass`|method|Applies TSS classes to the specified view object and removes any applied classes that are not specified.|
|
935 | |`Alloy.Controller.UI.create`|method|Creates a Titanium UI object with the specified styles.|
|
936 |
|
937 | ---
|
938 | ### Release 1.1.3 (17 June 2013)
|
939 |
|
940 | #### New Features
|
941 |
|
942 | * [ALOY-661](https://jira.appcelerator.org/browse/ALOY-661). Code Processor: Get Alloy to recompile before an analysis
|
943 |
|
944 | ---
|
945 | ### Release 1.1.2 (2 May 2013)
|
946 |
|
947 | #### New Features
|
948 |
|
949 | * [ALOY-424](https://jira.appcelerator.org/browse/ALOY-424). Blackberry support
|
950 |
|
951 | #### Bug Fixes
|
952 |
|
953 | * [ALOY-628](https://jira.appcelerator.org/browse/ALOY-628). Error loading platform-specific theme-based styles
|
954 | * [ALOY-632](https://jira.appcelerator.org/browse/ALOY-632). Builtins being copied into Resources directory more than once causing runtime errors
|
955 | * [ALOY-633](https://jira.appcelerator.org/browse/ALOY-633). Compiler directives (OS_IOS) undefined when referenced inside a widget
|
956 | * [ALOY-635](https://jira.appcelerator.org/browse/ALOY-635). Styles not being sorted properly among global, controller, platform-specific, and theme
|
957 |
|
958 | ---
|
959 | ### Release 1.1.1 (19 April 2013)
|
960 |
|
961 | Just 2 quick fixes to reduce the size of the Alloy distribution and fix one regression.
|
962 |
|
963 | * [ALOY-625](https://jira.appcelerator.org/browse/ALOY-625). app.tss not being applied to views that don't have view-specific styles.
|
964 | * [ALOY-626](https://jira.appcelerator.org/browse/ALOY-626). Remove unneeded resources from samples/mapping.
|
965 |
|
966 | ---
|
967 | ### Release 1.1.0 (April 2013)
|
968 |
|
969 | * [Full list of Issues that were addressed in Release 1.1.0](https://jira.appcelerator.org/secure/IssueNavigator.jspa?mode=hide&requestId=15057)
|
970 |
|
971 | #### Breaking Changes
|
972 |
|
973 | #### Alloy Run Command
|
974 |
|
975 | The Alloy run command is obsoleted by the Titanium CLI build command.
|
976 |
|
977 | If you are only using command-line tools to build your Alloy project, after using the
|
978 | `alloy compile` command to convert the Alloy files to Titanium files, use the `titanium build`
|
979 | command to build and run the Titanium code.
|
980 |
|
981 |
|
982 | ### New Features
|
983 |
|
984 | #### Debugging in Studio
|
985 |
|
986 | As of Titanium Studio 3.1.0, breakpoints added in Alloy Controllers and the `alloy.js` file are
|
987 | recognized by the Studio Debugger. These breakpoints map to the code in the generated Titanium
|
988 | files located in the `Resources` directory.
|
989 |
|
990 | CommonJS modules and Alloy Models will support this feature in a future release of Titanium
|
991 | Studio and Alloy. You still need to add breakpoints for these files in the generated Titanium
|
992 | files located in the `Resources` directory.
|
993 |
|
994 | Refer to [Alloy Debugging](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_Debugging_and_Troubleshooting)
|
995 | for more information.
|
996 |
|
997 |
|
998 | #### Content Assistance in Studio
|
999 |
|
1000 | As of Titanium Studio 3.1.0, content assistance is supported in Alloy Views (XML markup and TSS
|
1001 | files) and Alloy Controllers.
|
1002 |
|
1003 | For XML markup, start typing the XML element, attribute or `on` attribute (for events)
|
1004 | to receive content assistance.
|
1005 |
|
1006 | For TSS files, type the name of the element, class (element prefixed with `.`) or ID name
|
1007 | (element prefixed with `#`) to receive content assistance.
|
1008 | You need to type the entire name of the element, class or ID name to receive assistance, and
|
1009 | the class and ID name must exist in the associated XML markup file.
|
1010 |
|
1011 | For controller code, type the ID name (element prefixed by `$.`) or start typing a namespace
|
1012 | (Alloy, Titanium, etc.) to receive content assistance. You need to type the entire name of the ID
|
1013 | in order to receive assistance and it must exist in the associated XML markup file.
|
1014 |
|
1015 | Some of the Alloy-specific attributes, such as `platform`, `formFactor` and the data binding
|
1016 | attributes, will be supported in a future release of Titanium Studio.
|
1017 |
|
1018 | Refer to the "Using Content Assistance" section in
|
1019 | [Alloy Tasks](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_Tasks) for more information.
|
1020 |
|
1021 |
|
1022 | #### Expanded Support for Collection-View Binding
|
1023 |
|
1024 | ScrollableView, CoverFlowView, ButtonBar, ToolBar and TabbedBar objects support collection-view
|
1025 | binding.
|
1026 |
|
1027 | For ButtonBar, ToolBar and TabbedBar, refer to the
|
1028 | [binding_bars example](https://github.com/tidev/alloy/tree/1_1_X/test/apps/models/binding_bars).
|
1029 |
|
1030 | For CoverFlowView, refer to the
|
1031 | [binding_coverflow example](https://github.com/tidev/alloy/tree/1_1_X/test/apps/models/binding_coverflow).
|
1032 |
|
1033 | For ScrollableView, refer to the
|
1034 | [binding_scrollableview example](https://github.com/tidev/alloy/tree/1_1_X/test/apps/models/binding_scrollableview).
|
1035 |
|
1036 | Refer to [Alloy Data Binding](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_Data_Binding)
|
1037 | for more information.
|
1038 |
|
1039 |
|
1040 | #### Widget Enhancements
|
1041 |
|
1042 | Various enhancements to widgets:
|
1043 |
|
1044 | * Widgets have their own create methods. Use `Widget.createController()`,
|
1045 | `Widget.createWidget()`, `Widget.createModel()` and `Widget.createCollection()`
|
1046 | instead of the `Alloy.create*` methods to create components relative to the
|
1047 | widget context rather than the Alloy project. The method parameters
|
1048 | are the same as the `Alloy.create*` methods.
|
1049 |
|
1050 | * Widgets support their own models and collections. Use models and collections the same
|
1051 | as with an Alloy project except use the new Widget create methods, that is, use `Widget.createModel`
|
1052 | and `Widget.createCollection` instead of `Alloy.createModel` and `Alloy.createCollection`,
|
1053 | respectively to create models and collections inside a widget.
|
1054 |
|
1055 | Refer to [Alloy Widgets](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_Widgets) for
|
1056 | more information.
|
1057 |
|
1058 | #### XML Markup Enhancements
|
1059 |
|
1060 | Various enhancements to XML markup:
|
1061 |
|
1062 | * Support `<LeftNavButton>` and `<RightNavButton>` as children tags of the `<Popover>` object to
|
1063 | specify the `leftNavButton` and `rightNavButton` properties of `Titanium.UI.iPad.Popover`.
|
1064 |
|
1065 | * Support `<HeaderView>` as a child tag of the `<TableViewSection>` object to specify the
|
1066 | `headerView` property of `Titanium.UI.TableViewSection`.
|
1067 |
|
1068 | * Support the `name` attribute with the `<Widget>` and `<Require>` tags to specify a widget
|
1069 | view-controller to use besides `widget.xml`/`widget.js`.
|
1070 |
|
1071 | Refer to [Alloy XML Markup](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_XML_Markup)
|
1072 | for more information.
|
1073 |
|
1074 | ---
|
1075 | ### 1.0.0 (19 February 2013)
|
1076 |
|
1077 | ### ** Breaking Changes **
|
1078 |
|
1079 | The following changes alter the behavior of the Alloy Framework from previous versions and may
|
1080 | require code changes to your applications.
|
1081 |
|
1082 | #### Titanium SDK Support
|
1083 |
|
1084 | Alloy 1.0 only supports Titanium SDK 3.0 and later. Previous versions of Alloy supported Titanium
|
1085 | SDK 2.1.x and later.
|
1086 |
|
1087 |
|
1088 | #### Backbone Events API Removed from View Proxies and Controllers
|
1089 |
|
1090 | For Alloy View proxies and Controllers, that is, objects either referenced with `$.myid` or
|
1091 | created with `createController` and `getView` methods, you cannot use the Backbone Events
|
1092 | API `on`, `off` and `trigger` methods to bind and unbind event callbacks, or fire events.
|
1093 | Use the Titanium SDK API `addEventListener`, `removeEventListener` and `fireEvent` methods instead.
|
1094 |
|
1095 | Previously, Alloy View proxies and Controllers could use the Backbone Events API.
|
1096 |
|
1097 | For Alloy Collection and Model objects, use the Backbone Events API not the Titanium SDK event
|
1098 | listener API. This has not changed from previous versions of Alloy.
|
1099 |
|
1100 |
|
1101 | #### Alloy Model-View Binding
|
1102 |
|
1103 | Model-view binding with the Ti.UI.View proxy should be considered experimental. On the iOS
|
1104 | platform, the view items are not being repopulated correctly. To follow this issue, see
|
1105 | [ALOY-485](https://jira.appcelerator.org/browse/ALOY-485).
|
1106 |
|
1107 | Model-view binding with TableViews works fine and does not suffer from any known issues.
|
1108 |
|
1109 | For more information, see the [Alloy Data Binding guide](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_Data_Binding).
|
1110 |
|
1111 |
|
1112 | #### Custom Sync Adapter
|
1113 |
|
1114 | If you created a custom sync adapter, the order of the passed parameters of the
|
1115 | `module.exports.sync` method
|
1116 | has changed to match the `Backbone.sync` method.
|
1117 |
|
1118 | Prior to 1.0.0, the order was:
|
1119 |
|
1120 | module.exports.sync(model, method, options)
|
1121 |
|
1122 | For 1.0.0 and later, the order is now:
|
1123 |
|
1124 | module.exports.sync(method, model, options)
|
1125 |
|
1126 | To update your custom sync adapter, just switch the order of the `method` and `model` arguments.
|
1127 |
|
1128 | Additionally, both the `module.exports.beforeModelCreate` and `module.exports.afterModelCreate`
|
1129 | methods accept an additional passed parameter--the name of the model file.
|
1130 |
|
1131 | Prior to 1.0.0, the methods were:
|
1132 |
|
1133 | module.exports.beforeModelCreate(config)
|
1134 | module.exports.afterModelCreate(Model)
|
1135 |
|
1136 | For 1.0.0 and later, the methods are:
|
1137 |
|
1138 | module.exports.beforeModelCreate(config, name)
|
1139 | module.exports.afterModelCreate(Model, name)
|
1140 |
|
1141 | #### SQLite Sync Adapter and Migrations
|
1142 |
|
1143 | The previous `sql` sync adapter has been replaced with the `sql_new` sync adapter as mentioned in
|
1144 | release 0.3.5.
|
1145 |
|
1146 | If you have a model that uses the `sql` sync adapter from Alloy 0.3.6 and before, you need to
|
1147 | migrate
|
1148 | your data to the new table schema of the Alloy 1.0.0 SQLite sync adapter.
|
1149 |
|
1150 | First, manually remove the following files from your Alloy project:
|
1151 |
|
1152 | * Resources/alloy.js
|
1153 | * Resources/alloy/sync/sql.js
|
1154 |
|
1155 | Next, create a one-time migration file to transfer your model data to the new database schema.
|
1156 | Adapt the following code for your table schema. Replace `title`, `author` and `isbn`
|
1157 | with your own specific table schema but leave `id` and `alloy_id` alone. The order of fields does matter.
|
1158 | This migration file creates a temporary table, copies your current data to a temporary table,
|
1159 | deletes the old table from the database, creates a new table, then copies your data to the new table.
|
1160 |
|
1161 | migration.up = function(migrator) {
|
1162 | var db = migrator.db;
|
1163 | var table = migrator.table;
|
1164 | db.execute('CREATE TEMPORARY TABLE book_backup(title,author,isbn,alloy_id);')
|
1165 | db.execute('INSERT INTO book_backup SELECT title,author,isbn,id FROM ' + table + ';');
|
1166 | migrator.dropTable();
|
1167 | migrator.createTable({
|
1168 | columns: {
|
1169 | title:"TEXT",
|
1170 | author:"TEXT",
|
1171 | isbn:"INTEGER"
|
1172 | },
|
1173 | });
|
1174 | db.execute('INSERT INTO ' + table + ' SELECT title,author,isbn,alloy_id FROM book_backup;');
|
1175 | db.execute('DROP TABLE book_backup;');
|
1176 | };
|
1177 |
|
1178 | migration.down = function(migrator) {
|
1179 |
|
1180 | }
|
1181 |
|
1182 | Run your application once to migrate your data, then remove the migration file.
|
1183 |
|
1184 | Note the `migrator.db` object in the previous example. This object is a handle to a `Ti.Database` instance
|
1185 | to execute SQLite commands. DO NOT CLOSE THIS HANDLE OR OPEN A SECOND INSTANCE OF THE DATABASE.
|
1186 | This will cause fatal application errors.
|
1187 |
|
1188 | See the [Alloy Sync Adapters and Migrations
|
1189 | guide](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_Sync_Adapters_and_Migrations) for
|
1190 | information about the new SQLite sync adapter and the new migration features.
|
1191 |
|
1192 | #### Removed ti.physicalSizeCategory Module
|
1193 |
|
1194 | The `ti.physicalSizeCategory` module has been replaced by a background module part of Titanium SDK 3.0.x.
|
1195 | No action is needed to migrate to the new module. However, your `tiapp.xml` file still references this module,
|
1196 | but does not affect the compilation or execution of the application. You may safely remove this reference from your
|
1197 | `tiapp.xml` file.
|
1198 |
|
1199 | Previously, this module was copied to an Alloy project as part of the `alloy new` command
|
1200 | and used to determine the size of an Android device.
|
1201 |
|
1202 |
|
1203 | #### Removed APIs
|
1204 |
|
1205 | The following deprecated APIs have been removed in this release:
|
1206 |
|
1207 | | API | Type | Notes |
|
1208 | |-----|------|-------|
|
1209 | | `Alloy.getCollection` | method | Creates a local instance of a collection. Use [Alloy.createCollection](http://docs.appcelerator.com/platform/latest/#!/api/Alloy-method-createCollection) instead. |
|
1210 | | `Alloy.getController` | method | Creates a local instance of a controller. Use [Alloy.createController](http://docs.appcelerator.com/platform/latest/#!/api/Alloy-method-createController) instead. |
|
1211 | | `Alloy.getModel` | method | Creates a local instance of a model. Use [Alloy.createModel](http://docs.appcelerator.com/platform/latest/#!/api/Alloy-method-createModel) instead. |
|
1212 | | `Alloy.getWidget` | method | Creates a local instance of a widget. Use [Alloy.createWidget](http://docs.appcelerator.com/platform/latest/#!/api/Alloy-method-createWidget) instead. |
|
1213 | | `Alloy.globals` | property | Global namespace. Use [Alloy.Globals](http://docs.appcelerator.com/platform/latest/#!/api/Alloy-property-Globals) instead. |
|
1214 | | `datatime.js` | builtin | Collection of functions for datetime formatting. Use [moment.js](http://docs.appcelerator.com/platform/latest/#!/api/Alloy.builtins.moment) instead. |
|
1215 | | `size` | XML/TSS attribute | Defines size-specific view components or styles. Use the `formFactor` attribute instead. |
|
1216 |
|
1217 | ### New features
|
1218 |
|
1219 | * [ALOY-343](https://jira.appcelerator.org/browse/ALOY-343). Facilitate Alloy code completion in Studio.
|
1220 | * [ALOY-437](https://jira.appcelerator.org/browse/ALOY-437). Support Android fastdev.
|
1221 | * [ALOY-475](https://jira.appcelerator.org/browse/ALOY-475). Create test app for testing sql adapter apps with no migrations.
|
1222 |
|
1223 |
|
1224 | ### Bug fixes and improvements
|
1225 |
|
1226 | * [ALOY-209](https://jira.appcelerator.org/browse/ALOY-209). Remove ti.physicalSizeCategory module for Alloy 1.0.0 (TiSDK 3.0+). Fixes [ALOY-188](https://jira.appcelerator.org/browse/ALOY-188) and [ALOY-134](https://jira.appcelerator.org/browse/ALOY-134).
|
1227 | * [ALOY-313](https://jira.appcelerator.org/browse/ALOY-313). Use applyProperties to assign properties to Ti.Android.MenuItem in parser.
|
1228 | * [ALOY-323](https://jira.appcelerator.org/browse/ALOY-323). Make Alloy support only TiSDK 3.0+.
|
1229 | * [ALOY-407](https://jira.appcelerator.org/browse/ALOY-407). Make `alloy generate model` calls uniform in format, regardless of adapter. Fixes [ALOY-375](https://jira.appcelerator.org/browse/ALOY-375) where models were not being generated correctly in Titanium Studio.
|
1230 | * [ALOY-429](https://jira.appcelerator.org/browse/ALOY-429). Convert jake app runner to use new CLI.
|
1231 | * [ALOY-454](https://jira.appcelerator.org/browse/ALOY-454). iOS is rebuilding apps every time with new CLI.
|
1232 | * [ALOY-455](https://jira.appcelerator.org/browse/ALOY-455). Remove Backbone eventing from Titanium proxies. Fixes [ALOY-460](https://jira.appcelerator.org/browse/ALOY-460) where ScrollableViews displayed noticeable lagging.
|
1233 | * [ALOY-457](https://jira.appcelerator.org/browse/ALOY-457). Make Alloy sync adapter sync() function signature match that of Backbone.
|
1234 | * [ALOY-473](https://jira.appcelerator.org/browse/ALOY-473). Abort compile process with message if trying to compile Alloy 1.0+ for anything less than Titanium 3.0.
|
1235 | * [ALOY-476](https://jira.appcelerator.org/browse/ALOY-476). Widgets within model-bound view get bound to unexisting `$model`.
|
1236 | * [ALOY-479](https://jira.appcelerator.org/browse/ALOY-479). Fix migration processing bug.
|
1237 | * [ALOY-480](https://jira.appcelerator.org/browse/ALOY-480). Replace `sql` adapter with `sql_new`.
|
1238 | * [ALOY-482](https://jira.appcelerator.org/browse/ALOY-482). View-based collection binding not properly clearing children before repopulating.
|
1239 | * [ALOY-486](https://jira.appcelerator.org/browse/ALOY-486). `sql` adapter does not update ID in client-side model when using AUTOINCREMENT.
|
1240 |
|
1241 |
|
1242 | ### Deprecations
|
1243 |
|
1244 | * [ALOY-330](https://jira.appcelerator.org/browse/ALOY-330). Make `alloy run` execute `titanium build`. The `alloy run` command will be removed in version 1.1.0 in favor of only using the `titanium build` command of the Titanium CLI.
|
1245 |
|
1246 | ---
|
1247 |
|
1248 | ## 0.3.6 (18 January 2013)
|
1249 |
|
1250 | ### Bug fixes and improvements
|
1251 |
|
1252 | * [ALOY-474](https://jira.appcelerator.org/browse/ALOY-474). Allow extra commas in TSS files.
|
1253 |
|
1254 | ---
|
1255 | ## 0.3.5 (18 January 2013)
|
1256 |
|
1257 | ### New features
|
1258 |
|
1259 | * Tons of sql sync adapter features and fixes
|
1260 | * **IMPORTANT**: Please read the [notes on the sql_new adapter](https://github.com/tidev/alloy/edit/master/CHANGELOG.md#additional-notes-for-035) below.
|
1261 | * [ALOY-458](https://jira.appcelerator.org/browse/ALOY-458). The sql adapter now allows you to execute custom queries on fetch(). The [models/sql_queries](https://github.com/tidev/alloy/tree/master/test/apps/models/sql_queries) test app uses this, specifically in this [controller file](https://github.com/tidev/alloy/blob/master/test/apps/models/sql_queries/controllers/main.js).
|
1262 | * [ALOY-447](https://jira.appcelerator.org/browse/ALOY-447). Alloy Model column definitions now support SQLite keywords, like PRIMARY KEY and AUTOINCREMENT. The [models/sql_keywords](https://github.com/tidev/alloy/tree/master/test/apps/models/sql_keywords) test app shows how to use it.
|
1263 | * [ALOY-467](https://jira.appcelerator.org/browse/ALOY-467). idAttribute is now assignable from the model.js file's definition object. The [models/sql_keywords](https://github.com/tidev/alloy/tree/master/test/apps/models/sql_keywords) test app, specifically this [model file](https://github.com/tidev/alloy/blob/master/test/apps/models/sql_keywords/models/fighters.js) shows how to use it to identify which column in your table is the unique identifier for syncing between SQLite and Backbone.
|
1264 | * [ALOY-453](https://jira.appcelerator.org/browse/ALOY-453). Full support for up() and down() migrations in sql adapter. [models/sql_keywords](https://github.com/tidev/alloy/tree/master/test/apps/models/sql_keywords) is also a multiple migration test app.
|
1265 | * [ALOY-345](https://jira.appcelerator.org/browse/ALOY-345). sql adapter databases can now be preloaded from a database file. The [models/sql_preload](https://github.com/tidev/alloy/tree/master/test/apps/models/sql_preload) test app shows how.
|
1266 | * [ALOY-456](https://jira.appcelerator.org/browse/ALOY-456). sql adapter now supports multiple SQLite databases. The [model/sql_queries](https://github.com/tidev/alloy/tree/master/test/apps/models/sql_queries) test app makes use of multiple SQLite databases.
|
1267 | * [ALOY-468](https://jira.appcelerator.org/browse/ALOY-468). Added insertRow() and deleteRow() functions to migration object. You can see these in use for prepopulating and deleting rows in this [migration file](https://github.com/tidev/alloy/blob/master/test/apps/models/sql_queries/migrations/201301161234567_user.js) of the [models/sql_queries](https://github.com/tidev/alloy/tree/master/test/apps/models/sql_queries) test app.
|
1268 | * TSS parsing and features
|
1269 | * [ALOY-272](https://jira.appcelerator.org/browse/ALOY-272). TSS parsing is now grammar based. Makes [code assist in TiStudio](https://jira.appcelerator.org/browse/ALOY-389) possible.
|
1270 | * [ALOY-252](https://jira.appcelerator.org/browse/ALOY-252). Commas are now optional between top-level style objects in TSS files. Check this [style file](https://github.com/tidev/alloy/blob/master/test/apps/models/sql_queries/styles/app.tss) for an example.
|
1271 | * [ALOY-452](https://jira.appcelerator.org/browse/ALOY-452). expr() syntax has been removed from TSS files. Here is the [cleaner and more powerful alternative](https://github.com/tidev/alloy/commit/e9fdc93c9760a1590c0abd0136662c11dc678066#commitcomment-2401085) for using runtime values in TSS files.
|
1272 | * [ALOY-284](https://jira.appcelerator.org/browse/ALOY-284). Titanium constants can now be used as XML attributes in markup. Check this [view xml file](https://github.com/tidev/alloy/blob/master/test/apps/testing/grammar/views/index.xml) for an example.
|
1273 |
|
1274 | ### Bug fixes and improvements
|
1275 |
|
1276 | * [ALOY-191](https://jira.appcelerator.org/browse/ALOY-191). The [models/todo](https://github.com/tidev/alloy/tree/master/test/apps/models/todo) test app now works with all supported sync adapters \(sql, properties, localStorage\).
|
1277 | * [ALOY-336](https://jira.appcelerator.org/browse/ALOY-336). Mobileweb logs not showing up in console \(related to [TISTUD-2525](https://jira.appcelerator.org/browse/TISTUD-2525)\).
|
1278 | * [ALOY-449](https://jira.appcelerator.org/browse/ALOY-449). Parsing state not cleaned properly when processing multiple top-level UI elements.
|
1279 | * [ALOY-446](https://jira.appcelerator.org/browse/ALOY-446). sql adapter should open/close between all operations (best practices).
|
1280 |
|
1281 | ### Additional Notes for 0.3.5
|
1282 |
|
1283 | Due to the massive amount of changes in the sql adapter, it is being introduced as ["sql_new"](https://github.com/tidev/alloy/blob/master/Alloy/lib/alloy/sync/sql_new.js). This is the "type" you would use in your model definitions, as seen in this [model from the models/sql_queries](https://github.com/tidev/alloy/blob/master/test/apps/models/sql_queries/models/user.js) test app. The unchanged "sql" adapter still exists temporarily for compatibility.
|
1284 |
|
1285 | All freshly built apps will work with the **sql_new** adapter, including all the sql ones in the [test/apps/models folder](https://github.com/tidev/alloy/tree/master/test/apps/models) in the repo. There _may_ be conflicts, though, if you attempt to just drop the **sql_new** adapter on an app that has been previously using the old **sql** adapter. This is because **sql_new** uses a different, smarter, less invasive means of identifying the unique id of your sql records, adding an "alloy_id" column only if absolutely necessary. If you can delete your existing sql storage and just rebuild it, then all you need to do is delete and then you can start using the **sql_new** adapter. If not, we'll have a migration guide soon.
|
1286 |
|
1287 | **One final important note** is that the old **sql** adapter will be replaced with **sql_new** when Alloy 1.0.0 is released, tentatively scheduled for mid-February. This'll give you a month to try it out and migrate data if necessary. Any questions or concerns, hit me up at the [google group](https://groups.google.com/forum/?fromgroups#!forum/appc-ti-alloy).
|
1288 |
|
1289 | ---
|
1290 | ## 0.3.4 (20 December 2012)
|
1291 |
|
1292 | ### Important Note for Model/Collection Binding Feature
|
1293 |
|
1294 | * [ALOY-432](https://jira.appcelerator.org/browse/ALOY-432). Added $.destroy() function to all controllers. When using model/collection binding in a controller, you **MUST** call this when closing a controller to prevent potential memory leaks. This is especially true if your binding makes references to global models/collections. More detailed documentation on this point will be added to the [Alloy Data Binding Guide](http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_Models-section-34636390_AlloyModels-DataBinding) very soon. \([TEST APP](https://github.com/tidev/alloy/tree/master/test/apps/models/binding_destroy)\)
|
1295 |
|
1296 | ### New features
|
1297 | * [ALOY-394](http://jira.appcelerator.org/browse/ALOY-394). Support collection binding on Views, allowing for arbitrary component repetition. \([TEST APP](https://github.com/tidev/alloy/tree/master/test/apps/models/journal)\)
|
1298 | * [ALOY-103](http://jira.appcelerator.org/browse/ALOY-103). Support model binding of models to discrete properties on UI components. \([TEST APP](https://github.com/tidev/alloy/tree/master/test/apps/models/login)\)
|
1299 | * [ALOY-382](http://jira.appcelerator.org/browse/ALOY-382), [ALOY-383](https://jira.appcelerator.org/browse/ALOY-383). Support in markup for proxy properties, like rightNavButton, leftNavButton, titleControl, etc... \([TEST APP](https://github.com/tidev/alloy/tree/master/test/apps/ui/proxy_properties)\)
|
1300 | * [ALOY-387](http://jira.appcelerator.org/browse/ALOY-387), [ALOY-388](https://jira.appcelerator.org/browse/ALOY-388). Support view (XML) and controller (JS) code completion in Titanium Studio.
|
1301 | * [ALOY-421](http://jira.appcelerator.org/browse/ALOY-421). Add moment.js as builtin. Deprecates datetime.s builtin.
|
1302 |
|
1303 | ### Bug fixes and improvements
|
1304 | * [ALOY-342](http://jira.appcelerator.org/browse/ALOY-342). Support '--platform' option with 'alloy generate' command to create platform-specific views and controllers.
|
1305 | * [ALOY-359](http://jira.appcelerator.org/browse/ALOY-359), [ALOY-423](http://jira.appcelerator.org/browse/ALOY-423). Improve buttongrid widget and fix a memory leak.
|
1306 | * [ALOY-361](http://jira.appcelerator.org/browse/ALOY-361). Fix a bug with style prioritization as it relates to the formFactor attribute.
|
1307 | * [ALOY-420](http://jira.appcelerator.org/browse/ALOY-420). Refactor TableView parser to allow model-bound tables to use proxy properties.
|
1308 | * [ALOY-430](https://jira.appcelerator.org/browse/ALOY-430). Collection binding now responds to the Backbone "reset" event.
|
1309 | * [ALOY-433](https://jira.appcelerator.org/browse/ALOY-433). Removed "unreachable code" warning in production Android builds.
|
1310 | * [ALOY-436](https://jira.appcelerator.org/browse/ALOY-436). Alloy compile failures will now abort the Titanium build process, as expected, with the Titanium 3.0+ SDK.
|
1311 | * [ALOY-438](https://jira.appcelerator.org/browse/ALOY-438). Fixed bug where the Backbone off() function on Titanium proxies created from markup was not working.
|
1312 |
|
1313 |
|
1314 | ---
|
1315 | ## 0.3.3 (6 December 2012)
|
1316 |
|
1317 | ### New features
|
1318 | * [ALOY-104](http://jira.appcelerator.org/browse/ALOY-104). Enable Model-View binding on TableViews. For more information, see the basic [tableview_binding test app](https://github.com/tidev/alloy/tree/master/test/apps/models/tableview_binding) or the slightly more complete [todo_binding sample app](https://github.com/tidev/alloy/tree/master/test/apps/models/todo_binding) which shows how to do data filtering and transformations on bound data.
|
1319 |
|
1320 | **NOTE:** This is brand new stuff with lots more functionality coming, so any feedback on the current state is very welcome. It's best to let us know at the [Alloy google group](https://groups.google.com/forum/?fromgroups#!forum/appc-ti-alloy).
|
1321 | * [ALOY-312](http://jira.appcelerator.org/browse/ALOY-312). Update Underscore.js to version 1.4.2 and Backbone.js to minified production 0.9.2 version.
|
1322 | * [ALOY-367](http://jira.appcelerator.org/browse/ALOY-367), [ALOY-377](http://jira.appcelerator.org/browse/ALOY-377). Support Soasta touch test.
|
1323 | * [ALOY-373](http://jira.appcelerator.org/browse/ALOY-373), [ALOY-379](http://jira.appcelerator.org/browse/ALOY-379). Add Collection tag in markup to create a singleton or instance(s) of a collection.
|
1324 | * [ALOY-390](http://jira.appcelerator.org/browse/ALOY-390), [ALOY-391](http://jira.appcelerator.org/browse/ALOY-391). Add Model tag in markup to create a singleton or instance(s) of a model.
|
1325 | * [ALOY-396](http://jira.appcelerator.org/browse/ALOY-396), [ALOY-397](http://jira.appcelerator.org/browse/ALOY-397), [ALOY-156](http://jira.appcelerator.org/browse/ALOY-156). Add completion callback to all methods in the animation.js builtin library.
|
1326 |
|
1327 | ### Bug fixes and improvements
|
1328 | * [ALOY-311](http://jira.appcelerator.org/browse/ALOY-311). Improve Ti.UI.Android.MenuItem parser.
|
1329 | * [ALOY-370](http://jira.appcelerator.org/browse/ALOY-370). Fix ability to assign functions with variable assigned functions in controllers.
|
1330 | * [ALOY-376](http://jira.appcelerator.org/browse/ALOY-376). Improve handling of Ti.Android.Menu component.
|
1331 | * [ALOY-393](http://jira.appcelerator.org/browse/ALOY-393). (Re-)enable optimizer.js as part of runtime JavaScript file optimization.
|
1332 | * [ALOY-403](http://jira.appcelerator.org/browse/ALOY-403). Improve Alloy.Collection and Alloy.Model code optimization.
|
1333 | * [ALOY-417](http://jira.appcelerator.org/browse/ALOY-417). Improve properties adapter.
|
1334 |
|
1335 | ### Deprecations
|
1336 | * [ALOY-401](http://jira.appcelerator.org/browse/ALOY-401). Deprecate Alloy.globals; use Alloy.Globals instead.
|
1337 |
|
1338 | ---
|
1339 | ## 0.3.2 (15 November 2012)
|
1340 |
|
1341 | ### Bug fixes and improvements
|
1342 | * [ALOY-353](http://jira.appcelerator.org/browse/ALOY-353). Support all Backbone eventing in Titanium proxies, on(), off(), trigger(). Fixed multiple event firing bug with on().
|
1343 | * [ALOY-355](http://jira.appcelerator.org/browse/ALOY-355). Improve path handling in compiler plugin for OS X.
|
1344 | * [ALOY-356](http://jira.appcelerator.org/browse/ALOY-356). Remove string builtin dependency to shorten compilation time.
|
1345 | * [ALOY-365](http://jira.appcelerator.org/browse/ALOY-365). Add Alloy.globals namespace for global context.
|
1346 | * [ALOY-380](http://jira.appcelerator.org/browse/ALOY-380). Create app/alloy.js file automatically for all new projects.
|
1347 |
|
1348 | ---
|
1349 | ## 0.3.1 (2 November 2012)
|
1350 |
|
1351 | ### New features
|
1352 | * [ALOY-192](http://jira.appcelerator.org/browse/ALOY-192). Add to-do sample application. Code is available on [github](https://github.com/tidev/alloy/tree/master/test/apps/models/todo).
|
1353 | * [ALOY-337](http://jira.appcelerator.org/browse/ALOY-337). Support themes to change the appearance of the entire GUI by customizing styles and assets. For more information, see:
|
1354 | * [Alloy Styles and Themes](http://docs.appcelerator.com/titanium/3.0/#!/guide/Alloy_Styles_and_Themes)
|
1355 | * [Themes sample application on github](https://github.com/tidev/alloy/tree/master/test/apps/advanced/themes)
|
1356 |
|
1357 | ### Bug fixes and improvements
|
1358 | * [ALOY-306](http://jira.appcelerator.org/browse/ALOY-306). Support platform, formFactor, and inline event attributes with abstract types in markup.
|
1359 | * [ALOY-340](http://jira.appcelerator.org/browse/ALOY-340). Fix Android "too deep recursion while parsing" error with Rhino runtime.
|
1360 | * [ALOY-341](http://jira.appcelerator.org/browse/ALOY-341). Improve adapter-backbone processing.
|
1361 | * [ALOY-352](http://jira.appcelerator.org/browse/ALOY-352). Fix SQL adapter to work if no migrations are present.
|
1362 | * [ALOY-354](http://jira.appcelerator.org/browse/ALOY-354). Fix "alloy generate jmk" command.
|
1363 |
|
1364 | ---
|
1365 | 0.3.0 (beta)
|
1366 | ------------
|
1367 | * Removed node-appc dependency.
|
1368 | * Added Alloy splash screens and icons
|
1369 | * Updated widgets, added new button-grid widget.
|
1370 |
|
1371 | ---
|
1372 | 0.2.42
|
1373 | --------
|
1374 | * Ti.UI.OptionDialog markup parser added. Check out this link for a test app and usage: [https://github.com/tidev/alloy/tree/master/test/apps/ui/optiondialog](https://github.com/tidev/alloy/tree/master/test/apps/ui/optiondialog)
|
1375 | * You can get the Alloy version at runtime now with `Alloy.version`
|
1376 | * Tightened up XML ID restrictions. As an enforced best practice, no reserved JS words as IDs. If you try to, you'll get a compile time error message.
|
1377 | * Revamp of code processing, better organized, more efficient. It's all under the hood, you shouldn't notice, other than compiles might be faster.
|
1378 | * Quick fix to error output in compiler plugin.py
|
1379 | * Some minor cleanup in the test apps
|