PackageTrack
Sign in Get early access

mason_logger

A reusable Dart logger used by the Mason CLI (package:mason_cli).

0.3.5 910K downloads/mo #372 most downloaded on pub.dev felangel/mason

What this package is like to depend on

Last release 5 months ago

20 Mar 2026

Release timing varies

gaps range from 2 weeks to 13 months

Nearly every release is documented

notes for 28 of 28 stable releases

1 version withdrawn

withdrawn after publishing

5 years old

43 releases · first in 2021

2 releases in the last 12 months

see the full history below

Release timeline

43 releases · Nov 2021 to Mar 2026
2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 43
  1. 0.3.5 20 Mar 2026
    Release notes
    • revert: upgrade pkg:win32 to ^6.0.0
      • due to use of native assets this was breaking hook execution on windows
      • we are still planning to upgrade to win32 v6.0.0 but more time is needed to ensure this is done safely
    Open source →
    Release notes
    • revert: upgrade pkg:win32 to ^6.0.0
      • due to use of native assets this was breaking hook execution on windows
    Open source →
  2. 0.3.4 20 Mar 2026
    Release notes
    • deps: upgrade pkg:win32 to ^6.0.0 (#1650)
    • refactor: upgrade analysis options (#1539)
    Open source →
    Release notes
    • deps: upgrade pkg:win32 to ^6.0.0 (#1650)
    • refactor: upgrade analysis options (#1539)
    Open source →
  3. 0.3.3 02 Mar 2025
    Release notes
    • deps: upgrade pkg:win32 to ^5.11.0 (#1537)
    Open source →
    Release notes
    • deps: upgrade pkg:win32 to ^5.11.0 (#1537)
    Open source →
  4. 0.3.2 13 Jan 2025
    Release notes
    • fix: link should depend on ansi escape support (#1505)
    Open source →
    Release notes
    • fix: link should depend on ansi escape support (#1505)
    Open source →
  5. 0.3.1 05 Sep 2024
    Release notes
    • chore: add platforms to pubspec.yaml (#1420)
    Open source →
  6. 0.3.0 17 Aug 2024
    Release notes
    • feat: add interval to ProgressAnimation (#1391)
    • deps: tighten dependency constraints (#1395)
      • bumps the Dart SDK minimum version up to 3.5.0
    Open source →
  7. 0.2.16 18 Jul 2024
    Release notes
    • fix: Logger.progress spams terminal on overflow
    • chore: add funding to pubspec.yaml
    Open source →
  8. 0.2.15 19 Apr 2024
    Release notes
    • refactor: upgrade pkg:win32 to ^0.5.4 (#1300)
      • bumps the Dart SDK minimum version up to 3.3.0
    Open source →
  9. 0.2.14 19 Apr 2024
    Release notes
    • fix: `The getter 'STD_HANDLE' isn't defined for the class 'WindowsTerminal' (#1298)
    Open source →
  10. 0.2.13 19 Apr 2024
    Release notes
    • fix: throw StateError when prompting with no terminal attached (#1285)
    • refactor: remove deprecated methods in WindowsTerminal (#1286)
    Open source →
  11. 0.2.12 12 Feb 2024
    Release notes
    • feat: add trailing to ProgressOptions (#1247)
    Open source →
  12. 0.2.11 10 Jan 2024
    Release notes
    • chore: fix missing closing doc template
    • chore: use pkg:io (#1099)
    Open source →
  13. 0.2.10 02 Oct 2023
    Release notes
    • fix: exit on Ctrl+C (#1090)
    Open source →
  14. 0.2.9 19 Sep 2023
    Release notes
    • fix: arrow keys on windows (#816)
    • chore: improve lint rules
    • chore: dart fix --apply
    • chore(deps): upgrade dependencies
    Open source →
  15. 0.2.8 28 Jul 2023
    Release notes
    • fix: confirm gracefully handles utf8 decode errors
    • docs: add topics to pubspec.yaml
    Open source →
  16. 0.2.7 28 Jun 2023
    Release notes
    • feat: add promptAny to Logger

      final logger = Logger();
      
      // Prompt for a dynamic list of values.
      final List<String> languages = logger.promptAny(
        'What are your favorite programming languages?',
      );
      
      if (languages.contains('dart')) {
        logger.info('Nice, I like dart too! 🎯');
      }
      
    Open source →
  17. 0.2.6 19 May 2023
    Release notes
    • fix: chooseAny renders selected results using display when specified

    • feat: add LogStyle and LogTheme

      // Create a custom `LogTheme` by overriding zero or more log styles.
      final customTheme = LogTheme(
        detail: (m) => darkGray.wrap(m),
        info: (m) => m,
        success: (m) => lightGreen.wrap(m),
        warn: (m) => yellow.wrap(m),
        err: (m) => lightRed.wrap(m),
        alert: (m) => backgroundRed.wrap(white.wrap(m)),
      );
      
      // Create a logger with the custom theme
      final logger = Logger(theme: customTheme);
      
      // Use the logger
      logger.info('hello world');
      
      // Perform a one-off override
      String? myCustomStyle(String? m) => lightCyan.wrap(m);
      logger.info('custom style', style: myCustomStyle);
      
    Open source →
  18. 0.2.5 14 Feb 2023
    Release notes
    • deps: upgrade to Dart >=2.19 and very_good_analysis ^4.0.0
    Open source →
  19. 0.2.4 30 Jan 2023
    Release notes
    • fix: warn with an empty tag should not include []
    • deps: upgrade to Dart >=2.17 and very_good_analysis ^3.1.0
    Open source →
  20. 0.2.3 13 Nov 2022
    Release notes
    • fix: windows progress animation
    Open source →
  21. 0.2.2 01 Nov 2022
    Release notes
    • fix: only animate progress on terminals
    Open source →
  22. 0.2.1 19 Oct 2022
    Release notes
    • fix: improve clear line mechanism for Progress API
    Open source →
  23. 0.2.0 13 Oct 2022
    Release notes
    • BREAKING feat: add generic support to chooseOne and chooseAny

      enum Shape { square, circle, triangle}
      
      void main() {
        final logger = Logger();
      
        final shape = logger.chooseOne<Shape>(
          'What is your favorite shape?',
          choices: Shape.values,
          display: (shape) => '${shape.name}',
        );
        logger.info('You chose: $shape');
      
        final shapes = logger.chooseAny<Shape>(
          'Or did you want to choose multiples?',
          choices: Shape.values,
          defaultValues: [shape],
          display: (shape) => '${shape.name}',
        );
        logger.info('You chose: $shapes');
      }
      
    Open source →
  24. 0.1.4 13 Oct 2022
    Release notes
    • feat: add ProgressOptions API

      import 'package:mason_logger/mason_logger.dart';
      
      Future<void> main() async {
        // 1. ✨ Create a custom ProgressOptions.
        const progressOptions = ProgressOptions(
          animation: ProgressAnimation(
            frames: ['🌑', '🌒', '🌓', '🌔', '🌕', '🌖', '🌗', '🌘'],
          ),
        );
      
        // 2. 💉 Inject `progressOptions` into your Logger.
        final logger = Logger(progressOptions: progressOptions);
      
        // 3. 🤤 Admire your custom progress animation.
        final progress = logger.progress('Calculating');
        await Future.delayed(const Duration(seconds: 3));
        progress.complete('Done!');
      }
      
    Open source →
  25. 0.1.3 16 Sep 2022
    Release notes
    • feat: add link API

      final logger = Logger();
      final repoLink = link(
        message: 'GitHub Repository',
        uri: Uri.parse('https://github.com/felangel/mason'),
      );
      logger.info('To learn more, visit the $repoLink.');
      
    Open source →
  26. 0.1.2 17 Aug 2022
    Release notes
    • feat: render milliseconds on progress duration
    • refactor(deps): remove package:meta
    • refactor: use IOOverrides
    Open source →
  27. 0.1.1 20 Jul 2022
    Release notes
    • refactor(deps): remove pkg:universal_io
    • docs: fix typo in README snippet
    Open source →
  28. 0.1.0 18 Jul 2022
    Release notes
    • BREAKING: support log levels (default Level is Level.info)
    • BREAKING: mark Progress() as @internal
    • BREAKING: alert writes to stderr instead of stdout
    • BREAKING: Progress.fail(...) writes to stdout instead of stderr
    • BREAKING: remove deprecated Progress.call(...) (use Progress.complete instead).
    Open source →
  29. 0.1.0-dev.14 01 Jul 2022 pre-release
    Release notes
    • feat: Progress.update
      final progress = logger.progress('Calculating');
      await Future<void>.delayed(const Duration(milliseconds: 500));
      progress.update('Halfway!');
      await Future<void>.delayed(const Duration(milliseconds: 500));
      progress.complete('Done!');
      
    Open source →
  30. 0.1.0-dev.13 14 Jun 2022 pre-release
    Release notes
    • fix: correct J and K key mappings
    Open source →
  31. 0.1.0-dev.12 09 Jun 2022 pre-release
    Release notes
    • fix: chooseOne API windows compatibility
    • feat: chooseAny
      /// Ask user to choose zero or more options.
      final desserts = logger.chooseAny(
        'Which desserts do you like?',
        choices: ['🍦', '🍪', '🍩'],
      );
      
    Open source →
  32. 0.1.0-dev.11 08 Jun 2022 pre-release
    Release notes
    • fix: write errors and warnings to stderr
      • Logger().err(...)
      • Logger().warn(...)
      • Logger().progress(...).fail(...)
    Open source →
  33. 0.1.0-dev.10 02 Jun 2022 pre-release
    Release notes
    • feat: chooseOne API

      final favoriteColor = logger.chooseOne(
        'What is your favorite color?',
        choices: ['red', 'green', 'blue'],
        defaultValue: 'blue',
      );
      
    Open source →
  34. 0.1.0-dev.9 28 May 2022 pre-release
    Release notes
    • feat: progress API enhancements
      final progress = Logger().progress('calculating');
      try {
        await _performCalculation();
        // Complete progress successfully.
        progress.complete();
      } catch (error, stackTrace) {
        // Terminate progress unsuccessfully.
        progress.fail();
      }
      
    Open source →
  35. 0.1.0-dev.8 08 Apr 2022 pre-release
    Release notes
    • fix: single line prompts are overwritten
      • when using confirm and prompt
    Open source →
  36. 0.1.0-dev.7 30 Mar 2022 pre-release
    Release notes
    • fix: multiline prompts are outputting twice
      • when using confirm and prompt
    Open source →
  37. 0.1.0-dev.6 10 Mar 2022 pre-release
    Release notes
    • feat: add write
    Open source →
  38. 0.1.0-dev.5 21 Feb 2022 pre-release
    Release notes
    • feat: add hidden flag to prompt
    • chore: upgrade to Dart 2.16
    Open source →
  39. 0.1.0-dev.4 19 Jan 2022 pre-release
    Release notes
    • fix: progress string truncation
    • feat: add confirm
    • feat: add defaultValue to prompt
    • feat: improve progress time style
    • docs: update example and README
    Open source →
  40. 0.1.0-dev.3 25 Dec 2021 pre-release
    Release notes
    • feat: add tag to warn call
    Open source →
  41. 0.1.0-dev.2 02 Dec 2021 pre-release
    Release notes
    • test: 100% test coverage
    • docs: README updates to include usage
    • docs: include example
    Open source →
  42. 0.1.0-dev.1 19 Nov 2021 pre-release
    Release notes

    Dev Release

    • chore: initial package (🚧 under construction 🚧)
    Open source →
  43. 0.1.0-alpha.1 18 Jul 2022 pre-release withdrawn

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive