What's Changed
- Update dependency motion to ^11.16.0 by @renovate in #582
- Update dependency @hookform/resolvers to ^3.10.0 by @renovate in #583
- Update dependency sanity to ^3.69.0 by @renovate in #585
- 🎨 style: format code using prettier by @w3bdesign in #586
- Update Node.js to v23.6.0 by @renovate in #584
- Update dependency motion to ^11.17.0 by @renovate in #588
- Update dependency eslint to v9.18.0 by @renovate in #589
- 🚚 move: restructure project files into src directory by @w3bdesign in #590
- 🎨 style: reorder imports in GenericForm component by @w3bdesign in #591
- ♻️ refactor(matrix): split matrix component into modular structure by @w3bdesign in #592
- ✨ feat(config): add env validation with envalid by @w3bdesign in #593
- ♻️ refactor(testing): simplify testing tools description by @w3bdesign in #594
- ✅ test: add tests for BounceInScroll animation component by @w3bdesign in #595
- ✅ test: add comprehensive error boundary fallback tests by @w3bdesign in #596
- Update dependency postcss to ^8.5.0 by @renovate in #598
- Update typescript-eslint monorepo to ^8.20.0 by @renovate in #599
- 🔧 chore(ts): enable stricter typescript checks by @w3bdesign in #600
- Update dependency motion to ^11.18.0 by @renovate in #601
- Update dependency eslint-plugin-jest to ^28.11.0 by @renovate in #603
- Update dependency sanity to ^3.70.0 by @renovate in #602
- 🎨 style: add trailing commas and format matrix test files by @w3bdesign in #606
- 💄 ui: remove hover scale effect from tech stack icons by @w3bdesign in #607
- Update testing-library monorepo by @renovate in #605
- 📝 docs: add technical documentation for DFWeb v4 by @w3bdesign in #608
- 🚚 move: rename TECHNICAL.md to README.md in DOCS directory by @w3bdesign in #609
- 📝 docs(perf): expand performance optimization documentation by @w3bdesign in #610
- 📝 docs: expand testing strategy documentation with detailed sections by @w3bdesign in #611
- Update actions/checkout digest to 009b9ae by @renovate in #613
- Update actions/checkout digest to 85e6279 by @renovate in #614
- 📝 docs(cv): update education timeframe to 2025 by @w3bdesign in #616
- Update dependency @types/node to ^22.10.7 by @renovate in #612
- 👷 ci: add repository documentation workflow by @w3bdesign in #617
- 👷 ci: update repomix workflow to use global install by @w3bdesign in #618
- 📝 docs: add automated repository documentation details by @w3bdesign in #619
- 🔥 cleanup: remove automated PR comments feature by @w3bdesign in #620
- Add new CV by @w3bdesign in #621
- fix(deps): update dependency @sanity/client to ^6.25.0 by @renovate in #622
- chore(deps): update typescript-eslint monorepo to ^8.21.0 by @renovate in #623
- fix(deps): update dependency motion to v12 by @renovate in #624
- 📝docs: add detailed copilot instructions for DFWeb v4 by @w3bdesign in #625
- fix(deps): update dependency sanity to ^3.71.0 by @renovate in #626
- ♻️ refactor: simplify animation component test structure by @w3bdesign in #628
- ⚡️ perf: remove unoptimized prop from project card image by @w3bdesign in #630
- 👷 ci: add wait period before starting repomix workflow by @w3bdesign in #631
- ♻️ refactor: replace next/image with standard img tag by @w3bdesign in #632
- Replace Next Image by @w3bdesign in #633
- fix(deps): update dependency motion to ^12.0.1 by @renovate in #635
- 🔧 chore(ci): increase wait time for checks to 5 minutes by @w3bdesign in #636
- chore(deps): update dependency @testing-library/user-event to ^14.6.1 by @renovate in #634
- chore(deps): update node.js to v23.6.1 by @renovate in #638
- 🐛 fix: add optional chaining for safer data access by @w3bdesign in #639
- fix(deps): update dependency @sanity/client to ^6.27.1 by @renovate in #637
- 🐛 fix: add null checks by @w3bdesign in #640
- 🐛 fix: correct random character generation in matrix animation by @w3bdesign in #642
- fix(deps): update dependency sanity to ^3.71.1 by @renovate in #643
- 🔧 chore(ts): update typescript target to ES2022 by @w3bdesign in #644
- fix(deps): update dependency @sanity/client to ^6.27.1 by @renovate in #641
- ✅ test: add testing library type definitions by @w3bdesign in #646
- ✅ test: expand typescript matchers interface for jest by @w3bdesign in #647
- 📝 docs: add repository context file documentation to README by @w3bdesign in #648
- chore(deps): update dependency @playwright/test to ^1.50.0 by @renovate in #649
- chore(deps): update dependency codecov to v5.2.0 by @renovate in #650
- fix(deps): update dependency sanity to ^3.71.2 by @w3bdesign in #651
- chore(deps): update dependency eslint to v9.19.0 by @renovate in #652
- ✨ feat: add animated header SVG for Github portfolio by @w3bdesign in #655
- 📦 deps: add animated header gif asset by @w3bdesign in #656
- chore(deps): update typescript-eslint monorepo to ^8.22.0 by @renovate in #654
- ♿️ access: add pa11y automated accessibility testing workflow by @w3bdesign in #657
- chore(deps): update actions/upload-artifact action to v4 by @renovate in #659
- 🎨 style: rename accessibility tests workflow to a11y by @w3bdesign in #660
- 🎨 style: rename A11y workflow title by @w3bdesign in #661
- chore(deps): update actions/cache action to v4 by @renovate in #658
- fix(deps): update dependency @sanity/client to ^6.27.2 by @renovate in #663
- chore(deps): update dependency @types/node to ^22.12.0 by @renovate in #662
- fix(deps): update dependency sanity to ^3.72.1 by @renovate in #665
- fix(deps): update dependency next-sanity to ^9.8.46 by @renovate in #664
- 👷 ci: update a11y workflow name by @w3bdesign in #666
- chore(deps): update dependency cypress-axe to ^1.6.0 by @renovate in #667
- chore(deps): update dependency @types/node to ^22.13.0 by @renovate in #670
- chore(deps): update node.js to v23.7.0 by @renovate in #669
- chore(deps): update typescript-eslint monorepo to ^8.23.0 by @renovate in #671
- fix(deps): update dependency motion to ^12.1.0 by @renovate in #672
- fix(deps): update dependency sanity to ^3.74.0 by @renovate in #673
- chore(deps): update dependency node to v7.1.0 by @renovate in #675
- fix(deps): update dependency motion to ^12.3.1 by @renovate in #674
- fix(deps): update dependency motion to ^12.4.0 by @renovate in #678
- ✨ feat: add comprehensive error handling for Sanity API by @w3bdesign in #679
- ♻️ refactor(tabs): extract tab button and panel into separate components by @w3bdesign in #680
- ♻️ refactor: improve error handling for projects fetch action by @w3bdesign in #681
- ♻️ refactor(renderer): convert MatrixRenderer class to functional approach by @w3bdesign in #682
- ♻️ refactor: improve matrix renderer code organization by @w3bdesign in #683
- chore(deps): update dependency cypress to v14 by @renovate in #615
- ✨ feat(eslint): convert arrange-act-assert ESLint rule to Typescript by @w3bdesign in #685
- ♻️ refactor(eslint): extract test validation logic into separate functions by @w3bdesign in #686
- ♻️ refactor(eslint): extract test validation functions by @w3bdesign in #687
- 📦 deps: update dependencies by @w3bdesign in #688
- ♻️ refactor(tests): refactor error handling test cases by @w3bdesign in #689
- chore(deps): update dependency eslint to v9.20.0 by @renovate in #690
- chore(deps): update dependency prettier to v3.5.0 by @renovate in #691
- 🔧 chore(scripts): add typegen script for sanity schema and types by @w3bdesign in #692
- 📦 deps: update dependencies to latest versions by @w3bdesign in #693
- chore(deps): update dependency eslint to v9.20.0 by @renovate in #694
- fix(deps): update dependency @hookform/resolvers to v4 by @renovate in #699
- fix(deps): update dependency @vercel/speed-insights to ^1.2.0 by @renovate in #698
- ✨ feat[types]: add sanity typescript type definitions by @w3bdesign in #702
- fix(deps): update dependency sanity to ^3.75.0 by @renovate in #701
- chore(deps): update dependency cypress to v3.4.3 by @renovate in #695
- fix(deps): update dependency @sanity/client to ^6.28.0 by @renovate in #700
- chore(deps): update typescript-eslint monorepo to ^8.24.0 by @renovate in #696
- chore(deps): update dependency codecov to v5.2.1 by @renovate in #703
- fix(deps): update dependency @hookform/resolvers to ^4.1.0 by @renovate in #705
- chore(deps): update node.js to v23.8.0 by @renovate in #704
- fix(deps): update dependency react-icons to ^5.5.0 by @renovate in #707
- fix(deps): update dependency sanity to ^3.76.1 by @renovate in #706
- chore(deps): update dependency eslint to v9.21.0 by @renovate in #708
- fix(deps): update dependency sanity to ^3.77.0 by @renovate in #709
- chore(deps): update typescript-eslint monorepo to ^8.25.0 by @renovate in #710
- 🔧 chore(ai): update claude model version to 3.7 by @w3bdesign in #711
- fix(deps): update nextjs monorepo to v15.2.0 by @renovate in #712
- chore(deps): update dependency typescript to ^5.8.2 by @renovate in #718
- chore(deps): update dependency eslint-plugin-react-hooks to ^5.2.0 by @renovate in #717
- chore(deps): update node.js to v23.9.0 by @renovate in #715
- chore(deps): update typescript-eslint monorepo to ^8.26.0 by @renovate in #720
- fix(deps): update dependency sanity to ^3.78.0 by @renovate in #722
- 🔥 cleanup: remove unused scan script from package.json by @w3bdesign in #723
- fix(deps): update dependency next-sanity to ^9.9.0 by @renovate in #724
- 🔥 cleanup: remove artificial delay and fix code formatting by @w3bdesign in #727
- chore(deps): update dependency @playwright/test to ^1.51.0 by @renovate in #726
- chore(deps): update dependency eslint to v9.22.0 by @renovate in #729
- 📦 deps: update dependencies by @w3bdesign in #730
- chore(deps): update dependency @playwright/test to ^1.51.0 by @renovate in #731
- fix(deps): update dependency sanity to ^3.79.0 by @renovate in #733
- chore(deps): update dependency codecov to v5.3.0 by @renovate in #734
- fix(deps): update dependency motion to ^12.5.0 - autoclosed by @renovate in #732
- chore(deps): update dependency node to v22 by @renovate in #735
- chore(deps): update node.js to v23.10.0 by @renovate in #736
- chore(deps): update typescript-eslint monorepo to ^8.27.0 by @renovate in #738
- fix(deps): update dependency sanity to ^3.80.1 by @renovate in #737
- chore(deps): update dependency eslint to v9.23.0 by @renovate in #739
- 🎨 style: improve markdown formatting in README by @w3bdesign in #740
- 716 eslint tailwind by @w3bdesign in #719
- chore(deps): update dependency cypress to v14 by @renovate in #684
- chore(deps): update dependency typescript to ^5.8.2 by @renovate in #743
- fix(deps): update dependency next to v15.2.3 [security] by @renovate in #742
- fix(deps): update dependency sanity to ^3.80.1 by @renovate in #748
- chore(deps): update react monorepo by @renovate in #741
- chore(deps): update dependency prettier to v3.5.3 by @renovate in #751
- chore(deps): update dependency cypress to v14.2.0 by @renovate in #744
- fix(deps): update dependency @vercel/speed-insights to ^1.2.0 by @renovate in #746
- fix(deps): update dependency react-icons to ^5.5.0 by @renovate in #747
- 📦 deps: update dependencies by @w3bdesign in #753
- chore(deps): update dependency postcss to ^8.5.3 by @renovate in #755
- chore(deps): update dependency eslint to v9.23.0 by @renovate in #749
- chore(deps): update dependency axe-core to ^4.10.3 by @renovate in #754
- chore(deps): update dependency wait-on to ^8.0.3 by @renovate in #757
- chore(deps): update dependency ts-jest to ^29.2.6 by @renovate in #756
- chore(deps): update dependency eslint-config-next to v15.2.3 by @renovate in #750
- chore(deps): update typescript-eslint monorepo to ^8.27.0 by @renovate in #745
- 📝 docs: add comprehensive test strategy document by @w3bdesign in #758
- 🔥 cleanup: remove comprehensive test coverage section by @w3bdesign in #759
- 🎨 style: establish consistent css color variable system by @w3bdesign in #760
- 📦 deps: add @babel/helpers dependency by @w3bdesign in #762
- chore(deps): update dependency ts-jest to ^29.3.0 by @renovate in #763
- chore(deps): update pnpm/action-setup action to v4 by @renovate in #766
- fix(deps): update dependency @babel/helpers to >=7.27.0 by @renovate in #765
- chore(deps): update typescript-eslint monorepo to ^8.28.0 by @renovate in #764
- fix(deps): update dependency motion to ^12.6.0 by @renovate in #767
- fix(deps): update dependency sanity to ^3.81.0 by @renovate in #768
- fix(deps): update dependency react-hook-form to ^7.55.0 by @renovate in #770
- fix(deps): update react monorepo to ^19.1.0 by @renovate in #771
- chore(deps): update typescript-eslint monorepo to ^8.29.0 by @renovate in #772
- Sanity typegen by @w3bdesign in #769
- ✏️ test: update skills text in home page test by @w3bdesign in #773
- fix(deps): update dependency @hookform/resolvers to v5 by @renovate in #776
- fix(deps): update dependency sanity to ^3.82.0 by @renovate in #777
- ✏️ typo: fix spelling of "komponent" in Hero test by @w3bdesign in #778
- 📝 docs[jsdoc]: improve ProsjektCard component documentation by @w3bdesign in #779
- 📦 deps: update motion package from 12.6.2 to 12.6.3 by @w3bdesign in #780
- chore(deps): update dependency @types/node to ^22.14.0 by @renovate in #784
- chore(deps): update node.js to v23.11.0 by @renovate in #782
- chore(deps): update dependency @testing-library/react to ^16.3.0 by @renovate in #783
- chore(deps): update react monorepo by @renovate in #785
- 📦 deps: upgrade eslint from 9.23.0 to 9.24.0 by @w3bdesign in #787
- 💄 ui[Button]: increase padding and margin by @w3bdesign in #788
- chore(deps): update dependency eslint to v9.24.0 by @renovate in #786
- fix(deps): update dependency sanity to ^3.83.0 by @renovate in #789
- chore(deps): update dependency cypress to v14.3.0 by @renovate in #790
- fix(deps): update nextjs monorepo to v15.3.0 by @renovate in #791
- 🎨 style: add trailing commas and format code consistently by @w3bdesign in #794
- 📦 deps: update dependencies by @w3bdesign in #795
- fix(deps): update dependency next-sanity to ^9.10.1 by @renovate in #796
- ♻️ refactor: replace external click-away hook with custom hook by @w3bdesign in #797
- 🎨 style: reorganize imports in MobileMenu component by @w3bdesign in #798
- 🔥 cleanup: remove animated header files by @w3bdesign in #799
- 🔥 cleanup: remove next.svg file from public directory by @w3bdesign in #800
- 🎨 style: add blank line after imports by @w3bdesign in #801
- fix(deps): update dependency sanity to ^3.84.0 by @renovate in #803
- fix(deps): update dependency @sanity/client to ^6.29.0 by @renovate in #802
- 804 fix click outside by @w3bdesign in #805
- ✅ test(layout): add mobile menu close behavior test by @w3bdesign in #806
- fix(deps): update dependency motion to ^12.7.2 by @renovate in #807
- chore(deps): update typescript-eslint monorepo to ^8.30.1 by @renovate in #808
- fix(deps): update dependency sanity to ^3.85.1 by @renovate in #809
- 🎨 ui: add theme-color meta tag for browsers by @w3bdesign in #811
- chore(deps): update dependency @playwright/test to ^1.52.0 by @renovate in #813
- chore(deps): update dependency eslint to v9.25.0 by @renovate in #814
- fix(deps): update dependency react-hook-form to ^7.56.0 by @renovate in #815
- chore(deps): update typescript-eslint monorepo to ^8.31.0 by @renovate in #816
- fix(deps): update dependency sanity to ^3.86.0 by @renovate in #817
- fix(deps): update dependency motion to ^12.8.0 by @renovate in #819
- ✨ feat[sanity]: improved image loading with proper sizing and formatting by @w3bdesign in #820
- 📝 docs: update TODO.md wording with improvements phrasing by @w3bdesign in #821
- 🔥 cleanup: remove generated sanity.types.ts file by @w3bdesign in #822
- 📝 docs: clarify typescript usage in README by @w3bdesign in #823
- 📝 docs: add Sanity image URL feature to README by @w3bdesign in #824
- fix(deps): update dependency motion to ^12.9.1 by @renovate in #826
- 🔧 chore(ci): Fail Lighthouse CI on improperly sized images by @w3bdesign in #827
- ♿️ access: update lighthouse thresholds in configuration by @w3bdesign in #828
Full Changelog: 1.0.8...1.0.9