Bit v14.0.0 Release Notes

Release Date: 2019-02-04 // about 5 years ago
  • Summary

    πŸš€ Bit’s v14 is released side-by-side with the release of the v2 for bit.dev, Bit’s component community hub. New features for bit.dev v2 are announced in Bit’s Blog.

    With over 65 new features, changes and bug fixes, v14 is Bit’s largest and richest release to date. V14 is focused on increased stability, agility and performance. It is is fully backwards compatible, and provides a faster and smoother workflow with improved compatibility throughout the ecosystem.

    Here are some of v14's highlights:

    • Improved performance for tracking, versioning and exporting components by up to 700%.
    • πŸ›  Dozens of bug fixes (~70% of open issues).
    • πŸ†• New commands watch and eject.
    • πŸ‘ Dynamic namespaces support.
    • πŸ‘Œ Improved VueJS support.
    • πŸ‘Œ Improved CSS support.
    • πŸ“š Auto generated documentation for React.

    πŸ†• New

    • πŸ†• New bit watch command for building components upon file modifications.
    • πŸ†• New bit eject for removing local components and installing them as packages by an NPM client
    • πŸ‘Œ Support dynamic namespaces (replaced the namespace/name format with a dynamic name that can have multiple slashes to indicate a hierarchical namespace).
    • πŸ‘Œ Support components with binary files (or non-supported extensions) as the only files.
    • πŸ‘Œ Support ids with wildcards (e.g. bit tag "utils/*") for the following commands: tag, untag, remove, untrack, checkout, merge, diff and export.
    • πŸ‘Œ Support mix syntax of typescript and javascript inside .ts file
    • βž• Added react docs parsing to extract the description of the properties correctly.
    • πŸ‘Œ Support flow types in react doc generation.
    • πŸ‘Œ Support Vue files with typescript.
    • πŸ‘Œ Support configuring Git executable path.
    • πŸ‘Œ Support the new jsx syntax changes by Babel.
    • πŸ‘Œ Support print multiple external (build / test) errors.
    • πŸ‘Œ Support adding the project package.json file to a component.
    • πŸ‘Œ Support import ~ from a local (authored) file to an imported sass component.
    • βž• Add programmatic API for add multiple components.
    • πŸ“¦ Set the only dist file as main file in package.json (in case there is only one).
    • πŸ‘ Allow removing a component when it is invalid.

    πŸ”„ Changes

    • πŸ‘Œ Improved performance for tracking, versioning and exporting components by up to 700%.
    • πŸ“œ CSS parser replaced for better import syntax support.
    • πŸ‘Œ Improve auto-tag mechanism to tag not only the dependents but also the dependents of the dependents and so on.
    • πŸ”„ Changed --include-unmodified to --all.
    • πŸ”’ Replace caporal package with commander for security reasons.
    • πŸ‘ Better error when a component was tagged without its dependencies.
    • πŸ‘‰ Make bit version command faster and support both bit -v and bit -V to get bit version.
    • ⚑️ Update tty-table, flow-coverage-report and mocha-appveyor-reporter for security reasons.
    • πŸ‘Œ Improve exception handling for old clients connecting to a newer server.
    • Shorten the generated component ID to the minimum possible.
    • βœ… Return status code 1 when bit test has failing tests.
    • ⚠ Suppress an exception of directory-is-empty when adding multiple components and some of them are empty, show a warning instead.
    • πŸ‘Œ Improve "missing a main file" error when adding multiple components to print the problematic components.
    • πŸ‘Œ Improve performance by caching objects after loading them.
    • πŸ›  Fix ci-update command with component version number.
    • πŸ›  Fix bit status to not throw an exception for invalid components.
    • πŸ”„ Change --conf on bit import to be a path to the config dir.
    • πŸ‘• Replace the deprecated typescript-eslint-parser with @typescript-eslint/typescript-estree

    πŸ› Bug fixes

    • πŸ›  Fix link files generated to a package when it should point to an internal file of the package.
    • πŸ›  Fix parsing React docs to show the @example tag.
    • πŸ›  Fix running bit link from an inner directory for author.
    • πŸ›  Fix ampersand and minus signs causing parse error in css files.
    • πŸ›  Fix bit add to add the correct letter case even when --main or --test flags entered with incorrect case.
    • πŸ›  Fix errors when component files require each other using module path.
    • πŸ›  Fix dev-dependency that requires prod-dependency to include the dependency in the flattenedDevDependencies array.
    • ⚑️ Do not delete isolated environment when running ci-update with keep flag and it throws exception.
    • πŸ›  Fix import of components with circular dependencies.
    • πŸ›  Fix link content generation for authored components on bit install.
    • πŸ›  Fix bug with bit show when the remote component has config file.
    • πŸ›  Fix context for testers during ci-update.
    • πŸ›  Fix missing context in getDynamicPackageDependencies.
    • πŸ›  Fix bug with bit show when scope path provided.
    • πŸ›  Fix errors "JavaScript heap out of memory" and "Error: EMFILE: too many open files" when exporting a huge number of components.
    • πŸ›  Fix error "link-generation: failed finding .. in the dependencies array" when a dependency has a devDependency installed as a component.
    • πŸ‘Œ Improve the stability of bit export --eject and provide some kind of rollback in case of failure.
    • πŸ›  Fix bit-remove to delete authored component files when removing an authored component from an inner directory.