diff options
| author | DivisionByZero <[email protected]> | 2024-10-26 15:26:25 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-10-26 13:26:25 +0000 |
| commit | 8bceb5897744ce78c0f0c355bab0c4fa5c34075b (patch) | |
| tree | 7b24387e9978b86293ca8d35b82bd0c9665888b0 /docs/guide | |
| parent | af1dbcdbf363a12c448834dff031a698c8925e2e (diff) | |
| download | faker-8bceb5897744ce78c0f0c355bab0c4fa5c34075b.tar.xz faker-8bceb5897744ce78c0f0c355bab0c4fa5c34075b.zip | |
docs: blog post v9.0 (#3056)
Co-authored-by: ST-DDT <[email protected]>
Diffstat (limited to 'docs/guide')
| -rw-r--r-- | docs/guide/upgrading.md | 54 |
1 files changed, 5 insertions, 49 deletions
diff --git a/docs/guide/upgrading.md b/docs/guide/upgrading.md index 05b6c488..83474ebf 100644 --- a/docs/guide/upgrading.md +++ b/docs/guide/upgrading.md @@ -14,6 +14,10 @@ This is the migration guide for upgrading from v8 to v9. ::: +::: info Want to learn more about new features in v9? +Read our [release announcements](/about/announcements/2024-10-26.md) +::: + ## General Breaking Changes ### Requires Node v18+ @@ -54,58 +58,10 @@ While this is not a breaking change according to semantic versioning guidelines, ### Use High Precision RNG by Default -TLDR: Many Faker methods return a different result in v9 compared to v8 for the same seed. - In v9 we switch from a 32 bit random value to a 53 bit random value. We don't change the underlying algorithm much, but we now consume two seed values each step instead of one. -This affects generated values in two ways: - -- In large lists or long numbers the values are spread more evenly. - This also reduces the number of duplicates it generates. - For `faker.number.int()` this reduces the number of duplicates from `1 / 10_000` to less than `1 / 8_000_000`. -- If you start with the same initial seed to generate a value, you might see some changes in the results you get. - This is because we're now working with a higher precision, which affects how numbers are rounded off. - As a result, the methods we use might produce slightly different outcomes. - And since we are now using two seed values each time subsequent results appear to skip a value each time. - -```ts -import { - SimpleFaker, - generateMersenne32Randomizer, - generateMersenne53Randomizer, -} from '@faker-js/faker'; -// < v9 default -const oldFaker = new SimpleFaker({ - randomizer: generateMersenne32Randomizer(), -}); -oldFaker.seed(123); -const oldValue = oldFaker.helpers.multiple(() => oldFaker.number.int(10), { - count: 10, -}); -// > v9 default -const newFaker = new SimpleFaker({ - randomizer: generateMersenne53Randomizer(), -}); -newFaker.seed(123); -const newValue = newFaker.helpers.multiple(() => newFaker.number.int(10), { - count: 5, -}); - -diff(oldValue, newValue); -//[ -// 7, -// 7, // [!code --] -// 3, -// 4, // [!code --] -// 2, -// 7, // [!code --] -// 6, -// 7, // [!code --] -// 7, -// 5, // [!code --] -//] -``` +You can read more in out Blog Post: [What's New In v9.0](/about/announcements/2024-10-26#use-high-precision-rng-by-default) #### Adoption |
