melos 5.1.0 melos: ^5.1.0 copied to clipboard
A tool for managing Dart & Flutter repositories with multiple packages (monorepo). Supports automated versioning via Conventional Commits. Inspired by JavaScripts Lerna package.
5.0.0 #
Note: This release has breaking changes.
- REFACTOR: Move
CommandConfigs
andLifecycleHooks
to their own directories (#652). (95f23716) - REFACTOR: move environment variable related strings into one class (#648). (2db32ec5)
- FIX: use
git pull --tags
instead ofgit fetch --tags
(#468). (109f5f98) - FIX: typo on help description of bootstrap --enforce-lockfile (#636). (a5247561)
- FEAT: Add lifecycle hooks for
publish
(#656). (ed826b39) - FEAT: built-in melos command for analyzing projects (#655). (93db45df)
- FEAT: Default to number of processors for exec concurrency (#654). (43c6ddb7)
- DOCS: add more projects using melos (#649). (30611f40)
- BREAKING FEAT: make run script use melos_packages env variable scope (#640). (e12ff57e)
4.1.0 #
4.0.0 #
- FIX: Compare with correct version when publishing (#633). (9c4cd2eb)
- FIX: Expose script api (#573). (bb971018)
- FEAT: Add
git-commit-version
flag to control commit creation (#628). (cca71872) - FEAT: support authenticating private pub repository (#627). (dddc7b31)
- FEAT: Add enforce lockfile bootstrap command config (#600). (b9c6d0cc)
- FEAT: add "--no-example" arg to "pub get " command for melos bootstrap (#604). (8b69f51f)
- DOCS: Add flutter_web_auth_2 to melos project list (#624). (bbede2d2)
- BREAKING FIX: Create commit when
--no-git-tag-version
is used (#625). (b89133dc)
Migration instructions #
If you were previously using --no-git-tag-version
and were relying on that it
didn't create a commit you now have to also pass --no-git-commit-version
to
prevent a commit from being automatically created after versioning.
3.3.0 #
- REFACTOR: Remove unnecessary parenthesis to get analyzer green (#602). (d368b439)
- FIX:
.idea/modules.xml
should always uses/
instead of\
(#582). (5d49c4a6) - FEAT: add option that allows to include commit bodies in changelog (#606). (524e58a1)
- DOCS(melos): add
coverde
to projects using Melos (#562). (6a64b059)
3.2.0 #
3.1.1 #
3.1.0 #
3.0.0 #
Note: This release has breaking changes.
- PERF: use
Glob.list
to more efficiently find packages (#426). (d7a85417) - FIX: only stage
CHANGELOG.md
when package version changes (#459). (a3e9bdc4) - FIX: updateGitTagRefs not working for versions like 0.1.2+3 (#456). (2a4f5ff9)
- FIX: validate prerelease format is supported (#449). (4504c659)
- FEAT: improve error message for when no workspace can be found (#465). (60b39c96)
- FEAT: fetch tags before versioning (#461). (3088b7bc)
- FEAT: support running scripts in topological order with
melos exec
(#440). (efe608b8) - FEAT: validate "melos exec" is not used in "run" along with "exec" (#438). (628f798e)
- FEAT: add path to
IOException
message (#436). (f8e1551d) - FEAT: add support for
melos_overrides.yaml
+command/bootstrap/dependencyOverridePaths
(#410). (bf26b52f) - DOCS: take advantage of new
docs.page
features (#464). (e5a2b42e) - BREAKING FEAT: move lifecycle hooks to command sections (#466). (29cdf5ca)
- BREAKING FEAT: local installation of melos in workspace (#431). (9b080a5d)
- BREAKING FEAT: make naming around package filters more consistent (#462). (d71e749a)
- BREAKING FEAT: revise lifecycle hooks (#458). (a1a265ec)
- BREAKING FEAT: enable more options by default (#457). (dc2c9fcc)
- BREAKING FEAT: remove
--since
filter in favour of--diff
(#454). (a5c53040) - BREAKING FEAT: only support bootstrapping with
pubspec_overrides.yaml
(#430). (973aac84) - BREAKING FEAT: upgrade minimum Dart SDK version to 2.18.0 (#429). (fa81cba0)
- FIX: change used API endpoint for querying versions (#486). (1a5c8547)
- FEAT: support listing cycles in dependencies (#491). (6521ce0c)
- DOCS: add
mobx.dart
to projects using Melos (#476). (be3fc431)
3.0.0-dev.1 #
3.0.0-dev.0 #
Note: This release has breaking changes.
- PERF: use
Glob.list
to more efficiently find packages (#426). (d7a85417) - FIX: only stage
CHANGELOG.md
when package version changes (#459). (a3e9bdc4) - FIX: updateGitTagRefs not working for versions like 0.1.2+3 (#456). (2a4f5ff9)
- FIX: validate prerelease format is supported (#449). (4504c659)
- FEAT: improve error message for when no workspace can be found (#465). (60b39c96)
- FEAT: fetch tags before versioning (#461). (3088b7bc)
- FEAT: support running scripts in topological order with
melos exec
(#440). (efe608b8) - FEAT: validate "melos exec" is not used in "run" along with "exec" (#438). (628f798e)
- FEAT: add path to
IOException
message (#436). (f8e1551d) - FEAT: add support for
melos_overrides.yaml
+command/bootstrap/dependencyOverridePaths
(#410). (bf26b52f) - DOCS: take advantage of new
docs.page
features (#464). (e5a2b42e) - BREAKING FEAT: move lifecycle hooks to command sections (#466). (29cdf5ca)
- BREAKING FEAT: local installation of melos in workspace (#431). (9b080a5d)
- BREAKING FEAT: make naming around package filters more consistent (#462). (d71e749a)
- BREAKING FEAT: revise lifecycle hooks (#458). (a1a265ec)
- BREAKING FEAT: enable more options by default (#457). (dc2c9fcc)
- BREAKING FEAT: remove
--since
filter in favour of--diff
(#454). (a5c53040) - BREAKING FEAT: only support bootstrapping with
pubspec_overrides.yaml
(#430). (973aac84) - BREAKING FEAT: upgrade minimum Dart SDK version to 2.18.0 (#429). (fa81cba0)
2.9.0 #
2.8.0 #
- FIX: Merge commits should be versioned (#407). (01d4cd0d)
- FIX: unicode characters in commit titles (#412). (bb6563af)
- FIX: don't try to get published versions of private package (#404). (9ea87a32)
- FIX: only include normal dependencies of transitive dependencies (#387). (e0659e97)
- FIX: return type of
promptChoice
(#391). (54004993) - FEAT: output URLs to prefilled GitHub release forms when executing
melos version
(#406). (9c22cfbe) - FEAT: allow help to be shown from anywhere (#405). (d754055e)
- FEAT: add
--dependent-preid
option (#388). (b6201364) - DOCS: add
youtube_video
to projects using Melos (#395). (2a8de822) - DOCS: Add Converter NOW to projects that are using melos (#408). (ddf5655c)
- DOCS: add
flutter_html
to projects using Melos (#389). (4e3a4447) - DOCS: add yak_packages reference to docs/index (#381). (9b366fd9)
2.7.1 #
2.7.0 #
- REFACTOR: fix a few analyzer issues (#365). (74adb062)
- FIX: handle prompts when no terminal is attached to stdio (#370). (81e850e9)
- FIX: run commands in single shell (#369). (1ab2e290)
- FIX:
scripts.*.exec.failFast
option inmelos.yaml
(#359). (16fe6916) - FEAT: Add support for specifying an IntelliJ module name prefix (#349). (1d2720fa)
2.6.0 #
- REFACTOR: use
homepage
andrepository
keys inpubspec.yaml
(#354). (c7a78e3a) - REFACTOR: enable more lint rules (#346). (70448bec)
- REFACTOR: remove local fork of
yamlicious
(#345). (64a15b83) - REFACTOR: remove local fork of
prompts
package (#344). (200450c3) - FIX: don't override Intellij module config files (#351). (850e9f82)
- FIX: false positive for non-unique packages (#348). (9c136194)
- FEAT: write conventional commit scopes in changelog (#341). (0c64d61e)
- DOCS: update link to the FlutterFire repository (#338). (344df53c)
2.5.0 #
- FIX: follow up #330 (#331). (f6eec0a2)
- FIX: find packages in matched directories (#330). (c7be5235)
- FIX: make file IO more robust (#329). (dfd877d6)
- FIX: handle
UsageException
(#328). (c187f9d9) - FEAT: add
runPubGetOffline
option (#326). (8358a5a1) - FEAT: add includeCommitId option (#325). (e981adf7)
- FEAT: add --diff filter (#323). (2f6545f6)
2.4.0 #
- REFACTOR: encapsulate log formatting in
MelosLogger
(#314). (ec808b02) - FIX: pass extra args to script when invoked without
run
(#316). (f0a62a2d) - FIX: report all dependencies in
list
command (#313). (bb76d3a1) - FIX: respect user
dependency_overrides
(#312). (ff5bfbe6) - FIX: Run Process.runSync in another shell to get Dart version (#300). (0aa81a7b)
- FEAT: simplify writing scripts that use
melos exec
(#315). (3e5807dd)
2.3.0 #
2.1.0 #
2.0.0 #
- PERF: run
pub get
in parallel during bootstrapping (#279). (9870270d) - FIX: handle unresolvable symbolic links (#280). (70094363)
- DOCS: added WiFiFlutter as proj using melos (#281). (2c900ee8)
- FIX:
melos bootstrap
now correctly handles path dependencies (#268). (96457b59) - FEAT: allow checking melos version (
melos --version
) outside of workspaces & set up autoupdater (#276). (c3dc28f7) - BREAKING REFACTOR: remove
--all
flag from list command & show private packages by default (you can use the--no-private
filter flag instead to hide private packages) (#275). (921ec4e4) - FEAT: add support for bootstrapping with pubspec overrides (#273). (236e24f4)
1.6.0-dev.2 #
1.6.0-dev.1 #
Note: This release has breaking changes.
- FIX:
melos bootstrap
now correctly handles path dependencies (#268). (96457b59) - FEAT: allow checking melos version (
melos --version
) outside of workspaces & set up autoupdater (#276). (c3dc28f7) - BREAKING REFACTOR: remove
--all
flag from list command & show private packages by default (you can use the--no-private
filter flag instead to hide private packages) (#275). (921ec4e4)
1.5.0 #
1.4.0 #
1.2.1 #
- FIX: bump
platform
dependency to to 3.1.0 to support latest Flutter/Dart versions (#237). (2b74f6eb)
1.2.0 #
1.1.2 #
- Update a dependency to the latest release.
1.1.1 #
1.1.0 #
1.0.0 #
- FIX: a dependent packages
dependentsInWorkspace
dependents should also be added todependentPackagesToVersion
. (5e7e8c75) - FIX: ensure local versions of transitive dependencies are bootstrapped (#185).
- FIX: don't remove pubspec.lock when
clean
is ran (fixes #129). - FIX: melos_tools path incorrect on certain platforms (fixes #144).
- FEAT: Match unknown commands with scripts (#167).
- FEAT: Added an error message when multiple packages in the workspace have the same name (#178).
- FEAT: verbose logging now logs package commit messages when versioning (#203). (b87fb8dc)
- FEAT: optionally allow generating workspace root change logs (#161). (56fcdff6)
- FEAT: Add topological sort to publish command (#199).
- FEAT: use
dart
tool to runpub get
in pure Dart package (#201). - FEAT: respect exact version constraints when updating dependents (#194).
- FEAT: add support for linking to commits in changelog (#186).
- FEAT: add support for printing current Melos version via
-v
or--version
(#155). - FEAT: added config validation and type-safe Dart API (#139) (#140).
- FEAT: migrate Melos to null-safety (#115).
- FEAT: added "preversion" script hook, to perform actions when using
melos version
before pubspec files are modified. - FEAT: added
melos.yaml
validation - FEAT: it is now possible to programmatically use Melos commands by importing
package:melos/melos.dart
:
final melos = Melos(workingDirectory: Directory.current);
await melos.bootstrap();
await melos.publish(dryRun: false);
1.0.0-dev.14 #
- FIX: a dependent packages
dependentsInWorkspace
dependents should also be added todependentPackagesToVersion
. (5e7e8c75)
1.0.0-dev.13 #
- FEAT: verbose logging now logs package commit messages when versioning (#203). (b87fb8dc)
1.0.0-dev.11 #
- FEAT: Add topological sort to publish command (#199).
- FEAT: use
dart
tool to runpub get
in pure Dart package (#201). - DOCS: fix a few things and expand page for
melos.yaml
(#200).
1.0.0-dev.10 #
- FIX: run version cmd with
--dependent-versions
value from cli (#193). - FEAT: respect exact version constraints when updating dependents (#194).
1.0.0-dev.9 #
- FIX: melos.yaml ignores should apply also to
run
commandsMELOS_PACKAGES
env variable (#192).
1.0.0-dev.8 #
- FIX: version
--graduate
should graduate prerelease packages (not the other way around).
1.0.0-dev.7 #
- FIX: ignore package filter should merge with
config.ignore
globs.
1.0.0-dev.6 #
- FEAT: add support for linking to commits in changelog (#186).
1.0.0-dev.5 #
- FIX: prevent stack overflow when resolving transitively related packages (#187).
1.0.0-dev.4 #
- REFACTOR: Pass workspace config from the top (#176).
- REFACTOR: fix analysis & formatting issues (#177).
- REFACTOR: Instantiate workspace from configs (#169).
- FIX: ensure local versions of transitive dependencies are bootstrapped (#185).
- FEAT: Match unknown commands with scripts (#167).
- FEAT: Added an error message when multiple packages in the workspace have the same name (#178).
1.0.0-dev.3 #
- FIX: Allow add-to-app packages to bootstrap (#162).
1.0.0-dev.2 #
- FIX: fix cast error (#151).
- FEAT: add support for printing current melos version via
-v
or--version
(#155). - CHORE: fix lints on master channel (#147).
1.0.0-dev.1 #
- REFACTOR: misc cleanup of todos.
- FIX: issue where all environment variables are injected into exec scripts instead of just
MELOS_*
ones (fixes #146). - FIX: manual versioning should run lifecycle scripts.
- FIX: don't remove pubspec.lock when
clean
is ran (fixes #129). - CHORE: bump "melos" to
1.0.0-dev.0
.
1.0.0-dev.0 #
- Bump "melos" to
1.0.0-dev.0
.
0.5.0-dev.2 #
- FIX: unable to publish packages (always dry-run).
0.5.0-dev.1 #
- REFACTOR: use currentPlatform instead of Platform.
- FIX: melos_tools path incorrect on certain platforms (fixes #144).
0.5.0-dev.0 #
Note: This release has potentially breaking changes.
- TEST: add git tests.
- REFACTOR: cleanup git utilities and add new utils for upstream checks.
- REFACTOR: set Melos as the generator for generated pub files (#120).
- FIX: issue where dependent packages were not versioned (#131).
- FIX: enable Dart SDK for root IntelliJ project (#127).
- FIX: exec hang, exec trailing options (#123).
- FEAT: added config validation and type-safe Dart API (#139) (#140).
- FEAT: migrate Melos to null-safety (#115).
- BREAKING FEAT: migrate conventional_commit to null-safety (#114).
- added "preversion" script hook, to perform actions when using
melos version
before pubspec files are modified. - added
melos.yaml
validation - it is now possible to programatically use melos commands by importing
package:melos/melos.dart
:
final melos = Melos(workingDirectory: Directory.current);
await melos.bootstrap();
await melos.publish(dryRun: false);
0.4.11+2 #
- FIX: pubspecs incorrectly being overwritten (fixes #60) (#110).
0.4.11+1 #
- REFACTOR: remove MelosCommandRunner.instance (#107).
- FIX: when executing a command inside a package, melos now properly executes it on all packages of the workspace. (#108).
0.4.11 #
- REFACTOR: Move to a stubbable Platform abstraction (#86).
- FIX: The default workspace no-longer searches for projects inside the .dart_tool folder of packages (#104).
- FIX: incorrect intellij project clean glob pattern in windows (#97).
- FEAT: Added support for calling melos commands from anywhere inside a melos workspace (#103).
- FEAT:
melos bootstrap
now executes generates its temporary project inside the .dart_tool folder (#106). - FEAT: add --yes flag to
melos publish
(#105). - FEAT: make intellij project clean only delete melos run configurations (#96).
- DOCS: Add cofu-app/cbl-dart to users of Melos (#95).
- DOCS: add gql-dart/ferry as melos user.
0.4.10+1 #
- REFACTOR: add missing license headers.
- FIX: use original pubspec.lock files when running pub get inside mirrored workspace (fixes #68).
0.4.10 #
- Graduate package to a stable release. See pre-releases prior to this version for changelog entries.
0.4.10-dev.1 #
Note: This release has breaking changes.
- FIX: Fix --published/--no-published filters.
- FIX: Find templates using a resolved package URI.
- BREAKING FEAT: Use PUB_HOSTED_URL as pub.dev alternative if defined.
0.4.10-dev.0 #
- TEST: Add a couple of useful matchers.
- TEST: Add mock filesystem facilities to aid in testing.
- STYLE: Rearrange some methods in MelosPackage.
- STYLE: Wrap option description strings.
- REFACTOR: Clean up the MelosWorkspace, and ensure a package catch-all.
- FEAT: Add filtering flags for including dependendies and dependents.
- DOCS: Rewrapped melos README to avoid an unfortunate space.
- CHORE: Add missing copyright.
- BUILD: Upgrade package dependencies.
0.4.9 #
- REFACTOR: Clean up workspace code in preparation for command config implementation (#77).
- FEAT: Add melos.yaml support for the version command's message default.
- FEAT: Add melos.yaml command configuration.
0.4.8+1 #
- FIX: Newline handling for version's message option (#73).
0.4.8 #
- REFACTOR: Improve styling of command usage (#71).
- FEAT: Support configurable commit messages in version command (#72).
0.4.7 #
- FEAT: allow private packages to be versioned (#67).
0.4.6 #
- FEAT: allow --yes to also skip prompts when manually versioning (closes #66).
0.4.5+3 #
- Update a dependency to the latest release.
0.4.5+2 #
- FIX: certain generated yaml file keys can be null.
- FIX: some dependent packages were not visible when graduating with a filter.
- DOCS: Add GetStream/stream-chat-flutter as a user of melos (#63).
0.4.5+1 #
- FIX: script select-package ignore filter was not including ignores also defined in melos.yaml.
0.4.5 #
- FEAT: allow listing packages in Graphviz DOT language (#58).
0.4.4+2 #
- FIX: hook scripts not working.
- FIX: non-nullsafety pre-major prerelease should also bump it's minor version (#55).
0.4.4+1 #
- DOCS: add monorepo to pub description.
0.4.4 #
- FEAT: show latest registry prerelease version of the same preid in
publish
command if the local version is also a prerelease. - CHORE: format changelog.
0.4.3 #
- FEAT: add new
--[no-]nullsafety
package filtering option - FEAT: introduce
dependent-versions
&dependent-constraints
versioning flags
0.4.2 #
- FEAT: allow manually versioning a specific package via
melos version
(#53).
0.4.1 #
- FEAT: rework versioning with tests to support nullsafety prerelease versioning (#52).
- CHORE: improve local development setup + add small guide to readme.
- CHORE: use latest conventional_commit package.
0.4.0+1 #
- Update a dependency to the latest release.
0.4.0 #
Note: This release has breaking changes.
- BREAKING REFACTOR: rework bootstrap behaviour (see #51 for more info).
0.3.13 #
- FEAT: add
flutter
package filter (#45).
0.3.12+1 #
- FIX: don't recreate currentWorkspace if already created (fixes #39) (#40).
- CHORE: correctly git add version.g.dart.
0.3.12 #
- FIX: only generate Flutter plugins files if workspace one exists.
- FIX: add default sdk constrain when no melos.yaml detected (fixes #32).
- FIX: trailing spaces in generated pubspec.lock file (fixes #36) (#38).
- FIX: re-word the help message of the --yes args in version command. (#33).
- FEAT: add "ignore" support on "melos.yaml" configuration (#37).
- FEAT: advanced custom script definitions (with package selection prompting) (#34).
- FEAT: version
--preid
support (#30).
0.3.11 #
- FEAT: Add
--yes
flag tomelos version
for ci support. (#27). - CHORE: make
--yes
onversion
command non negatable.
0.3.10 #
- Graduate package to a stable release. See pre-releases prior to this version for changelog entries.
0.3.10-dev.9 #
- FIX: use dummy yaml file.
0.3.10-dev.8 #
- FIX: correctly assign YamlList.
0.3.10-dev.7 #
- FIX: add default packages path.
0.3.10-dev.6 #
- FIX: melos.yaml check.
0.3.10-dev.5 #
- FEAT: allow melos to function without a yaml file if packages dir exists.
0.3.10-dev.4 #
- FEAT: support adding git tags for missing versions on publish command.
0.3.10-dev.3 #
- REFACTOR: break out conventional_commit package.
- FEAT: re-add bootstrap
bs
alias. - BUILD: fix version.dart not being automatically added.
0.3.10-dev.2 #
- REFACTOR: remove logger, woops.
- REFACTOR: remove dep override.
- FIX: don't filter packages using 'since' on version command.
- FEAT: add support for version/postversion lifecycle scripts.
- BUILD: temporary git add workaround for additional changed files in melos.
- BUILD: add version lifecycle script to generate version.dart file.
0.3.10-dev.1 #
- REFACTOR: code cleanup.
- REFACTOR: remove committed .iml files.
- FEAT: semver & conventional commits (#10).
- CHORE: bump dep version.
0.3.9 #
- Fix version.dart versioning
0.3.8 #
- Move all generated pub files into a
.melos_tool
sub directory in workspace root to prevent conflicts. - Clean up IntelliJ
runConfigurations
as part of theclean
command. - Prefix all IntelliJ generated project files with
melos_
.
0.3.7 #
- IntelliJ support for automatically generating Flutter Test & Run configurations.
0.3.6 #
- Fixed an issue on Windows where Pub Cache can also being the 'Roaming' AppData directory.
0.3.5 #
- Use
exitCode
setter instead ofexit()
.
0.3.0 #
- Added support for Windows.
- Added workspace support for IntelliJ IDEs (Android Studio).
0.2.0 #
- Added a new filter for filtering published or unpublished packages:
--[no-]published
.- Unpublished in this case means the package either does not exist on the Pub registry or the current local version of the package is not yet published to the Pub registry.
- Added a new command to pretty print currently unpublished packages:
melos unpublished
.