pubup 0.5.0
pubup: ^0.5.0 copied to clipboard
Automatically update pubspec.yaml dependency constraints to the latest resolvable versions across Dart and Flutter workspace packages.
0.5.0 #
- Batch-first workspace updates. Workspace mode now rewrites all coordinated
constraints, then runs a single root
pub get. If resolution fails, pubup reverts and retries per dependency (same attribution as 0.4.0). - Fixes coupled-dependency failures (e.g.
firebase_core,firebase_messaging, andfirebase_analyticsmust bump together) that could not resolve when updated one at a time. - Typical workspace runs drop from N
pub getinvocations to 1 when everything resolves cleanly. No CLI changes.
0.4.0 #
- Workspace-coordinated updates. When the root
pubspec.yamldeclares aworkspace:list, pubup now updates shared dependencies atomically across all members that declare them: constraints are rewritten in every affectedpubspec.yaml, then a single root-levelpub getvalidates the workspace graph. This fixes the failure mode where per-packagepub addcalls left the workspace in a contradictory intermediate state (e.g. root onvery_good_analysis ^10while members still pin^6). - Non-workspace projects keep the existing batched
pub addstrategy. --packagein workspace mode: coordinated deps are skipped with a warning when a declaring member is outside the filter (run without--packagefor a workspace-wide bump).dependency_overrides:are never modified.
0.3.0 #
- Batch all dependency updates for a package into a single
dart pub add(orflutter pub add) invocation. Previously pubup invokedpub addonce per dependency, triggering a full pub resolution each time — on a workspace with 127 changes this took ~30 minutes. The batched call runs the pub solver once per package, typically yielding a 10×+ speedup on large workspaces. - On batched-call failure (e.g. one dep cannot be resolved), pubup
automatically falls back to per-dependency
pub addcalls so individual failures are still attributed to the exact dep that failed. - No CLI or output-format changes; per-dependency log lines, exit codes,
and the
Totals:summary all behave as before.
0.2.2 #
- No user-facing changes.
- Internal: bumped
testdev dependency to^1.31.1(dogfooded via pubup itself). - Internal:
version_test.dartnow reads the version frompubspec.yamlat test time instead of hardcoding it, so future releases only require bumpingpubspec.yamlandlib/src/version.dart.
0.2.1 #
- The once-per-day update notice is now also suppressed automatically when
stderr is not attached to a TTY (e.g. when pubup is invoked by a coding
agent, captured by a script, or piped).
CI=trueandPUBUP_DISABLE_UPDATE_CHECKcontinue to work as before. - Added
AGENTS.mdwith guidance for coding agents on when and how to invoke pubup.
0.2.0 #
- Added
--version/-Vflag. - Added
pubup updatesubcommand that reinstalls pubup from pub.dev. - pubup now checks pub.dev once per day and prints a notice on stderr
when a newer version is available. Set
PUBUP_DISABLE_UPDATE_CHECK=1or run in CI (CI=true) to skip the check.
0.1.1 #
- Tolerate non-JSON content in
flutter pub outdated --jsonoutput. Previously the root package scan could fail withFormatException: Unexpected characterwhen Flutter appended its "A new version of Flutter is available" banner after the JSON payload. The runner now extracts the JSON object from stdout and ignores any surrounding noise.
0.1.0 #
- Initial release.
- Workspace-aware dependency constraint updater for Dart and Flutter projects.
- Supports
--dry-run,--[no-]dev,--package, and--rootflags. - Automatically detects
dart pubvsflutter pubper package. - Skips path, git, sdk, and non-standard dependency sources.