List of changes for each released npm package version.
- fbt versions
- babel-plugin-fbt versions
- babel-plugin-fbt-runtime versions
- @fbtjs/default-collection-transform versions
- @fbtjs/babel-plugin-standalone versions
- fb-tiger-hash versions
- fb-babel-plugin-utils versions
- gulp-rewrite-flowtyped-modules versions
- gulp-strip-docblock-pragmas versions
- react-native-fbt versions
- fbt-rn-android-native versions [Deprecated]
- [chore] Strictify modules (Flow)
- [chore] Inline
keyMirror.js
module to removefbjs
package dependency - [minor] Identify strings with updated
hash_key
incategorizeNewStrings.js
- [chore] Update copyright headers to 'Meta Platforms, Inc.'
- [chore] Upgrade to Flow v0.158.0
- [fix] Add missing dependencies for
@babel/preset-react
- [build] Add test to ensure published versions are in sync
- [feat] Add example of fbt common to the demo-app. See
<fbt common={true}>...</fbt>
. - [chore] Upgrade to Flow v0.141.0
- [chore] Use GitHub Actions for Continuous Integration
- [chore] Upgrade to Flow v0.137.0
- [chore] Adding @noflow annotations
- [chore] Upgrade to Flow v0.127.0
- [fix] Relax required version patterns of npm dependencies
- Sync
babelTypeShims.js
to GitHub. It was previously missing due to internal config issues. - Upgrade to Flow v0.123.0
- [doc] Add Fbt Common Strings documentation
- Upgrade to Flow v0.120.1
- refactor: Remove String.prototype.* methods from FbtResult flow-types
- refactor: Breakup
moduleMap
from babelPresets - Add
yarn clean-test
script to clean, rebuild and test this whole project - Run Flow checks and all Jest tests in Travis by default
- Upgrade to Flow v0.115.0
- Remove the String.prototype methods (that aren't used internally) from libdefs
- Upgrade to Flow v0.113.0
- Make demo-app rely on the local versions of our published npm modules.
That'll avoid us from having to update
package.json
for every package update. - Fix demo-app breakage
- Require node v10.4.0+ because for fb-tiger-hash (we need BigInt!)
- [Experimental] Add support for Flow type checks.
- Run
yarn flow:check
to check them.- NOTE: our Flow types are still in their infancy, so lots of errors are expected.
- Run
yarn flow:watch
to recheck types upon changing JS files.
- Run
- Prepare directory structure for Lerna
- Enable testing packages from top-level in GitHub
Unreleased changes that have landed in main. Click to see more.
-
1.0.2
- [fix] Introduced
onMissingParameterError
error listener for reporting whensubstituteTokens
encounters a missing parameter, instead of throwing if__DEV__
was truthy - [fix] When a parameter value is
undefined
, render empty string instead of the string"undefiend"
(i.e. match behavior for when parameter value isnull
)
- [fix] Introduced
-
1.0.1:
- [chore] Make it compatible with React 18 (and any
>=0.12.0
).
- [chore] Make it compatible with React 18 (and any
-
1.0.0:
- [feat] Major release to maintain compatibility with
[email protected]
- [feat] Expose the
fbs
API to output plain-text translatable strings. - [feat] Expose
extraOptions
toFbtHooks.getFbtResult
- [chore] Throw an exception if we detect duplicate token names when using the low-level
fbt._()
API (See 9bb6890 / D33476399)
- [feat] Major release to maintain compatibility with
-
0.17.1:
- [fix] Fix React dependency in intlList.js
- [feat] [Experimental] Add sanity check to ensure that each pattern string token is mapped to a single substitution value.
- [chore] Add
.npmignore
config (avoid exporting some build, debug & test files)
-
0.17.0:
- [feat] Add user's regional local in
IntlViewerContext
- [feat] Improve resilience of detection of fbt parameters inside translated string patterns and improve error message format.
- [chore] Update babel-plugin-fbt-runtime dependency version to
^0.10.x
- [chore] Update babel-plugin-fbt dependency version to
^0.21.x
- [fix] Ensure that
fbs()
really returnsFbtPureStringResult
objects - [fix] Force fbs:plural to only show plain text custom UI values.
- [feat] Convert babel-plugin-fbt raw JSFBT payload to runtime friendly version and add fbt._implicitParam() client-side method
- [feat] Add user's regional local in
-
0.16.6:
- [feat] Add a new
FbtTranslations.getRegisteredTranslations
function - [feat] Add a new
FbtTranslations.mergeTranslations
function
- [feat] Add a new
-
0.16.5:
- [chore] Update babel-plugin-fbt dependency version to
^0.20.x
- [chore] Update babel-plugin-fbt dependency version to
-
0.16.4:
- [chore] Update babel-plugin-fbt dependency version to
^0.19.x
- [chore] Update babel-plugin-fbt dependency version to
-
0.16.3:
- [chore] Update babel-plugin-fbt dependency version to
^0.18.x
- [chore] Update babel-plugin-fbt dependency version to
-
0.16.2:
- [chore] Update babel-plugin-fbt dependency version to
^0.17.x
- [fix] Don't strip punctuation that isn't redundant with token punctuation
- [chore] Update babel-plugin-fbt dependency version to
-
0.16.1:
- [fix] Updated peer dependencies, and devEngines dependencies.
- [fix] Improved Flow typing of
intlList
-
0.16.0:
- [major] Merge two
GenderConst
entries that had the same value to avoid confusion.
I.e.MIXED_SINGULAR
andMIXED_PLURAL
will both be referred asMIXED_UNKNOWN
and it'll keep the same value (MIXED_UNKNOWN=5
). - [feat] Add Babel
presets
as a CLI option forcollectFBT.js
- [feat] Add ES6 imports/exports support for shared enums. See related doc.
- [major] Merge two
-
0.15.0:
- [feat] Add ability to provide your own ViewerContext dynamically. See related doc.
- [fix] Render optional catch binding syntax to ES5 to fix IE11 bug
- [feat] Convert
fbt.isFbtInstance()
to a predicate function for Flow - [fix] Avoid generating unnecessary empty strings in fbt result contents
- [chore] Log type of leaf reached during table access failure
- [fix] Fix FlowFixMes in FbtTable.access
- [feat] Improve feature detection of
Object.defineProperty()
for IE11
-
0.14.0:
- [fix] Add NumberFormatConfig flow definition
- [fix] Use
invariant
module in fbt runtime and list it as dependency - [refactor] Introduce
FbtTable
and related types around payload access
-
0.13.0:
- [fix] FbtInit.getTranslatedInput was setting the wrong default.
-
0.12.1:
- [fix] Patch fix for FbtHooks.getTranslatedInput (from 0.13.0)
-
0.12.0:
- [feat] FbtHooks.getTranslatedInput for ReactNative translation retrieval
-
0.11.0:
- [feat] Expose FbtResult in fbt
- [feat] Enable overriding result returned from fbt via
getFbtResult
inFbtHooks
- [feat] Provide onStringMethodUsed hook for IFbtErrorListener
- [feat] Remove Banzai & FbtLogger, provide hooks in their place.
- [refactor] Abstract away string serialization error handling.
- [refactor] Move FbtContentItem and $NestedFbtContentItems to libdefs
- [refactor] Flow type strict substituteTokens.js
- Fix version in header comments
-
0.10.6:
- More accurate peer dependencies
-
0.10.5:
- Add README.md
-
0.10.4:
- Improve repository link in package.json
-
0.10.3:
-
0.10.2:
- 04df822 Updated package version references
-
0.10.0:
- 9acb1cd Make fbt translation payload getter customizable
Unreleased changes that have landed in main. Click to see more.
- Add unit tests for fbs.enum() and <fbs:enum>
-
1.0.0:
-
[feat]! Refactored the string extraction algorithm to properly generate meaningful text/description pairs for fbt callsites that contain JSX presentational elements. We've also added support for a new way to call
fbt()
using an array of inputs instead of string concatenation. See #35BREAKING CHANGE: the
fbt-collect
script may extract new strings (that probably resemble strings from the0.20.x
version of the extractor) that will need to be translated. Please see this post for more information on how to upgrade. -
[feat] Export non-native options that are specified through
extraOptions
to the 'options' argument (3rd argument) in fbt._() calls -
[fix] Make
ValidFbtOptions
immutable -
[chore] Address several dependency vulnerabilities
-
[chore] Update file headers and
LICENSE
file -
See release notes from
0.21.0-rc*-beta
for more release details.
-
-
0.21.0-rc10-beta:
- [feature] Support fbt
common
attribute without value - [chore] Add tests for common fbt
- [feature] Support fbt
-
0.21.0-rc9-beta:
- [fix]! Fixed issue where non-breaking space characters (
) in<fbt>
callsites were being replaced by space characters - [chore] Improve
.npmignore
config (avoid exporting some build, debug & test files)
- [fix]! Fixed issue where non-breaking space characters (
-
0.21.0-rc8-beta:
- [fix]! Prevent
fbt.sameParam
from referring to a non-existent token name or a plural construct token - [fix]! Prevent token name collisions among fbt constructs across all nesting levels
- [fix]! Prevent
-
0.21.0-rc1-beta - 0.21.0-rc7-beta:
- [fix] Add missing
fbjs
npm dependency - [feature] Introduce a script to identify new/updated strings after Auto-Param
- [feat]! Pull out common
desc
from leaves and includetokenAliases
when calculatinghash_key
in fbtJenkinsHash.js - [fix] Check for untransformed fbt constructs after FbtTransform
- [fix] Check for nested fbt constructs
- [fix] Stop TranslationBuilder from mutating FbtSite
- [refactor] Make TranslationBuilder use clear token replacement helper in FbtUtil.js
- [chore] Improve translate-test.js and FbtSite-test.js
- [fix] Replace clear tokens in translation data with their token aliases
- [fix!] (fbt:name) Fix issue where we failed to prevent users from using a "gender" value issued from a function/class invocation
- [fix!] (fbt:enum) Fix issue where we failed to detect that enum object keys were issued from computed values instead of being statically defined
- [fix] Move flow-enums-runtime from devDependency to a normal dependency since it's needed by FbtNodeType at runtime
- [fix] Add missing @babel/register dependency
- [feat] Print error message for each missing entry in input JSON
- [chore] Update fb-babel-plugin-utils dependency version
- [refactor] Improve readability of JS code output serialized with Jest snapshots
- [chore]! Drop support for node.js
<12.16.x
- [feat]! Refactor the string extraction algorithm to properly generate meaningful text/description pairs for fbt callsites that contain JSX presentational elements. We're also adding support for a new way to call fbt() using an array of inputs instead of string concatenation. See #35
- [fix] Add missing
-
0.21.0:
- This version was published accidently. Please ignore.
-
0.20.3: Accidental npm release. It's the same as [email protected].
-
0.20.2:
- [fix] Improve detection pattern of fbt/fbs JS callsites from FbtCollector
-
0.20.1:
- [fix] Fix ability to detect fbs JS callsites from FbtCollector
-
0.20.0:
- [refactor] Hang FbtUtil modules off of babel-plugin-fbt
- [refactor]! Replace
fbtBabelPluginPath
with actual referenct tofbtModule
in external transform
-
0.19.2:
- [chore] Update devDependency of
gulp-strip-docblock-pragmas
- [chore] Update devDependency of
-
0.19.1:
- [chore] Update fb-babel-plugin-utils dependency version
-
0.19.0:
- [refactor]! Move to @fbtjs/default-collection-transform and avoid fb-babel-plugin-utils/SyntaxPlugins
-
0.18.0:
- [fix] Ignore __private JSX attributes when parsing
- [feat] Add ability to collect strings from a custom
FbtCollector
module for collection script
-
0.17.2:
- [feat] Add external
transform
option for collection script - [fix] Add missing flow types for
yargs
npm module
- [feat] Add external
-
0.17.1:
- [chore] Additional flow typing in scripts
-
0.17.0:
- [chore!]
collectFBT
renamed tocollectFbt
(BREAKING CHANGE: updates paths to binary) - [minor!] Add ability to write Flow annotations in JS code directly.
Npm packages will contain both ES5 and Flow JS file versions.
Source files have been moved to a
src
folder and their ES5-transpiled versions will be published inside thedist
folder. (BREAKING CHANGE: updates paths to source files) - [chore] Adding @noflow annotations
- [fix] Fix issue where the value of the
human
option offbt:pronoun
was processed incorrectly. Before,human=true
used to behave as ifhuman=false
, and vice versa. Also, whenfbt:pronoun
is used without an explicithuman=false
option, we'll now generate theNOT_A_PERSON
gender-case. - [fix] Fix incorrect object detection algorithm of
objMap()
inFbtUtil.js
- [chore] Remove dead code
- [chore!]
-
0.16.0:
- [major] Merge two
GenderConst
entries that had the same value to avoid confusion.
I.e.MIXED_SINGULAR
andMIXED_PLURAL
will both be referred asMIXED_UNKNOWN
and it'll keep the same value (MIXED_UNKNOWN=5
). - [refactor] Remove dependency on
fbjs
andfbjs-scripts
modules. Update tojest-docblock@^26.0.0
. - [feat] Added tests to ensure that
IntlVariations
gender and number constants are in sync with the client-side code equivalent
- [major] Merge two
-
0.15.1:
- [fix]
fbt:plural
branch pruning whenvalue
option present. (Introduced in v0.13.0)
- [fix]
-
0.15.0:
- [fix] Relax required version patterns of npm dependencies
- [fix] Add missing npm dependencies for
bin/manifest.js
- [feat] Add ES6 imports/exports support for shared enums. See related doc.
- [fix] Avoid throwing errors during string extraction when source code folder has no fbt string inside. (manifest & collect-fbts)
-
0.14.2:
- [fix] Bug in collectFBT.js when using
BOTH
packagers with--terse
- [fix] Bug in collectFBT.js when using
-
0.14.1:
- [fix] Point to correct fb-babel-plugin-utils package version
-
0.14.0:
- [fix] Fix issues due to missing dependency to the
nullthrows
npm package (only visible when using babel-plugin-fbt as a standalone module) - [feat] Add ability to provide strings as an array instead of a string concatenation pattern for the Fbt functional API.
- [fix] Fixed Flow checks due to missing @babel/types dependency
- [fix] Fix issues due to missing dependency to the
-
0.13.0:
- [feat] Loosen Babel dependencies and upgrade yargs
- [feat] When throwing an error in the Babel transform, show source code of the related node.
- [fix] Fix incorrect test input in
fbtFunctional-test.js
- [refactor] Split up the monolithic fbt transform logic into separate modules.
-
0.12.1:
- Require passed plugins in collectFBT before passing to Babel
-
0.12.0:
- Support common strings as plugin option
-
0.11.1:
- Remove #!shebang from bin scripts and point to wrappers in
node_modules/.bin
shortcut paths
- Remove #!shebang from bin scripts and point to wrappers in
-
0.11.0:
- [feature] Enable both phrase and text packaging in collectFbt
- [feature] Create new
node_modules/.bin
shortcuts for our scripts. You can now execute them like this:yarn fbt-collect
yarn fbt-manifest
yarn fbt-translate
-
0.10.4:
- Add description in NPM package
-
0.10.3:
- Sync fbjs, fbjs-scripts, & glob deps with other FB packages
-
0.10.2:
- Add READMEs and improve repository link in package.json
- Enable paths for enum module references
- Enable multiple src folders for manifest
- Fix manifest bug with directories ending in
.js
-
0.10.1:
- [bug] Fix IntlNumberType.get(...) to work with short locales #85
- Allow jsx files to be fbt-containing candidates.
-
0.10.0:
-
0.9.16:
- 7d46281
output-dir
arg added to the translate script - output files split by locale.
- 7d46281
-
0.9.14:
- c11e9fd Enable custom Babel plugins for FBT collection
Unreleased changes that have landed in main. Click to see more.
-
1.0.0:
- [feat]! Major release to maintain compatibility with
[email protected]
- [feat] Append hk/ehk to the
fbt._() 'options' argument rather than overriding the 'options' argument. This exposes extra options, which are dumped by
babel-plugin-fbt` to the 'options' argument, in fbt runtime calls.
- [feat]! Major release to maintain compatibility with
-
0.10.0-rc1-beta - 0.10.0-rc5-beta:
- [chore] Improve
.npmignore
config (avoid exporting some build, debug & test files) - [chore] Update fbtRuntime-test.js after the definition of
hash_key
in fbtJenkinsHash.js was modified - [refactor] Move clear token replacement logic to babel-plugin-fbt/src/FbtUtil.js
- [chore] Updated peer dependency on babel-plugin-fbt
- [chore] Updated devDependency on fb-babel-plugin-utils
- [feat]! Strip jsfbt leaves of keys that are unneccessary for runtime and only keep the
text
key. - [refactor] Flowify index.js
- [chore] Use
invariant()
from theinvariant
npm package instead offbjs/lib/invariant
- [chore] Improve
-
0.9.18:
- [chore] Updated peer dependency on babel-plugin-fbt
-
0.9.17:
- [chore] Updated devDependency on fb-babel-plugin-utils
-
0.9.16:
- [chore] Updated peer dependency on babel-plugin-fbt
-
0.9.15:
- [chore] Updated peer dependency on babel-plugin-fbt
-
0.9.14:
- [fix] Updated peer dependency on babel-plugin-fbt
-
0.9.13:
- [fix] Updated peer dependencies
-
0.9.12:
- [fix] Relax required version patterns of npm dependencies
-
0.9.11:
- Update peer dependency on
babel-plugin-fbt
and devDependency onfb-babel-plugin-utils
- Update peer dependency on
-
0.9.10:
- Update peer dependency on
babel-plugin-fbt
- Update peer dependency on
-
0.9.9:
- Add description in NPM package
-
0.9.8:
- Fix fbjs dependency semver
-
0.9.7:
- package.json: improve repository link and set more accurate dependency versions
-
0.9.6:
- Add READMEs and improve repository link in package.json
-
0.9.5:
- 435ec19 Ignoring tests and mocks from NPM modules
-
0.9.4:
- 250207c Update peer dependencies for babel-plugin-fbt.
Unreleased changes that have landed in main. Click to see more.
-
1.0.0:
- [feat]! Major release to maintain compatibility with
[email protected]
- [chore] Improve
.npmignore
config (avoid exporting some build, debug & test files)
- [feat]! Major release to maintain compatibility with
-
0.2.0-rc1-beta:
- [refactor] Add flow types
- [refactor]! Replace
hashPhrases()
function bygetFbtHash()
-
0.1.6:
- Strip yarn files in .npmignore
-
0.1.5:
- Add Typescript declarations and move source files to their own folder
-
0.1.4:
- Add description in NPM package
-
0.1.3:
- package.json: improve repository link and set more accurate dependency versions
-
0.1.0:
- First commit. A native JavaScript implementation of the Tiger hash Algorithm.
Unreleased changes that have landed in main. Click to see more.
-
1.0.0:
- [chore] Update peer dependency for
[email protected]
- See
0.0.4-beta
for more info
- [chore] Update peer dependency for
-
0.0.4-beta:
- [chore] Improve
.npmignore
config (avoid exporting some build, debug & test files) - [chore] Update peer dependency for
babel-plugin-fbt@^0.21.x
- [chore] Improve
-
0.0.3:
- Update peer dependency on babel-plugin-fbt
- Pass
{enum: true}
to '@babel/plugin-syntax-flow'
-
0.0.2:
- Require Babel plugins directly
-
0.0.1:
- First commit. A default Babel transform to use for fbt collection.
- 0.0.1:
- First commit. The standalone browser-friendly version of
babel-plugin-fbt
.
- First commit. The standalone browser-friendly version of
Unreleased changes that have landed in main. Click to see more.
-
0.13.0:
- [chore] Add
.npmignore
config (avoid exporting some build, debug & test files) - See
0.13.0-beta for
more info
- [chore] Add
-
0.13.0-beta:
- [feat] Allow test data to specify
filter
status which decides whether a test will be run - [fix] Fixed display of error message for
assertSourceAstEqual()
- [feat] Allow test data to specify
-
0.12.0:
- [refactor!] Remove SyntaxPlugins
- [chore] Remove SyntaxPluginsConfig
-
0.11.1:
- [chore] Adding @noflow annotations
-
0.11.0:
- [feat] Add ability to test against Jest code snapshots
- [fix] Add missing
json-diff
npm dependency
-
0.10.1:
- [fix] Relax required version patterns of npm dependencies
-
0.10.0:
- Feat: expose utility function
generateFormattedCodeFromAST()
to convert aBabelNode
to a source code string - Minor: clarify error messages when unit tests fail due to Babel AST node differences.
- Minor: normalize source code before using it in unit tests' code comparisons
- Feat: expose utility function
-
0.9.1:
- Add READMEs and improve repository link in package.json
-
0.9.0:
- Initial commit
Unreleased changes that have landed in main. Click to see more.
-
0.0.10:
- [chore] Improve
.npmignore
config (avoid exporting some build, debug & test files)
- [chore] Improve
-
0.0.9:
- Initial commit
Unreleased changes that have landed in main. Click to see more.
-
0.0.4:
- [chore] Improve
.npmignore
config (avoid exporting some build, debug & test files)
- [chore] Improve
-
0.0.3:
- Initial release
Unreleased changes that have landed in main. Click to see more.
- [chore] Improve `.npmignore` config (avoid exporting some build, debug & test files)
- 0.0.1:
- New React Native package that enables the FBT library for both iOS and Android
-
0.0.2:
- Updated Readme.md file with a link to a demo app showing how to use the module
-
0.0.1:
- Initial commit