From 1152851a00bea7b819d82ef3f610618deb3e3b5c Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 31 Mar 2025 20:28:08 -0300 Subject: [PATCH 1/3] DOCS: Update roadmap with plan for modern bundlers --- v3-docs/docs/about/roadmap.md | 69 ++++++++++++++++--- .../meteor-versions/metadata.generated.js | 8 ++- v3-docs/docs/history.md | 10 +-- 3 files changed, 70 insertions(+), 17 deletions(-) diff --git a/v3-docs/docs/about/roadmap.md b/v3-docs/docs/about/roadmap.md index a3eaee5c8c..497b6ec3dc 100644 --- a/v3-docs/docs/about/roadmap.md +++ b/v3-docs/docs/about/roadmap.md @@ -4,7 +4,7 @@ Describes the high-level features and actions for the Meteor project in the near ## Introduction -**Last updated: March 6th, 2025.** +**Last updated: March 31th, 2025.** The description of many items includes sentences and ideas from Meteor community members. @@ -14,28 +14,77 @@ Contributors are encouraged to focus their efforts on work that aligns with the > If you have new feature requests or ideas, you should open a new [discussion](https://github.com/meteor/meteor/discussions/new). -### Next releases +## Current project: Bundle optimization -- Bundle optimization > We need to improve the bundle size and performance of Meteor apps. We should consider tree-shaking, code-splitting, > and other optimizations to make our apps leaner and faster. > To achieve that we plan to integrate or have an easy way to integrate with modern bundlers like RSPack, ESBuild, or Rollup. +**Discussion links:** + +- [GitHub discussion](https://github.com/meteor/meteor/discussions/11587) +- [forums discussion](https://forums.meteor.com/t/join-the-effort-to-speed-up-meteor-bundler/63406/17) + +### Implementation plan: + +#### Phase 1: Profiling + +**Target Release:** 3.2 ✅ + +**Goal:** Add a command([meteor profile](/cli/#meteorprofile)) to measure if our changes are actually making our builds faster and smaller. + + +#### Phase 2: External Bundler Integration + +**Target Release:** 3.3 ⏳ + +**Goal:** For this phase we want: + - Improve our current bundler performance, via optimizations so that any meteor user can get benefits from it; And an external bundler could get + the same benefits. + - To have an external bundler working with Meteor and producing a bundle that is smaller or faster than the current Meteor bundle. + +#### Phase 3: HMR Improvements + +**Target Release:** 3.3.x ⏳ + +**Goal:** Improve the HMR performance, so that it is faster and more reliable on what needs to be changed. + +#### Phase 4: Build Process Optimization + +**Target Release:** 3.4 ⏳ + +**Goal:** Improve the build size and make meteor use less resources for building, decreasing even more build and rebuild time. + + +#### Documentation Strategy + +We plan to document the changes in the Meteor documentation, including: +- How to use the new features +- How to integrate with the new bundler +- How the meteor bundler pipeline works for future contributors +- Examples and guides on how to integrate with the new bundler + +## Next releases + - Support package.json exports fields ([Discussion](https://github.com/meteor/meteor/discussions/11727)) - Tree-shaking -> Tree-shaking and exports fields may be implemented by integrating with more modern build tools. + + > Tree-shaking and exports fields may be implemented by integrating with more modern build tools. - Capacitor support -> Capacitor is a modern alternative to Cordova; we should provide an easy way to build mobile apps using Capacitor. + + > Capacitor is a modern alternative to Cordova; we should provide an easy way to build mobile apps using Capacitor. - MongoDB Change Streams support ([Discussion](https://github.com/meteor/meteor/discussions/11842)) -> Change Streams is the official way to listen to changes in MongoDB. We should provide a way to use it seamlessly in Meteor. It has been planned for a long time, and now we’re in a position to do it. + + > Change Streams is the official way to listen to changes in MongoDB. We should provide a way to use it seamlessly in Meteor. It has been planned for a long time, and now we’re in a position to do it. - Improve TypeScript support for Meteor and packages ([Discussion](https://github.com/meteor/meteor/discussions/12080)) -> Should be an ongoing effort to improve the TypeScript support in Meteor and packages. We should provide a better experience for TypeScript users, including better type definitions and support for TypeScript features. + + > Should be an ongoing effort to improve the TypeScript support in Meteor and packages. We should provide a better experience for TypeScript users, including better type definitions and support for TypeScript features. - Improve release CI/CD speed and reliability (optimized build times will help) -> Our CI/CD takes too long to run, causing long queues and delays in our release process and feedback loop; we need to improve that. + > Our CI/CD takes too long to run, causing long queues and delays in our release process and feedback loop; we need to improve that. ### Candidate items @@ -65,6 +114,6 @@ We need to discuss further to decide whether to proceed with these implementatio - Run Meteor on Node.js v20 - Change web engine from Connect to Express ------------ +--- -For more completed items, refer to our [changelog](https://docs.meteor.com/history.html). \ No newline at end of file +For more completed items, refer to our [changelog](https://docs.meteor.com/history.html). diff --git a/v3-docs/docs/generators/meteor-versions/metadata.generated.js b/v3-docs/docs/generators/meteor-versions/metadata.generated.js index c21367d193..43514bd19a 100644 --- a/v3-docs/docs/generators/meteor-versions/metadata.generated.js +++ b/v3-docs/docs/generators/meteor-versions/metadata.generated.js @@ -26,9 +26,13 @@ export default { }, { "version": "v3.1.2", - "url": "https://release-3-1-2.docs.meteor.com/", + "url": "https://release-3-1-2.docs.meteor.com/" + }, + { + "version": "v3.2.0", + "url": "https://release-3-2-0.docs.meteor.com/", "isCurrent": true } ], - "currentVersion": "v3.1.2" + "currentVersion": "v3.2.0" } \ No newline at end of file diff --git a/v3-docs/docs/history.md b/v3-docs/docs/history.md index ac8ec9acc1..5d0e9a93f6 100644 --- a/v3-docs/docs/history.md +++ b/v3-docs/docs/history.md @@ -10,6 +10,8 @@ This is a complete history of changes for Meteor releases. [//]: # (go to meteor/docs/generators/changelog/docs) + + ## v3.2.0, 2025-03-18 ### Highlights @@ -17,9 +19,9 @@ This is a complete history of changes for Meteor releases. - Upgrade to Node 22.14.0 & Mongo 7.0.16. - Implement `meteor profile` command to show performance metrics of Meteor apps. - Fix Meteor profiler to handle promises and display metrics correctly. -- Support for argon2 to improve password security over bcrypt. [PR #13554](https://github.com/meteor/meteor/pull/13554) -- Improve and fix package resolution logic. [PR #13604](https://github.com/meteor/meteor/pull/13604) -- Fix rare oplog issue that could cause data loss for clients. [PR #13603](https://github.com/meteor/meteor/pull/13603) +- Support for argon2 to improve password security over bcrypt. [PR](https://github.com/meteor/meteor/pull/13554)(https://github.com/meteor/meteor/pull/13554) +- Improve and fix package resolution logic. [PR](https://github.com/meteor/meteor/pull/13604)(https://github.com/meteor/meteor/pull/13604) +- Fix rare oplog issue that could cause data loss for clients. [PR](https://github.com/meteor/meteor/pull/13603)(https://github.com/meteor/meteor/pull/13603) All detailed PRs can be found here: https://github.com/meteor/meteor/pulls?q=is%3Apr+is%3Amerged+base%3Arelease-3.2 @@ -76,8 +78,6 @@ meteor update --release 3.2 - [@Seb-Dion](https://github.com/Seb-Dion) ✨✨✨ - - ## v3.1.2, 2025-02-06 ### Highlights From 33338607de6d6d7f3ec55915e8669a75514d243c Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 1 Apr 2025 10:59:20 -0300 Subject: [PATCH 2/3] DOCS: update naming in roadmap plan --- v3-docs/docs/about/roadmap.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/v3-docs/docs/about/roadmap.md b/v3-docs/docs/about/roadmap.md index 497b6ec3dc..908a42d8d4 100644 --- a/v3-docs/docs/about/roadmap.md +++ b/v3-docs/docs/about/roadmap.md @@ -34,14 +34,14 @@ Contributors are encouraged to focus their efforts on work that aligns with the **Goal:** Add a command([meteor profile](/cli/#meteorprofile)) to measure if our changes are actually making our builds faster and smaller. -#### Phase 2: External Bundler Integration +#### Phase 2: External Transpiler Integration & Bundler Improvements **Target Release:** 3.3 ⏳ **Goal:** For this phase we want: - Improve our current bundler performance, via optimizations so that any meteor user can get benefits from it; And an external bundler could get the same benefits. - - To have an external bundler working with Meteor and producing a bundle that is smaller or faster than the current Meteor bundle. + - To have an external transpiler working with Meteor and producing a bundle that is smaller or faster than the current Meteor bundle. #### Phase 3: HMR Improvements From 5adbff5d0dfe0ce6fe7bd16893a61431e7ead98d Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 1 Apr 2025 20:53:12 -0300 Subject: [PATCH 3/3] DEV: Bump express to 5.1.0 in webapp Also updated express types --- packages/webapp/package.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 6e988ec31c..c57f709f3c 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,12 +1,12 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: "2.0.5", + version: "2.0.6", }); Npm.depends({ "cookie-parser": "1.4.6", - express: "5.0.1", - "@types/express": "5.0.0", + express: "5.1.0", + "@types/express": "5.0.1", compression: "1.7.4", errorhandler: "1.5.1", parseurl: "1.3.3",