What's Changed
- refactor: use helpCategory from challenge data by @huyenltnguyen in #1434
- fix: pass widget overflow error by @Nirajn2311 in #1444
- fix: border between editor and bottom bar by @Nirajn2311 in #1445
- feat: help category as enum by @Nirajn2311 in #1446
- chore: upgrade flutter packages by @Nirajn2311 in #1414
- feat: flutter 3.29 by @Nirajn2311 in #1456
- chore: add design system colors by @huyenltnguyen in #1420
- chore(service): use v2 submit-types.json by @huyenltnguyen in #1461
- fix: slider and add playback speed by @Sembauke in #1428
- feat: add multiple choice feedback and answer tracking by @Sembauke in #1459
- chore(model, viewmodel): use v2 superblock and block data by @huyenltnguyen in #1467
- feat: add explanation field to Challenge and display in MultipleChoiceView by @Sembauke in #1462
- feat(view): add explanation to fill in the blanks challenge by @huyenltnguyen in #1474
- chore: update readme by @Sembauke in #1475
- chore(viewmodel): use challenges data v2 by @huyenltnguyen in #1472
- feat: new layout design mcq and English by @Sembauke in #1469
- fix: jittery audio widget layout by @Sembauke in #1477
- feat: add 'Tab' symbol by @Sembauke in #1460
- fix(multiple-choice): align question text to the start in MultipleChoiceView by @Sembauke in #1478
- fix(multiple_choice_view): adjust check button layout and padding by @Sembauke in #1483
- chore(multiple_choice_view): remove padding from ListView by @Sembauke in #1484
- chore(view): reorganize widgets by @huyenltnguyen in #1487
- test: stop lock file from unexpectedly updating by @Sembauke in #1457
- fix: update lock file by @Sembauke in #1490
- fix: fill in the blanks rendering layout by @Sembauke in #1480
- fix: update Explanation widget to accept explanation string directly by @Sembauke in #1485
- fix(view): move feedback below fill in the blank section by @huyenltnguyen in #1500
- fix(view): minor improvements to login view by @huyenltnguyen in #1499
- fix: wait for async preferences setting by @huyenltnguyen in #1495
- feat: integrate test-runner by @ojeytonwilliams in #1397
- fix: add instruction parsing to English and Multiple Choice views by @Sembauke in #1498
- feat: add scene management classes for interactive storytelling by @Sembauke in #1482
- feat(viewmodel): prevent loading episode if already playing another episode and update play/pause logic by @Sembauke in #1488
- fix: prevent calling superblock list and superblock on challenge init by @Sembauke in #1497
- feat: block layout improvements by @Sembauke in #1492
- fix: update getCurrentEditedFileFromCache to return ChallengeFile and adjust related tests by @Sembauke in #1506
- fix(model): use enum for chapterType and moduleType by @huyenltnguyen in #1514
- feat: add full stack developer curriculum section by @Sembauke in #1515
- fix(model): add null check for chapterType and moduleType by @huyenltnguyen in #1520
- fix(view): assignment checkbox by @huyenltnguyen in #1516
- feat: enhance challenge completion indicators in grid and list views by @Sembauke in #1523
- feat(view, viewmodel): add review page by @huyenltnguyen in #1518
- fix: minor bugs by @Nirajn2311 in #1521
- fix(test_runner): update initial URL request to point to index.js by @Sembauke in #1528
- feat: JS FWD challenges in test runner by @Nirajn2311 in #1522
- feat: phone_ide v2 concept by @Sembauke in #1513
- feat: new landing page by @Sembauke in #1527
- feat(model, view, viewmodel): quiz widget by @huyenltnguyen in #1524
- refactor(view): make asset path for SuperBlockButton icons a constant by @huyenltnguyen in #1548
- fix: allow audio to play in tests by @ojeytonwilliams in #1547
- fix(view): add video to review view by @huyenltnguyen in #1531
- feat: cleaner episode list layout by @Sembauke in #1541
- chore: update test runner to version 4.5.1 by @ojeytonwilliams in #1546
- chore: update learn_landing.dart to use v2 data by @huyenltnguyen in #1542
- feat: enhance tabbar with dropdown and test tab by @Sembauke in #1540
- feat: put dynamic panel in end drawer free up screen space by @Sembauke in #1551
- fix(view): challenge title by @huyenltnguyen in #1537
- feat: add yellow80 and green80 colors by @Sembauke in #1555
- fix(viewmodel): unnecessary validation status and error message reset by @huyenltnguyen in #1553
- fix(view, viewmodel): cache parsed html for review page by @huyenltnguyen in #1554
- feat(model, view): add transcript to views by @huyenltnguyen in #1532
- refactor: challenge view by @Sembauke in #1552
- fix: clear auth private vars on logout by @Nirajn2311 in #1557
- fix: do not truncate title by @Sembauke in #1565
- feat: flutter 3.32 by @Nirajn2311 in #1536
- refactor: ProfileView for improved layout and readability by @Sembauke in #1556
- feat: add py to file extension list by @huyenltnguyen in #1570
- fix(view): correct task number shown on block view by @huyenltnguyen in #1562
- feat(view): enhance BlockDialogueView with improved layout handling by @Sembauke in #1574
- chore(view): remove unused preview from Hint Widget by @Sembauke in #1575
- feat: add bottom border to challenge appbar for extra clarity by @Sembauke in #1577
- feat(model, view, viewmodel): quiz view by @huyenltnguyen in #1529
- fix(dependencies): algolia_helper_flutter dependency issue by @Sembauke in #1581
- chore(ci): move analyze and unit tests to a separate workflow by @huyenltnguyen in #1568
- feat: customise html styles by @Nirajn2311 in #1567
- fix(view): improve scroll behavior and layout in BlockGridView by @Sembauke in #1576
- feat(view): move submit button to bottom bar on quiz view by @huyenltnguyen in #1550
- fix: some unforseen profile issues by @Sembauke in #1578
- test: add tests for handleChallengeTitle util by @huyenltnguyen in #1566
- feat: update forum dialogue to be the same as the main website by @Sembauke in #1572
- chore(view): remove close button from pass widget by @huyenltnguyen in #1591
- fix(view): improve python and review views by @huyenltnguyen in #1586
- feat: console messages UI by @Nirajn2311 in #1569
- test: add more tests for learn file service by @huyenltnguyen in #1592
- fix(view, viewmodel, service): use full file name as file identifier by @huyenltnguyen in #1590
- fix: learn file controller test by @huyenltnguyen in #1596
- chore(assets): update test-runner to v5.2.0 by @ojeytonwilliams in #1594
- feat: add 'Ask for Help' button to English, Multiple Choice, and Python views; improve request data handling in setup dialog by @Sembauke in #1599
- feat(user): add completedDailyCodingChallenges to FccUserModel by @Sembauke in #1611
- fix: android failing e2e test by @Nirajn2311 in #1609
- feat(colors): add red100 color constant to FccColors by @Sembauke in #1613
- fix(model): parse completedDate value to DateTime by @huyenltnguyen in #1615
- fix: challenge view bugs by @Nirajn2311 in #1603
- feat(viewmodel): add development mode handling in ChapterViewModel by @Sembauke in #1612
- chore: update test-runner to 5.4.0 by @ojeytonwilliams in #1620
- fix(view): handle missing challenge video by @huyenltnguyen in #1622
- feat: support python in test runner by @Nirajn2311 in #1625
- chore: use old landing SB order by @Nirajn2311 in #1633
- fix(view): ensure end drawer closes before navigation by @huyenltnguyen in #1638
- fix: typo in DrawerWidgetViewModel class name by @Copilot in #1644
- feat: daily coding challenges by @huyenltnguyen in #1635
- fix: flip instructions and descriptions in multiple views by @Sembauke in #1647
- fix: replace expected and actual placeholders in hint text by @Nirajn2311 in #1646
- Show challenge title instead of "Instructions" in challenge drawer header by @Copilot in #1648
- feat: copy highlighted text to clipboard on tap by @Sembauke in #1649
- feat: daily challenge notification service by @huyenltnguyen in #1632
- release(app): v6.0.0+60000 by @Nirajn2311 in #1653
New Contributors
- @Copilot made their first contribution in #1644
Full Changelog: v5.0.3...v6.0.0