{"action":"published","release":{"url":"https://api.github.com/repos/systemjs/systemjs/releases/1376866","assets_url":"https://api.github.com/repos/systemjs/systemjs/releases/1376866/assets","upload_url":"https://uploads.github.com/repos/systemjs/systemjs/releases/1376866/assets{?name}","html_url":"https://github.com/systemjs/systemjs/releases/tag/0.17.0","id":1376866,"tag_name":"0.17.0","target_commitish":"master","name":"SystemJS 0.17.0","draft":false,"author":{"login":"guybedford","id":598730,"avatar_url":"https://avatars.githubusercontent.com/u/598730?v=3","gravatar_id":"","url":"https://api.github.com/users/guybedford","html_url":"https://github.com/guybedford","followers_url":"https://api.github.com/users/guybedford/followers","following_url":"https://api.github.com/users/guybedford/following{/other_user}","gists_url":"https://api.github.com/users/guybedford/gists{/gist_id}","starred_url":"https://api.github.com/users/guybedford/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guybedford/subscriptions","organizations_url":"https://api.github.com/users/guybedford/orgs","repos_url":"https://api.github.com/users/guybedford/repos","events_url":"https://api.github.com/users/guybedford/events{/privacy}","received_events_url":"https://api.github.com/users/guybedford/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2015-06-04T14:39:39Z","published_at":"2015-06-04T14:42:08Z","assets":[],"tarball_url":"https://api.github.com/repos/systemjs/systemjs/tarball/0.17.0","zipball_url":"https://api.github.com/repos/systemjs/systemjs/zipball/0.17.0","body":"This is a big release of SystemJS that has been a long time coming as part of a two-phase transition into the new \r\nloader specification.\r\nThe goal was to include as much of the new behaviors as possible, along with the new SystemJS API upgrades while maintaining \r\nmaximum backwards-compatibility.\r\n\r\nMost previous code should continue to work fine, **provided you set `System.defaultJSExtensions: true` and use `System.config({...})`\r\nfor configuration over setting instance methods directly**. Then new best-practises and configurations are available now \r\nto start using the new API concepts.\r\n\r\nWhen we finally transition to the new loader spec, most of the APIs should then work with only simple renaming left to do\r\nwhere API names change.\r\n\r\nThe documentation and getting started guide has also been fully updated to the new APIs.\r\n\r\nSee also the Module Loader 0.17 release notes at https://github.com/ModuleLoader/es6-module-loader/releases/tag/v0.17.0.\r\n\r\n**Features**\r\n* New builds which no longer require es6-module-loader.js, but including just the necessary parts from it.\r\n  This reduces the total size of SystemJS from 16KB to 12KB and 9.5KB for the production-only CSP build.\r\n* A separate polyfills build for URL and Promise is now included in `system-polyfills.js` file, which is loaded\r\n  only when needed (mainly IE) just like we used to do for `es6-module-loader.js`.\r\n* TypeScript transpiler support\r\n* URLs are now fully supported as module names\r\n* Named exports are now provided for CommonJS modules (https://github.com/systemjs/systemjs/issues/334)\r\n* [New global shim layer allowing globals dependent on modules](https://github.com/systemjs/systemjs/blob/0.17.0/docs/module-formats.md#custom-globals)\r\n* [Plugins can now be set via configuration, with a Webpack-style loader meta](https://github.com/systemjs/systemjs/blob/0.17.0/docs/overview.md#basic-use)\r\n* New [packages configuration](https://github.com/systemjs/systemjs/blob/0.17.0/docs/config-api.md#packages) to replace contextual map\r\n* Meta configuration can now be set with wildcards, and will be additive\r\n* SystemJS will now automatically load with a script tag for maximum CSP-compatibility when loading AMD, \r\n  System.register or globals without custom shim options set.\r\n\r\n**Breaking Changes**\r\n\r\n* URLs are now first-class module names. All names are normalized into URLs into the registry as part of the normalization process, \r\nand the locate hook has been deprecated. Read https://github.com/whatwg/loader/issues/52 for more information about this.\r\n* .js extensions should not be added automatically. This is now included by default, with a backwards-compatibility mode which can\r\n  be enabled via `System.defaultJSExtensions = true;`.\r\n* When configuring SystemJS, it is now necessary to always use `System.config({})` as configuration options need\r\n  to be normalized properly into URLs.\r\n  The benefit of this is meta syntax is much easier to set as it now permits any valid specifier \r\n  eg `System.config({ meta: { './local/module.js': {...} } })`\r\n* `init` function has been deprecated for global shims.\r\n* Global shim layer dependency global reconstruction is deprecated for the new globals config option.\r\n* `System.clone` is now deprecated in favour of basic class inheritance (eg `class CustomLoader extends System.constructor`)\r\n* It is no longer possible to provide map configuration which maps into plugins (`map: { jquery: 'some!plugin' }`)\r\n* `__moduleAddress` is no longer available in ES6 modules, as `__moduleName` is now the URL reference\r\n\r\nAuthors who have created custom extension work on top of SystemJS will have more breaking changes, please feel\r\nfree to post an issue if you have any questions at all.\r\n\r\n**Deprecations**\r\n\r\nThe following deprecations are changes that are going to be deprecated in the next major release of SystemJS\r\nbut will continue to work for now.\r\n\r\nIt is advisable to upgrade code to use the newer conventions described.\r\n\r\n* Contextual map configuration has been deprecated for package map configuration. Map config therefore should now\r\n  only map strings to strings. [Read about package configuration here](https://github.com/systemjs/systemjs/blob/0.17.0/docs/config-api.md#packages).\r\n* The `\"es6\"` module format is now referenced as `\"esm\"` meaning ES6 Module. The point being that it refers to the module format\r\n  itself and not the language or language version.\r\n* The dependency meta syntax `\"deps jquery\"` has been deprecated for an array syntax \"deps[] jquery\" to indicate that\r\n  the metadata value being populated is an array.\r\n* There have been two variations of System.register - one with 3 arguments for ES6 modules and another with 4 arguments\r\n  for CommonJS and globals to be converted into by SystemJS Builder. This 4-argument form is renamed to `System.registerDynamic`.\r\n  SystemJS builder will handle this upgrade path naturally, so there isn't too much to worry about here."}}