main
breaking(curriculum): add scientific-computing to /learn (#53143) (#53146)
feat(client): add local instructions for rdb courses (#59184)
feat(client): use new users endpoints (#59284)
fix: search indicies (#57358)
chore(client): rename and update analytics (#49626)
feat(api): add /user/get-session-user (#50557)
refactor(client): document and test create types utilities (#42960)
chore(client): add and apply naming convention (#44110)
feat(curriculum): add dev-playground superblock and daily challenge types (#60439)
fix(api): use generic error handler with Sentry (#55176)
feat(client): show confetti when project complete (#51072)
fix(client): make exam client work with new endpoints (#51125)
fix: fix util import statement (#45104)
chore: upgrade eslint (#58575)
fix(client): only fetch completion data on challenge pages (#55787)
refactor: create shared workspace (#51454)
feat(client): reimplement Growthbook (#52316)
refactor(client): remove unused axios dependents (#43579)
fix(docs): modified grammar and phrasing in docs and comments (#43682)
refactor: rename superblocks.ts to curriculum (#55624)
fix(client): store challenge panes sizes (#42519)
fix(client): add support of MathJax in FSD cert (#60110)
refactor: replace isChallenge (#50033)
chore(client): migrate to React 17 (#58355)
feat: AB test initial donation modal interval (#56078)
fix(client): replace apple quotes in fill in the blanks before testing (#57987)
chore: remove sentry from the client (#51284)
fix(client): render MathJax in jaws header (#53370)
chore(deps): upgrade eslint (#50614)
feat: move session related challenge data to sessionStorage (#55918)
fix: removed view project buttons from Python cert projects (#54261)
fix: only load stripe once (#52921)
refactor(client): docs, ts and test challenges (#42978)