-
Add new version (divided by section)
- Set
lastLastVersion
to the value oflastVersion
- Set
lastVersion
to the value ofcurrentVersion
- Set
currentVersion
to the new version
- Set
-
Update the following files:
client/shared/constants/whats-new.tsx
for JavaScript valuesclient/shared/constants/types/whats-new.tsx
for TypeScript type literals
-
New new features in
client/shared/whats-new/releases.tsx
using theNewFeatureRow
component.- Each feature row needs to take the
seen
prop to set its badge state correctly - Navigation can be done either internally to the application or externally to a Web URL.
- Use
onNavigate
to move to different routes in the app, andonNavigateExternal
for external URLs like keybase.io
- Each feature row needs to take the
-
Add any image assets to
client/shared/images/releases/{MAJ-MIN-PATCH-name}.png
- Generate icon constants with
yarn update-icon-constants
- Images can be referenced with their
Kb.Icon
name. E.g.<NewFeatureRow image="4.8.0-keybase-fm"> {...} </NewFeatureRow>
- Images have to be PNGs
- Minimize file size since we will be bundling these assets with the desktop and mobile applications
- Generate icon constants with
-
Invariant:
currentVersion
>lastVersion
>lastLastVersion
-
Make sure images from old release are removed from
client/shared/images/releases/{MAJ-MIN-PATCH-name}.png
-
Regenerate icon constants after removing or adding images
yarn update-icon-constants
-
Version numbers matter in
client/shared/constants/whats-new.tsx
. They are used to sync the most recent version a user has seen and set the badge state of the radio icon.