This log was last generated on Mon, 24 Jul 2023 18:54:49 GMT and should not be manually modified.
Mon, 24 Jul 2023 18:54:49 GMT
- Fix an issue where the git pre-push hook would allow push to go through if the script exited with error.
- Updated semver dependency
Wed, 14 Jun 2023 19:42:12 GMT
- Fix an issue where Rush would attempt to open a project's log file for writing twice.
- Fix an issue where arguments weren't passed to git hook scripts.
Tue, 13 Jun 2023 01:49:21 GMT
- (BREAKING API CHANGE) Remove unused members of the
BumpType
API. See microsoft#1335 for details. - Add
--peer
flag torush add
command to add peerDependencies - Add support for PNPM 8.
- Remove the dependency on
lodash
. - Add functionality for the Amazon S3 Build Cache Plugin to read credentials from common AWS_* environment variables.
- Write cache logs to their own file(s).
- Fix an issue where cache logging data was always written to stdout.
- Generate scripts in the Git hooks folder referring to the actual hook implementations in-place in the Rush
common/git-hooks/
folder instead of copying the scripts to the Git hooks folder. - Bump webpack to v5.82.1
Fri, 02 Jun 2023 22:08:28 GMT
- Use a separate temrinal for logging cache subsystem
- Expose beforeLog hook
- Convert to multi-phase Heft
- Use
JSON.parse
instead ofjju
to parsepackage.json
files for faster performance.
Sun, 21 May 2023 00:18:35 GMT
- Add a "forbidPhantomResolvableNodeModuleFolders" experiment that forbids node_modules folders in the repo root and in parent folders.
- Update the
RushSession.registerCloudBuildCacheProviderFactory
API to allow a cache provider's factory function to return a promise. - Add built-in plugin rush-http-build-cache-plugin
- Fix an issue where the last character in a project's path is ignored when determining which files contribute to the project's cache ID.
- Fix a performance bug in
rush version
when usingworkspace:
protocol. - (BREAKING API CHANGE) Add a property
missingScriptBehavior
to phase definitions that can be used to silence missing scripts to reduce log noise. This replaces theignoreMissingScript
property visible to the plugin API, although theignoreMissingScript
property is still supported in thecommon/config/rush/command-line.json
config file for backwards compatibility. - Flatten watch status into a single line with TTY rewrites.
Tue, 18 Apr 2023 16:39:03 GMT
rush version
will now respect theensureConsistentVersions
field inrush.json
- Bump webpack to 5.78.0
- Fix file watching on Windows in the presence of Git's fsmonitor by not watching the .git folder.
Wed, 05 Apr 2023 21:46:37 GMT
- Convert the
EnvironmentVariableNames
from an enum to a const so that its values can be referred to by type.
Fri, 31 Mar 2023 00:27:51 GMT
- Fix an issue where rush-sdk sometimes failed to load if the globally installed Rush version was older than rushVersion in rush.json (GitHub #4039)
- Modify the scheduling behavior of phased commands to schedule only the expressly enumerated phases in all selected projects, adding additional phases only where needed to satisfy dependencies.
Fri, 24 Mar 2023 08:53:43 GMT
- Add experiment
printEventHooksOutputToConsole
to allow printing outputs from event hooks to the console.
Wed, 22 Mar 2023 20:48:48 GMT
- Fix an issue where rush plugin autoinstallers would fail to install because the Rush global folder had not yet been initialized.
- Fix an issue with
rush update-autoinstaller
where it may fail with anCannot install with "frozen-lockfile" because pnpm-lock.yaml is not up to date with package.json
error.
Mon, 20 Mar 2023 20:14:36 GMT
- Update the
nodeSupportedVersionRange
inrush.json
generated byrush init
to remove Node 12 as it is no longer supported and include Node 18 as it is the current LTS version. - Extend LookupByPath to also be able to obtain the index of the remainder of the matched path.
- Include some more hooks to allow plugins to monitor phased command execution in real-time.
- Fix an issue where running
rush update-autoinstaller
without having runrush install
orrush update
first would cause a crash with an unhelpful error message.
Mon, 06 Mar 2023 20:18:01 GMT
- Do not delete the local pnpm store after all install attempts has failed.
rush purge
will still delete a local store.
Fri, 17 Feb 2023 14:46:59 GMT
- Fix a regression where "rush-sdk" failed to load older versions of "rush-lib" (GitHub #3979)
Fri, 17 Feb 2023 02:14:43 GMT
- Add code path to @rushstack/rush-sdk for inheriting @microsoft/rush-lib location from a parent process via the RUSH_LIB_PATH environment variable.
Sun, 12 Feb 2023 02:50:42 GMT
- Enable @rushstack/rush-sdk to import internal APIs from the proxied @microsoft/rush-lib instance (GitHub #3895)
Sat, 11 Feb 2023 02:04:14 GMT
- Remove runtime dependency on @rushstack/rush-sdk from the AzureStorageAuthentication class in @rushstack/rush-azure-storage-build-cache-plugin so that it can be used in isolation.
- Include operation log files in the cache, and restore them during cache hits.
Wed, 08 Feb 2023 20:27:06 GMT
Version update only
Wed, 08 Feb 2023 19:58:35 GMT
- Fix determination of the root of the current Git worktree when in a multi-worktree setup.
- Disable unused depcheck feature for upgrade-interactive.
- Fix an issue where deleting the
common/temp/node_modules
folder encounters an EPERM error and aborts.
Sun, 29 Jan 2023 20:10:17 GMT
- Allow "shellCommand" to be optionally specified for bulk custom commands, so that a centralized script can be used instead of invoking package.json scripts (GitHub #3819)
Thu, 26 Jan 2023 02:55:30 GMT
- Fix an issue with
rush add
where the approved packages files aren't updated. - Revert generation of scripts in the Git hooks folder due to various git-related issues
- Upgrade to webpack 5.75.0
Tue, 24 Jan 2023 22:30:06 GMT
- Fix linking error due to PNPM v7 local install path breaking change
- Introduce "dependsOnAdditionalFiles" configuration option to operations in rush-project.json. This option allows to pass glob (minimatch) patterns pointing to files outside of .git repository. If provided, the hash values of these files will become part of the final hash when reading and writing from cache.
- Use getRepoStateAsync to optimize performance of calculating repository state.
- Generate scripts in the Git hooks folder referring to the actual hook implementations in-place in the Rush
common/git-hooks/
folder instead of copying the scripts to the Git hooks folder.
Sun, 22 Jan 2023 04:18:44 GMT
- Fix a regression where the 'dist/scripts' folder name was named 'dist/undefined'
Wed, 18 Jan 2023 22:44:31 GMT
- Fix an issue where
create-scripts.js
does not exist duringrush deploy
. - Add install-run-rush-pnpm.js script
- Update JSZip to 3.8.0.
Thu, 22 Dec 2022 20:11:58 GMT
- Improve the experience during a rush operation when the cached credentials have expired. Now, a warning is printed instead of an error being thrown and the operation halted.
- (BREAKING API CHANGE IN @rushstack/rush-azure-storage-build-cache-plugin) Change the signature of
AzureAuthenticationBase.tryGetCachedCredentialAsync
to optionally take an object describing the behavior when credentials have expired. The behavior of the function without an argument is unchanged.
Fri, 16 Dec 2022 19:34:26 GMT
- Fix a typo in the artifactory.json template
- Writing local build cache is more robust on a network drive.
- Document default value for the "watchDebounceMs" setting
- Add "nodeSupportedVersionInstructions" property to rush.json, allowing maintainers to provide additional instructions if the user's node version is unsupported.
- (IMPORTANT) Fix a regression where the "strictPeerDependencies" setting wasn't applied for some versions of PNPM 7 due to unexpected changes of PNPM's default value (GitHub #3828)
- Fix an issue where if the package manager is PNPM 6.1.0 or newer, and
pnpmStore
is set to"local"
, then a global cache was still used. - Write local telemetry for global script actions
- Normalize all newlines in logging statements to LF. On Windows, some newlines were CRLF.
- Upgrade
npm-check
dependency from~5.9.2
to~6.0.1
- Work towards bundling the files of "@rushstack/rush-lib" (Details in GitHub #3837)
Tue, 29 Nov 2022 00:10:20 GMT
- Add new commands "rush-pnpm patch" and "rush-pnpm patch-commit" for patching NPM packages when using the PNPM package manager (GitHub #3554)
Fri, 25 Nov 2022 21:51:32 GMT
- Fix an intermittent issue when writing tar log files
Thu, 24 Nov 2022 03:57:19 GMT
- Add support for a
credentialMetadata
property in the CredentialCache. - (BREAKING API CHANGE) Change the signature of
CredentialCache.setCacheEntry
to take the credential ID and an object describing the credential instead of a credential string and an expiration date. The second argument's type now matches the return value ofCredentialCache.tryGetCacheEntry
- (BREAKING API CHANGE) Change the return type of
AzureAuthenticationBase.tryGetCachedCredentialAsync
(and, therefore,AzureStorageAuthentication.tryGetCachedCredentialAsync
) fromstring | undefined
toICredentialCacheEntry | undefined
to include the credentialMetadata.
Tue, 22 Nov 2022 23:24:56 GMT
- Add a "dependsOnEnvVars" configuration option to operations in rush-project.json. The variables specified in this option are included in the cache key hash calculation.
- The "rush setup" user prompts can now be customized.
- Make autoinstaller logging respect the
--quiet
parameter. - Add project filtering to the upgrade-interactive UI prompt. Also increases the default page size for project lists in UI to 12.
- Add a feature (behind the "cleanInstallAfterNpmrcChanges" experiment) that will cause a clean install to be performed if the common/temp/.npmrc file has changed since the last install.
Fri, 18 Nov 2022 04:02:43 GMT
- Fix performance regression from supporting git submodules
- Change files and change logs can store custom fields.
Tue, 15 Nov 2022 18:43:51 GMT
- Fix an issue where Git submodules were not handled correctly by the build cache (GitHub #1711)
Mon, 14 Nov 2022 05:15:22 GMT
- Ensure autoinstaller lockfiles are not leftover after an error
Sat, 12 Nov 2022 04:40:57 GMT
- Update the "rush init" template for command-line.json to add usage examples for integer, integer list, string list, choice list parameter kinds
Fri, 11 Nov 2022 03:51:49 GMT
- Add credentialType option for rush setup command
- Rush "setup" command works even if plugins cannot be installed
- Add support for integer, integer list, string list, and choice list parameters in plugins.
- Introduce a
rush upgrade-interactive
action that provides an interactive way to upgrade outdated dependencies. - Fix a regression from Rush 5.79.0 where "rush init" did not create the pnpm-config.json file automatically
Wed, 19 Oct 2022 23:44:02 GMT
Version update only
Mon, 17 Oct 2022 22:14:39 GMT
- Replace Travis with GitHub Actions in the
rush init
template." - Handle case in ProjectWatcher where a project contains no git tracked files or status information is or was unavailable.
- Refactor @rushstack/rush-azure-storage-build-cache-plugin to expose an API for generating and caching Azure credentials for other workloads, in addition to Storage.
- Validate the change type in changefiles during publishing.
Sat, 08 Oct 2022 02:30:30 GMT
- Add a
rush remove
command that removes one or more dependencies from a project. - Support passing a lockfile to "install-run.js" and "install-run-rush.js" to ensure stable installation on CI.
- Add missing "environmentVariables" property to "pnpm-config.json" schema to restore feature parity with "rush.json" "pnpmOptions" field.
Mon, 03 Oct 2022 23:11:35 GMT
- Add a more useful error message in cases when a merge base for
rush change
cannot be determined.
Thu, 29 Sep 2022 07:13:24 GMT
- Include the operation duration in the telemetry data that was recorded during the non-cached run when a cache hit occurs.
- Fix an error message that always says to run "rush update --purge" even if the user only needs to run "rush install --purge."
- Fix an issue where a "Current PNPM store path does not match the last one used." error will erroneously get thrown on Windows with an unchanged path, but with a forward slash instead of a backslash.
- Remove fallback from tar binary to npm 'tar' package. The npm 'tar' package would sometimes produce invalid output if the cache entry was corrupt.
- Remove gender from the git config example in rush.json
Sat, 24 Sep 2022 17:37:03 GMT
- Add a
common/config/pnpm-config.json
, which is used to specify fields likeoverrides
,packageExtensions
, andneverBuiltDependencies
that would otherwise be placed in a PNPM workspace repo's root-levelpackage.json
'spnpm
field.
- Add a
--commit
and--commit-message
flag torush change
that commits the change files automatically.
Fri, 23 Sep 2022 02:54:44 GMT
- Fix Git detection when the current working directory is unrelated to the Rush workspace.
- Fix an error that ocurred if an autoinstaller's "node_modules" folder was manually deleted (GitHub #2987)
Sat, 17 Sep 2022 00:56:37 GMT
- Add a "beforeInstall" hook to the plugin API, for plugins to examine the environment immediately before "rush install" or "rush update" invoke the package manager.
- Fix "--parallelism XX%" parsing to return a finite number of CPU cores.
- Update the "rush init" template to include .gitignore patterns for IntellJ IDEA
- Upgrade the @azure/identity and @azure/storage-blob packages to eliminate a deprecation message during installation.
- Define an environment variable RUSH_PNPM_VERIFY_STORE_INTEGRITY that can be used to enable or disable PNPM's store integrity verification during installation for performance.
Fri, 02 Sep 2022 17:49:09 GMT
Version update only
Wed, 31 Aug 2022 00:43:07 GMT
- Fix an issue where "rush add" sometimes did not work correctly if a project is nested under another project's folder
Tue, 30 Aug 2022 17:26:42 GMT
- Fixed an issue where "rush add" was not updating common-versions.json when using "--make-consistent"
Mon, 29 Aug 2022 21:09:31 GMT
- Add machine architecture information, dependency graph information, and individual build times and statuses to the telemetry file.
- Add schema validation for change files.
- Fix a minor issue with the "--rush-example-repo" template
- Update CLI docs for "rush add"
- Improve some config file documentation
- Make the project tag name syntax more strict to avoid error-prone names such as "tag:$PATH" or "tag://"
- Add validation to ensure package.json files are strict JSON and the "version" field is strict SemVer
- Add a new setting "watchOptions.debounceMs" in command-line.json
Mon, 08 Aug 2022 07:32:36 GMT
- Fix a recent regression where "rush install" would sometimes fail with "Unknown option: 'ignore-compatibility-db'"
Sat, 06 Aug 2022 05:35:19 GMT
- Validate that if shouldPublish is set, private is not set
- "rush install/update" should always set "ignore-compatibility-db=true" and print warning if the rush.json pnpmVersion specifies a version affected by this problem.
- Reorder some initialization logic so that Rush's change analysis is not counted as part of the build time for the first project
- (BREAKING API CHANGE) Rename cyclicDependencyProjects to decoupledLocalDependencies
Tue, 28 Jun 2022 03:31:01 GMT
- Disable build cache for operations with no corresponding operationSettings entry in rush-project.json, and provide a clear message about why.
- When the
projectName:normalize
token is used in a cache ID, remove the@
character from the scope. - Reduce default maxInstallAttempts to 1
- Improve logging of file locations when using the Heft build tool
Fri, 10 Jun 2022 22:17:51 GMT
Version update only
Fri, 10 Jun 2022 21:54:49 GMT
Version update only
Fri, 10 Jun 2022 20:01:47 GMT
- Introduce a "rush-pnpm" shell command for invoking native PNPM commands in a Rush workspace
Fri, 27 May 2022 00:50:06 GMT
- Write local telemetry for all phased commands, including partial runs when running in watch mode.
- Export the list of workspace packages to the pnpmfile shim.
Wed, 11 May 2022 22:21:40 GMT
- Add a new
afterExecuteOperations
hook to phased command execution. This hook is used for the console timeline view and the standard result summary.
Tue, 10 May 2022 01:20:58 GMT
- Fix handling of erroneous undefined values when printing
rush list --detailed
- Update watcher to only schedule operations impacted by the detected change. A behavior difference will only be observed for repositories that define a phase with no dependencies.
- Fix handing of the
strictPeerDependencies
option when using PNPM >= 7.0.0. - Update the
postRushInstall
hook to always run, and move its execution to after telemetry is written. - (BREAKING CHANGE) Remove the "xstitchPreferredVersions" property from common-versions.json and the CommonVersionsConfiguration API.
- Correct a warning that is printed during "rush change" to only be concerned with unstaged changes.
- Include tags in the
rush list
output.
Fri, 06 May 2022 18:54:55 GMT
- Provide ability for phased script commands to internally invoke "rush install" prior to execution.
Tue, 03 May 2022 21:52:56 GMT
- Fix an issue where "rush list --json" prints non-json output in a repo that uses rush plugins with autoinstallers.
Fri, 29 Apr 2022 05:22:05 GMT
- Disable legacy skip logic when build cache is enabled.
- Report status of projects with an empty script as "did not define any work," instead of as "from cache."
- Add a -- parameter to git command invocations that accept user input to prevent arbitrary arguments from being passed.
- Remove the @deprecated label from
RushConfigurationProject.packageJson
.
Sat, 23 Apr 2022 02:13:20 GMT
- Upgrade "tar" dependency to eliminate spurious security vulnerability for "minimist" package
- Remove requirement that custom parameters associated with a phased command must also be associated with one or more phases. This allows for custom parameters that will only be interpreted by plugins.
Tue, 12 Apr 2022 02:58:47 GMT
- Fix an issue where running the "install-run-rush" script with the "--help" parameter won't install Rush.
Tue, 12 Apr 2022 01:52:38 GMT
- Fix watch-mode phased commands when rush.json is not in the repository root. Fix watch-mode change detection on Linux.
Sat, 09 Apr 2022 02:24:40 GMT
- (BREAKING CHANGE) Update references to the default branch to reference "main" instead of "master".
Fri, 08 Apr 2022 23:10:18 GMT
Version update only
Fri, 08 Apr 2022 06:16:59 GMT
- Expose APIs for managing Azure credentials from @rushstack/rush-azure-storage-build-cache-plugin.
- Add flushTelemetry hook
- Fix an edge case where
rush update
fails in a PNPM workspaces repo with no dependencies. - Fix some issues with "rush add"'s ability to determine which version to use when adding a dependency that is already present in the repo.
- Add support for percentage values for --parallelism flag, eg. "50%".
- Improve retry logic in the Amazon S3 cloud cache plugin and improve reporting when the user is not authenticated.
- Add an additional plugin to rush-azure-storage-build-cache-plugin that can be used to prompt for Azure authentication before a command runs.
- Change the way "rush change" prints long lists of package names to include an "(and more)" line after the first five listed by name.
- Add a "tags" field to project definitions in rush.json. These may be used to select projects, for example, "rush list --only tag:my-custom-tag".
- Fix a typo in output of
rush change -v
Fri, 01 Apr 2022 04:51:31 GMT
- Add support for suppressing startup information to invocations of
rush
,rushx
, and theinstall-run-rush
scripts. - Add --timeline option for more detail generated at end of rush build
- Expose plugin hooks for phased command execution: the "createOperations" hook allows customizing the set of operations to execute, and the "waitingForChanges" hook gives plugins an opportunity to display data to the console while output is paused.
Sat, 26 Mar 2022 00:47:39 GMT
- Fix an issue where the build cache is never written to.
- Fix broken README links for @microsoft/rush-lib documentation and API reference.
Tue, 15 Mar 2022 19:18:12 GMT
- Reinstall automatically if monorepo folder is moved
- Fix resolution of change file paths when rush.json is not in the root of the Git repository.
- Fix the "selected operations" logging for commands that skipped projects to only display the operations that will be executed.
- For watch mode commands, allow the command to continue even if the initial build fails.
- Allow adding of aliased child packages.
- Add plugin hooks for global and phased commands and allow plugins to tap into command execution by command name, or into the execution of any command by command kind.
- Fix a typo in the "rush add" command-line help.
Tue, 15 Feb 2022 01:40:57 GMT
- Remove the lib/index.mjs file from the @rushstack/rush-sdk package. This package must be CommonJS.
- Do not load the PowerShell User Profile for running the AsyncRecycler task
Fri, 11 Feb 2022 02:18:05 GMT
- Fix an issue where the git tag would not include the prerelease portion of the version, which will cause subsequent publishes of the same version to not be tagged.
Thu, 10 Feb 2022 03:21:41 GMT
- Add the ability to forcibly replace bad cache entries generated by issues in a previous Rush release.
- Fix an issue where the dependencies of lockstep-versioned projects aren't bumped when the lockstep-versioned projects' versions are bumped. This issue only arose in the scenario when the lockstep-versioned projects' version bumps are driven by the change type in the changefiles and not by the "nextBump" property in "common/config/rush/version-policies.json"
- Fix an issue where "rush setup" reported a TypeError when invoked from Git Bash
- Fix a bug where
rush change --verify
would not find the correctcommon/changes
folder if therush.json
is not in the Git repo's root folder. - Add support for rush-sdk to be bundled with Webpack.
- Add watch mode support to "phased" command definitions via the "watchOptions" property with a subfield "watchPhases". This separates the initial command phases from the phases run by the file watcher, e.g. so that the initial execution can pull from cache and the watch mode execution can use a separate incremental build phase.
Sun, 06 Feb 2022 04:59:08 GMT
- Fix an issue where cache entries in certain circumstances would be missing files in nested subfolders. For full details see microsoft#3211.
Sat, 05 Feb 2022 00:55:18 GMT
- Add support for directly invoking a script that depends on
rush-sdk
from inside a Rush repo. - Add support for a new URL-based version specifier in PNPM lockfiles.
- Add support for specifying a custom S3 endpoint. This is useful for using a custom S3 provider.
- Optimize invocation of tar to use stdin instead of a temporary file.
- Revise architecture of symbolic link scan to use a queue and parallel file system calls.
- Create separate tar logs per phase based on cache id.
- Pack tar to a temp file, then move into the cache to ensure cache integrity.
- Fix git-hooks folder check failing when compared paths have different drive letter casing
Wed, 02 Feb 2022 04:03:24 GMT
- Bump tar dependency to have a minimum version of 5.0.10.
Fri, 28 Jan 2022 21:03:58 GMT
- Update the built-in cache provider plugins (rush-amazon-s3-build-cache-plugin and rush-azure-storage-build-cache-plugin) to apply for all commands, enabling cloud caching for custom phased and bulk commands.
- Allow build cache to be enabled for custom bulk commands.
Thu, 27 Jan 2022 02:30:10 GMT
- Update node-fetch dependency version to address CVE-2022-0235
Sat, 22 Jan 2022 04:22:52 GMT
- (EXPERIMENTAL) Allow common/config/rush/command-line.json to specify the build command as a phased command without specifying all of the options required by the schema. The remaining options will come from the default. This is already supported when a partially-specified build command has "commandKind" set to "bulk".
- Fix an issue where Git Bash "tar" does not handle Windows paths correctly.
- (EXPERIMENTAL) Improve the RUSH_BUILD_CACHE_WRITE_ALLOWED environment variable behavior so that it also affects the local build cache. This saves CPU cycles on CI machines that only run a single build. It also avoids cache writes for watch mode commands.
- Refactoring to support upcoming watch mode improvements: Rework the task execution engine to interact with the task queue using the ECMAScript async iteration protocol (GitHub #3043)
- Fix project change detection when a new project is added to a repo that uses PNPM with useWorkspaces=false (GitHub #3183)
Sat, 22 Jan 2022 03:17:59 GMT
- (EXPERIMENTAL) Fix a regression for the plugins feature, which caused an error message "command-line.json defines a command 'build' using a name that already exists" (GitHub #3155)
Thu, 20 Jan 2022 02:46:15 GMT
- Fix the "allowWarningsInSuccessfulBuild" option in bulk commands defined in common/config/command-line.json.
- (BREAKING CHANGE) The experimental config file options "skipPhasesForCommand" and "addPhasesToCommand" have been temporarily removed until their design can be better formalized.
- Include NodeJS 16 in the range of supported versions (
nodeSupportedVersionRange
) in therush.json
file generated byrush init
. - (BREAKING CHANGE) Some experimental fields have been renamed in "config/rush-project.json". Please see UPGRADING.md for details.
Fri, 07 Jan 2022 02:34:59 GMT
- Fixes a regression that broke "rush build" completely when not using the "--only" parameter.
Fri, 07 Jan 2022 01:21:44 GMT
- Fixes a regression in bulk command execution when using "unsafe" selector parameters, e.g. "--only". Ensures that only the projects selected by the parameters get included in the build, rather that forcibly including all dependencies.
Thu, 06 Jan 2022 22:18:13 GMT
- Update the "rush init" template to enable pnpm workspaces and to merge the pnpm-lock.yaml file as text.
- Fix an issue that occurs when running a command with a selection argument with a Git ref (like
--from git:main
) in a repo with a pnpm lockfile larger than 1MB. - Fix an issue with installing Git hooks that occurs when the rush.json folder isn't at the repo's root.
- (BREAKING CHANGE) Remove the experimental command "rush write-build-cache", since it is no longer needed and would be incompatible with phased builds. If you need this command for some reason, please create a GitHub issue.
- Add support for phased commands behind the multiPhaseCommands experiment.
- Update "rush init" to write files with OS-default line endings (CRLF on Windows, LF otherwise) instead of always writing CRLF line endings.
Thu, 16 Dec 2021 05:39:21 GMT
- Fix an issue where Rush's Git hooks were broken if another tool such as Husky had tampered with the
core.hooksPath
(GitHub #3004) - Provide a more useful error message if the git version is too old.
- Allow "rush list" to be invoked while other rush processes are running in the same repo.
- For project selection parameters such as "rush build --to git:REF", improve the diff analysis to detect which individual projects are impacted by a modification of the PNPM lockfile (GitHub #3050)
- Allow multiple remote URLs to be specified in the rush.json in the new repository.urls field.
- (BREAKING CHANGE) Replace the RushConfiguration repositoryUrl field with repositoryUrls to support multiple remote URLs specified in rush.json.
Thu, 09 Dec 2021 00:24:47 GMT
Version update only
Fri, 03 Dec 2021 02:16:10 GMT
- Add support for the "filterLog" hook in common/config/rush/.pnpmfile.cjs
- (EXPERIMENTAL) Ability to load third-party plugin packages that customize the behavior of Rush
- Fix an issue where parameter values containing spaces are incorrectly passed to global scripts.
- Parameters such as "--to" and "--from" now accept selector expressions: "version-policy:NAME" indicates the set of projects belonging to a publishing version policy. "git:REF" detects the set of projects that have been modified since the specified Git revision; for example, this allows a Rush command to process only the projects modified by a PR branch. (GitHub #2968)
- Improved the change detection logic to work correctly when a second rush.json appears in a subfolder.
- (EXPERIMENTAL) Add a new NPM package "@rushstack/rush-sdk" for use by Rush plugins
- Stop deleting the pnpm-store after failed workspace installs. Usually a multiple failure is due to a network error or a package that does not exist in the registry, not an issue with the pnpm-store.
Thu, 28 Oct 2021 23:49:31 GMT
- Add CI skipping to default version & changelog commits
- Update suggested version of NPM
- Fix update-autoinstaller with NPM
- Streamline rushx output and add quiet flag.
- Include support for adding multiple packages with the "rush add" command.
- Update the package.json repository field to include the directory property.
- Fix the error message printed when
--interactive
is passed torush update-cloud-credentials
and the cloud cache provider is Amazon S3. - Mark Node 16 as the current latest LTS version.
- support
--debug-package-manager
install options for yarn
Tue, 12 Oct 2021 22:26:25 GMT
- Fix an issue where a version field isn't parsed correctly when using NPM version 7 and newer.
Thu, 07 Oct 2021 23:44:52 GMT
- Fix typo when project dependencies do not match the current shrinkwrap
- Use ITerminal in the rush-lib API instead of Terminal to allow for compatibility with other versions of @rushstack/node-core-library.
- Add a new parameter "--detailed" for the "rush list" command
- Print the full event hooks output if the --debug paramter is specified.
- Upgrade the
@types/node
dependency to version to version 12.
Wed, 22 Sep 2021 22:54:17 GMT
- Add ability to customize tag separator
- Lock node-fetch dependency to 2.6.2 due to an incompatibility with 2.6.3 in the Azure Cloud Cache Provider.
- Add a "--check-only" parameter to "rush install" to check the validity of the shrinkwrap without performing a full install.
- Fix an issue where
rush update-autoinstaller
does not use the repo's .npmrc
Fri, 10 Sep 2021 23:20:00 GMT
- Fix an issue where the incremental build should use caching or skipping, but not both (GitHub #2891)
- Cache rush-project.json reads
- Fix an issue where the build cache did not respect "allowWarningsInSuccessfulBuild" (GitHub #2803)
- Add an experiment "buildCacheWithAllowWarningsInSuccessfulBuild" to allow caching for projects with warnings (GitHub #2803)
Mon, 23 Aug 2021 21:34:46 GMT
- Add properties to the extraData section of the telemetry file for parameter usage in the install commands
- Add .heft to .gitignore file generated by rush init
Fri, 13 Aug 2021 22:45:36 GMT
- When build cache is enabled in
rush build
, allow projects downstream to be satisfied from the cache if applicable. Cache reads will still be disabled forrush rebuild
.
Wed, 11 Aug 2021 23:16:09 GMT
- The --debug flag now also shows additional diagnostic information.
- Update JSZip dependency.
- Adds support for the project subset selection parameters ("--to", "--from", etc., documented at https://rushjs.io/pages/developer/selecting_subsets/) to the "rush list" command.
- Allow the tar binary path to be overridden via the RUSH_TAR_BINARY_PATH environment variable.
Sat, 17 Jul 2021 01:16:04 GMT
- (Breaking change) Remove the experimental "--disable-build-cache" command line parameter.
- When the experimental build cache is enabled, "rush rebuild" now forces cached projects to be rebuilt (GitHub #2802)
Thu, 15 Jul 2021 01:47:18 GMT
- Fix incremental build state calculation when using filtered installs
Tue, 13 Jul 2021 23:03:01 GMT
- Fix an issue where the "--no-fetch" "rush change" parameter would cause a "git fetch" and absence of that parameter wouldn't fetch.
Tue, 13 Jul 2021 06:22:09 GMT
- Expose APIs useful for determining which projects have changed on the current branch compared to another branch.
Fri, 09 Jul 2021 01:44:18 GMT
- Add RUSH_ALLOW_WARNINGS_IN_SUCCESSFUL_BUILD environment variable
- Prevent "rush change" from prompting for an email address, since this feature was rarely used. To restore the old behavior, enable the "includeEmailInChangeFile" setting in version-policies.json
- The "rushx" command now reports a warning when invoked in a project folder that is not registered in rush.json
- Fix the build-cache.json cacheEntryNamePattern description of the [normalize] token.
- When selection CLI parameters are specified and applying them does not select any projects, log that the selection is empty and immediately exit.
- Fix an issue where files restored by the build cache did not have a current modification time
- Upgrade the "rush init" template to use PNPM version 6.7.1; this avoids an important regression in PNPM 6.3.0 where .pnpmfile.cjs did not work correctly: pnpm/pnpm#3453
- Fix a JSON schema issue that prevented "disableBuildCache" from being specified in command-line.json
- Removed dependency on chokidar from BulkScriptAction in watch mode, since it adds unnecessary overhead.
Sat, 15 May 2021 00:02:26 GMT
- For the experimental build cache feature, eliminate the RUSH_BUILD_CACHE_WRITE_CREDENTIAL environment variable; it is replaced by several new variables RUSH_BUILD_CACHE_CREDENTIAL, RUSH_BUILD_CACHE_WRITE_ALLOWED, and RUSH_BUILD_CACHE_ENABLED
- Take pnpm-workspace.yaml file into consideration during install skip checks for PNPM
- Fix a build cache warning that was sometimes displayed on Windows OS: "'tar' exited with code 1 while attempting to create the cache entry" (GitHub #2622)
- Fix an issue where "rushx" CLI arguments were not escaped properly (GitHub #2695)
- Allow rush-project.json to specify incrementalBuildIgnoredGlobs (GitHub issue #2618)
- Remove support for PNPM < 5.0.0 and remove the "resolutionStrategy" option
- Update "rush init" assets to use newer versions of Rush and PNPM. If you are looking to use PNPM < 6, you must rename the initialized ".pnpmfile.cjs" file to "pnpmfile.js". For more information, see: https://pnpm.io/5.x/pnpmfile
- Transform package.json using pnpmfile before checking if a Rush project is up-to-date
- Add support for the Yarn "resolutions" package.json feature.
Tue, 04 May 2021 20:26:15 GMT
- Fix an issue where the buildCacheEnabled setting was not applied correctly
Tue, 04 May 2021 02:45:20 GMT
- Remove "buildCache" setting from experiments.json; it is superseded by "buildCacheEnabled" in build-cache.json
- Add a "rush init" template for build-cache.json
- Temporarily downgrade the "@azure/identity" to eliminate the keytar native dependency (GitHub issue #2492)
Fri, 30 Apr 2021 00:32:16 GMT
- Fix a regression in the S3 cloud build cache provider
Wed, 28 Apr 2021 17:54:16 GMT
- Improve diagnostic messages printed by the rush build cache
- Fix an issue where Rush fails to run on Windows when the repository absolute path contains a space
- Use simpler and more accurate check before skipping installs
Fri, 23 Apr 2021 22:48:23 GMT
Version update only
Fri, 23 Apr 2021 22:03:08 GMT
- Allow prerelease versions of PNPM to be used in workspaces mode
Thu, 22 Apr 2021 23:07:51 GMT
- Fix bad installs with when using pnpmfile in PNPM 6
Wed, 21 Apr 2021 23:38:22 GMT
- Ensure that pnpm-workspace.yaml is always fully regenerated during "rush install" or "rush update"
- Fix support for pnpmfile in PNPM 6.
Tue, 20 Apr 2021 19:04:04 GMT
- Print diagnostic information to a log file "/.rush/build-cache-tar.log" when the native "tar" is invoked.
- The Amazon S3 build cloud cache provider can now use buckets outside the default region
- Add support for PNPM 6
Sat, 17 Apr 2021 00:17:51 GMT
- Add --json and --all param to rush scan
- Fix "rush deploy" having "includeDevDependencies" turned on to deploy "devDependencies" for rush projects only
Thu, 08 Apr 2021 06:09:52 GMT
- Add "--ignore-git-hooks" flags to "publish" and "version" commands to prevent the execution of all git hooks
- Fix parameter name typo.
- Eliminate a spurious warning that was displayed on Azure DevOps build agents: A phantom "node_modules" folder was found.
- Fix an issue where "rush change" reported "Unable to find a git remote matching the repository URL" when used with SSH auth
- Fix an issue where "rush publish" reported 403 errors if the package version included a SemVer build metadata suffix
- Partially deprecate RUSH_TEMP_FOLDER environment variable
- Validate changefiles against a schema when running 'rush change --verify'
Mon, 29 Mar 2021 05:57:18 GMT
- Don't validate the shrinkwrap when running 'rush update'
- Gracefully handle a simultaneous upload to Azure Storage.
- Update rush publish -p flag description
Wed, 17 Mar 2021 05:07:02 GMT
- Fix installation-time behavior of "omitImportersFromPreventManualShrinkwrapChanges" experiment.
- Don't upload build cache entries to Azure if the cache entry already exists.
- Replace the AWS dependencies with use of the Amazon S3 REST API.
- Add support for anonymous read from an Amazon S3-hosted cache.
Tue, 16 Mar 2021 00:30:38 GMT
- Add experiment to exclude the "importers" section of "pnpm-lock.yaml" from the "preventManualShrinkwrapChanges" feature.
Fri, 12 Mar 2021 02:11:24 GMT
- Temporarily disable the AWS S3 credential provider logic to mitigate a problematic peer dependency (GitHub #2547)
Wed, 10 Mar 2021 06:25:44 GMT
- Add AWS S3 support to the experimental build cache feature
Wed, 10 Mar 2021 05:12:41 GMT
- Fix an issue where "rush install" could stall indefinitely because a network request did not handle timeouts properly
- Allow merge conflicts in repo-state.json to be automatically resolved.
- Add a RUSH_INVOKED_FOLDER environment variable so that custom scripts can determine the folder path where Rush was invoked (GitHub #2497)
- Add
preferFrozenLockfileForUpdate
option to minimize lockfile churn by passing --prefer-frozen-lockfile to pnpm during defaultrush update
.
Tue, 02 Mar 2021 23:27:41 GMT
- Fix a regression where certain Rush operations reported a TypeError (GitHub #2526)
Tue, 02 Mar 2021 06:22:01 GMT
- Improve cache read/write perf by attempting to use the "tar" binary.
- Fix default text in rush.json generated by "rush init."
- Fix an issue where Rush would fail to restore from cache but report success when Git isn't present.
Tue, 23 Feb 2021 03:26:25 GMT
- Account for indirect dependencies when ordering projects in "rush build" if the intermediary dependencies are excluded by selection parameters.
Tue, 23 Feb 2021 00:01:20 GMT
- Make Rush per-project manifest generation more reliable and remove PNPM shrinkwrap validation
Sun, 21 Feb 2021 01:05:53 GMT
- Fix an issue where "rush setup" did not work correctly with NPM 7.x due to an NPM regression
Fri, 19 Feb 2021 06:28:28 GMT
- Allow usage of Node.js 8.x since we received feedback that some projects are still supporting it
Fri, 19 Feb 2021 01:45:27 GMT
- Fix a minor issue with the "rush init" template
Wed, 17 Feb 2021 01:35:11 GMT
Version update only
Wed, 17 Feb 2021 01:34:11 GMT
- (EXPERIMENTAL) Add a "--disable-cache" parameter for disabling the build cache.
- (EXPERIMENTAL) Add a "disableBuildCache" setting in command-line.json for disabling the build cache.
- (EXPERIMENTAL) Add options in rush-project.json for disabling the build cache for entire projects, or for individual commands for that project.
- Normalize selection CLI parameters for "rush install"
- Add experimental "rush setup" command
- Add an experimental new config file common/config/artifactory.json for enabling Artifactory integration
Sat, 13 Feb 2021 03:14:52 GMT
- Convert the experimental "--watch" parameter into a "watchForChanges: true" setting in command-line.json, based on user feedback
- Disable build cache after initial build when "--watch" is specified. This saves disk space, reduces CPU usage, and improves compatibility with downstream file watcher processes (e.g. "webpack --watch").
Thu, 11 Feb 2021 04:06:02 GMT
- Add a new parameter "--watch" that watches for filesystem changes and rebuilds the affected Rush projects; this feature can also be used with custom bulk commands (GitHub #2458, #1122)
- Improve the wording of some log messages
Mon, 01 Feb 2021 20:42:04 GMT
- Add new command-line parameters for bulk commands: "--to-except", "--from", "--only", "--impacted-by", "--impacted-by-except", and "--from-version-policy" (GitHub #2354)
- Change the short name for "--changed-projects-only" to be "-c" (so that "-o" can be used for the new "--only" parameter)
- Change the "--from" parameter so that it now includes all dependencies as people expected. To skip dependencies, use the new "--impacted-by" parameter. (GitHub issue #1447)
Sat, 30 Jan 2021 01:50:27 GMT
- Improve performance of association of repo file states with projects to speed up build commands in large repos.
- Add
publishFolder
property to the project configuration to allow publishing a sub-folder of the project - Add support for --from flag for filtered installs when using workspaces
- Fix an issue where the Rush cache feature did not correctly detect files that were both tracked by git and were expected to be cached build output.
- Improve logging for the "rush write-build-cache" command
- Correct some spelling mistakes in rush.json
- Fix an error "Cannot get dependency key" sometimes reported by "rush install" (GitHub #2460)
- Updade the "rush init" template to specify PNPM 5.15.2, which fixes a performance regression introduced in PNPM 5.13.7
Thu, 21 Jan 2021 04:51:19 GMT
- Update Node.js version checks to support the new LTS release
- Update rush.json produced by rush init to use PNPM 5.14.3
- Use forward slashes when creating deploy zip file for Unix compatibility
Fri, 08 Jan 2021 06:12:37 GMT
- Fix an issue where projects with empty scripts would still have arguments appended.
Fri, 08 Jan 2021 05:36:55 GMT
- Allow the git binary path to be overridden via the RUSH_GIT_BINARY_PATH environment variable.
- Introduce an experimental build cache feature.
- Add the ability to customize the commit message used when "rush version" is run.
- Remove the "experimental" label from some Rush commands that are now stable.
Tue, 03 Nov 2020 23:34:30 GMT
- Fix bug where version process is using a wrong
git.addChanges
signature
Fri, 30 Oct 2020 05:17:42 GMT
- Fix a recent "rush scan" regression (which resulted from enabling "esModuleInterop")
Wed, 28 Oct 2020 21:44:10 GMT
- Adds an --ignore-hooks flag to every rush action that skips event hooks during execution of the action.
- Fix bug where version process was not adding version-policy configuration file changes into the version commit
Sat, 17 Oct 2020 00:23:18 GMT
- When running
rush version --bump
, only include package.json updates in the generated commit - Fix Rush peer dependency validation when satisfied with a package alias
- Prevent
rush unlink
from breaking installs for non-workspace projects - Add documentation for incremental option for buld custom commands
Wed, 30 Sep 2020 21:04:15 GMT
- Update to build with @rushstack/heft-node-rig
- Update README.md
- Upgrade compiler; the API now requires TypeScript 3.9 or newer
Mon, 21 Sep 2020 22:00:03 GMT
- Fix an issue where "rush build" output was lagged due to stream-collator not activating streams aggressively enough
- Fix incorrect "successful" exit status code
Thu, 17 Sep 2020 07:13:04 GMT
- Fix a regression that reported an error "The EnvironmentConfiguration must be initialized before values can be accessed"
Thu, 17 Sep 2020 01:23:35 GMT
- Big redesign of "rush build" console reporting (fixes GitHub #2135)
- Implement RUSH_GLOBAL_FOLDER environment variable (GitHub #2187)
- Use underscores instead of asterisks for italic formatting in changelogs to match the way Prettier formats italics in markdown.
- In PNPM 5, --no-lock and --resolution-strategy flags have been removed. Do not pass these flags if they are not supported by the PNPM version used in the repository.
Fri, 21 Aug 2020 22:45:58 GMT
- Fix an issue where PNPM would sometimes prompt for input during "rush publish" (GitHub #1940)
- Fix an issue that prevented Rush from logging in verbose mode
Thu, 20 Aug 2020 18:25:41 GMT
- Fix issues where installs could fail after running 'rush version' while the 'usePnpmFrozenLockfileForRushInstall' experiment is enabled. See PR #2116 for more details.
- Fix an issue where "rush deploy" would sometimes report an "already exists" when using the "files" setting in package.json (GitHub #2121)
- Allow multiple simultaneous invocations of "rush deploy" (GitHub #2125)
- Load and validate local projects lazily to further improve Rush startup times.
Wed, 19 Aug 2020 00:17:48 GMT
- Add support for shell tab completion. See PR for details: microsoft#2060
- Use Import.lazy() to optimize the startup time for Rush
Tue, 18 Aug 2020 03:48:56 GMT
- Fix an issue where install-run.js sometimes assigned the shell PATH incorrectly due to inconsistent character case
Fri, 14 Aug 2020 21:03:48 GMT
- Resolve issue with version --bump where the wrong hash would get written to the pnpm-lock file
Fri, 14 Aug 2020 04:06:30 GMT
- Change method used to calculate integrity of tarballs
Thu, 13 Aug 2020 00:53:43 GMT
- Update temp project tarball integrities during rush bump
Wed, 12 Aug 2020 19:33:44 GMT
- Updated project to build with Heft
- Fix an issue where "rushx" did not pass additional command-line arguments to the package.json script (GitHub #1232)
Fri, 07 Aug 2020 21:09:05 GMT
- Fix an issue where Mac OS sometimes reported "An unrecognized file .DS_Store was found in the Rush config folder"
Wed, 05 Aug 2020 17:57:07 GMT
- Fix an issue where a package version bump would not bump downstream packages with a
workspace:*
dependency specifier.
Thu, 23 Jul 2020 23:47:59 GMT
- Fixed an isssue where the "rush build" incremental analysis sometimes reported a warning with large diffs (GitHub #501) or filenames that contain spaces, quotes, or other unusual characters (GitHub #2007)
- Prevent incorrect conversion to "workspace:" notation for peer dependencies when running "rush update --full"
Fri, 17 Jul 2020 05:32:38 GMT
- Prepare to deprecate 'rush link' and 'rush unlink' commands, as well as the '--no-link' install argument. As we move toward using package managers more directly in Rush, the package managers will perform the linking during install (if linking is even necessary). Additionally, these commands directly conflict with (and have different meanings than) their package manager counterparts. Lastly, similar goals can be accomplished by running 'rush install' and 'rush purge'. In addition to these changes, rush-link.json deprecated and is replaced with a new API which keeps the local dependency tree in memory.
Thu, 16 Jul 2020 02:18:39 GMT
- Consider package.json when determining if install can be skipped for PNPM workspaces
Tue, 14 Jul 2020 05:20:56 GMT
- Give "rush deploy" the ability to select a subset of dependencies to copy over (#1978)
- Fix an issue where package binaries where not created by "rush deploy" (#1982)
- Add a new setting "folderToCopy" and new command-line parameter "--create-archive" for use with "rush deploy"
Wed, 08 Jul 2020 06:56:47 GMT
- Add preliminary workspaces support for PNPM
- Add new commands "rush init-autoinstaller" and "rush update-autoinstaller"
- Add support for filtered installs when using workspaces
Fri, 03 Jul 2020 06:16:09 GMT
- Added support for new format used by pnpm for tarball URLs that now begin with an @ symbol
Thu, 02 Jul 2020 01:52:18 GMT
- Improve "rush deploy" to copy PNPM workaround links (fixes GitHub #1942 and 1943)
Mon, 29 Jun 2020 18:39:59 GMT
- Fix an issue where environment variable trimming for .npmrc was unnecessarily performed on comment lines
- Add a "rush init" template for .npmrc-publish
- Fix a regression affecting GitHub specifiers for package.json dependencies (issue #1749)
Sun, 21 Jun 2020 04:48:53 GMT
- Improve "rush deploy" to apply pnpmfile.js when calculating dependencies
Mon, 15 Jun 2020 01:26:24 GMT
- Breaking change for the experimental "rush deploy" feature: Simplify the config file design, based on the discussion from GitHub #1906
Thu, 11 Jun 2020 05:34:31 GMT
- Fix an issue where Git hook scripts failed in some environments due to CRLF newlines
Thu, 11 Jun 2020 05:05:30 GMT
- Fix some minor errors in the "rush init" template that occured when Prettier reformatted the template file macros
- Add a sample Git hook file to the "rush init" template
- Fix a minor issue where "rush link" failed if no projects were defined yet in rush.json
- Add "--no-verify" for commits performed by "rush version", since Git hook scripts may fail on CI machines
Wed, 10 Jun 2020 23:53:27 GMT
- Add new command-line.json setting "autoinstallerName"
Mon, 08 Jun 2020 18:04:35 GMT
- Explicitly assigning the option value for --resolution-strategy. This fixes a crash with pnpm v5, which deprecated the option.
- Fix an issue where install-run.js is not able to find its own .bin in PATH
- Fix an issue where "rush install" sometimes skipped regenerating temporary packages, which is incompatible with PNPM's "--frozen-lockfile" feature
Thu, 04 Jun 2020 22:50:56 GMT
- Fix an issue where "rush deploy" generated incorrect symlinks on Mac OS if the target folder was symlinked (GitHub #1910)
Wed, 03 Jun 2020 05:35:19 GMT
- Expect error when trying to resolve optional dependency during deploy
Tue, 02 Jun 2020 03:11:32 GMT
- Fix an issue where the "linkCreation" defaulted to "none" instead of "default"
Mon, 01 Jun 2020 08:48:49 GMT
- Set next LTS node version to 14.
- Add new "rush deploy" command that copies subsets of files/symlinks to a deployment folder
Thu, 28 May 2020 22:49:57 GMT
- Fix an issue where Rush cannot reinstall itself on Windows
Thu, 21 May 2020 15:41:59 GMT
- Add a new rush.json setting "allowMostlyStandardPackageNames"
- Add RUSH_PARALLELISM environment variable for specifying the --parallelism default
Fri, 15 May 2020 08:10:59 GMT
- Fix a few instances of missing spaces in --help documentation.
- Provide an option to pass --frozen-lockfile to pnpm for rush install
Wed, 22 Apr 2020 18:44:26 GMT
- Add common-versions.json to the set of files that, when changed, will trigger reinstallation of dependencies.
Wed, 15 Apr 2020 03:33:55 GMT
- Fix a regression in Rush 5.19.0 where customizing "rush rebuild" would call the "build" script instead of the "rebuild" script.
- Fix an issue where, on some minimal systems, Rush used a missing shell command to detect an application path.
- Fix an issue where the common/temp/*.tgz files resulted in different shrinkwrap files on different operating systems
Sat, 04 Apr 2020 00:38:29 GMT
- Add a new rush.json setting "preventManualShrinkwrapChanges" which prevents against accidental mistakes in pnpm-lock.yaml.
- Upgrade node-tar
- Remove some misleading log output for "rush build" (GitHub #1733)
Wed, 18 Mar 2020 01:23:22 GMT
- Replace dependencies whose NPM scope was renamed from
@microsoft
to@rushstack
- Support setting environment variables for package manager install processes in rush.json and expose --max-install-attempts as a parameter for rush install/update.
Sat, 07 Mar 2020 05:36:08 GMT
- Make the event hook failure message print in yellow.
- Improve phrasing of an error message.
- Add a new command-line.json setting "required" for non-optional parameters
- Implement
pnpmOptions.pnpmStore
and RUSH_PNPM_STORE_PATH, to allow the end-user to define where PNPM will place its store. - Add a --json flag for "rush check" to facilitate automation
Wed, 12 Feb 2020 21:51:19 GMT
- Support "." as a value for the --to and --from parameters to build to the current project.
- Improve security by allowing the "rush publish" authentication token to be specified via an environment variable.
Tue, 28 Jan 2020 03:57:30 GMT
- Fix an issue where a missing "repository" property in rush.json would cause "rush change" to throw.
Tue, 28 Jan 2020 01:35:53 GMT
Version update only
Tue, 28 Jan 2020 01:08:26 GMT
- Fix an issue where the rushx command will always report error.
- Fixes "too many params" and "unable to find ref v" issues in git tagging while publishing.
Sat, 25 Jan 2020 05:15:10 GMT
- Fix an issue with install-run.js, where successful executions exit with a nonzero exit code.
Sat, 25 Jan 2020 04:19:23 GMT
- Make the default branch and default remote configurable.
- Fix an issue where the Rush process terminates without any error message during installation/linking, due to a dependency package that broke its SemVer contract (GitHub #1713)
- Update package.json files without reformatting or reordering properties and fields during "rush add", "rush version" and "rush publish".
- Upgrade Node typings to Node 10
- Update the "rush init" .gitignore file to ignore .rush/temp and .DS_Store folders
- Improve command-line.json handling so that the "rush build" and "rush rebuild" commands can be extended without having to duplicate the built-in options (GitHub #1375)
- Add a --json flag for "rush list" to facilitate automation
Sat, 11 Jan 2020 05:38:55 GMT
- Don't use the
build
verb when printing task failures - Add a --commit command-line argument to the publish command to allow the git commit to be explicitly provided for tagging.
- Update GitHub project URL in some resource files
- fix typo in version-policies.json
Tue, 26 Nov 2019 00:53:52 GMT
- Resolve an issue where git tags were not being applied when using pack or publish with --include-all
Thu, 21 Nov 2019 00:50:15 GMT
- Remove an error thrown when the --registry and --pack arguments are used on rush publish, because --registry might be required to check if a package has already been published against a custom registry.
- Fix an issue with Rush add, where Rush was unable to add unpublished local projects as dependencies.
Thu, 14 Nov 2019 22:52:48 GMT
- Add a new setting "implicitlyPreferredVersions" in common-versions.json that can be used to solve some installation failures involving peer dependencies
- Improve the generation of shrinkwrap-deps.json to consider optional peer dependencies and implicitlyPreferredVersions=false
- Fix an issue where certain operations did not use a stable sort when executed on older versions of NodeJS
Fri, 25 Oct 2019 20:15:59 GMT
- Log to console instead of throwing when an unmet peer dependency is encountered during linking, and strictPeerDependencies is false
- Refactor some code as part of migration from TSLint to ESLint
Thu, 17 Oct 2019 00:41:01 GMT
- Support PNPM 4 on Rush
- Add support for "rush add" for repos using the Yarn package manager.
Thu, 10 Oct 2019 23:47:19 GMT
- Fix an issue where build commands can fail because git commands used to track changes can be too long.
- Fix compatibility issue where PNPM 4 requires --no-prefer-frozen-lockfile instead of --no-prefer-frozen-shrinkwrap
Tue, 08 Oct 2019 22:58:33 GMT
- Improve 'rush build' to avoid rebuilding unnecessarily when the package-lock.json file has changed (pnpm only).
Wed, 02 Oct 2019 01:18:02 GMT
- Add an --all flag to "rush add" to add a dependency to all projects.
- Add options to rush change to allow creating changefiles for all changed projects.
- Rush update now prints a message when the approved packages files are out-of-date, and rush install exits with an error if they are out-of-date.
- Include peerDependencies in the approved packages files.
- Make detection of changefiles and changes in projects safer.
- Update repository URL
Fri, 27 Sep 2019 22:34:50 GMT
- Improve support for pnpm lockfile version 5.1. Also fixes a regression in Rush 5.12.0 in which rush install can fail on pnpm 3.5+ with the error message "ERROR: Invalid Version"
Wed, 11 Sep 2019 21:41:34 GMT
- Add support for incremental custom commands. This change also adds a per-project
.rush/temp
folder that should be included in.gitignore
(i.e. -.rush/temp/**
). - Add a --from-version-policy option for bulk commands to allow running the command (like build) from packages with a version policy and their direct and indirect dependent projects
- Update documentation
- Do not delete the pnpm store if an installation retry fails. Delete the pnpm store if and only if all the installation retry attempts fail.
Tue, 10 Sep 2019 19:45:15 GMT
- Fix an issue where Rush attempted to add Git tags for packages that had already been published when the publish command is run with the --pack and --apply-git-tags-on-pack flags. This caused a fatal error when tags already existed.
Wed, 04 Sep 2019 19:01:42 GMT
- Adding --apply-git-tags-on-pack flag to the publish command to apply git tags when using --pack
- For rush publish and rush version, change the path spec for git add to include everything from the repo root directory. This addresses microsoft#669.
- Add support for NPM package aliases (i.e. dependency versions such as "npm:example@^1.2.3")
- Fix an issue with rush change that occurs when rush.json isn't in the repository root.
Fri, 23 Aug 2019 03:31:52 GMT
- Some optimizations for --to, --from, and cyclic dependency detection for repos with large numbers of projects.
- Ensure install-run-rushx script is updated during "rush update"
Wed, 21 Aug 2019 22:13:26 GMT
- Add support for the RUSH_PREVIEW_VERSION environment variable to the install-run-rush script.
- Add support for the RUSH_TEMP_FOLDER environment variable in the install-run-rush script.
- Add install-run-rushx script to enable easy execution of the rushx command in CI
Fri, 16 Aug 2019 05:15:17 GMT
- Refactor build action to allow generating build graph statically
- Security updates.
- Fix validation of hotfix changes in a hotfix-enabled branch
- Clarify that "rush update --full" should be run when changing certain settings
Fri, 26 Jul 2019 23:08:23 GMT
- Fix critical path computation for projects
- Normalize the casing of a temp folder specified with RUSH_TEMP_FOLDER.
Fri, 26 Jul 2019 08:34:03 GMT
- Generate skeleton BuildXL script modules for each package
- Allow building with newer versions of Node during development
- Add experimental rush-buildxl package
- Ensure the filesystem paths that Rush uses have the same character casing that exists on disk.
- Tweak NodeJS version warning messages and add suppressNodeLtsWarning option to rush.json to suppress non-LTS version warning.
- Do not terminate rush execution if a temp project lacks an entry in the PNPM shrinkwrap. Instead, allow the program to continue so that PNPM can update the outdated shrinkwrap. This fixes #1418 microsoft#1418.
Thu, 18 Jul 2019 00:07:46 GMT
- Make event hooks run from the folder that contains the rush.json file.
- Fix 1392 "rush install not working on pnpm 3.5" by getting the temporary project dependency key from the shrinkwrap file. See microsoft#1392.
Tue, 16 Jul 2019 19:36:08 GMT
- Prevent non-hotfix changes from being applied to hotfix branches
- Use the shrinkwrap from temp for "rush link" as the committed shrinkwrap may not always be up to date as a result of shrinkwrap churn optimization. See microsoft#1273 (comment) for more details about shrinkwrap churn optimization.
Thu, 11 Jul 2019 22:00:50 GMT
- Fix for issue microsoft#1349 rush install fails when there is a preferred version with a peer dependency. This was caused by file format changes in pnpm 3.x
- Fix an issue where "rush add" erroneously believes ensureConsistentVersions is unset.
- Fix an issue that arises when "rush add" is run and the package manager isn't installed.
- Fix an issue where rush add -m doesn't corretly update the common-versions.json file.
- Fix an issue where rush change will detect unrelated changes.
- When rush change detects no changes, clarify that no relevant changes were detected in the case that changes were in a package not versioned by rush'
- Fix microsoft#1347: rush link was failing on pnpm 3+ with the changes in shrinkwrap format with regard to peer dependencies. Rush now resolves the path to the local project accurately by referring to the shrinkwrap rather than figuring out the path on its own.
Sat, 29 Jun 2019 02:47:42 GMT
- New action added to list package name for all projects
- Add ability to opt out of changelog files for version policies.
- Workaround for pnpm issue 1890: pnpm/pnpm#1890. Fixes the issue of "rush update --full" not working correctly if the internal copy of the pnpm shrinkwrap "common/temp/node_modules/.shrinkwrap.yaml" exists even though Rush deletes the formal copy in "common/temp/shrinkwrap.yaml".
Thu, 13 Jun 2019 04:46:18 GMT
- Fix an issue where custom command-line parameters weren't passed to projects' builds.
Tue, 11 Jun 2019 02:26:20 GMT
- (BEHAVIOR CHANGE) Fix an issue where CI jobs could succeed even if a task reported warnings to stderr; if your build fails due to warnings after upgrading, please see microsoft#1329
Tue, 11 Jun 2019 01:28:33 GMT
- Add a new setting "ignoreDependencyOrder" in command-line.json
- Clarify "rush change" messages.
- Improve 'rush version' to fetch before checkout, which avoids an error in cases where the branch wasn't fetched.
- Fix typo in command-line help for "rush add"
- Fix an issue where "rush build" ignored changes to a project with an empty build script (GitHub #1282)
Mon, 06 May 2019 21:03:32 GMT
- Allow colons in command line action names (add missing dependency from 5.7.2)
Mon, 06 May 2019 19:52:37 GMT
- Allow colons in command line action names
Wed, 24 Apr 2019 06:32:17 GMT
- Fix an issue where Rush sometimes failed to parse versions from PNPM 3.x's pnpm-lock.yaml
- Update the .gitattributes file written by "rush init" to use a better syntax highlighter for JSON files
Tue, 23 Apr 2019 07:55:34 GMT
- Add support for PNPM version 3 (which changed the shrinkwrap file name to "pnpm-lock.yaml")
- Add a new rush.json setting "pnpmOptions.resolutionStrategy"
Mon, 15 Apr 2019 06:40:00 GMT
- Add support for string parameter for custom commands.
- Remove the obsolete "--release-type" option which only worked if you used a specific version of gulp-core-build-typescript
- Adds --no-verify to git push during a rush publish
Mon, 25 Mar 2019 03:15:21 GMT
- Update the "rush init" template with a .gitattributes rule to allow comments in JSON files
- Add ability to publish partial prereleases
Thu, 21 Mar 2019 23:09:56 GMT
- Publish: pass auth token through to npm view when checking if package exists
Mon, 18 Mar 2019 04:48:37 GMT
- Remove the "rush check" step from the travis.yml template, since this is now handled by "ensureConsistentVersions" from rush.json
- Improve "rush change" to ignore the ".git" file extension when appended to the "repository.url" setting in rush.json
Fri, 15 Mar 2019 03:21:02 GMT
- Add "--set-access-level" parameter for "rush publish" to control whether NPM packages are published as "public" or "restricted"
- Add a "dependencies" configuration property to version-policies.json to customize the way dependency versions are published and stored in source control
- Add support for the Yarn --ignore-engines, exposed as yarnOptions.ignoreEngines in rush.json
- Add the ability to configure the version bump and publish git commit message, exposed as gitPolicy.versionBumpCommitMessage in rush.json
- Fix an issue with "rush publish --pack" when using yarn.
- Remove the "rush check" step from the travis.yml template, since this is now handled by "ensureConsistentVersions" from rush.json
- Fix an issue where "rush change" sometimes could not detect changes correctly when invoked on a forked GitHub repo
- Fix an issue where "rushx" and "rush build" did not search for commands in the current project's local node_modules/.bin folder (GitHub issue #706)
- The
--debug
parameter now automatically breaks in the debugger when an InternalError is thrown - Support overriding 'build' and 'rebuild' commands in command-line.json
- Update README.md
- Change "rush build" to print stdout if stderr is empty and a task fails. This improves Webpack support
Thu, 13 Dec 2018 02:58:10 GMT
- Remove unused jju dependency
- Properly handle Git worktrees
- Updated to use the new InternalError class for reporting software defects
Wed, 05 Dec 2018 20:14:08 GMT
- Add user read permission to copied Git hooks
Fri, 09 Nov 2018 02:14:11 GMT
- Include an environment variable option to create symlinks with absolute paths.
Wed, 07 Nov 2018 21:04:35 GMT
- For NodeJS 10, require at least LTS (10.13.0)
- Install rush and package managers in a node version-specific folder under the user's home directory
- Added support for git hooks
- Remove all dependencies on the "rimraf" library
- Upgrade fs-extra to eliminate the annoying "ERROR: ENOTEMPTY: directory not empty, rmdir" error that occasionally occurred during "rush link"
Thu, 25 Oct 2018 23:20:40 GMT
- Remove use of a deprecated Buffer API.
- Fix an issue with "rush change" on NodeJS 10.
- Fix an issue where "rush install" sometimes would incorrectly ask for "rush update", when using the Yarn package manager
- Improve sorting of @rush-temp projects, which may reduce churn of hashes in the shrinkwrap file
- Expose safeForSimultaneousRushProcesses to custom commands
- Add 'variants' feature and command-line parameter
Wed, 17 Oct 2018 03:19:43 GMT
- Make rush purge also call rush unlink
- Fix an issue where "rush publish" invoked the wrong command when using Yarn
- Install optional dependencies, except w/ npm<5.0.0
Thu, 11 Oct 2018 23:58:16 GMT
- Remove warning for NodeJS 10 now that it is stable (LTS)
Mon, 08 Oct 2018 23:19:51 GMT
- Change "rush check" so that it considers "cyclicDependencyProjects" and ensures they are consistent or listed in "allowedAlternateVersions"
- Fix a recent regression where "rush link" was failing for NPM/Yarn because hard links don't support relative paths
- Make sure npm package does not exist before publishing
Wed, 03 Oct 2018 00:01:18 GMT
- Fix an issue where after running "rush add" (after successfully running "rush install"), the new package was not being installed or linked.
- Fix an incorrect default in the "rush init" template comments
Fri, 28 Sep 2018 20:36:48 GMT
- Add "ensureConsistentVersions" configuration which runs "rush check" before certain commands
- Add a new command "rush add" for managing package.json dependencies
- Rush now detects some package.json errors such as the same package name being listed in both "dependencies" and "optionalDependencies"
- Update "rush link" to use relative paths when creating symlinks, to facilitate building Docker images
Thu, 13 Sep 2018 21:57:21 GMT
- Fix an issue where "rush init" failed because its ".gitignore" template was excluded from the package
Thu, 13 Sep 2018 19:34:37 GMT
- Add a "rush init" command for scaffolding new monorepo folders
- Allow "rush scan" to be used without a rush.json configuration
Sat, 08 Sep 2018 20:57:32 GMT
- Update "repository" field in package.json
- Add support for PNPM's --strict-peer-dependencies feature
- Add support for the Yarn package manager (this is a "beta" feature; please report any issues you encounter!)
Fri, 31 Aug 2018 23:10:31 GMT
- Add "--prefer-frozen-shrinkwrap false" to the "pnpm install" command line as a workaround for pnpm/pnpm#1342
- Skip validation of the Git email address if Git is not installed, or if rush.json isn't in a Git working directory, or if no policy was defined
Wed, 29 Aug 2018 07:05:22 GMT
- Fix an issue where rush install will fail if git isn't installed.
- Fix an issue where "rush -h" didn't print help for the "build" and "rebuild" commands, unless invoked under a Rush folder
- Improve command-line help for "rush build"
- Fix regression causing "ERROR: EEXIST: file already exists"
Thu, 23 Aug 2018 00:08:41 GMT
- Fix capitalization of new "filePath" API property
Wed, 22 Aug 2018 20:58:58 GMT
- git st
- When saving config files, Rush should include the "$schema" directive
- Fix a regression where "rush version" sometimes failed with "The value for entries[0].comments.dependency[0].author is undefined"
- When updating common-versions.json and version-policies.json, preserve the existing comments and whitespace
Sat, 18 Aug 2018 01:27:39 GMT
Version update only
Sat, 18 Aug 2018 01:21:59 GMT
- Fix typo in rush error message
- Add a flag to "rush install" which runs the package manager in a verbose logging mode.
- Remove package.json from rush-lib constants. Add public API for creating changefiles.
- Fix an issue where "rush version" would fail with a useless error message if the Git user email is not specified.
- Update lodash.
- Add a "--network-concurrency" command-line option to help troubleshoot the ECONNRESET error that people occasionally have reported ( pnpm/pnpm#1230 )
Sat, 30 Jun 2018 00:57:22 GMT
- Update peerDependencies when bumping package versions (issue #668)
- Add allowedAlternativeVersions setting to common-versions.json config file
- Fix an issue where PNPM shrinkwrap file parser did not handle relative/absolute version paths correctly
- Print each project's build time during the summary
- Fix an issue where the common/temp/.npmrc file could contain missing environment variable tokens
- Rush now creates common/scripts/install-run.js and install-run-rush.js scripts to formalize how CI jobs bootstrap tooling dependencies
- Enable the "rush rebuild" and "rush build" commands to work without a Git repository
- Add support for RUSH_TEMP_FOLDER environment variable to customize the location of Rush's commonTempFolder
- Fix an issue where if package-deps.json fails to parse, the build fails
- Improve "rush link" to create node_modules/.bin launchers for local project dependencies (not just installed external dependencies)
- Update rush.json schema to allow requested versions (e.g. Rush or the package manager) to be a prerelease SemVer pattern
- Fix annoyance where "rush update" (formerly "rush generate") would always change the integrity hash for tarball entries in shrinkwrap.yaml
- Fix an issue where Rush's .npmrc configuration was not honored when spawned via an NPM lifecycle script; in general the process environment is now more isolated
- Rush now warns when phantom node_modules folders are found
- Relax the rush.json version check for rush-lib; future versions are now accepted as long as the major/minor parts match
- Fix a regression where builds would sometimes fail with a zero exit code due to NodeJS's handling of uncaught Promise rejections
- Improve "rush check" to ignore peer dependencies, since they don't need to be consistent with everything else (and generally won't be)
- (Breaking change) Replace pinned-versions.json with a more general common-versions.json that can track other cross-project dependency versions
- (Breaking change) In common-versions.json, rename the "pinned versions" concept to "preferred versions", and separate the XStitch versions into their own field
- Report an error if the package manager version is too old
- (Breaking change) Redesign command-line.json config file to support other command types
- (Breaking change) Rename custom-commands.json to be command-line.json
- Add support for "global" commands in custom-commands.json
- When using PNPM, remove some NPM bug workarounds that probably caused problems for "pnpm install"
- Add a lock file to avoid race conditions when the Rush version selector is installing rush-lib
- Fix a problem where the "rush-recycler" folder was not getting cleaned on macOS
- (Breaking change) Remove unused RushConfiguration.homeFolder API
- Add RUSH_PREVIEW_VERSION environment variable for piloting new versions of Rush
- Add new command "rush purge" for cleaning up temporary files
- Fix an issue where rush-recycler wasn't emptied if a folder exceeded the Windows MAX_PATH
- Minor improvements for logging
- When installing tools, always copy the repo's .npmrc file to the target folder
- (Breaking change) Replace the "rush generate" command with a new command "rush update"
- (Breaking change) Replace "rush install --clean" and "--full-clean" with "rush install --purge"
- Improve lifecycle script execution to support Unix slashes in the command name when running on Windows
- Add "rushx" binary for single-project commands
- (Breaking change) Eliminate extra letters from shortened command line options (renamed "-cpo" to "-o", and removed "-vp" and "-pn")
- Add check for unpublished releases
- Add a "--to-version-policy" option for "rush rebuild" to allow building only a particular version policy
- Add --release-type parameter to "rush publish" to be able to create different tarballs based on release type
- Add "--ensure-version-policy" option for "rush version" to support updating the versions directly
Thu, 31 May 2018 21:57:13 GMT
- Remove the old undocumented "rush purge" command, since it conflicts with Rush 5
Mon, 26 Mar 2018 19:12:42 GMT
- Change *.d.ts file path for rush-lib
- Add "ignoreMissingScript" flag to custom command and fix other minor issues
- Add --pack option to "rush publish" to support packing packages into tarballs instead of publishing to NPM registry
- Upgrade colors to version ~1.2.1
Tue, 20 Mar 2018 20:02:56 GMT
- Add support for overriding the default windows parallelism with 'max'.
- Remove IPackageJson API. Consumers should now use the equivalent definition from @microsoft/node-core-library instead.
- Move the environment checks from rush-lib to rush
- Fix an annoyance where common/temp/shrinkwrap.yaml was formatted in a way that made diffs less readable
Fri, 02 Mar 2018 02:45:37 GMT
- Fix an issue where we always deleted the pnpm store. This is not necessary since the store is transactional. We should only delete the store if it is a --clean install.
- Fix an issue where the package manager installation could get corrupted if the Rush tool was accidentally invoked multiple times concurrently.
- Fix issue with pnpm where store was not removed after an unsuccessful installation
- When Rush links PNPM packages to their dependencies, it should link to the realpath, rather than linking to the symlink. This will improve performance of builds by reducing the number of file system reads that are needed.
- Update Rush to consider the shrinkwrap file during incremental builds.
- Add a --changed-projects-only flag to 'rush build', which will skip rebuilding of downstream packages. It will only rebuild projects that change, but not their dependents.
- Add a locking mechanism around certain rush commands so only one process can be working in a Rush repository at a single point in time. This is useful for commands that may corrupt each other, like generate, install, link, and rebuild.
- When using pnpm, Rush will check and see if other projects are using a dependency and will re-use it if possible. This way, a user will not have to run "rush generate" if they are adding a dependency that is already being used elsewhere in the monorepo.
- Add a notice for unsupported versions of NodeJS runtime
- Add a new command-line flag "--conservative" which causes "rush generate" to perform a minimal upgrade
- Improved "rush generate" so that if interrupted, it does not leave you with a deleted shrinkwrap.yaml; the new integrity checks eliminate the need for this, and it was annoying
- Fix Rush version increase logic to handle cyclic dependencies properly
Fri, 26 Jan 2018 00:36:51 GMT
- Fix an issue when parsing scoped peer dependencies in the pnpm shrinkwrap file
Sun, 21 Jan 2018 06:33:59 GMT
- Improve the error message when loading rush.json from a newer release
Thu, 18 Jan 2018 19:02:07 GMT
- Avoid git errors when there are only empty change files
Wed, 17 Jan 2018 10:49:31 GMT
Version update only
Fri, 12 Jan 2018 23:35:48 GMT
- Fix a bug in "rush change" to allow skipping changes when empty change file exists.
- Change the way Rush prints output, to make it more readable and easy to tell how far into a build you are.
Mon, 11 Jan 2018 22:14:30 GMT
- Introduce a new project-specific setting "skipRushCheck" to exempt certain projects from the "rush check" validation
- Introduce a new setting "mainProject" for lockstep version policies. This enables a scenario where a group of packages share a common change log, which is associated with the main project.
Mon, 08 Jan 2018 20:34:30 GMT
- Fix an issue with checking the pnpm shrinkwrap file when there are peer dependency version specifiers
Thu, 30 Nov 2017 20:34:30 GMT
- Adding support for using PNPM with Rush
- Fix issue where 'rush publish' was failing when the only changefiles were 'none' type
- Add support for hotfix changes
- Fix an issue with file locks causing exceptions during 'rush install'
- Fix issue where 'rush install' did not invalidate node_modules after bumping package manager version
Mon, 13 Nov 2017 18:34:30 GMT
- Fix the regression where "rush -h" didn't work outside a repo folder
- Reduce the default parallelism on Windows platform
- Force change log name to be the same as package name to handle the error case when package is renamed but change log is not
Sat, 4 Nov 2017 03:22:28 GMT
- Complete release notes are here: https://github.com/microsoft/web-build-tools/wiki#november-3-2017---rush-4-released
- Adding custom commands and options.
- Adding rush version selector.
- Updating the semantics of rush change.
Thu, 19 Oct 2017 23:01:49 GMT
- Fix a stack overflow error that occurs when "rush rebuild" encounters a cyclic dependency
- Fix a bug that "rush rebuild" fails if "from" parameter is provided
- Validate versions before "rush version" commits version updates
Fri, 06 Oct 2017 22:44:31 GMT
- Enable strickNullChecks
- Fix a bug in "rush version" that devdependency does not get bumped if there is no dependency.
- Fix a bug in "rush change" so it handles rename properly.
- Add npm tag support in "rush publish".
Tue, 26 Sep 2017 13:51:05 GMT
- Update various dependencies
Thu, 14 Sep 2017 18:51:05 GMT
- Fix some issues in rush telemetry collection
Wed, 6 Sep 2017 18:24:39 GMT
- Fix an issue running 'rush install' after adding a new project
Wed, 30 Aug 2017 18:24:39 GMT
- Replace the temp_modules/*/package.json files with TGZ files
- Add repositoryUrl to RushConfiguration to track remote repository
- Use the new Json API from node-core-library
- Add two new methods to ChangeFile class
- Introduce an experimental "rush version" action to manage project versions based on version policy
- Make "rush generate" not throw if there is a problem reading the shrinkwrap file
Fri, Jul 21, 2017 22:30:12 PM
- Temporarily revert Rush incremental build checking files outside of the project's directory
- Fix error message during build
- Add a ChangeFile class to rush-lib
- Fix an issue where rush would crash if it could not find the rush.json
- If "rush generate" detects that all dependencies are present, it will do nothing. This is overridable with the "--force" flag.
- Promote Changelog interfaces to an @alpha API in rush-lib
Mon, Jul 3, 2017 10:53:12 PM
- Add support for non-SemVer dependency specifiers in package.json; for example, "github:gulpjs/gulp#4.0" or "git://github.com/user/project.git#commit-ish"
Tue, 27 Jun 2017 21:44:50 GMT
- Fix an issue with 'rush rebuild' where it fails on non-windows platforms
- Fix an issue with 'rush -help' where it throws if rush.json is not available.
Thu, June 8, 2017 03:30:27 GMT
- Fix issue with 'rush check' where it sometimes threw exceptions.
Thu, June 8, 2017 03:00:27 GMT
- Fix issue with 'rush check' so it no longer considers cyclic dependencies as a mismatch.
Tue, May 23, 2017 00:55:27 GMT
- Fix a regression for packages with an empty script (no-op)
Sat, May 20, 2017 00:55:27 GMT
- Revert major break with rush build
Fri, May 19, 2017 10:55:27 GMT
- Fix the Rush build error due to 'SyntaxError: Unexpected token u in JSON at position 0'
- Fix a minor bug where Rush complained about extra directories.
Tue, May 17, 2017 01:48:27 GMT
- Improved the "rush build" change detection: if any file outside a project folder has changed, rebuild all projects.
- The "rush build" command now stores the command-line options used during a build, and forces a full rebuild if the options have changed.
- Fix for a "rush publish" bug involving command line option quoting.
Tue, May 16, 2017 00:43:27 GMT
- Fix a regression where "rush install" sometimes failed to install the NPM tool
Sun, May 14, 2017 19:22:16 GMT
- Fix some minor documentation issues
Sun, May 14, 2017 18:30:35 GMT
- THIS IS A BREAKING CHANGE - see the web-build-tools news page for migration instructions
- The "rush install" now automatically detects when you need to run "rush generate", and the algorithm has been redesigned so that many package.json updates can skip "rush generate" entirely - hurray!
- Major restructing of common folder; the "temp_modules" folder is no longer tracked by Git
- Greatly simplified .gitignore; all of Rush's temporary files are now under common/temp
- The rush.json file format has been simplified, and auxiliary config files are now consolidated in common/config/rush
- The "packageReviewFile" feature has been overhauled - see wiki documentation on GitHub
- The "rush check" command was renamed to "rush scan", and "rush check-versions" was shortened to "rush check"
- The change log file format was expanded to support subset publishing (coming soon!)
- More operations now use the AsyncRecycleBin feature
- The "rush link" command now skips if nothing has changed
- Numerous small fixes and enhancments
Tue, 11 Apr 2017 21:20:58 GMT
- Deprecate the pinnedVersions field of rush.json in favor of a standalone pinnedVer sions.json
- Bump stream-collator to 2.0.0
- Publish: Improve detection of already published package versions
- Publish: Fix a bug where not all project versions get updated for prerelease
Thu, 30 Mar 2017 18:25:38 GMT
- The 'link' action will be automatically ran after 'install' or 'generate'.
- Support adding a suffix during rush generate
- Fixing an issue where install was not detecting changes to the shrinkwrap
- Registry should not be hardcoded when auth token is provided
Fri, 24 Feb 2017 22:54:16 GMT
- Minor version
Fri, 24 Feb 2017 22:53:18 GMT
Version update only
Fri, 24 Feb 2017 22:44:31 GMT
- Add a "pinnedVersions" option to rush.json, which will add dependencies to the common package.json. Since these dependencies are installed first, this mechanism can be used to control versions of unconstrained second-level dependencies.
- Make --quiet builds the default. Deprecate the --quiet parameter. Add a --verbose parameter which displays the build logs.
- Rush install checks to ensure that generate has been run.
Wed, 15 Feb 2017 08:54:44 GMT
- Temporarily reverting the new temp_modules validation feature, because it is incompatible with some usage scenarios
Tue, 14 Feb 2017 23:40:44 GMT
- Fixing a bug with install where it preemptively returned before installing.
Tue, 14 Feb 2017 22:53:30 GMT
- Install will error if the temp_modules have drifted out of sync with the package's package.json files
Tue, 14 Feb 2017 02:31:40 GMT
- Adds an extra command (rush check-versions), which can find inconsistencies in package.json dependency versions across a repository.
Sun, 05 Feb 2017 01:21:30 GMT
- Add support for pre-release build
- When the git policy fails, rush should return a non-zero error code.
- Lock version numbers for @types packages
- Ensure world readiness
- Update .npmignore
- Cyclic dependency should not have version bumped when changes are applied.
Tue, 24 Jan 2017 03:26:05 GMT
- The 'link' command should display elapsed time when finished executing.
- Minor fix so "allowedEmailRegExps" works on Mac/Linux
- Fixed a small bug where "rush publish -a" was not deleting changelog files
Sun, 22 Jan 2017 02:04:57 GMT
- Implemented a new rush.json option "gitPolicy" to avoid incorrect commit e-mails
- Update temp_modules when versions are bumped.
Tue, 03 Jan 2017 21:52:49 GMT
- Fixing
rush publish
changelog code to reference projects correctly. rush publish
now only updates changelogs for projects that are marked as shouldPublish=true.
Tue, 06 Dec 2016 20:44:26 GMT
- Changes for RC0 release.
Sat, 03 Dec 2016 07:47:39 GMT
- Adding support for changelog generation to rush publish.
- Refactoring "config" into "configuration."
- Converting node and webpack-env typings to use @types, and cleaning them up.
- The cache should be cleaned unless we are using the global cache
- Fixed a regression where "rush install" would sometimes corrupt the node_modules folder. Also, common/package.json is now sorted deterministically.
- If the
test
,clean
, orbuild
commands are defined in the package.json, but are empty strings, then do a no-op during the build.
- Make deletion of node_modules folder more cautious to improve failure rate on automated builds.
- Updating Rush generate to more efficiently delete folders.
- Updating the deps hash dependency, which includes a fix which resolves a bug where changes were not being recalculated when multiple files were changed.
- Updating the rush
change
with better verification logic.
- Adding the 'build' action, which support incremental build.
- Partially reverting changes for treating success with warnings differently.
- Making Rush install transactional.
- Fix a bug in rush
change
- correcting casing of files and imports
- The "packageReviewFile" feature now supports a setting "ignoredNpmScopes" that can be used e.g. to ignore the "@types" scope
- Fixing Rush to run on UNIX and Linux.
- Rename
shouldTrackChanges
toshouldPublish
which indicates whether a package should be included for thepublish
workflow.
- Updating
rush install
to be transactional.
- Updating the
publish
workflow.
- Updating the
publish
workflow.
- Renaming the
local-npm
directory tonpm-local
. - Include NPM --cache and NPM --tmp options in the rush.json file.
- Limit Rush Rebuild parallelism to 'number-of-cores' simultaneous builds, optionally overridable on command line
- Fixed a bug in Rush Generate which showed:
ERROR: Input file not found: undefined
when packageReviewFile is omitted
- Added optional support for a "packageReviewFile" that helps detect when new NPM package dependencies are introduced
- Replaced JSON.parse() with jju for improved error handling.
- Fix Mac OS X compatibility issue
Initial release