1 | To install the latest version, execute `npm install -g brunch`
|
2 |
|
3 | ## Brunch 2.9 (Oct 23, 2016)
|
4 | * Added new CLI option `--network`: sets server's hostname to `0.0.0.0`. Thanks @shreeve.
|
5 | * Reduced installation size of Brunch by 5Mb.
|
6 | * Fixed Brunch not quitting immediately after compilation finished.
|
7 | * Improved performance of loading configs and writing source maps to disk.
|
8 | * Improved config handling:
|
9 | * Trailing slashes from `config.path` are now removed. Thanks @herenow.
|
10 | * Fixed warning on `hot` option set in config.
|
11 | * Added `"inline"` option to `config.sourceMaps`.
|
12 | * Allow specifying watched globs in `getDependencies`.
|
13 | * Allow specifying `teardown` in `config.hooks`.
|
14 | * If `templates.joinTo` is empty, `javascripts.joinTo` will be used.
|
15 | * Added `bower.enabled: false` option to ignore [bower](https://github.com/bower/bower).
|
16 | * `lint` and `getDependencies` now support new promise-based single-parameter plugin API.
|
17 | * `include` supports returning Promise that resolves to an Array. Thanks @jacksonrayhamilton.
|
18 | * Various performance improvements and refactorings.
|
19 |
|
20 | ## Brunch 2.8 (May 21, 2016)
|
21 | * Added plugin API for asset compilation e.g. jade to html.
|
22 | * Watcher improvements:
|
23 | * Brunch will not try to `npm install` if only the config was changed.
|
24 | * NPM: improved handling of added & removed files during `watch`. Adding a new file will now try to re-check files that previously failed due to module resolution errors. Removing a file will now cause the files that depended on it to be re-checked.
|
25 | * Fixed a memory leak issue after watcher reload (due to config change or update in `package.json`).
|
26 | * Small API improvements:
|
27 | * Changed back to `destinationPath` (intsead of `destPath` since 2.6) in `Asset` that is received in `onCompile`
|
28 | * Moved `config.plugins.npm` to `config.npm.compilers`
|
29 | * Print a warning if a plugin from `devDependencies` fails to load.
|
30 | * NPM: `require.alias` will now be inserted only in the bundles which contain the aliased file. Previous behavior was that all output file contained all possible aliases.
|
31 |
|
32 | ## Brunch 2.7 (Apr 21, 2016)
|
33 | * Introduced support for Hot Module Replacement API with [hmr-brunch](https://github.com/brunch/hmr-brunch).
|
34 | * Added config file validation of format and types.
|
35 | * Allow JavaScript files from NPM packages to get processed with plugins (`config.plugins.npm`).
|
36 | * Fixed `entryPoint`-related warnings on Windows.
|
37 | * Brunch will now try to recover from `MODULE_NOT_FOUND` errors caused by the config, by trying to `npm install`.
|
38 | * The slashes in file paths are now normalized early. The plugins will always receive paths with UNIX-style slashes even on Windows (`/`).
|
39 |
|
40 | ## Brunch 2.6 (Apr 2, 2016)
|
41 | * Non-JS files can now output JS modules.
|
42 | * You are now able to import stylesheets from Sass, Less, CSS in JS.
|
43 | * For this to work, don't forget to enable proper config option for each plugin.
|
44 | * Added experimental support for `entryPoints`, a smarter alternative to `joinTo`:
|
45 | * `joinTo` concatenates all files that match the pattern into one
|
46 | * `entryPoints` allow you to specify first input file. Then Brunch
|
47 | automatically calculates which modules and dependencies will be used
|
48 | in the output. This way, unused files would not get compiled.
|
49 | * Add support for `BRUNCH_JOBS` environment variable to be able to specify number of jobs to process your build.
|
50 | * Fixed an issue when Brunch was forking processes even if `-j` flag was not passed which caused some extreme CPU and memory issues.
|
51 | * Deprecated `onCompile` config option in favor of new `hooks.onCompile`.
|
52 | * Fix a type error when checkin if a file was written.
|
53 | * Don't categorize node_modules as 'assets' even if they match the regexp
|
54 | * Fixed brokenness of some plugins like `static-jade-brunch`.
|
55 | * Fixes parent recompilation when a dependency changes.
|
56 | * Improved `npm install` behavior while Brunch is watching:
|
57 | * Make sure Brunch waits for it before proceeding.
|
58 | * Make it aware of `production` env flag for Heroku.
|
59 | * Small bugfix for dependency parser.
|
60 |
|
61 | ## Brunch 2.5 (Mar 22, 2016)
|
62 | * **Improved NPM support:**
|
63 | * Added support for scoped npm packages, like `@cycle/dom`.
|
64 | * Brunch will now try to `npm install` if you try to require a package that is present in `package.json` but was not installed.
|
65 | * `optionalDependencies` are now correctly ignored when not present.
|
66 | * `peerDepdenencides` are treated as required ones.
|
67 | * Improperly-cased requires (like `React` instead of `react`) will now throw compile errors.
|
68 | * Fixed npm mail file resolving which was not working before in some cases (`rx`).
|
69 | * **Support for file extensions:**
|
70 | * Brunch will now register CommonJS modules using full names of the files, and create aliases without extensions to allow you to use both styles of requires.
|
71 | * Basically these cases are possible & different now: `require('file.json')` and `require('file.js')`
|
72 | * **Parallel builds:** Bringing up to 50% performance improvement with just one simple flag.
|
73 | * You can use the `-j 2 / 4` flag with `build` / `watch` to parallelize CPU-bould tasks in your build. See [docs](http://brunch.io/docs/commands.html) for more details.
|
74 | * **React hot load support:**
|
75 | * Bumped `commonjs-require-definition` to allow resetting modules, which can be used for live JS reloading with the updated `auto-reload-brunch`
|
76 | * **Improved output** for JavaScript files.
|
77 | * Allow to specify again `conventions.vendor` as an anymatch set.
|
78 | * Fixed double inclusion of some files on Windows.
|
79 | * Fixed an issue when `joinTo` production override did not have any effect.
|
80 | * Fixed JSON file loading.
|
81 |
|
82 | ## Brunch 2.4 (Feb 23, 2016)
|
83 | * You can now simply set `config.modules = false` to disable module wrapping.
|
84 | * Brunch would now correctly include file-based aliases for NPM packages. For example, this means you would be able to load `require('moment/locales/en')` even though the file is not declared in moment's `package.json`.
|
85 | * Fixed auto-expanding of GH URLs in skeletons: `brunch new --skeleton paulmillr/brunch-with-chaplin`
|
86 | * Removed `component.js` support, which was barely supported since v2.0.
|
87 | * Added warning for versions of NPM <3, because Brunch does not work on those.
|
88 | * Improved error handling.
|
89 |
|
90 | ## Brunch 2.3 (Feb 17, 2016)
|
91 | * Small fix for `xBrowserResolve is not a function` error.
|
92 | * Fixed handling of custom web-servers for `brunch watch -s`.
|
93 | * Improved exposure of `process.env.NODE_ENV` when used in Brunch apps.
|
94 | * NPM: Fixed support for different versions of the same package.
|
95 | * Enabled NPM support by default
|
96 | * NPM: Added aliases support
|
97 | * NPM: Added support for including static files.
|
98 | * NPM: Added support for different versions of the same package.
|
99 | * NPM: Watcher would detect removed packages from users source code and
|
100 | then do a corresponding recompilation.
|
101 | * NPM: Added support for `json` files.
|
102 | * `onCompile` config option now receives modified `assets` as a second argument.
|
103 | * `server` config option now allows to specify custom `hostname`s
|
104 | * New warning: When `brunch w -s -p 3334` is used (instead of `-P`)
|
105 | * New warning: When `defaultExtension` option is used.
|
106 | It has been removed in Brunch 1.1, but many configs still have it.
|
107 |
|
108 | ## Brunch 2.2 (Jan 22, 2016)
|
109 | * Massively improved NPM integration:
|
110 | 1. Brunch would now automatically detect and extract all npm packages.
|
111 | 2. Because of this, `whitelist` property is no longer required.
|
112 | 3. Windows implementation should now work correctly.
|
113 | * `brunch new` launched with old syntax would now throw a descriptive error.
|
114 | * Improved progress indicator. It would not allow plugins to write output on top of it.
|
115 | * Added support for promises in plugins.
|
116 | * Improve compatibility with Brunch 1.x.
|
117 | * Built-in node.js modules can now be loaded in your client-side apps.
|
118 |
|
119 | ## Brunch 2.1 (Jan 1, 2016)
|
120 | * Brunch would now indicate progress for long builds, like that:
|
121 | `(4s) Compiling => Compiling. => Compiling..`
|
122 | * Massively improved debug output (`-d`) readability.
|
123 | * Now throwing correct import errors ([gh-1053](https://github.com/brunch/brunch/issues/1053), [gh-1041](https://github.com/brunch/brunch/issues/1041)).
|
124 | * NPM integration was hugely reworked. Disabled by default for now.
|
125 | 1. With `config.npm.enabled = true`, all non-brunch NPM packages
|
126 | would be loaded automatically.
|
127 | 2. To exclude packages, specify the blacklist:
|
128 | `config.npm = {blacklist: ['express']}`
|
129 | 3. To include packages manually, specify the whitelist:
|
130 | `config.npm = {whitelist: ['react', 'react-dom', 'pikaday']}`
|
131 | * Fixes an issue when NPM packages were included incorrectly on Windows.
|
132 | * `brunch build -d` is now able to receive an optional `filterer` argument
|
133 | * `brunch new` and `brunch build` hangup fixes.
|
134 | * NPM integration fixes
|
135 | * Fixes an issue when sass-brunch or similar plugins weren't compiling files correctly.
|
136 |
|
137 | ## Brunch 2.0 (Nov 19, 2015)
|
138 |
|
139 | Brunch v2 **requires node 4.0 / npm 3.0 or higher**.
|
140 |
|
141 | * `brunch new` reworked, simplified and receives new syntax:
|
142 | * `brunch new .` to create a new project in current directory from dead-simple skeleton
|
143 | * `brunch new path` to create the project in `path`
|
144 | * `brunch new . --skeleton react` to create the project from `React` skeleton
|
145 | * Now allowing to clone skeletons to dirs with `.git` directory.
|
146 | * General speed & stability improvements.
|
147 | * Rewritten in JavaScript (ES6 + Promises).
|
148 | * Switched `-p` and `-P`. `-p` now specifies `--production` build and `-P` now specifies watch server port.
|
149 | * `modules.autoRequire` should now work correctly on Windows.
|
150 | * Fixes using production flag (`-p`) with multiple optimizers [(gh-1056)](https://github.com/brunch/brunch/issues/1056).
|
151 | * Brunch would now auto-expand the following syntax to a full GitHub user / repo URL:
|
152 | `brunch new --skeleton paulmillr/brunch-with-chaplin`
|
153 | * Fix: Post `onCompile` string replaces not working.
|
154 | * Fix: Linters now get the correct `linter` context.
|
155 | * Compilation log would now use seconds instead of milliseconds for long compilations.
|
156 | * Launching Brunch on node v4< would now throw an explicit error.
|
157 |
|
158 |
|
159 | ## Brunch 1.8.5 (Aug 5, 2015)
|
160 | * Only listen to stdin (and exit when stdin is closed) when the `--stdin` CLI switch is passed
|
161 |
|
162 | ## Brunch 1.8.4 (Jul 31, 2015)
|
163 | * Add `modules.autoRequire` option that would automatically append `require('module')` to your javascript outputs.
|
164 |
|
165 | ## Brunch 1.8.3 (May 19, 2015)
|
166 | * Fix restarting watcher upon config change
|
167 | * Fix issue with npm includes that have no dependencies
|
168 |
|
169 | ## Brunch 1.8.2 (Apr 21, 2015)
|
170 | * Fix regression with `-d`/`--debug` CLI switch
|
171 |
|
172 | ## Brunch 1.8.1 (Apr 20, 2015)
|
173 | * Enabled NPM support by default. Just load any installed npm package in your code
|
174 | via `require('package')`.
|
175 |
|
176 | ## Brunch 1.8.0 (Apr 8, 2015)
|
177 | * Added experimental **NPM support** for client-side libraries.
|
178 | Just specify dependencies in `package.json` and load them within your app
|
179 | with `require('package')`. Brunch would do all the hard job for you.
|
180 | Behind config option for now (`config.npm = {enabled: true}`).
|
181 | * Ultra-simple custom webservers.
|
182 | Brunch will now consume file `brunch-server.{js,coffee}` if it exists
|
183 | and it would be used to launch a custom webserver that launches with `brunch watch --server`.
|
184 | Also, no more need to write `startServer` — just export the function with `module.exports`
|
185 | * Added `preCompile` plugins ([gh-873](https://github.com/brunch/brunch/issues/873)).
|
186 | * Compilers can now return dependencies:
|
187 | `{data: 'file-data', dependencies: ['a.js', 'b.js']}`
|
188 | * Fixed env handling for optimizers ([gh-903](https://github.com/brunch/brunch/issues/903))
|
189 | * Only listen to stdin if in persistent mode ([gh-920](https://github.com/brunch/brunch/issues/920))
|
190 | * Added **fcache** - a simple way to speed-up your plugins like sass or jade.
|
191 | fcache is a simple filesystem wrapper that allows to read files and
|
192 | to update them in cache.
|
193 | Brunch would usually update them on every change, after that your plugin
|
194 | will pull the data from RAM and would be super fast.
|
195 | * Massive improvements to file watcher.
|
196 |
|
197 | ## Brunch 1.7.20 (Dec 8, 2014)
|
198 | * Bump chokidar to 0.12.0
|
199 |
|
200 | ## Brunch 1.7.19 (Nov 17, 2014)
|
201 | * Bump chokidar to 0.11.0
|
202 | * Fix issue with undetected changes when using vim on Linux
|
203 | * Ensure `build` does not complete prematurely on slow file systems
|
204 |
|
205 | ## Brunch 1.7.18 (Oct 20, 2014)
|
206 | * File watching improvements via chokidar 0.10.1
|
207 |
|
208 | ## Brunch 1.7.17 (Sep 26, 2014)
|
209 | * Fix warnings about files joined only under default config settings
|
210 | * Warning when custom server fails to callback
|
211 | * Add `-d`/`--debug` CLI switch to easily enable debug output
|
212 |
|
213 | ## Brunch 1.7.16 (Sep 13, 2014)
|
214 | * Suppress warnings about unjoined filed meant for only specific envs
|
215 |
|
216 | ## Brunch 1.7.15 (Sep 10, 2014)
|
217 | * Fix race condition that aborted build cycle on some systems
|
218 | * Better error/warning messages for source files that do not get concatenated
|
219 | (no `joinTo` match)
|
220 | * Improved handling of `plugins.on` and `plugins.off` when used with `overrides`
|
221 | * New [config](https://github.com/brunch/brunch/blob/stable/docs/config.md) options
|
222 | * `server.command` for setting non-node.js custom server
|
223 | * Pass `server.config` settings to custom server
|
224 | * Create `absoluteUrl` option for source maps
|
225 | * Support for array of files in `pluginHelpers` config setting
|
226 | * IMPORTANT NOTE: If providing a custom node server for `brunch watch`, ensure it
|
227 | invokes the callback when ready, as brunch now waits for that before proceeding
|
228 | with build steps.
|
229 |
|
230 | ## Brunch 1.7.14 (May 21, 2014)
|
231 | * [component](https://github.com/component/component) integration
|
232 | * [anysort](https://github.com/es128/anysort)/[anymatch](https://github.com/es128/anymatch)
|
233 | integration, providing much more flexible ways to define source files in
|
234 | config such as in `joinTo` and `order`
|
235 | * [New config options](https://github.com/brunch/brunch/blob/stable/docs/config.md#plugins)
|
236 | to control which plugins are used (can be env-specific)
|
237 | * Allow `onCompile` method to be defined in Brunch config file for triggering
|
238 | custom project-specific functionality after every compile cycle
|
239 | * Default settings updates:
|
240 | * Ignore directories that start with underscore (to match filename handling)
|
241 | * Fix heroku issues
|
242 |
|
243 | ## Brunch 1.7.13 (Dec 9, 2013)
|
244 | * Fixed optimizers not actually optimizing the code.
|
245 |
|
246 | ## Brunch 1.7.12 (Nov 30, 2013)
|
247 | * Fixed syntax error in source code.
|
248 |
|
249 | ## Brunch 1.7.11 (Nov 29, 2013)
|
250 | * If you remove some file and create a file with the same name,
|
251 | it will be handled correctly.
|
252 | * Linter warnings are now handled correctly.
|
253 |
|
254 | ## Brunch 1.7.10 (Oct 19, 2013)
|
255 | * Fixed optimizers.
|
256 |
|
257 | ## Brunch 1.7.9 (Oct 16, 2013)
|
258 | * Re-release of 1.7.8 because of npm code publishing bug.
|
259 |
|
260 | ## Brunch 1.7.8 (Oct 10, 2013)
|
261 | *NOTE:* Re-published on 16 October 2013 due to npm bug.
|
262 | If installed prior to this date, it will actually run as if it is 1.7.6.
|
263 | * Switched source maps format to new (`//#`).
|
264 | Old format is still available via `config.sourceMaps = 'old'`
|
265 | * Assets dotfile ignore exception to enable copying of `.rewrite` files.
|
266 |
|
267 | ## Brunch 1.7.7 (Sep 28, 2013)
|
268 | *NOTE:* Re-published on 16 October 2013 due to npm bug.
|
269 | If installed prior to this date, it will actually run as if it is 1.7.6.
|
270 | * Fixed absolute paths exposal for plugin includes in source maps.
|
271 | * Workers are now shut down on brunch re-watch.
|
272 |
|
273 | ## Brunch 1.7.6 (Sep 20, 2013)
|
274 | * Fixed overriding `config.files` in custom environments.
|
275 | * Fixed issues with old compiler plugin versions.
|
276 | * Adopted `brunch-config` as the standard config file name.
|
277 | * Config files named `config` still work, but will be deprecated starting
|
278 | with 1.8.
|
279 |
|
280 | ## Brunch 1.7.5 (Sep 17, 2013)
|
281 | * Added experimental workers support.
|
282 | * Fixed custom enviroment bug.
|
283 |
|
284 | ## Brunch 1.7.4 (Aug 29, 2013)
|
285 | * Quick fix for `--optimize`d building.
|
286 |
|
287 | ## Brunch 1.7.3 (Aug 28, 2013)
|
288 | * Added `-e, --env` param to `build` and `watch`
|
289 | that will replace --config in 1.8.
|
290 | `env` is a dead-simple way of specifying your work environment.
|
291 | You can use `--env production` and then specify
|
292 | `config.overrides.production`, all properties of which will
|
293 | override default config. You may use more than one --env.
|
294 | * Source maps for languages which don't support source maps
|
295 | (“identity source maps”) now generated from
|
296 | compiled source (js) instead of original source (coffee)
|
297 | * Deprecated `--optimize` (use `--env production` or `--production`)
|
298 | and `--config` options.
|
299 |
|
300 | ## Brunch 1.7.2 (Aug 19, 2013)
|
301 | * Fixed windows issues with compilation.
|
302 | * Auto-watching `bower.json` for changes now.
|
303 | * Concatenate JS files in main property of bower component in valid order
|
304 | (how they were specified in `bower.json`).
|
305 | * Respect config.order.before in brunch config for bower files.
|
306 |
|
307 | ## Brunch 1.7.1 (Aug 11, 2013)
|
308 | * Local brunch package now takes precedence over global and
|
309 | will be auto-loaded on global `brunch` command.
|
310 | * Added `pluginHelpers` directive to `joinTo` configs. It allows to
|
311 | specify to which file you want stuff from plugins to be added
|
312 | (`handlebars-runtime.js`, for example).
|
313 | * `.htaccess` is now properly copied from assets.
|
314 | * Fixed issues on windows with copying many assets.
|
315 |
|
316 | ## Brunch 1.7.0 (Jul 23, 2013)
|
317 | * Added **source maps** support! Big thanks to
|
318 | [Pierre Lepers](https://github.com/plepers) and
|
319 | [Elan Shanker](https://github.com/es128).
|
320 | * Added **Twitter Bower** package manager support.
|
321 | The support is very different from modern builders.
|
322 | You don’t need to specify concat order or list all files, brunch will do that
|
323 | for you automatically.
|
324 | **But**, some packages don’t specify which files they include and
|
325 | on which packages they depend.
|
326 | You may specify `overrides` property in root `bower.json`, see
|
327 | [read-components docs](http://github.com/paulmillr/read-components)
|
328 | * Added proper **AMD support**. Just include almond.js with your AMD app
|
329 | and brunch will do require.js optimizer job for you.
|
330 | * Added ability to use multiple compilator plugins for one file.
|
331 | * Added `require.list` support to default require definition of app. This allows
|
332 | you to automatically load tests and stuff. See new [how-to-run-tests guide](https://github.com/brunch/brunch/blob/master/docs/faq.md#what-is-the-recommended-way-of-running-tests)
|
333 | * Added `config.paths.watched` which replaces
|
334 | `config.paths.{app,test,vendor,assets}`.
|
335 | * Added `config.modules.nameCleaner`, which allows you to set
|
336 | filterer function for module names, for example, change all
|
337 | definitions of app/file to file (as done by default).
|
338 | * Added `config.fileListInterval` config prop that allows to set an
|
339 | interval in ms which determines how often brunch file list
|
340 | should be checked for new files (internal property).
|
341 | * Added detailed messages of what was done to `compiled in` logs.
|
342 | * Removed files are now actually removed from compiled output.
|
343 | * Removed `config.modules.addSourceURLs` directive. Use source maps instead.
|
344 | * Improved compilation performance.
|
345 | * Improved error messages when there’s a need in `npm install`.
|
346 | * Changed syntax of `brunch new` to `brunch new <uri> [dir]`
|
347 | * Fixed advanced `conventions.assets` issues (e.g. `/styles\/img/`).
|
348 |
|
349 | ## Brunch 1.6.7 (May 8, 2013)
|
350 | * Fixed `brunch new --skeleton`.
|
351 |
|
352 | ## Brunch 1.6.6 (May 7, 2013)
|
353 | * Added `plugin#teardown` API support. With it you can stop servers in your
|
354 | plugins and stuff. It will be called after each brunch stop.
|
355 | * Added `config.notificationsTitle`.
|
356 | * Fixed double requiring of some plugins.
|
357 | * Fixed reloading of `package.json` data.
|
358 |
|
359 | ## Brunch 1.6.5 (May 6, 2013)
|
360 | * Fixed `--config` option of build / watch commands.
|
361 | * Fixed `watch` command description.
|
362 |
|
363 | ## Brunch 1.6.4 (May 5, 2013)
|
364 | * Don’t throw on missing devdependencies. Closes [gh-541](https://github.com/brunch/brunch/issues/541).
|
365 | * Reload config correctly on change. Closes [gh-540](https://github.com/brunch/brunch/issues/540).
|
366 |
|
367 | ## Brunch 1.6.3 (Apr 7, 2013)
|
368 | * Fixed watching after `npm install`.
|
369 | * `config.optimize` is taken into account if it was set manually.
|
370 |
|
371 | ## Brunch 1.6.2 (Apr 1, 2013)
|
372 | * Fixed watching of config files.
|
373 |
|
374 | ## Brunch 1.6.1 (Mar 25, 2013)
|
375 | * Fixed `brunch new`.
|
376 |
|
377 | ## Brunch 1.6.0 (Mar 24, 2013)
|
378 | * Removed `brunch generate` and `brunch destroy`.
|
379 | [scaffolt](https://github.com/paulmillr/scaffolt) is its simpler successor.
|
380 | * Removed `brunch test`.
|
381 | [Mocha-phantomjs](http://metaskills.net/mocha-phantomjs/) is its simpler
|
382 | successor.
|
383 | * Adjust config settings, if you have been using those:
|
384 | * Rename `config` file itself to `brunch-config`
|
385 | * Rename `config.minify` setting to `config.optimize`
|
386 | * Rename `config.paths.{app,test,vendor,assets}` to `config.paths.watched`
|
387 | * Rename `config.paths.ignored` to `config.conventions.ignored`
|
388 | * Rename `buildPath` to `paths.public`
|
389 | * Remove `defaultExtension` and `framework` settings
|
390 | * Use `--production` instead of `--optimize` flag, which has been deprecated.
|
391 |
|
392 | ## Brunch 1.5.4 (Mar 19, 2013)
|
393 | * Fixed `brunch generate`, switched to standalone modules for some features.
|
394 | * Added node 0.10 support.
|
395 |
|
396 | ## Brunch 1.5.3 (Feb 2, 2013)
|
397 | * When using `brunch generate`, generator will no longer overwrite
|
398 | existing files.
|
399 | * Preserved context of `include` method of plugins.
|
400 |
|
401 | ## Brunch 1.5.2 (Jan 13, 2013)
|
402 | * Improved installation process.
|
403 |
|
404 | ## Brunch 1.5.1 (Jan 11, 2013)
|
405 | * Tester no longer runs watcher by default.
|
406 | * Changed `brunch test -f REGEX` option to `-g / --grep` for consistency with
|
407 | Mocha.
|
408 |
|
409 | ## Brunch 1.5.0 (Jan 2, 2013)
|
410 | * Added ability to wrap files in sourceURLs which simplifies debugging a lot.
|
411 | Disabled by default in non-production mode, but can be disabled with
|
412 | `config.modules.addSourceURLs = false`.
|
413 | * Added `-f REGEX, --filter REGEX` option to `brunch test`.
|
414 | * `--minify` (`-m`) command line option was changed to `--optimize` (`-o`).
|
415 | The previous version is deprecated and will be removed in the future.
|
416 | This is made for plugins that will do optimizations of you application
|
417 | that are not minifications.
|
418 | * `config.modules.wrapper` now accepts full file path as first argument, instead
|
419 | of sanitized.
|
420 | * Debugging mode syntax was changed to standardized
|
421 | `DEBUG=brunch:* brunch <command>`.
|
422 | * Fixed bug when process didn’t return code "1" on compilation errors.
|
423 | * Brunch will now work only with brunch plugins that have `brunch` in their
|
424 | name.
|
425 | * Improved error handling of running brunch in non-brunch app dirs.
|
426 |
|
427 | ## Brunch 1.4.5 (Dec 14, 2012)
|
428 | * Updated base brunch with chaplin skeleton to the latest libs.
|
429 |
|
430 | ## Brunch 1.4.4 (Oct 1, 2012)
|
431 | * All errors are now deferred to the compilation end.
|
432 | Also, if you have added one error on previous compilation and one error on
|
433 | current, brunch will show both of them until they will be fixed.
|
434 | * Fixed terminal-notifier.app integration.
|
435 | * Fixed test passing.
|
436 | * Fixed `config.notifications` on ubuntu.
|
437 |
|
438 | ## Brunch 1.4.3 (Sep 2, 2012)
|
439 | * Added support of binary files to generators.
|
440 | * Improved error logging.
|
441 | * Updated built-in webserver to express.js 3.0.
|
442 |
|
443 | ## Brunch 1.4.2 (Aug 18, 2012)
|
444 | * Fixed incorrect scaffolding on windows.
|
445 | * `.git` directories are now discarded when using `brunch new` with git URL.
|
446 |
|
447 | ## Brunch 1.4.1 (Aug 8, 2012)
|
448 | * `brunch new` now allowed to take current working directory (`.`) or any
|
449 | existing directory as first argument.
|
450 | * Assets are now affected by `conventions.ignored` too.
|
451 | * Fixed linting bug.
|
452 |
|
453 | ## Brunch 1.4.0 (Aug 4, 2012)
|
454 | * Added new phenomenally simplified scaffolder:
|
455 | 1. Create `generators/` directory in your brunch application
|
456 | (directory name is customizable by `config.paths.generators`).
|
457 | 2. Create generator directory there with `generator.json` and
|
458 | files that will be generated.
|
459 | * Added conventions:
|
460 | * Conventions are configurable via `config.conventions[name]`.
|
461 | Convention can be a RegExp or Function.
|
462 | * `assets` convention: all files in directories that named as `assets`
|
463 | (default value) will be copied to public path directly.
|
464 | * `vendor` All files in directories that named as `vendor`
|
465 | (default value) won't be wrapped in modules.
|
466 | * `tests` convention: all files that end with `_test.<extension>`
|
467 | (default value) are considered as test files and will be loaded
|
468 | automatically with `brunch test`.
|
469 | * `ignored` convention: all files that start with `_` (default value)
|
470 | are considered as partial files and won't be compiled. Useful for
|
471 | Stylus / Sass languages. This replaces functionality of
|
472 | `config.paths.ignored`.
|
473 | * Added AMD support by allowing more flexibility with file wrapping:
|
474 | * `config.modules` can be an object of:
|
475 | * `config.modules.wrapper` - string, boolean or function, defines how to
|
476 | wrap files in app directory in modules.
|
477 | * `config.modules.definition` - string, boolean or function, defines
|
478 | what to add on top of every file.
|
479 | * Added linting support. Linting is a static analysis of code. Example
|
480 | tools for this are JSHint, CSSLint etc. The lint API is
|
481 | `plugin.lint(data, path, callback)`. One file can use more than one linter.
|
482 | * Added config option that disables growl / libnotify notifications.
|
483 | Usage: `config.notifications = false`.
|
484 | * Added support for Mac OS X Mountain Lion notification center.
|
485 | You'll need to place
|
486 | [terminal-notifier.app](https://github.com/alloy/terminal-notifier/downloads)
|
487 | to `/Applications/` to get it work.
|
488 | * Removed support for:
|
489 | * `config.files[lang].defaultExtension`.
|
490 | Brunch will automatically detect extension from your generator file name.
|
491 | * `config.framework`, `config.generators`. It's not needed because all
|
492 | generators are local to your application and because brunch now has
|
493 | `generators/` directory.
|
494 | * Array type of `paths.vendor` / `paths.assets`. They're replaced by
|
495 | conventions.
|
496 | * If any error happened in `brunch build`, it will exit with error code `1`
|
497 | instead of `0`.
|
498 | * Fixed commonjs `require_definition` in <IE9.
|
499 |
|
500 | ## Brunch 1.3.4 (Jul 7, 2012)
|
501 | * Fixed bug with too fast compilations.
|
502 |
|
503 | ## Brunch 1.3.3 (Jun 29, 2012)
|
504 | * Added node.js 0.8 and 0.9 support.
|
505 | * `jsdom`, required for `brunch test` can now be installed once for all apps via
|
506 | `npm install -g jsdom`. You'll need to have its parent dir in `NODE_MODULES`
|
507 | env variable.
|
508 | * Fixed `compiled in` timer and `brunch generate` bugs.
|
509 |
|
510 | ## Brunch 1.3.2 (Jun 27, 2012)
|
511 | * Fixed `brunch test` on new projects.
|
512 |
|
513 | ## Brunch 1.3.1 (Jun 22, 2012)
|
514 | * Config can now be in any language you use in app (e.g. livescript).
|
515 | * Added `--reporter` (`-r`) option to `brunch test` which allows to choose
|
516 | Mocha reporter.
|
517 | * Made require definition much easier for debugging.
|
518 |
|
519 | ## Brunch 1.3.0 (Jun 19, 2012)
|
520 | * Brunch with Chaplin is now the default application skeleton, that will be
|
521 | created on `brunch new <app>`. Old one is still available with
|
522 | `brunch new <app> -s github://brunch/simple-coffee-skeleton`.
|
523 | Chaplin is an awesome set of classes on top of Backbone.js that makes making
|
524 | big webapps very simple.
|
525 | * Added testing support (thanks to Andreas Gerstmayr):
|
526 | * [Mocha](http://visionmedia.github.com/mocha/) is used as test engine.
|
527 | It's a feature-rich, flexible and fun.
|
528 | * `brunch test` (or `brunch t`) is used to run all tests in CLI env.
|
529 | * `test` directory is now watched. Add `'javascripts/tests.js': /^test/`
|
530 | to `config.javascripts.joinTo` in `config.coffee` to compile them.
|
531 | * Improved command line API:
|
532 | * Added `github://user/repo` skeleton address schema support to
|
533 | `brunch new`.
|
534 | * Debug mode now has logger namespaces. Usage:
|
535 | `BRUNCH_DEBUG=<ns> brunch <command>` where `<ns>` is:
|
536 | `watcher`, `writer`, `*`.
|
537 | * Improved file watcher:
|
538 | * Vim backup files are now ignored by watcher.
|
539 | * Fixed watching of non-compiled files in `app`.
|
540 | * Improved config API:
|
541 | * Added support for `config.server.base`, which determines base URL from
|
542 | which to serve the app. The default value is empty string.
|
543 | * `config.paths.ignored` now doesn't need to check versus if file is
|
544 | `config.coffee` or `package.json`, it does it automatically in brunch
|
545 | code.
|
546 | * Fixed `config.paths.ignored` on windows.
|
547 | * `config.paths.vendor` is now an array, but it will be soon deprecated.
|
548 | * Changed `onCompile` plugin API. Now it receives an array of
|
549 | `fs_utils.GeneratedFile`. This makes it very rich and allows to build smarter
|
550 | reloaders. For example, the ones that reload browser tabs only on stylesheet
|
551 | change.
|
552 | * Semicolon is now added after every compiled vendor library because of some
|
553 | libs that break with brunch. Hello, Zepto!
|
554 | * Styles in `vendor` directory are now sorted correctly, before `app` files.
|
555 | * Only generated files that depend on changed in current compilation files are
|
556 | written now. Before, brunch was writing all files each time.
|
557 |
|
558 | ## Brunch 1.2.2 (May 24, 2012)
|
559 | * Brunch now outputs compilation time.
|
560 | * Assets are copied one-by-one on change, instead of copying the whole assets
|
561 | directory. This improves watcher performance by about 25%+.
|
562 | * Disabled caching in built-in webserver.
|
563 | * Improved `brunch generate`:
|
564 | * Added `--plural` option to `brunch generate`. Plural version of generator
|
565 | name is used in controllers and collections. By default, brunch does
|
566 | pluralizing instead of you.
|
567 | * Added `collection` generator to `brunch generate`. It is not included in
|
568 | `brunch g scaffold`, because it's not needed most of the time.
|
569 | * Added `collectionView` generator to `brunch generate` for Chaplin users.
|
570 | It doesn't generate corresponding `template`.
|
571 | * If `package.json` or `config.coffee` were removed during the watching, brunch
|
572 | process will exit.
|
573 | * Maximum time between changes of two files that will be considered as a one
|
574 | compilation changed from 100ms to 65ms.
|
575 |
|
576 | ## Brunch 1.2.1 (May 12, 2012)
|
577 | * Fixed persistence of process with `brunch watch` (without server).
|
578 | * Fixed watching of files on windows.
|
579 |
|
580 | ## Brunch 1.2.0 (May 12, 2012)
|
581 | * Greatly improved `brunch generate`:
|
582 | * User can now define his own generators in `config.generators`.
|
583 | * Default generators are now:
|
584 | * `controllerTest`, `modelTest`, `viewTest`, `template`, `style`
|
585 | * `controller` (generates `controllerTest` too)
|
586 | * `model` (generates `modelTest` too)
|
587 | * `view` (generates `template`, `style` & `viewTest` too)
|
588 | * `scaffold` (generates `controller`, `model`, `view` and their
|
589 | generators)
|
590 | * Improved config API:
|
591 | * Added `paths.ignored` param that redefines paths ignored by brunch.
|
592 | * `paths.assets` can now be an array of paths.
|
593 | * Improved plugin API:
|
594 | * Added support for `onCompile` method.
|
595 | It allows great & simple live browser reloaders.
|
596 | * Added pushState support to the built-in webserver.
|
597 | * Files that end with two underscores (e.g. `a.js__`) are now ignored by
|
598 | watcher and compiler because they're created by some IDEs.
|
599 | * Files in `vendor` directory are now sorted correctly, before `app` files.
|
600 |
|
601 | ## Brunch 1.1.2 (Apr 20, 2012)
|
602 | * Fixed `buildPath is deprecated` warning on new configs.
|
603 | * Fixed compiling of invalid files (`.rb`, `.png` etc).
|
604 |
|
605 | ## Brunch 1.1.1 (Apr 19, 2012)
|
606 | * Fixed compiling of `package.json`, `config` and watching of assets.
|
607 | * Fixed incorrect date in brunch logger.
|
608 | * Fixed an error when requiring custom server script.
|
609 |
|
610 | ## Brunch 1.1.0 (Apr 15, 2012)
|
611 | * Added windows support.
|
612 | * Added node.js 0.7 / 0.8 support.
|
613 | * Added support for chain compilation. For example, if `_user.styl` changes and
|
614 | `main.styl` depends on it, `main.styl` will be recompiled too.
|
615 | * `brunch watch` now also watches config & `package.json`.
|
616 | * Improved command line API:
|
617 | * Added optional `--config` param to all commands expect `brunch new`.
|
618 | Usage: `brunch build --config ios_config`.
|
619 | * Brought back `--minify` param in `brunch build` and `brunch watch`.
|
620 | * Deprecated `--output` param in `brunch build` and `brunch watch`.
|
621 | * Param `--template` in `brunch new` has been renamed to `--skeleton`.
|
622 | `--skeleton` supports relative / absolute path and git repo URLs.
|
623 | Also, git metadata is automatically removed in cloned / copied projects.
|
624 | * Improved config API:
|
625 | * `buildPath` is now deprecated, `paths.public` is used instead of it.
|
626 | * Added `paths.app`, `paths.root`, `paths.assets`, `paths.test`,
|
627 | `paths.vendor`.
|
628 | * Scripts that are not in the config[lang].order are now compiled in
|
629 | alphabetical order instead of random.
|
630 | * Made optional presence of almost all config params.
|
631 | * Improved module loader:
|
632 | * Real exceptions are now thrown instead of strings when module wasn't
|
633 | found.
|
634 | * Fixed an issue when loader cached same modules more than once.
|
635 | * Fixed an issue when loader loaded non-existing modules.
|
636 | * Greatly improved default coffee skeleton architecture:
|
637 | * Moved all collections to `models`.
|
638 | * Replaced `routers` with `lib/router`.
|
639 | * No more global variable for application bootstrapper, it can be loaded
|
640 | with `require 'application'`.
|
641 | * Switched default templates to Handlebars. Handlebars.js is a nice
|
642 | mustache-compatible template engine that supports helpers
|
643 | (`lib/view_helper`).
|
644 | * Fixed loading of non-coffeescript configs.
|
645 | * Made optional existence of `app` & `vendor` directories.
|
646 | * Node.js API now mirrors command line api.
|
647 |
|
648 | ## Brunch 1.0.3 (Apr 3, 2012)
|
649 | * Dotfiles from assets dir are prevented to be copied to build dir.
|
650 |
|
651 | ## Brunch 1.0.2 (Mar 28, 2012)
|
652 | * Removed `Cakefile` from default template.
|
653 | * Changed recommended framework in `test/spec` to Mocha.
|
654 |
|
655 | ## Brunch 1.0.1 (Mar 26, 2012)
|
656 | * Updated dependencies.
|
657 | * Fixed permissions issue with `app/assets` folder.
|
658 |
|
659 | ## Brunch 1.0.0 (Mar 14, 2012)
|
660 | * Simplified config files.
|
661 | * Default app now uses two separate files to simplify debugging: `app.js` and
|
662 | `vendor.js`.
|
663 | * Changed default naming of build directory & its subdirs. Now the style matches
|
664 | expressjs and rails.
|
665 | * `build` directory is now `public`.
|
666 | * `scripts` has been renamed to `javascripts`.
|
667 | * `styles` has been renamed to `stylesheets`.
|
668 | * Rewritten API for plugins to be framework-agnostic & much more simple:
|
669 | * All `brunch-extensions` plugins have been split into separate repos.
|
670 | * Added support for generator templates.
|
671 | * Added support for different extensions in brunch generators.
|
672 | * Added support for including files with plugins.
|
673 | * Improved command line API:
|
674 | * Added `--template` / `-t` option to `brunch new`.
|
675 | * Added `--path` `-p` option to `brunch generate`.
|
676 | * Added support for custom webservers to `brunch watch --server`.
|
677 | * Files, whose names start with `_` and files in `app/assets` are now ignored by
|
678 | compiler (but not by watcher).
|
679 | * Update backbone to 0.9.1, underscore to 1.3.1 and jquery to 1.7.1.
|
680 | * Added IcedCoffeeScript plugin.
|
681 | * Fixed Jade templates. See [jade-brunch](https://github.com/brunch/jade-brunch)
|
682 | for more info.
|
683 | * Added support for javascript config files.
|
684 | * Added debugging mode. You can enable it by prepending `BRUNCH_DEBUG=1 ` to
|
685 | brunch command.
|
686 |
|
687 | ## Brunch 0.9.1 (Feb 21, 2012)
|
688 | * Updated brunch-extensions to 0.2.2.
|
689 |
|
690 | ## Brunch 0.9.0 (Jan 10, 2012)
|
691 | * Added new API for plugins.
|
692 | * Added support for Jade, LESS and Roy. All language compilers / plugins are now
|
693 | located in separate repo,
|
694 | [brunch-extensions](https://github.com/brunch/brunch-extensions).
|
695 | * Added JS & CSS minifier.
|
696 | * CoffeeScript (instead of YAML) is now used for application configs.
|
697 | * Improved file watcher speed by 5-fold.
|
698 | * Implemented new directory structure:
|
699 | * The build directory is now generated automatically.
|
700 | * All assets (index.html, images etc.) are placed in app/assets/.
|
701 | * `main.coffee` was renamed to `initialize.coffee` for clarity.
|
702 | * `src/vendor` and `src/app` moved to `vendor` and `app`.
|
703 | * All scripts from `src/vendor` are moved to `app/vendor/scripts`.
|
704 | * Added support for CoffeeScript in `vendor/scripts`.
|
705 | * Added support for Stylus / LESS in `vendor/styles`.
|
706 | * Templates have moved from `app/templates` to `app/views/templates`.
|
707 | * Updated command line API:
|
708 | * `brunch build` and `brunch watch` now compile files in current working
|
709 | directory (instead of in `./brunch/` subdir).
|
710 | * Added `brunch generate` command. It's basically a shortcut for creating
|
711 | new model / view / router. Example usage: `brunch generate view user`.
|
712 | * Added `brunch watch --server` flag that would run http server on build
|
713 | directory. It has an optional `--port` setting.
|
714 | * Added support for node 0.6.
|
715 | * Added growl support.
|
716 | * Changed reset.styl to normalize.css & helpers.css from html5boilerplate.
|
717 | * Improvements for vendor data: support CSS in vendor/styles directory,
|
718 | support CoffeeScript (in addition to js) in vendor/scripts directory.
|
719 | * Add firebug support to stylus compiler.
|
720 | * Improved time formatting in console logs.
|