- Correctly display multi-line error messages
- Add ability to inject live-reload script into error messages
- Hide API warnings behind $BROCCOLI_WARN_READ_API env flag
- Add support for new error API
- Fail fast if
build
output directory already exists
- Print deprecation warnings for plugins only providing old
.read
API
- Add support for new
.rebuild
API, in addition to existing (now deprecated).read
API
- Throw helpful error when we encounter as-yet unsupported
.rebuild
-based plugins
- Add missing
var
- More detailed error message when a tree object is invalid
- Watcher no longer rebuilds forever when a very early build error occurs
- Fix SIGINT/SIGTERM (Ctrl+C) handling to avoid leaking tmp files
- Extract slow trees printout into broccoli-slow-trees package
- Allow the tree
cleanup
method to be asynchronous (by returning a promise).
- Update dependencies to fix
various low-severity vulnerabilities
in
broccoli serve
- Dereference symlinks in
broccoli build
output by copying the files or directories they point to into place - Sort entries when browsing directories in middleware
- Exclude
logo
andtest
directories from npm distribution
- Fix directory handling in server on Windows
- Show directory listing with
broccoli serve
when there is noindex.html
- Add
willReadStringTree
callback argument toBuilder::build
and retireBuilder::treesRead
- Update
Watcher
andBuilder
interaction to prevent double builds. - Avoid unhandled rejected promise
- Fix trailing slash handling in server on Windows
- Change
Watcher
'schange
event to provide the full build results (instead of just the directory). - Add slow tree logging to
broccoli serve
output. - Add logo
- Move process.exit listener out of builder into server
- Change
Builder::build()
method to return a{ directory, graph }
hash instead of only the directory, wheregraph
contains the output directories and timings for each tree - Avoid keeping file streams open in server, to fix EBUSY issues on Windows
Brocfile.js
now exports a tree, not a function (sample diff)
- Extract bowerTrees into broccoli-bower plugin (sample diff)
- Update dependencies
- Do not use hardlinks in bower implementation
- Remove
broccoli.MergedTree
; it has been extracted into broccoli-merge-trees (sample diff)
- Disallow returning arrays from Brocfile.js, in favor of broccoli-merge-trees plugin (sample diff)
- Remove
broccoli.makeTree('foo')
in favor of string literals (just'foo'
) (sample diff) - Remove
broccoli.Reader
- Add
--version
command line option
- Correct mis-publish on npm
- Preserve value/error on Watcher::current promise
- This version has been unpublished due to a mis-publish
- Extract
broccoli.helpers
into broccoli-kitchen-sink-helpers package
- Report unhandled errors in the watcher
- Add support for
.treeDir
property on error objects - Improve watcher logic to stop double builds when build errors happen
- Bind to
localhost
instead of0.0.0.0
(whole wide world) by default
- Overwrite mis-pushed release
- Refactor watcher logic to use promises
- Turn the hapi server into a connect middleware
- Use smaller
bower-config
package instead ofbower
to parsebower.json
files
- Add
--port
,--host
, and--live-reload-port
options toserve
command
- Update hapi dependency to avoid file handle leaks, causing EMFILE errors
- In addition to
Brocfile.js
, accept lowercasebrocfile.js
- Fix error reporting for string exceptions
- Rename
Broccolifile.js
toBrocfile.js
- Change default port from 8000 to 4200
- Make
tree.cleanup
non-optional - Rename
broccoli.read
tobroccoli.makeTree
- Bump to indicate beta status
- Remove unused
helpers.walkSync
(now in node-walk-sync)
- Extract
Transformer
intobroccoli-transform
package (now "Transform
") - Extract
Filter
intobroccoli-filter
package
- In plugin (tree) API, replace
.afterBuild
with.cleanup
- Move temporary directories out of the way
- Extract
factory.env
into broccoli-env package - Eliminate
factory
argument to Broccolifile
- Change to a
.read
-based everything-is-a-tree architecture - Various performance improvements
- Various plugin API changes
- Add
MergedTree
- Broccolifile may now return an array of trees, which will be merged
- Expose
broccoli.bowerTrees()
, which will hopefully be redesigned and go away again - Remove
Component
base class - Remove
CompilerCollection
andCompiler
base class; use aTransformer
- Remove
Tree::addTransform
,Tree::addTrees
, andTree::addBower
Builder::build
now has a promise interface as well
- Expect a
Tree
, not aBuilder
, returned from Broccolifile.js
- Fold
Reader
intoTree
- Replace
PreprocessorPipeline
andPreprocessor
withFilter
; eachFilter
is added directly on the tree or builder withaddTransform
- Bind to
0.0.0.0
instead oflocalhost
- Add
factory.env
based on$BROCCOLI_ENV
- Do not fail on invalid Cookie header
- Use promises instead of callbacks in all external APIs
- Here be dragons