UNPKG

14.8 kBMarkdownView Raw
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
49Compatibility 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
124Compatibility 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
194Changes:
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
213Changes:
214
215- Fix bug while watching template files.
216
217## 2.0.0 Beta 13 - Jan 8th 2013
218
219Changes:
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
228Changes:
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
239Changes:
240
241- Fix handling of styleRoot in mixins.
242
243## 2.0.0 Beta 10 - Dec 26th 2012
244
245Changes:
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
267Changes:
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
284Changes:
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
297Changes:
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
311Changes:
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
322Changes:
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
361Changes:
362
363- Allow specific modules to disable particular aliases.
364
365
366## 2.0.0 Beta 3 - Oct 25th 2012
367
368Changes:
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
377Changes:
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
440Changes:
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