- lscache was referenced as
cache
in InjectContext.env but communicator.js wasn' (fe8e57ec) - Communicator: Makes use of lscache object in this.env (b1bedd3f, closes #306)
- Communicator: refactor iframe building and address property typo (83cac3ea)
- TreeRunner: Prevents returning an empty callback for AMD-ish modules (1bf3aac5)
- gruntfile: Plugins bundled with release now (30886a6d)
- Communicator: communicator now only uses iframe when cross domain (3907e556)
- grunt:
- Core: Allows for multiple instances of Inject (4ee4af1d)
- grunt: adds a release task check to ensure the branch is master (d568538a)
- If you had logic that was depending on the iframe existing, then it may not always be available. Making a cross domain request will establish the iframe. (3907e556)
- Communicator, Relay: repairs broken event listener calls (951d087e)
- RulesEngine: Adds support for calling define() with no base URL (99ff467b)
- RulesEngine: Adds support for calling define() with no base URL (99ff467b)
- easyXDM has been removed from the Inject builds as of 0.6.0. As a result, IE7 requires the external inclusion of easyXDM as a Fetch Rule in order to function. This is done to reduce the total library size for the majority of users. 0.6.0 final will come with instructions for how to bring easyXDM in CORS mode for IE7 support if required.
- server.js: Inject examples now served using /recent (ce8575ea)
- Tests, AMD:Plugins Fixes normalize to use a proper ID (79568334)
- RequireContext, TreeRunner Improve handling of inline AMD (ba85df40)
- grunt:
- security: A security issue that affects the inclusion of relay.swf from relay.html has been closed. Users who did not keep their relay.html and relay.swf files in the same directory will need to remediate using the following strategy: the new relay.html file contains a
ALTERNATE_SWF_LOCATION
parameter, which can be used to specify the location of the SWF file. This will need to be done as part of the upgrade of the relay files are in different locations.
- (unreported) Deep nested AMD modules are returning an exports of
{}
instead of their contents
- #284 removed LinkJS and reverted to Regex to improve performance
- #282 easyXDM Upgraded to latest version
- #258 Stack traces are improved when JS errors are encounted
- #246 pointcuts.before and pointcuts.after are removed: Instead of using the before/after pointcuts, we encourage the use of the new addRule replacement methods. The afterFetch pointcut is still supported, although addRule itself is now deprecated. We encourage everyone to move to the new addXXRule methods.
- #255 setExpires(0) was treated as "always cache" instead of "never cache"
- #256 CSS plugin attaches properly in IE7
- #254 new rules to replace addRule: addModuleRule, addFileRule, addContentRule, addFetchRule, addPackage. This collection of rules gives the developer much greater control of the loading system, allowing any or many parts of the module loader to be circumvented. Additionally, packages can be regstered globally using addPackage.
- #244 run Inject alongside script tags: Unlike traditional AMD loaders, you are able to run Inject alongside code that checks for define and define.amd. A new method Inject.setGlobalAMD(false) allows the global define.amd to be disabled. The define.amd variable will still be available within the sandbox context. This is an incredibly useful feature if you have both script tags and Inject on your page.
- #217 remote localStorage: to improve security, when using a CDN, the remote localStorage location will be used as opposed to the primary hosting domain. This frees up the main URLs localStorage for other storage operations.
- #213 Bower Support available as the package "inject"
- #254 addRule is now deprecated
- #248 "grunt release" available for creating the release .tgz file
- #245 protect against getCurrentAMD returning null
- #216 fixed issues with parsing more complex JS
- #239 Using new AMD testing infrastructure
- #219 Removed random Travis-CI failures
- # Link.JS upgrade
- # easyXDM upgrade
- # upgraded from Class.js to Fiber.js
- #176 test for line offset is relegated to just Firefox (remove unneeded fake-error utility)
- #177 improved detection of dependencies
- #194 addRule regex fixes for Chrome 12
- #196 Relative paths do not resolve to correct absolute paths beyond immediate peer
- Introduces the afterFetch pointcut, allowing for mutation of a file before it is executed. This collapses the before/after pointcuts under one umbrella.
- AMD and Inject Plugins: We can now load plugins with a
plugin!
prefix, where "plugin" is a supported plugin. We're launching with text, json, and css. We also support AMD loader plugins - Massive push for end-user documentation: The gh-pages branch (soon to be www.injectjs.com)
- AMD tests are now external to the repository to ensure maximum compliance
- CJS tests are now external to the repository to ensure maximum compliance
- link.js used for AST integration
- added a simple flow control library to allow us to create an asynchronous queue (For things like the afterFetch pointcuts)
- The new Cross Domain library (easyXDM) requires a new configuration
- Public API Cleanup
- #171 Query string problems in relative URLs
- #170 setModuleRoot and IE9 compatibility
- #164 IE Compatibility w/ Executor
- Inject.setUseSuffix available for toggling automatic suffix appending
- setCacheKey now allows you to upgrade files and not run into localStorage conflicts
- JSDoc implemented as our standard commenting format (and now it's all commented)
- Pure JavaScript Release (no CoffeeScript)
- New Build System (node makefile.js)
- Change of internal library from Porthole to EasyXDM
- Change from Google Closure to UglifyJS
- #133 Minified asset had syntax error due to compression
- jQuery automatic AMD support removed
- #124 Resolution of debugging sourceURLs issues introduced in 0.2.4
- #116 applyRules (Rules Engine) now lets adjusted rules continue through the stack
- #118 requiring a file via different module paths misses cache
- #117 require.ensure mandates the first parameter is an array
- #115 require.clearCache fixes
- lscache upgraded to latest version
- #92 Syntax Errors in Minified Source
- #91 setExports needs to accept a function
- #86 Relative module IDs resolve properly (compliance w/ AMD)
- #82 Require.manifest handles string values properly
- #78 AMD Circular Test passes
- #71 Executor properly returning line numbers on errors
- #69 Improvements in localStorage Shim
- AMD Compliance (100%)
- Modules 1.1.1 Compliance
- Official release of the IE 6/7 Shim
- CJS Modules 1.0, 1.1, 1.1.1 tests
- #59 require() in comments no longer bring picked up
- #57 requiring with cache hits is storing the full module contents
- #56 overlapping dependencies with require.ensure only invoked once
- #33 Improved dependency extraction
- define() globally available
- Improvements to Paperboy for static content
- New command line options to build IE7 support and easyXDM support
- module.setExports() support
- Asynchronous Module Definition (AMD) support
- lscache supports an LRU
- Externalization of JSON Shim - the new JSON shim is in an external file
- #3 Resolution of localStorage limit
- #2 "this" scoped to module object
- Released under Apache Software License 2.0
- Pointcuts - the ability to inject custom code that runs before and after a given module. Enables support of non CJS modules
- localStorage expiration - a file can now be requested to expire out of localStorage after a specified number of seconds