1 | # Release Notes
|
2 |
|
3 | ## Development
|
4 |
|
5 | [Commits](https://github.com/walmartlabs/lumbar/compare/v2.6.0...master)
|
6 |
|
7 | ## v2.6.0 - December 17th, 2013
|
8 | - [#117](https://github.com/walmartlabs/lumbar/pull/117) - Expose module map to external sources ([@kpdecker](https://api.github.com/users/kpdecker))
|
9 | - Relax version dependencies - 6725d91
|
10 |
|
11 | [Commits](https://github.com/walmartlabs/lumbar/compare/v2.5.2...v2.6.0)
|
12 |
|
13 | ## v2.5.2 - December 13th, 2013
|
14 |
|
15 | - [#116](https://github.com/walmartlabs/lumbar/pull/116) - Update stylus to 0.41.2 ([@Candid](https://api.github.com/users/Candid))
|
16 | - Only pass config source path to stylus-config - 6c5994c
|
17 |
|
18 | [Commits](https://github.com/walmartlabs/lumbar/compare/v2.5.1...v2.5.2)
|
19 |
|
20 | ## v2.5.1 - December 13th, 2013
|
21 |
|
22 | - [#115](https://github.com/walmartlabs/lumbar/pull/115) - 2 phase build ([@kpdecker](https://api.github.com/users/kpdecker))
|
23 | - [#110](https://github.com/walmartlabs/lumbar/pull/110) - Fix lumbar:watch command for win32 environment. ([@redrathnure](https://api.github.com/users/redrathnure))
|
24 |
|
25 | - Handle missing keys on clone - 2fa471c
|
26 |
|
27 | [Commits](https://github.com/walmartlabs/lumbar/compare/v2.5.0...v2.5.1)
|
28 |
|
29 | ## v2.5.0 - December 5th, 2013
|
30 |
|
31 | - [#114](https://github.com/walmartlabs/lumbar/pull/114) - Extend and improve grunt task ([@patrickkettner](https://api.github.com/users/patrickkettner))
|
32 | - [#113](https://github.com/walmartlabs/lumbar/pull/113) - nib -> ~1.0.1, stylus -> 0.41.0 ([@Candid](https://api.github.com/users/Candid))
|
33 | - [#111](https://github.com/walmartlabs/lumbar/pull/111) - Update grunt example documentation ([@patrickkettner](https://api.github.com/users/patrickkettner))
|
34 | - Update Handlebars to 1.1 versions
|
35 | - Update other npm dependencies
|
36 |
|
37 | [Commits](https://github.com/walmartlabs/lumbar/compare/v2.4.1...v2.5.0)
|
38 |
|
39 | ## v2.4.1 - November 6th, 2013
|
40 |
|
41 | - Fix server script filtering when disabled - e006531
|
42 |
|
43 | [Commits](https://github.com/walmartlabs/lumbar/compare/v2.4.0...v2.4.1)
|
44 |
|
45 | ## v2.4.0 - November 6th, 2013
|
46 |
|
47 | - Always load server-scripts plugin - a030c0e
|
48 |
|
49 | Compatibility notes:
|
50 | - The server-scripts plugin is now loaded by default. Any plugins that might have used the `server` key on resources will want to migrate to alternatives or instruct their users to disable this plugin.
|
51 |
|
52 | [Commits](https://github.com/walmartlabs/lumbar/compare/v2.3.4...v2.4.0)
|
53 |
|
54 | ## v2.3.4 - October 20th, 2013
|
55 |
|
56 | - Fixup server script errors - f59aa40
|
57 | - fix bad link for thorax seed/example repo - 6e4b301
|
58 | - fix several minor spelling typos - 990002f
|
59 |
|
60 | [Commits](https://github.com/walmartlabs/lumbar/compare/v2.3.3...v2.3.4)
|
61 |
|
62 | ## v2.3.3 - September 11th, 2013
|
63 |
|
64 | - [#107](https://github.com/walmartlabs/lumbar/issues/107) - Overrides do not nest properly ([@kpdecker](https://api.github.com/users/kpdecker)
|
65 |
|
66 | - Remove path.relative fork - ad98c29
|
67 | - Cleanup loadResource error message - a3e4ad2
|
68 | - Fix callback on missing static file - 12eb8e5
|
69 | - Always define a module name - 6b7dcd2
|
70 | - Include additional info for scope order error - cce73f2
|
71 |
|
72 | [Commits](https://github.com/walmartlabs/lumbar/compare/v2.3.2...v2.3.3)
|
73 |
|
74 | ## 2.3.2 - Aug 8th 2013
|
75 |
|
76 | - Fixed map error under node 0.10
|
77 |
|
78 | ## 2.3.1 - Aug 8th 2013
|
79 |
|
80 | - Fixed stylus includes when overriding files in nested mixins
|
81 |
|
82 | ## 2.3.0 - Aug 7th 2013
|
83 |
|
84 | - Update stylus to 0.36.1
|
85 | - Fixed root handling when overriding files in nested mixins
|
86 | - Fixed naming of overriden handlebars templates
|
87 | - Removed `Library.resolvePath`.
|
88 |
|
89 | `Library.mapFile` should be used instead
|
90 |
|
91 | ## 2.2.7 - Aug 5th 2013
|
92 |
|
93 | - Fix mixin attribute propagation
|
94 |
|
95 | ## 2.2.6 - July 26th 2013
|
96 |
|
97 | - Ensure that all mixins are iterated over when adding to module
|
98 | - Update uglify to 2.3
|
99 |
|
100 | ## 2.2.5 - July 15th 2013
|
101 |
|
102 | - `config` method has been removed
|
103 |
|
104 | This has been replaced with the `config(config)` event which is emitted on the lumbar event instance after any changes to the config.
|
105 |
|
106 | - Fixed error seen when mixins with child mixins where incorrectly included multiple times.
|
107 |
|
108 | - Refactor state machine and utils
|
109 |
|
110 | ## 2.2.4 - June 14th 2013
|
111 |
|
112 | - Fix error with ./ mixin in stylus
|
113 |
|
114 | ## 2.2.3 - June 14th 2013
|
115 |
|
116 | - Remove duplicate library declarations
|
117 |
|
118 | ## 2.2.2 - June 13th 2013
|
119 |
|
120 | - Allow library loading on CLI via `--library=name`
|
121 | - Allow CLI output named build or watch without requiring path components
|
122 | - Allow library specification in template lookup
|
123 |
|
124 | Compatibility Notes:
|
125 |
|
126 | - If multiple watch or build commands are specified on the CLI the action will no longer be the last action specified. This could lead to unexpected behavior for improperly formed CLI commands.
|
127 |
|
128 | ## 2.2.1 - June 11th 2013
|
129 |
|
130 | - Hack around bower config issue when passing config files on CLI
|
131 |
|
132 | ## 2.2.0 - June 11th 2013
|
133 |
|
134 | - Add bower namespace support through the `bower` resource attribute.
|
135 |
|
136 | Resources can no reference specific bower packages by name without needing to know where the bower path is.
|
137 |
|
138 | - Automatically load lumbar libraries that are in the bower components directory.
|
139 |
|
140 | - Use global config for template auto include
|
141 |
|
142 | - Update to Handlebars 1.0.12 / 1.0.0
|
143 |
|
144 | - Update minimum node version to 0.8
|
145 |
|
146 | ## 2.1.1 - June 4th 2013
|
147 |
|
148 | - Update stylus-images dependency
|
149 |
|
150 | ## 2.1.0 - May 14th 2013
|
151 |
|
152 | - Lock down code generating library versions
|
153 |
|
154 | - #77 - Fix watch tracking if initial build fails
|
155 |
|
156 | - Allow server mode handlebars options
|
157 |
|
158 | - #88 - Implement global workers limit
|
159 |
|
160 | - Allow mixins to specify handlebars known helpers.
|
161 |
|
162 | This moves the known helpers declaration from `templates.precompile.knownHelpers` to `template.knownHelpers`. The older path is still available but does not support mixins.
|
163 |
|
164 | ## 2.0.0 - May 8th 2013
|
165 |
|
166 | - Fix template linking for library modules
|
167 | - Output templates prior to their referencing file
|
168 | - Use `library` rather than `container` for fully qualified mixin lookup
|
169 | - Allow plugins in Grunt task (@stehag)
|
170 | - Add verbose logging options
|
171 | - Rename root mixins to libraries.
|
172 |
|
173 | Library import declarations have been changed from `mixins` to `libraries` and are otherwise identical. Likewise, resource library references have been changed from `mixin` to `library`.
|
174 |
|
175 | ## 2.0.0 Beta 21 - Apr 3rd 2013
|
176 |
|
177 | - Allow uglify config via `uglify` project config option.
|
178 |
|
179 | ## 2.0.0 Beta 20 - Mar 22nd 2013
|
180 |
|
181 | - Implement server-scripts plugin
|
182 |
|
183 | ## 2.0.0 Beta 19 - Mar 12th 2013
|
184 |
|
185 | - Fix stylus execution outside of the lumbar directory
|
186 | - Add overrides false flag to prevent output of particular resources from mixins
|
187 |
|
188 | ## 2.0.0 Beta 17 - Feb 21st 2013
|
189 |
|
190 | - Added `lumbar` grunt task
|
191 |
|
192 | ## 2.0.0 Beta 15 - Feb 5th 2013
|
193 |
|
194 | Changes:
|
195 |
|
196 | - Break stylus execution into worker processes
|
197 |
|
198 | This change dropped build times across the board, with a large build that was taking 20 seconds
|
199 | dropping to 7 seconds. This breaks existing stylus plugins who must now be defined in worker
|
200 | files which may then be required into the worker process. Ex:
|
201 |
|
202 | ```
|
203 | resource.plugins.push({
|
204 | plugin: __dirname + '/stylus-config-worker',
|
205 | data: config
|
206 | });
|
207 | ```
|
208 |
|
209 | - Support source map output to alternate locations
|
210 |
|
211 | ## 2.0.0 Beta 14 - Jan 9th 2013
|
212 |
|
213 | Changes:
|
214 |
|
215 | - Fix bug while watching template files.
|
216 |
|
217 | ## 2.0.0 Beta 13 - Jan 8th 2013
|
218 |
|
219 | Changes:
|
220 |
|
221 | - Cleanup override handling in stylus templates
|
222 | - Allow template hash references to pull from specific mixins
|
223 | - Fix stylus mixin compilation under combined compile
|
224 | - Allow for nested mixin definition
|
225 |
|
226 | ## 2.0.0 Beta 12 - Jan 7th 2013
|
227 |
|
228 | Changes:
|
229 |
|
230 | - Add `depends` field to module map for lumbar loader module dependencies
|
231 | - Fix source map comment output
|
232 | - Source map parsing performance improvements
|
233 | - Run uglify in parallel worker process(es)
|
234 |
|
235 | Dramatically decreased processing time for large projects on multi-core machines.
|
236 |
|
237 | ## 2.0.0 Beta 10 - Jan 2nd 2013
|
238 |
|
239 | Changes:
|
240 |
|
241 | - Fix handling of styleRoot in mixins.
|
242 |
|
243 | ## 2.0.0 Beta 10 - Dec 26th 2012
|
244 |
|
245 | Changes:
|
246 |
|
247 | - Added support for source maps
|
248 |
|
249 | - Update mixin handling for namespaces
|
250 |
|
251 | This allows different mixins to define mixins with the same name. Consumers can differentiate
|
252 | between the mixins via the `library` attribute on the mixin reference. i.e.
|
253 |
|
254 | ```
|
255 | "mixins": [
|
256 | {"name": "test", "library": "phoenix-build"}
|
257 | ]
|
258 | ```
|
259 |
|
260 | All mixin projects must now define a name field so they may be referenced in this manner.
|
261 |
|
262 | - Fix incorrect configuration load when using watch mode.
|
263 | - Fix watch cleanup on file removal.
|
264 |
|
265 | ## 2.0.0 Beta 9 - Dec 21st 2012
|
266 |
|
267 | Changes:
|
268 |
|
269 | - Filter duplicate files in the same module
|
270 |
|
271 | This behavior may be disabled on the resource level via the `"duplicate": true`
|
272 | attribute or at the application level with the `"filterDuplicates": false` top level
|
273 | attribute.
|
274 |
|
275 | - Files added through pattern mapping and auto-includes no longer require a config
|
276 | change to watch for changes.
|
277 |
|
278 | - Allow for disabling of all alliases with `"aliases": false`
|
279 |
|
280 | - Fix CoffeeScript plugin (@jasonwebster)
|
281 |
|
282 | ## 2.0.0 Beta 8 - Dec 16th 2012
|
283 |
|
284 | Changes:
|
285 |
|
286 | - Implement source warning framework
|
287 |
|
288 | - Update to Uglify 2.2
|
289 |
|
290 | NPM will refuse to install this under 0.8 and lower due to an upstream dependency so this is
|
291 | now optional.
|
292 |
|
293 | - Fix filtering of generated resources
|
294 |
|
295 | ## 2.0.0 Beta 7 - Dec 11th 2012
|
296 |
|
297 | Changes:
|
298 |
|
299 | - Add support for mixin file references via. mixin resource attribute.
|
300 |
|
301 | {"src": "lumbar-loader-backbone.js", "mixin": "lumbar-loader"},
|
302 |
|
303 | Mixins must define a name value in the mixin config file to utilize this feature.
|
304 |
|
305 | - Fix template auto-include in mixin contexts
|
306 |
|
307 | - Fix execution error in coffeescript plugin (needs unit tests)
|
308 |
|
309 | ## 2.0.0 Beta 6 - Dec 4th 2012
|
310 |
|
311 | Changes:
|
312 |
|
313 | - Add `template.root` property for template prefix stripping.
|
314 |
|
315 | - Removed precompiled template template.
|
316 |
|
317 | Moving forward template templates should use `{{handlebarsCall}}` to differentiate between
|
318 | precompiled and client compiled mode.
|
319 |
|
320 | ## 2.0.0 Beta 5 - Nov 25th 2012
|
321 |
|
322 | Changes:
|
323 |
|
324 | - Watch support for mixin config. Changes to mixin config files will now rebuild the project
|
325 | when in watch mode.
|
326 |
|
327 | - Allow file config independent rebuilds
|
328 |
|
329 | Adds isPrimary flag to the file config. When true this will rebuild all
|
330 | configs for a given mode. When false will ignore changes to the inputs
|
331 | when undefined will continue the default behavior of separate rebuilds.
|
332 |
|
333 | - Optimize stylus builds when using multiple pixel densities.
|
334 |
|
335 | This saves about 50% of the developer build time for mobile.walmart.com.
|
336 |
|
337 | - stylus-config plugin for sharing variables between stylus and javascript
|
338 |
|
339 | - Allow lumbar plugins to interact with the stylus compiler at runtime
|
340 |
|
341 | Allows plugins to register callbacks on the stylus generator using the `plugins` field. This
|
342 | mechanism allows additional plugins and source modifications on stylus compilation steps. The
|
343 | stylus-config plugin provides an example of this API's usage.
|
344 |
|
345 | - Optimize plugin execution loop
|
346 |
|
347 | The plugin executor now enforces async execution of async callbacks. This may break plugins that
|
348 | incorrectly took advantage of non-contract synchronous behavior in the app.
|
349 |
|
350 | - Switch to cheerio for update-externals parsing
|
351 |
|
352 | - Improve various error messages
|
353 |
|
354 | - Watch package config files for changes
|
355 |
|
356 | - CLI: Allow multiple --module parameters
|
357 |
|
358 |
|
359 | ## 2.0.0 Beta 4 - Nov 5th 2012
|
360 |
|
361 | Changes:
|
362 |
|
363 | - Allow specific modules to disable particular aliases.
|
364 |
|
365 |
|
366 | ## 2.0.0 Beta 3 - Oct 25th 2012
|
367 |
|
368 | Changes:
|
369 |
|
370 | - Improves EMFILE error handling.
|
371 |
|
372 | - Watch unit test library updates
|
373 |
|
374 |
|
375 | ## 2.0.0 Beta 2 - Oct 23rd 2012
|
376 |
|
377 | Changes:
|
378 |
|
379 | - Separated handlebars processing from template includes
|
380 |
|
381 | Handlebar templates may now be included in script array or the template lookup field. Templates
|
382 | in the lookup field are no longer required to be handlebars templates.
|
383 |
|
384 | - Template plugin now supports pattern matching includes.
|
385 |
|
386 | Example mapping for thorax template structure:
|
387 | ```javascript
|
388 | "templates": {
|
389 | "auto-include": {
|
390 | "js/views/(.*)\\.(?:js|coffee)": [
|
391 | "templates/$1.handlebars",
|
392 | "templates/$1-item.handlebars",
|
393 | "templates/$1-empty.handlebars"
|
394 | ]
|
395 | }
|
396 | }
|
397 | ```
|
398 |
|
399 | - Local module reference support
|
400 |
|
401 | Module variables are now aliased internally meaning that a module with a top level name
|
402 | `Application` can access it's exported members by accessing the `Application` object at any point
|
403 | in time. Previously initialization logic was only able to access this through the `exports` or
|
404 | `module.exports` references.
|
405 |
|
406 | Note that for top level objects this is an alias so assigning to this variable will not update the
|
407 | external reference. The default template is configured to warn in the event that it detects this
|
408 | situation.
|
409 |
|
410 | - Scope aliases
|
411 |
|
412 | It's now possible to define aliases globally via the scope.alias config object and locally by
|
413 | defining the alias object on specific modules. These alias will create local variable references
|
414 | to any javascript statement, allowing for minimization of frequently used references.
|
415 |
|
416 | Example global aliases:
|
417 | ```javascript
|
418 | "scope": {
|
419 | "aliases": {
|
420 | "View": "Application.View",
|
421 | "Application": "Application"
|
422 | }
|
423 | }
|
424 | ```
|
425 |
|
426 | - Allow filtering of resources via not structures, i.e. `"platform": {"not": "web"}` and
|
427 | `"packages": {"not": ["foo", "bar"]}`.
|
428 |
|
429 | - Allow filtering of resources based on combined module or not via the `combined` attribute.
|
430 | Undefined for all modes, true for combined mode only, false for non-combined only.
|
431 |
|
432 | - Significant rework of tests to focus more on unit testing with better edge case coverage
|
433 |
|
434 | - Fixed mixin modules implementation. Properly links to mixin files. Mixin modules may now be
|
435 | applied as mixins to other modules, have their own mixins, and be suppressed via false module
|
436 | value.
|
437 |
|
438 | ## 2.0.0 Beta 1 - Oct 9th 2012
|
439 |
|
440 | Changes:
|
441 |
|
442 | - Mixin support
|
443 |
|
444 | - Stylus useNib flag
|
445 |
|
446 | UPDATE: As of beta 2 this is no longer a breaking change. Includes referencing nib directly will
|
447 | have this flag applied.
|
448 |
|
449 | Updates nib include in stylus to utilize a named attribute. This was necessary to support mixins
|
450 | of the nib plugin. Update path for nib users is to remove the `nib` entry from the styles includes
|
451 | list and to add a `useNib` attribute to the styles object set to true.
|
452 |
|
453 | Old:
|
454 | ```javascript
|
455 | "styles": { "includes": ["nib"] }
|
456 | ```
|
457 |
|
458 | New:
|
459 | ```javascript
|
460 | "styles: { "useNib": true }
|
461 | ```
|
462 |
|
463 | - Scope
|
464 | - Possible to define both a scope and template value.
|
465 |
|
466 | - API Changes
|
467 | - config.readConfig utility method
|
468 |
|
469 | Helper method that strips out comments and other comments that causes the JSON parse to blow up.
|
470 | It's recommended that all interaction with lumbar config files use this helper method.
|
471 |
|
472 | - config.create factor method
|
473 |
|
474 | Method used for creating a config object from a javascript key-value object rather than directly
|
475 | from a file.
|
476 |
|
477 | - Moved config.fileList and config.filterResource to static lumbar.build object
|
478 |
|
479 | - Created new loadMixin and loadConfig plugin points. Plugins that need to perform mixin-specific
|
480 | behavior should implement these methods.
|
481 |
|
\ | No newline at end of file |