diff --git a/config/changelog.yaml b/config/changelog.yaml new file mode 100644 index 00000000000..6ae8258d67d --- /dev/null +++ b/config/changelog.yaml @@ -0,0 +1,288 @@ +Unreleased: + date: + Added: + aaron: + benjamin: + bent: + brian: + bruce: + carlita: + carlton: + cathrin: + components: + core: + create-freesewing-pattern: + css-theme: + examples: + florent: + huey: + hugo: + i18n: + jaeger: + models: + mui-theme: + pattern-info: + patterns: + plugin-banner: + plugin-bundle: + plugin-bust: + plugin-buttons: + plugin-cutonfold: + plugin-debug: + plugin-designer: + plugin-dimension: + plugin-flip: + plugin-grainline: + plugin-i18n: + plugin-logo: + plugin-round: + plugin-scalebox: + plugin-sprinkle: + plugin-svgattr: + plugin-theme: + plugin-title: + plugin-validate: + prettier-config: + rendertest: + sandy: + shin: + simon: + sven: + tamiko: + theo: + trayvon: + tutorial: + utils: + wahid: + Changed: + aaron: + benjamin: + bent: + brian: + bruce: + carlita: + carlton: + cathrin: + components: + core: + create-freesewing-pattern: + css-theme: + examples: + florent: + huey: + hugo: + i18n: + jaeger: + models: + mui-theme: + pattern-info: + patterns: + plugin-banner: + plugin-bundle: + plugin-bust: + plugin-buttons: + plugin-cutonfold: + plugin-debug: + plugin-designer: + plugin-dimension: + plugin-flip: + plugin-grainline: + plugin-i18n: + plugin-logo: + plugin-round: + plugin-scalebox: + plugin-sprinkle: + plugin-svgattr: + plugin-theme: + plugin-title: + plugin-validate: + prettier-config: + rendertest: + sandy: + shin: + simon: + sven: + tamiko: + theo: + trayvon: + tutorial: + utils: + wahid: + Deprecated: + aaron: + benjamin: + bent: + brian: + bruce: + carlita: + carlton: + cathrin: + components: + core: + create-freesewing-pattern: + css-theme: + examples: + florent: + huey: + hugo: + i18n: + jaeger: + models: + mui-theme: + pattern-info: + patterns: + plugin-banner: + plugin-bundle: + plugin-bust: + plugin-buttons: + plugin-cutonfold: + plugin-debug: + plugin-designer: + plugin-dimension: + plugin-flip: + plugin-grainline: + plugin-i18n: + plugin-logo: + plugin-round: + plugin-scalebox: + plugin-sprinkle: + plugin-svgattr: + plugin-theme: + plugin-title: + plugin-validate: + prettier-config: + rendertest: + sandy: + shin: + simon: + sven: + tamiko: + theo: + trayvon: + tutorial: + utils: + wahid: + Removed: + aaron: + benjamin: + bent: + brian: + bruce: + carlita: + carlton: + cathrin: + components: + core: + create-freesewing-pattern: + css-theme: + examples: + florent: + huey: + hugo: + i18n: + jaeger: + models: + mui-theme: + pattern-info: + patterns: + plugin-banner: + plugin-bundle: + plugin-bust: + plugin-buttons: + plugin-cutonfold: + plugin-debug: + plugin-designer: + plugin-dimension: + plugin-flip: + plugin-grainline: + plugin-i18n: + plugin-logo: + plugin-round: + plugin-scalebox: + plugin-sprinkle: + plugin-svgattr: + plugin-theme: + plugin-title: + plugin-validate: + prettier-config: + rendertest: + sandy: + shin: + simon: + sven: + tamiko: + theo: + trayvon: + tutorial: + utils: + wahid: + Fixed: + aaron: + benjamin: + bent: + brian: + bruce: + carlita: + carlton: + cathrin: + components: + core: + create-freesewing-pattern: + css-theme: + examples: + florent: + huey: + hugo: + i18n: + jaeger: + models: + mui-theme: + pattern-info: + patterns: + plugin-banner: + plugin-bundle: + plugin-bust: + plugin-buttons: + plugin-cutonfold: + plugin-debug: + plugin-designer: + plugin-dimension: + plugin-flip: + plugin-grainline: + plugin-i18n: + plugin-logo: + plugin-round: + plugin-scalebox: + plugin-sprinkle: + plugin-svgattr: + plugin-theme: + plugin-title: + plugin-validate: + prettier-config: + rendertest: + sandy: + shin: + simon: + sven: + tamiko: + theo: + trayvon: + tutorial: + utils: + wahid: + Security: + +2.0.1: + date: 2008-09-01 + Added: + utils: + - The `measurementDiffers` method is new. + models: + - Expanded the size ranges available. + - Added the `withBreasts` models which were missing in earlier releases. + Changed: + models: + - The models data is now based on the data from the `neckstimate` method in the utils package. + Fixed: + theo: + - "[#78](https://github.com/freesewing/freesewing/issues/78): Removed inherited notches from fly shield and side piece." diff --git a/config/templates/changelog.dflt.md b/config/templates/changelog.dflt.md new file mode 100644 index 00000000000..5cf0a421e39 --- /dev/null +++ b/config/templates/changelog.dflt.md @@ -0,0 +1,20 @@ +

+ + FreeSewing.org + +
+ FreeSewing +
+ An open source platform for made-to-measure sewing patterns +

+ +# {{{fullname}}} Change log + +{{changelog}} + +## 2.0.0 + +This is the **initial release**, and the start of this change log. + +Prior to version 2, FreeSewing was not a JavaScript project. +As such, that history is out of scope for this change log. diff --git a/scripts/reconfigure.js b/scripts/reconfigure.js index 43ff109fcb4..7a847423133 100644 --- a/scripts/reconfigure.js +++ b/scripts/reconfigure.js @@ -17,14 +17,18 @@ const config = { keywords: readConfigFile("keywords.yaml"), badges: readConfigFile("badges.yaml"), scripts: readConfigFile("scripts.yaml"), + changelog: readConfigFile("changelog.yaml"), + changes: ["Added", "Changed", "Deprecated", "Removed", "Fixed", "Security"], dependencies: readConfigFile("dependencies.yaml", { version }), exceptions: readConfigFile("exceptions.yaml"), templates: { pkg: readTemplateFile("package.dflt.json"), rollup: readTemplateFile("rollup.config.dflt.js"), + changelog: readTemplateFile("changelog.dflt.md"), readme: readTemplateFile("readme.dflt.md") } }; + const packages = glob.sync("*", { cwd: path.join(config.repoPath, "packages") }); @@ -288,6 +292,32 @@ function readme(pkg, config) { return markup; } +/** + * Creates a CHANGELOG.md file for a package + */ +function changelog(pkg, config) { + let markup = Mustache.render(config.templates.changelog, { + fullname: fullName(pkg, config), + changelog: packageChangelog(pkg, config) + }); + + return markup; +} + +/** + * Generates the changelog data for a package + */ +function packageChangelog(pkg, config) { + let markup = ""; + if (pkg === "theo") { + for (let v in config.changelog) { + markup += "## " + v + "\n\n"; + } + } + + return markup; +} + /** * Make sure we have (at least) a description for each package */ @@ -362,9 +392,10 @@ function configurePatternExample(pkg, config) { } /** - * Puts a package.json, rollup.config.js, and README.md + * Puts a package.json, rollup.config.js, README.md, and CHANGELOG.md * into every subdirectory under the packages directory. - * Also creates an example dir for pattern packages. + * Also creates an example dir for pattern packages, and writes + * the global CHANGELOG.md. */ function reconfigure(pkgs, config) { for (let pkg of pkgs) { @@ -384,6 +415,10 @@ function reconfigure(pkgs, config) { path.join(config.repoPath, "packages", pkg, "README.md"), readme(pkg, config) ); + fs.writeFileSync( + path.join(config.repoPath, "packages", pkg, "CHANGELOG.md"), + changelog(pkg, config) + ); if (packageType(pkg, config) === "pattern") configurePatternExample(pkg, config); }