Version History
What's New
Stay up to date with the latest features and improvements on DestiShare.
v2.5.3July 2026
Order Success Receipt Page & Reusable Navigation Workflow
- Order Success Page (/success): Built a dedicated order success receipt screen displaying transaction summaries, wallet credit breakdowns, dynamic redirection links, and downloadable PDF invoices.
- Reusable Success Helper: Centralized order completion logic in utils/common.js (redirectToSuccessPage) for seamless post-creation and reactivation routing.
v2.5.2July 2026
Trip Refactoring & Route Standardization
- Folder & Component Move: Renamed the travel components directory to trip and updated all imported component references across the application.
- API Route Standardization: Standardized the backend API paths by renaming both the admin travel API and public profile travel API endpoints to trip endpoints.
- Documentation & Test Suite Alignment: Updated the project file tree documentation and renamed/migrated test suites to align with the new trip directory structure.
v2.5.1July 2026
Travel Companion Photo & Planner Gender Fields
- Planner Gender: Added a Planner Gender selection dropdown before Group Size in both creation and edit views, ensuring clear host demographics.
- Cover Photo Upload: Integrated Vercel Blob cover photo uploads for travel companion listings, showing real-time size indicators, progress bars, and cropped preview options.
- Details and List Views: Enabled rendering of custom cover photos on Travel Cards, Details pages, and Preview Modals, falling back gracefully to the first itinerary destination image.
- Database & Swagger Spec: Configured Mongoose schemas, Zod validation logic, edit/create PUT/POST API endpoints, and Swagger API docs to support host gender and listing image storage.
v2.5.0July 2026
Mobile Navigation, Reactivate Modal & Expiry Grace Optimization
- Mobile Bottom Navigation: Standardized the mobile bottom navigation bar layout, pinning it using hardware acceleration (translate3d) and safe area padding to prevent sliding or viewport address bar alignment shifts during upward scroll.
- Reactivate Service Modal: Relocated and refactored the reactivate service modal into app/components/modal/ReactivateServiceModal, implementing full useStopPropagation scroll-locking to prevent backscreen interaction.
- Dynamic Expiry Grace Period: Configured the backend to calculate the 5-day grace period (SERVICES.RETENTION_PERIOD_DAYS) dynamically as expiryDate, removing hardcoded local offsets from the business analytics dashboard.
- Travel Companion Documentation: Updated Platform Guide, Platform Features list, and About page descriptions to introduce and document the Travel Companion companion features and plan card listings.
v2.4.3July 2026
Travel Buddy Creation, Sharing & Dialog Flow Optimization
- Travel Buddy Form Preview: Enhanced the itinerary form preview modal by integrating clickable thumbnail zoom displays for cover photos and formatting phone numbers, WhatsApp, and external links in a dedicated contacts section.
- Scroll Locking: Prevented background page scroll leaks on preview modals by setting body overflow styling dynamically and blocking wheel/touch move event propagation.
- Aesthetic Card Alignment: Realigned option cards on the creation page, centering headers and indenting all description blocks to achieve a uniform vertical design.
- Header Share Controls: Integrated the modular CopyShareButton in the Travel Buddy planning header to easily copy and share plan creation links.
v2.4.2July 2026
Travel Buddy Removal Authority
- Planner Authority to Remove Buddy: Allowed travel buddy group hosts/planners to remove confirmed members directly from the detail view.
- Complete Request Deletion: Once a buddy is removed, their corresponding join request is deleted entirely from the database collection subdocuments array.
- Unified OpenAPI Schema: Documented the dynamic route path /travel/buddy/{id}/remove and other travel buddy endpoints under the global Swagger specification.
v2.4.1July 2026
Forum Enhancements & Contact Route
- Contact Route Refactoring: Renamed `/contactandsupport` route to `/contact` for cleaner navigation URLs across the app.
- Forum Issue Throttling: Integrated rate limiting (60s) for creating new forum issues to prevent spam.
- Forum Answer Throttling: Integrated subdocument rate limiting (60s) for posting replies on reported issues.
- Forum Header Deletion: Cleaned up the issue detail screen header by replacing the text-based delete button with a responsive icon-only Trash2 button.
v2.4.0July 2026
Platform Issues & Feedback Forum
- Platform Issues Board: Introduced a centralized discussion board at /forum allowing users to report platform bugs, issues, and submit feedback with a simple, responsive card feed.
- Report Issue Form: A clean form wrapper allowing signed-in users to describe website issues and upload a single screenshot, leveraging client-side compression.
- Embedded Answers: Unified the database model using subdocument arrays for answers, enabling faster loading of issue discussions and troubleshooting threads.
- Status Transitions: Implemented open/resolved state tracking using a custom select dropdown, authorized only for the issue owner and administrators.
- ForumStatusBadge: Designed a clear visual badge component showing open and resolved states for read-only user views.
- CASL & Security: Integrated authorization rules in ability.js restricting issue deletion and status updates strictly to admins or the original author.
v2.3.1July 2026
Client-Side Image Compression on Upload
- Real-Time Compression Progress: Images larger than the configured size limit are now automatically compressed in the browser before upload, with a live progress card showing the filename, real-time size reduction, and percentage.
- Parallel Compression: Multiple selected images compress simultaneously; each file's preview appears immediately as soon as it reaches 100%, without waiting for other files.
- Cancel Compression: Each in-progress compression card includes a close button to cancel the task and discard that file before it completes.
- Instant Limit Validation: Selecting more images than the allowed maximum is caught immediately before compression begins, surfacing the error without wasting CPU.
- Shared Compression Utility: The compressImage helper is now centralised in utils/common.js for reuse across all upload forms.
v2.3.0July 2026
Mobile Core Web Vitals & Accessibility Optimization Suite
- Mobile LCP and Preloading: Optimized above-the-fold image discoverability by adding priority preloading on top destination cards and preconnecting to the Vercel Blob Storage origin, shaving off up to 340ms of handshake latency.
- Tab Code-Splitting: Converted secondary tabs (Q&A, Points, Guides, Plans, Services) to lazy-loaded Next.js dynamic imports, significantly reducing the initial JavaScript main-thread compilation time (TBT).
- Deferred Third-Party Scripts: Delayed Google AdSense and Tag Manager loading strategies to lazyOnload, postponing script evaluation until main-thread idle time.
- Accessibility Tree Enhancements: Added descriptive labels to all mobile bottom navigation links, action icons, and filters, ensuring a well-formed accessibility tree for AI agents and screen readers.
- Clean Console Diagnostics: Eliminated unauthorized 401 API warnings on guest/bot page hits by introducing a client-side auth-state bypass and conditional queries.
v2.2.0July 2026
Offline Connectivity Alert, Faster Navigation & Improved Sharing Details
- Offline Connectivity Alert: A clean, minimal notification bar alerts you at the very top of the page if your internet connection goes offline, advising you to wait for reconnect or refresh the page.
- Faster Navigation Performance: Smoothened tab changes and page navigation by optimizing background data loading, making browsing destinations and profile listings significantly faster.
- Standardized Sharing Information: Unified all sharing and link-copy descriptions when recommending destinations, user profiles, travel plans, local guides, community questions, and gallery pages.
- Improved External Links: Added a cleaner preview link format for external websites, featuring a quick click-to-copy button and a direct jump action next to travel services.
v2.1.9June 2026
Theme Toggle, Global Theming & About Page Features Update
- Appearance Settings Card: Replaced the simple theme toggle with a premium card containing a SelectDropdown for theme selection, supporting Light, Dark, or System Default modes.
- Global Theme Persistency: Configured the global LayoutWrapper and SettingsTab components to properly resolve 'system' default settings (checking prefers-color-scheme media query) and load the correct theme class on initial mount.
- Real-time System Theme Watcher: Added a media query event listener in LayoutWrapper to dynamically toggle light/dark theme classes in real-time when system preference shifts outside the app.
- Tailwind CSS v4 Dark Mode integration: Enabled class-based theme toggling via globals.css using the custom dark mode variant selector.
- Settings Layout Improvements: Added flex-wrap and whitespace-nowrap styling to the Edit Phone Number heading, Coming Soon badge, and Social Media Banner buttons (Instagram and X/Twitter) to ensure clean wrapping behavior on narrower viewports.
- Layout & Spacing Improvements: Center-aligned the sidebar logo icon to match navigational links, and optimized vertical padding on mobile/tablet viewports to eliminate excess empty space below the top bar.
- About Page Features Update: Updated the Platform Features section on the About page to showcase the complete and updated list of travel community features.
- Form Input Label Styling in Dark Mode: Fixed an issue where form input titles (including the theme toggle label) appeared as black text in dark mode by adding the --input-title color variable to the manual dark mode class selector in globals.css, and updated the Toggle container background to use --card-bg for thematic consistency.
- Profile Active Tab Styling: Updated active tab buttons (My Places, Saved Places) and their counter badges in the profile header to be fully white and use the theme's --primary background instead of black/white (bg-zinc-900).
- Default Profile Avatar Fallback: Updated CardOwnerUsername and DestinationOwner components to fall back to the default profile.png silhouette image instead of the gray initial letter block when a user has no custom profile picture.
v2.1.8June 2026
Header Sharing Actions & Saved Privacy Integration
- Modular CopyShareButton Component: Created a reusable, dark/light theme compliant CopyShareButton component at app/components/ui/CopyShareButton.jsx for sharing and copying URLs.
- Profile & About Sharing: Integrated copy and share actions in the screen headers of the About page, user services dashboard, standalone user destinations page, and public profile headers.
- Saved Places Privacy Integration: Configured the CopyShareButton on the Saved Places page to render conditionally (visible only when the collection is public) directly in the page markup.
- Service Card Sharing Enhancements: Integrated CopyShareButton in a stacked vertical layout (DestinationTitle on top left, category/actions right-aligned on bottom) inside ServiceCard.jsx, ServiceCardPlan.jsx, and ServiceGuideCard.jsx components.
- Destination Card Sharing Enhancements: Replaced the old share button in DestinationCard.jsx with the CopyShareButton at the same position in the Action Bar.
- Q&A Sharing Enhancements: Configured the copyUrl link in QACard.jsx to resolve and route directly to the destination details page (/destination/[id]) with active tab and card ID parameters, instead of falling back to the generic /qa path when viewed from the Q&A Hub.
- Wallet History Approval Integration: Configured the destination moderation approval logic to log a CREDIT transaction in the user's wallet history when their added destination is approved for the first time.
- Q&A Form Z-Index Integration: Updated the modal overlay z-index on the Q&A Hub page (app/qa/page.js) to dynamically reference the constants-defined Z_INDEX.QA_FORM value instead of a hardcoded class.
- Business Page Layout Adjustments: Moved the wallet recharge component (WalletFill) inside the service registration card (CreateService) at the top, to streamline user flow on the Business Dashboard page.
- Image Cropping Layout Adjustments: Configured the parent action buttons container in the image crop modal to use flex-wrap and target child buttons with whitespace-nowrap, wrapping the third button to the next row on small screens when space is tight.
- Destination Gallery Sharing Enhancements: Integrated the CopyShareButton in the destination gallery screen header to replace the native share button.
- Service Card & Q&A Card Extra Data Layout Enhancements: Moved the category (TypeBadge) outside the ActionBar to the left, and placed the ActionBar with CopyShareButton and NextPage on the right, above the DestinationTitle component inside ServiceCard.jsx, ServiceCardPlan.jsx, and ServiceGuideCard.jsx. Also wrapped QACard.jsx and DestinationCard.jsx actions (moving the DestinationCard CopyShareButton inside the ActionBar next to the Bookmark and MoreAction buttons) using the new ActionBar layout component, and replaced QuestionLocation with a left-aligned DestinationTitle inside QACard.jsx.
- Rating Badge Sizing Enhancements: Decreased the visual size of RatingBadge.jsx by reducing padding to px-2 py-0.5, gap size, star icon dimensions, and font sizes. Also added flex-wrap to let internal items wrap when container space is constrained.
v2.1.7June 2026
AI Generated Content Badge & Toggle
- AI Generated Schema & Validation: Added isAiGenerated boolean flag to the Place model schema and validated using Zod schemas on both place submission and edit forms.
- Add/Edit Toggle: Created a reusable form input component at app/components/form/Toggle.jsx and integrated it inside the place registration form above the image upload field.
- Destination Card AI Badge: Created a reusable AI badge component at app/components/ui/AIBadge.jsx and placed it in the top right corner of the DestinationCard image overlay when the place is AI-generated.
- Drag-and-Drop Image Uploads: Added drag-and-drop support to the image upload field, showing visual dragging states with animations, and allowing files to be dropped directly onto the upload cards.
v2.1.6June 2026
Header Username Casing Alignment
- Header Username Casing: Removed the CSS capitalize class from PublicProfileHeader to ensure the @username handle renders in its raw lowercase form rather than capitalising the first letter.
v2.1.5June 2026
Public Profile Sub-Header Layout Alignment
- Header Username Prefixing: Aligned the header title formatting to append the `@` character before usernames, and capitalized 'Saved places' (e.g. 'Saved places by @ashgole').
v2.1.4June 2026
Public Profile Sub-Header Sharing Refactor
- Unified Share Handler: Refactored the separate share callbacks in PublicProfileContent.jsx into a single conditional `handleShareTab` handler.
- Constant Saved Places Sharing: Configured the share icon to be permanently available on the saved places tab regardless of the collection's public/private status.
v2.1.3June 2026
Public Profile Sub-Header Component
- PublicProfileHeader Component: Designed a non-sticky, theme-compliant header component rendering the specific section title and an icon-only sharing button.
- Profile Tab Headers: Integrated PublicProfileHeader inside PublicProfileContent.jsx to dynamically display the active tab's header (destinations, services, or saved places) directly above the tab content wrapper.
v2.1.2June 2026
Itinerary Destination Search & Skeleton Arrow Realignment
- Itinerary Destination Match: Enhanced the global service search API to match plans whose itineraries contain the target destination (in addition to matching by the plan's starting place).
- Skeleton Chevron Realignment: Realigned the right arrow chevron inside the skeleton to be correctly positioned on the right side of the destination title & location block.
v2.1.1June 2026
Unified Business Card Skeleton Design Order Tuning
- Skeleton Layout Tuning: Repositioned the destination place header placeholder block below the service image thumbnail inside BusinessServiceCardSkeleton to perfectly match the rendering sequence of the unified card design.
v1.0.0April 2026
Initial Beta Release
- Community-driven destination sharing platform.
- Credit-powered system for listing premium services.
- Comprehensive categories: Local Guides, Travel Plans, Stays, Shops, and Vehicles.
- Real-time Q&A system for destination-specific inquiries.
- User profile management with activity tracking and wallet system.
- Bookmark system for saving favorite destinations.
- Interactive maps and point-of-interest discovery.
We're constantly working on new features. Have a suggestion?
Let us know

