1.1.0 (2025-09-09)
- move chatbot query to parent component to facilitate management of data (c79e62d)
- add chatbot api endpoints (4155538)
- add chatbot data layer (11cb88e)
- add chatbot hooks for cleaner separation (60af1d9)
- add chatbot messages model (0129038)
- add chatbot schemas and server mapper (0996c65)
- add chatbot service layer (2d8bc93)
- add chatbot ui component (08ab3ee)
- add chatbot-container (20cb664)
- add handling for reaching embedding api limit (db6b82e)
- add rate limit protected to the chatbot (b73c97d)
- add shiki (bfb32c5)
- add tools the model can use to answer a broader range of questions (5cd8f59)
- add vector search + embeddings and a sliding window to manage chatbot recall (ed5dcc7)
- add vector search + embeddings to expenses description and include it in chatbot context (9d7393c)
- replace chatbot modal with popover for positioning above button (ce27f01)
- update seed script to generate description embeddings (eb4bbcf)
- add missing dbConnect to users data layer (c78756b)
- add security check to auth protection (129c77f)
- await pusher notification to improve sync (8b5f188)
- correct path to package files (6d4093c)
- display pusher logs only in development (537e86b)
- emailverified field should be string in apiresponse (ce4f409)
- fix release configuration (f873900)
- fix update of existing friendship pair in case of new invite (c764737)
- friendlist now uses active rows in stacked-list (2c4ead6)
- give nav-bar-loading the same behavior as the regular nav-bar (b1b8e84)
- modal now receives initial open status from caller (b89c7e8)
- no longer closes add member to group modal when adding by email (c2a1e23)
- optimize layout of expense form in modal (2951373)
- pin pnpm version (3899ca8)
- remove default vertical scroll from notification panel (813dc28)
- remove display flicker on first load of groups and friends (123c4d5)
- use absolute path for email logo (5340e3d)
- user lookup now sends email in request body to increase privacy (057c5b5)
- when switching tabs in groups and friends always go back to page 1 (ff8d6ef)
- add accept-friendship mutation and component (80c7036)
- add accept-membership component (dbd17ef)
- add add-friend-modal (70536f0)
- add additional protection to expense resources by user id (3cba11f)
- add api endpoint for accepting friendship invites (b62b1db)
- add api endpoint for accepting group membership invites (0d5408a)
- add api endpoint for canceling friendship invites (2f61d27)
- add api endpoint for canceling group membership invites (56bbbb7)
- add api endpoint for checking if user can be invited to group (0c3f29c)
- add api endpoint for creating group memberships (96f3e72)
- add api endpoint for creating groups (8e0ab0e)
- add api endpoint for declining friendship invites (501b3f2)
- add api endpoint for declining group membership invites (9c7a7be)
- add api endpoint for deleting groups (2faee11)
- add api endpoint for getting dashboard data (6e9755a)
- add api endpoint for getting friendships (6934785)
- add api endpoint for getting user memberships (f75d6ce)
- add api endpoint for inviting friends (f733a0b)
- add api endpoint for leaving group memberships (312166b)
- add api endpoint for patching groups (1faa46a)
- add api endpoint for removing group memberships (4622db0)
- add api endpoint for retrieving a list of friends that are invitable to the group (88647eb)
- add api endpoint for retrieving group memberships (f476e8c)
- add api endpoint for transfering group ownership (47f7779)
- add api endpoint for user lookup by email (b37fccc)
- add artificial minimum delay to improve loading UX in expenses (79cd950)
- add auth api client wrapper and verification code hooks (9069d9c)
- add auth flow for email verification (8f80a9f)
- add auth posthog analytics (9f23d58)
- add auth protection to pages and api routes (2d84c38)
- add auth verification code data logic (69d7471)
- add avatar-preview-panel (74a9317)
- add axiom and sentry instrumentation (457bee1)
- add better responsiveness control to avoid unnecessary dom mounts (c916edb)
- add button-link (3639a5c)
- add cancel-friendship mutation and component (1b089ab)
- add category field to expense model and necessary ui components (5fec466)
- add category-share-chart (b42dc36)
- add column ordering (005b2ee)
- add confirm password reset api endpoint (0d96c05)
- add confirm verification code api endpoint (46b5fdf)
- add create expense mutation (1d5236f)
- add cumulative-spend-ytd-chart (7b6b56b)
- add cursor-pointer to all buttons (c7acdeb)
- add custom sigin-form (4660c8e)
- add data table column resizing (4da5c1e)
- add data table pagination (96f795e)
- add data-table-faceted-filter (cd00899)
- add data-table-view-options (b2bd5bd)
- add date field to expense model and necessary ui components (e93a76f)
- add date-filter (4c65735)
- add day-of-week-chart (f83133d)
- add decimal display to expenses table columns (43e69ef)
- add decline-friendship mutation and component (2559c90)
- add decline-membership component (dabbb80)
- add deleteExpenseMutation (14273bb)
- add edit and delete group components (dea5c53)
- add email verification fields to user model (638b95b)
- add expenses filter component (d2c811e)
- add expenses notification logic (77a5815)
- add expenses table toolbar (1437a2f)
- add explicit mapping between api request/response and types (bd9fb0a)
- add faq section (022c3fc)
- add features section (02ccefa)
- add fixed table size to expenses for smoother ux (592a8ee)
- add forgot-password-form.tsx (11618b2)
- add friend request notification logic (d471a6e)
- add friendship api client wrapper (0967528)
- add friendship constants (8b1310a)
- add friendship data layer (987ba60)
- add friendship data-table columns (ead1e74)
- add friendship model (7019e61)
- add friendships data-table (6af0a05)
- add friendships data-table (5a47da0)
- add friendships stacked-list (d832685)
- add friendships-table (5410e44)
- add generic data-table (bf75b77)
- add generic re-usable section for landing page (037bd88)
- add generic sortable column header (dae186e)
- add group actions components (dfe59f7)
- add group invite notification logic (cdcebb8)
- add group mappers (929eb0d)
- add group membership add-member modal (54ddfa4)
- add group models (aa3f84c)
- add group-form (b2a0761)
- add group-memberships data layer (3cea38f)
- add group-spending-chart (88cf221)
- add groups and memberships schemas (391441e)
- add groups data-table (8370c26)
- add groups service (182ca3d)
- add groups stacked-list (69273d3)
- add groups-table (e3a9283)
- add handle upload logic to avatar-cropper-modal (3daec97)
- add hour-of-day-chart (0ec28e9)
- add index to user field in expenses (fcf85d8)
- add issuePasswordResetCodeForUser (fa74a00)
- add landing page footer (bf0d201)
- add landing page hero section (0ebcd27)
- add landing-nav (12ed2bc)
- add leave-group component (4333b3f)
- add live profile updates with zustand (83e4b1a)
- add loading skeleton for expenses table (6f7c269)
- add log flushing to api routes (769f058)
- add markAllAsReadMutation for notifications (b8680f6)
- add markAsReadMutation for notifications (47c101a)
- add member-list and membership actions (4b84480)
- add membership-status-overlay (727222c)
- add mobile navigation bar (14e59cf)
- add mobile notifications sheet (bb8dfec)
- add modal for new/edit expenses through parallel intercepting routes (208e35a)
- add modals for all group actions and improve control of popover display (785b9a1)
- add MongoDB adapter to Authjs (436699e), closes #9
- add nav-bar-loading.tsx to improve nav bar loading ux (5d3a63c)
- add new user password hash schema validation (eddc608)
- add notification bell component (3fc2dd8)
- add notification model and data layer (20e4afb)
- add notification-bell-dropdown-content to render notifications (f935f65)
- add notifications store (453f014)
- add numeric-display (26318ef)
- add numeric-input component (c14132e)
- add numeric-range-filter (f973fcc)
- add oauth login check for initial sending of email with code (61115f9)
- add optimistic delete of expenses (74d0a69)
- add pagination to search params (d0ba491)
- add password fields to user model (aaf55c5)
- add password reset api client wrapper (0d72bb6)
- add password-reset-email (5f02295)
- add placeholder notifications page (3b72011)
- add posthog instrumentation (5d8457e)
- add pricing section (12b78ff)
- add pusher send notification (e7086a6)
- add react query to expenses table (d34a4c4)
- add remove-friendship mutation and component (721b67c)
- add request password reset api endpoint (6a01a44)
- add reset-email-form (35a84f0)
- add reset-password-form (1b752d7)
- add reusable notification bell icon (3bdd891)
- add reusable notification panel (8ec707c)
- add seasonal-spending-chart (71a60f2)
- add seed script (4cff628)
- add send verification code api endpoint (a859f32)
- add sendPasswordResetCodeEmail (0499458)
- add sendVerificationCodeEmail (f9530be)
- add sign up welcome-email (af73a1f)
- add signin-form (11c4d23)
- add signup api route (0f750a2)
- add signup-form (0e354cf)
- add smooth animations to notification list (7856581)
- add spinner (350a201)
- add stacked-list display of expenses for mobile (07d78ee)
- add tabs-with-badges component (5c6645d)
- add testimonials section (5508873)
- add to-receive-vs-to-pay-chart (ebc0738)
- add top-counterparties-chart (c7ed7f7)
- add unauthenticated suppport to request logger (8c9c182)
- add useCooldown hook (b999f1a)
- add useGroupMemberships hooks and group client api wrapper (b141b36)
- add useGroups hooks for mutating group data (8af43ba)
- add useObjectUrl (8217987)
- add user model, patch user endpoint and user profile page (f389db0)
- add useUserProfile hook to help sync user profile info across sessions (264a250)
- add variant to confirmation-dialog component (53ec910)
- add verify-email-form (dcd035d)
- add virtualized version of notification list (019f67b)
- allow friend invites of users where invite state is not pending (e2a9b51)
- avatar-cropper-modal.tsx: add widget for cropping provided user image (b3e0e16)
- avatar.tsx: import shadcn avatar (577f1d5)
- column view options now displays column header as text (c15aa09)
- configure authjs credentials provider and authorize callback (e90f4df)
- configure authjs with github oauth provider (3593757)
- configure axiom logging (caba843)
- configure cloudinary and add basic image upload through widget (df8ebed)
- configure posthog logging (89fff87)
- configure sentry (a52578e), closes #24
- configure spotlightjs (b128ea7)
- configure t3 env variables (3a9689e)
- dashboard/page.tsx: add dashboard page (e940bfd)
- date-time-picker.tsx: add date-time-picker component (91a470d)
- desktop-nav-user.tsx: add desktop-nav-user component (f832a5f)
- dropdown-menu.tsx: import shadcn dropdown-menu (ba741a8)
- enable automatic account linking guaranteed my our manual verification of github email (f93b87f)
- expense-form.tsx: add cursor-pointer style to submit expense button (efdb8fe)
- expense-row-actions.tsx: replace button text with icons (8421d47)
- expense-row-actions.tsx: swap edit and delete button order (4c50709)
- expenses-table: update expenses table layout and button styles (d0dcf42)
- extends authjs types (23a3a1c)
- folder restructure to support landing page with different layout (d2fd15c)
- friends/page.tsx: add friends page (588bbf3)
- generic-dropzone.tsx: add generic-dropzone component to handle user file selection (651df1e)
- getNotifications now filters by userId (543670d)
- globals.css: add icon-button css class to replicate shadcn button, normalized icon sizing (e3cae1d), closes #21
- groups/page.tsx: add groups page (21c114f)
- hamburger-button.tsx: add hamburger-button component (24d0cb7)
- improve avatar cropping performance (19b63e5)
- improve expense type validations (869b4b5)
- improve expense-form ux by using custom numeric-input (1915d5f)
- improve nav bar accessibility (c748031)
- improve security by adding pusher private channels for notifications (e7789d0)
- improve status handling for friendship interactions (a10d7d4)
- layout.tsx: enable animations on theme transition (f1f82c4)
- layout.tsx: updade global layout, grid with two rows (nav/content) and max-width of 1280px (56e74d4)
- lib/utils/image.ts: add logic to extract cropped version of image as blob (53b1ac2)
- make desktop-nar-bar sticky to the top (83abc78)
- make mobile-nav-bar sticky to the top (688e6ee)
- mobile-nav-menu.tsx: add user panel (4a249f7)
- modal.tsx: add generic modal component (19d4221)
- modify original button for clearer contraste when hover (a54ef24)
- move column filters from local storage to search params (daaf549)
- move entire user image update to backend to allow rollbacks and prevent stale images (035b7d8)
- move sorting from localstorage to search params (02f35c9)
- nav-bar.tsx: add current page highlight to nav bar (4f7d1e3)
- nav-bar.tsx: add hover and sliding underline effect to navigation links (dffc465)
- nav-bar.tsx: add nav-bar component (6168267)
- re-use expenses data table for smoother loading ux (c81cc76)
- remove expenses prefetching for a smoother ux due to ui dependencies on localstorage (51b392d)
- store column visibility in local storage (bc9be79)
- theme-toggle.tsx: add theme-toggle component (85e4bcb)
- update session with new user information (f752f71)
- update user session after email verification is sucessfull (1decfcf)
- update visual theme (5a6a6f7)
- user-avatar-edit.tsx: add user-avatar-edit component (9f3b177)
- user-profile-form.tsx: add user-profile-form component (7379e8f)
- user/profile/page.tsx: add responsiveness (3396b5d)
- wire dashboard charts with real data (248c648)
- avatar-cropper-modal.tsx: debounced crop to improve UI performance (2ccdfa0)