v1.10.165
ActualMantenimiento y mejoras internas.
Historial de versiones y cambios de la aplicación móvil.
Mantenimiento y mejoras internas.
Mejoramos los mensajes de error al retirar saldo desde la billetera del conductor.
•Cuando un retiro desde la billetera del conductor no se puede completar, ahora verás el motivo real del rechazo en lugar de un mensaje técnico genérico.
Nuevas herramientas de soporte con IA para gestionar builds desde un solo lugar.
•El agente de IA de soporte ahora puede lanzar, consultar y cancelar builds de la app, agilizando la atención a clientes.
Ahora puedes personalizar tus notificaciones y los diálogos largos se ven mejor en pantalla.
•Ahora puedes elegir qué notificaciones quieres recibir, y Cabgo respeta tus preferencias al enviarlas.
•Los diálogos y ventanas emergentes ya no se salen de la pantalla: ahora se ajustan automáticamente y puedes desplazarte dentro de ellos cuando el contenido es largo.
Mantenimiento y mejoras internas.
Mantenimiento y mejoras internas.
Mejoras de estabilidad para que las notificaciones en segundo plano lleguen sin interrupciones.
•Se ajustó el comportamiento de las notificaciones en segundo plano para que lleguen de forma más fiable mientras la app sigue activa.
Videos promocionales con tu marca real y compilaciones automáticas más estables cada noche.
•Las plantillas de video ahora muestran el logo real de tu marca en lugar de un marcador provisional.
•Tus apps se regeneran automáticamente cada noche para mantenerlas siempre al día sin intervención manual.
•Se mejoró la estabilidad del proceso de compilación de apps Android, reduciendo errores por tiempos de espera.
Corregimos un problema con el inicio de sesión con Apple en Android.
•Se solucionó un error que podía impedir iniciar sesión con Apple en dispositivos Android.
Mejoras de usabilidad en el dashboard y pantallas del negocio ahora disponibles en más idiomas.
•Ahora puedes hacer clic en el nombre de tu empresa en el dashboard para abrir un diálogo con el historial de cambios y novedades de la plataforma.
•Las pantallas de pedidos, detalle, inicio y solicitud de mensajería en la app del negocio están traducidas y se adaptan al idioma del usuario.
Mejoras en el flujo de pedidos empresariales y mayor fiabilidad en las publicaciones de tus apps en Google Play.
•Se restauró la navegación hacia atrás tras crear una solicitud de mensajería, para que puedas volver fácilmente al listado de pedidos empresariales.
•La sincronización de fichas en Google Play ahora reintenta automáticamente cuando la API de Google falla temporalmente, reduciendo errores al publicar.
•Publicar la disponibilidad de tus apps por país es más estable y confiable.
•Se actualizó la declaración de seguridad de datos en Google Play Console para cumplir con los requisitos vigentes.
Mejoramos la visualización de los métodos de pago para que se ajusten correctamente en cualquier pantalla.
•Se corrigió la visualización de los métodos de pago para que se ajusten correctamente al espacio disponible en pantalla.
Los nuevos métodos de pago aparecen al instante al abrir el formulario de mensajería.
•Al abrir el formulario de mensajería, ahora se actualiza tu perfil para que los métodos de pago recién agregados aparezcan de inmediato.
Corregimos un problema que afectaba el formulario de mensajería en la versión web.
•Se solucionó un error en el formulario de mensajería que impedía visualizar correctamente el resto de la pantalla en la versión web.
Mejoramos el formulario de registro de mensajeros para que sea más rápido, claro y fácil de completar.
•Rediseñamos el campo de teléfono para que sea más cómodo de completar, con buscador de país incluido.
•La navegación dentro del formulario de alta de mensajeros es ahora más fluida y consistente.
•Preparamos el formulario para permitir editar los datos ya cargados sin tener que empezar de cero.
Mantenimiento y mejoras internas.
Nueva pestaña de delivery para comercios y mejor seguimiento de publicaciones en las tiendas.
•Los comercios ahora cuentan con una pestaña de delivery en la barra inferior, que puede activarse desde el panel de administración según el plan contratado.
•Cuando Google rechaza una publicación en Play Console, ahora verás el motivo directamente en el asistente para resolverlo más rápido.
•Se simplificó el flujo de reenvío en el asistente de publicación de iOS cuando Apple rechaza una versión, evitando reenvíos innecesarios que solo cambian metadatos.
Mejoras en la gestión de pedidos empresariales: cancelaciones más fiables y listados siempre actualizados.
•Ahora puedes cancelar pedidos empresariales incluso cuando están cambiando de estado, evitando bloqueos en el proceso.
•El listado de pedidos se actualiza automáticamente al volver desde el detalle, para que siempre veas la información más reciente.
Nueva experiencia de delivery para comercios: cancela, sigue y chatea con el repartidor en tiempo real.
•Los comercios ahora pueden cancelar un pedido de delivery directamente desde la app.
•Se añadió una animación de búsqueda mientras se asigna un repartidor, para saber en todo momento qué está pasando con el pedido.
•Puedes seguir en tiempo real el recorrido del repartidor en el mapa.
•Se habilitó un chat directo entre el comercio y el repartidor para coordinar la entrega sin fricción.
Ahora es más fácil y claro introducir el teléfono al registrar envíos.
•El formulario de mensajería ahora separa el prefijo del país y el número, mostrando las banderas para que elijas el país de forma más rápida y visual.
Corregimos un problema que impedía ver el campo de teléfono al registrar mensajeros desde la versión web.
•El campo de teléfono en el formulario de mensajeros ahora se muestra correctamente en la versión web.
Corrección puntual para mejorar la estabilidad de los mapas en cuentas empresariales.
•Se solucionó un problema que impedía que los mapas cargaran correctamente en algunas cuentas empresariales.
Mejoramos el formulario de envíos para que sea más fácil de usar en el móvil y funcione correctamente en cuentas de empresa.
•El formulario de solicitud de envíos ahora está optimizado para usarse cómodamente desde el móvil.
•Se corrigió un problema que impedía que los mapas cargaran correctamente al crear envíos desde cuentas de empresa.
Los comercios ya pueden pedir un mensajero para entregas a clientes que no usan la app.
•Los comercios pueden solicitar un mensajero para entregar pedidos a clientes que no tienen la app instalada, ampliando el alcance de sus envíos.
•Se corrigió la asignación de zonas de cobertura para que los comercios vean y operen correctamente en el área que les corresponde.
Ahora puedes explorar los servicios de delivery sin necesidad de crear una cuenta.
•Puedes explorar el catálogo de delivery como invitado, sin tener que iniciar sesión ni registrarte.
•Se mejoró la estabilidad del modo invitado para que la navegación sea fluida desde el primer momento.
Mantenimiento y mejoras internas.
Mantenimiento y mejoras internas.
Ahora puedes adjuntar archivos al enviar comentarios sin problemas.
•Se corrigió un error que impedía adjuntar archivos al enviar comentarios o reportes desde la app.
Mantenimiento y mejoras internas.
Mantenimiento y mejoras internas
Corregimos detalles en la configuración de tarifas y en el botón para reportar problemas.
•Ahora el paso de oferta de tarifa se guarda correctamente al editar los tipos de servicio.
•Eliminamos los topes fijos en las penalizaciones por cancelación y por tiempo de espera, para que puedas configurarlas sin restricciones.
•Arreglamos un problema visual con el botón para reportar errores, que cubría más área de la pantalla de lo debido.
Más control sobre el registro de conductores, publicación más guiada en Google Play y mapas que arrancan sin parpadeos.
•Ahora puedes reordenar los campos del registro de conductores arrastrando y soltando, para adaptar el flujo a cada operación.
•Cada paso del registro del conductor incluye un botón para restaurar los valores por defecto con un clic.
•Añadimos un acceso directo para copiar el enlace de cada tarjeta de configuración y compartirla fácilmente con tu equipo.
•El asistente de publicación ahora refleja el estado real del testing cerrado en Google Play Console y sube automáticamente los recursos de la ficha principal de la tienda.
•Los rangos por defecto para pujas se ampliaron a 50/500 para cubrir más escenarios sin tener que ajustarlos manualmente.
•El mapa ahora parte desde la última ubicación conocida, eliminando el parpadeo inicial mientras se obtiene el GPS.
•El simulador de GPS en la versión web queda oculto salvo que se active explícitamente, evitando confusiones en producción.
Configurar tu panel de Cabgo por primera vez ahora es mucho más sencillo gracias a un nuevo asistente guiado.
•Estrenamos un asistente de configuración inicial que te guía paso a paso la primera vez que abres el panel, para dejar tu operación lista en minutos.
•Sumamos videotutoriales para ayudarte a aprovechar mejor la plataforma desde el primer día.
Registro de apps más rápido con autocompletado y validación, tutoriales que se ven bien en el móvil y declaraciones de seguridad de datos más fiables.
•El registro de apps ahora permite editar los campos del sistema, elegir configuraciones predefinidas y autocompletar datos desde tu cuenta de Google para ahorrarte tiempo.
•Los dominios se validan y normalizan automáticamente en todos los formularios, evitando errores por direcciones mal escritas.
•Registramos mejor los errores durante el alta para poder ayudarte más rápido si algo falla.
•Los videos de los tutoriales ahora se adaptan correctamente a la pantalla del móvil.
•Las declaraciones de seguridad de datos se envían por el canal oficial, haciéndolas más estables y confiables.
Publicar apps y registrar pasajeros ahora es más rápido y directo.
•Al seleccionar una app en el asistente de publicación, su keystore se importa automáticamente desde Apphive, sin pasos manuales.
•El registro de pasajeros solo pide los datos que realmente faltan, evitando preguntar información ya cargada.
•El asistente de publicación oculta el formulario de keystore cuando ya existe uno activo, dejando la pantalla más limpia.
Nuevo asistente guiado para publicar tu app en Google Play y App Store de forma más rápida, estable y transparente.
•Estrenamos un asistente paso a paso que te acompaña en todo el proceso de publicación en Google Play, desde crear la cuenta hasta enviar la app a revisión.
•Sumamos un asistente equivalente para publicar en la App Store de Apple, con detección automática de si se trata de una app nueva o una actualización y autocompletado de políticas.
•Ahora puedes contratar el servicio de testers de prueba cerrada directamente desde la plataforma con pago seguro por Stripe, y el grupo de testers queda vinculado automáticamente tras el pago.
•Añadimos una página de estado de testers para cada cliente y un panel de seguimiento para super administradores.
•Los videos de permisos se suben y publican automáticamente en YouTube como parte del flujo, con opción de cancelar o reanudar la subida.
•Incorporamos un monitor en vivo del estado de revisión de cada release, con indicadores por canal y fecha relativa de envío.
•Integramos ambos asistentes (Android e iOS) dentro de la pestaña Tienda del constructor de apps para tenerlo todo en un solo lugar.
•Registro de eliminación de cuenta con URL pública y flujo de borrado seguro por cliente, cumpliendo los requisitos de las tiendas.
•La publicación en Google Play es mucho más rápida: las verificaciones y pasos del flujo se ejecutan directamente contra la API oficial en lugar de automatizar el navegador.
•Una barra de contexto permanente te muestra en todo momento sobre qué app y qué cuenta estás trabajando.
•La URL del asistente refleja la etapa actual, lo que permite compartir enlaces y retomar el proceso donde lo dejaste.
•Los errores del asistente y del servicio de testers quedan registrados en el log de errores para un soporte más ágil.
•Mensajes más claros cuando falta verificación de identidad, caducan invitaciones, se deniegan permisos o la app fue eliminada, con acciones sugeridas.
•Las cuentas de organización se saltan automáticamente la etapa de testers y se generan credenciales de revisor sin intervención manual.
•Si la app ya tiene una versión en producción, el asistente omite la etapa de prueba cerrada en lugar de bloquearte.
•Corregimos un problema por el que los conductores de demostración eran enviados a la pantalla de registro al iniciar sesión.
•Solucionamos casos en los que el asistente marcaba una publicación como exitosa cuando en realidad seguía en borrador o aún no había sido aprobada por Google.
•El estado del checklist ahora refleja el estado real en Google Play en lugar de datos desactualizados.
•Evitamos que al cambiar de app el asistente te devolviera incorrectamente al paso de subida de keystore.
•Mejor manejo de subidas concurrentes a Google Play con reintentos automáticos para evitar bloqueos.
•Limitamos las consultas a la API de Google Play para evitar errores por exceso de peticiones.
•Arreglamos el flujo de declaraciones de permisos para que se apliquen una a una y respeten el estado previo.
•En iOS, el asistente ahora detecta la versión más avanzada de la app y gestiona mejor los envíos ya en revisión.
•Redimensionamos automáticamente el gráfico destacado a las dimensiones exigidas por Google Play antes de subirlo.
•Tolerancia mejorada ante claves de servicio de Google con saltos de línea mal formateados.
Ahora cada operador ve su propio logo en la app de iOS desde el primer momento.
•Se corrigió un problema por el que la app de iOS podía mostrar un logo genérico en lugar del logo de tu marca.
Mejoramos la estabilidad de la app y la experiencia cuando tu sesión deja de ser válida.
•La app ahora cierra tu sesión automáticamente cuando deja de ser válida, evitando pantallas bloqueadas o errores confusos.
•Se redujeron los avisos de error innecesarios relacionados con problemas puntuales de conexión.
•Se corrigió el comportamiento cuando un conductor ya no está disponible en el sistema, mostrando una respuesta clara en lugar de un error genérico.
Mantenimiento y mejoras internas.
Release app/v1.10.114
Release app/v1.10.113
Release app/v1.10.111
Release app/v1.10.109
Release app/v1.10.108
Release app/v1.10.106
Release app/v1.10.105
Release app/v1.10.104
Release app/v1.10.103
Release app/v1.10.101
fix(upload): detect MIME type from magic bytes + allow profile change from registration
Release app/v1.10.98
Release app/v1.10.97
Release app/v1.10.95
Release app/v1.10.93
Release app/v1.10.92
Release app/v1.10.91
Release app/v1.10.90
Release app/v1.10.89
Release app/v1.10.86
Release app/v1.10.85
Release app/v1.10.84
Release app/v1.10.83
Release app/v1.10.82
Release app/v1.10.79
Release app/v1.10.78
Release app/v1.10.76
Release app/v1.10.75
Release app/v1.10.74
Release app/v1.10.73
fix(rider-checkout): parse E.164 stored phones + seed cache from /auth/me — phone now persists across orders
Delivery rejection refunds to wallet, business order detail realtime + auto-pop, VIEW_APP_SIMULATOR permission, checkout phone persistence, plus accumulated fixes.
Release app/v1.10.70
Release app/v1.10.69
Release app/v1.10.68
Release app/v1.10.67
Release app/v1.10.66
Release app/v1.10.65
fix: Apple Sign-In on web via Firebase signInWithPopup
PWA service worker, CI/CD web deploy on tag, branded version labels, custom domain auth fixes, maps proxy fix, router role-switching fix
fix: timezone local en toda la app, wallet con saldos negativos reales, distancia de viajes calculada, trip center pasa datos al aceptar, Google Maps loader unificado
Fix error_logger foundation import scope conflict
Global error logging system (AppErrorLog table + Dio interceptor + ErrorDisplay widget), SuperAdmin error logs dashboard, 23 raw error messages replaced with user-friendly display, taxi/delivery module toggles, session token company-change fix, prevent both modules disabled
Taxi/Delivery module toggles (rename Home to Taxi, hide tabs based on config, prevent both disabled), session token fix for company change, location stale alerts, custom email domain via Mailgun, OG metadata, WhatsApp trip updates, zone route prices, wallet quick amounts
Fix session restore token update when company changes (was causing NOT_REGISTERED on driver status), restore driver role for pending/incomplete drivers, location stale alerts for driver and rider
Location stale alerts (driver: red banner >20s, rider: amber warning >60s), email domain config moved to branding page, swipe slider reset fix, WhatsApp proactive trip status messages, zone route prices fix, custom email domain via Mailgun
Auth flow fixes (role selection, registration fields, PHOTO types), currency display (activeCurrency fallback), swipe slider reset, WhatsApp proactive status messages, wallet quick amounts from settings, car icon DPI fix, custom email domain via Mailgun, OG metadata for custom domains, zone route prices, payment method display, emergency report driver auth, icon background color, legal external URLs, logo platform preview
Fix auth flow: role selection, registration fields, PHOTO/PROFILE_PHOTO field types, custom fields saving
Business portal, multi-category products, delivery reports, e2e farm, build scripts
Payment method selection flow, pre-trip charges, Transbank OneClick tokenization, zero-decimal currency fix, certification test panel
feat: Trip Center enhancements, multi-stop support, offer flow fixes, support phone config, customer data in notifications
feat: trip center, push notifications, PayPhone, dynamic payments, route recording, app icon update
feat: redirect driver to Trip Center after rejecting/expiring ride requests
feat: add Trip Center for drivers to browse and bid on available trips
refactor: make payment providers dynamic via backend flowType metadata — no app recompile needed for new providers
fix: add PayPhone support to mobile card tokenization flow
## Cambios en v1.10.45
•Vista de ruta en pantalla completa al recibir solicitud de viaje (botón "Ver ruta")
•Persistencia correcta del rol al cambiar entre conductor y cliente
## Cambios en v1.10.44
•Fix: al cambiar de rol (conductor ↔ cliente) ahora se persiste correctamente. Al reabrir la app se restaura el último rol usado.
## Cambios en v1.10.43
•Registro de puntos GPS del recorrido real durante viajes (distancia y duración real)
•Polling HTTP como fallback para actualizaciones de estado del viaje en la app del cliente
•Evento AuthClearActiveDriverTrip y parámetro unreadMessageCount en DriverCard
•Referencia a _currentLocation corregida en reporte de emergencia
fix: referral code disappearing on promotions screen due to race condition
Emergency report: rider and driver now call API with real location instead of fake snackbar
feat: configurable fare breakdown visibility (driver/rider), fix fare sum mismatch
fix: adaptive icon foreground now covers full background (no more primary color border)
fix: drag handle, timezone scheduled trips, multi-stop map, saved locations, help screen cleanup, support chat system (rider+driver)
fix: remove duplicate drag handle from searchable dropdowns, multi-tenant isolation fixes, PayPhone payment provider
fix: disable Android overscroll stretch effect, rider apiService 404 fix
fix: ride_options_screen uses riderApiService to avoid 404 on /driver/services
fix: danger zone purge endpoint type fixes
fix: AppButton icon-only mode, car icon from dashboard, redirect driver to active ride on hot restart
fix: car icon not loading + active trip type cast error
fix: rider ride tracking uses riderApiService, hide driver marker until custom car icon loads
fix: clear ride request notifications, emergency share with live tracking URL, driver session on hot restart
feat: driver wallet card top-up with card selection + i18n deposit instructions
fix: USE_FULL_SCREEN_INTENT instead of SYSTEM_ALERT_WINDOW, escape special chars in APP_NAME for builds
feat: registration fields, background location UX, fix duplicate handles, fix driver documents
fix: don't redirect drivers to rider additional-info screen
fix: company currency + smart cancel-offer when already accepted
fix: use company currency instead of hardcoded MXN across driver app
feat: driver My Earnings screen with period filters + fix earnings API, TripFare type cast, location permission UX
Fix: map location timeout + fallback to zone center when GPS hangs
Fix: correct import path for AppConfig in driver auth service
•multi-device push notifications via DeviceToken table
•add color contrast warnings to branding settings
•redesign phone preview to match actual Flutter app layout
•auto-correct low-contrast colors at build time + show in preview
•add contrast warnings to onboarding color picker + fix presets
•internationalize offers list and driver trip complete screens
•translatable push notifications with per-company overrides
•language-specific custom sounds for voice notifications
•allow super-admins to cancel builds without company impersonation
•prevent cross-company session reuse and fix build cancel type error
•show exact replacement colors in both dark/light modes
•mirror Flutter HSL color derivation in preview and contrast warnings
•show color change warning even when Flutter auto-correction has
•use trip's pricingSnapshot for fare breakdown instead of recalculating
•use API-rounded fares in rider + show service type name to driver
•include service type name in push notification title
•restore custom sounds after app restart during active trip
•language settings save sending wrong payload format
•language settings persistence + language tabs for sounds
fix: driver safety nets for offer acceptance — push notification to driver when offer accepted + home screen polls API every 15s for active trips
feat: allow riders to request rides on behalf of someone else (configurable per company)
Multiple simultaneous trips support (configurable per company)
Full i18n: Flutter gen-l10n (es/en), admin string editor, build-time merge, device language auto-detect
fix: redondeo en cada paso del cálculo de tarifa (distancia, tiempo, total) y moneda dinámica en pantalla de ofertas
fix: remove hardcoded phone numbers, use real emergencyPhone
fix: rider Firestore routing to default project + distance display improvement
feat: notification permission banners + wallet ID resolution fix
fix: correct API domain fallback, role persistence, and driver redirect
feat: wallet-restricted drivers receive ride notifications with Recargar Saldo button
Fix cross-company auth, dark mode, fare display, driver cancel notification, redesign ride options
Dual Firebase for pool projects (Firestore always on default project), driver location tracking fixes, serviceTypeId fix in trip creation, build pipeline updated with DEFAULT_FB_* dart-defines
fix: driver registration shows pending status instead of re-registration
fix: persist user cache on AuthUserUpdated to fix role-switch regression
Admin-configurable theme mode (light/dark/system) with user lock. Dark mode contrast fix for very dark primary colors.
Debug: print logging for update check diagnosis
Show service zones on map when rider is outside coverage area
Fix: show Google Sign-In errors instead of silently returning to login
Custom payment methods with logo upload, crop, and popular presets (Nequi, Daviplata, Yape, Plin, Mercado Pago). Full mobile integration for rider and driver.
feat: app distribution system with in-app update detection
Sistema de distribucion de apps y verificacion de actualizaciones in-app. Nuevos campos de canal de distribucion, release actual, y actualizacion critica. Dialogs de actualizacion critica (bloquea uso) y opcional (dismissable 24h).
Wallet quick amounts, profile photo change, Firebase token fix
Wallet: admin transactions visible + top-up with receipt upload
fix: image host config, duplicate keys, driver service types parsing
feat: currency rounding/decimals config + locale-aware formatting + build duration
fix: logout navigation + referral system + registration resume flow
Sin notas de release para esta versión.
Sin notas de release para esta versión.
Wallet enforcement, cancellation penalty deduction, flexible commission modes (percentage, percentage with minimum, fixed fee)
Transbank WebPay Plus payment gateway integration for Chile
Zone payment advanced config: deposit fields, gateway selection, per-service scheduled trips
Multi-currency wallets, zone payment overrides, PayPal refund fix
•prioridad de zonas: el orden de las zonas ahora se respeta al buscar servicios
•drag-and-drop para reordenar zonas en el panel de administración
•la moneda de cada zona se propaga correctamente al conductor vía Firestore
•eliminado MXN hardcodeado en pantallas del conductor — usa moneda dinámica de la zona/trip
•viajes programados: rider puede programar viajes a futuro desde la app
•cron job activa viajes programados: notifica conductores, pide confirmación, re-broadcast si no confirma
•conductor puede aceptar y confirmar viajes programados
•rider puede ver y cancelar viajes programados
•admin configura: habilitar/deshabilitar, días máximos, horas mínimas de antelación, tiempos de notificación y confirmación
•dashboard muestra viajes programados con filtro SCHEDULED y fecha/hora
fix: send bundleId from correct core auth_service.dart
Fix: send bundleId for company resolution
•track Firebase SHA-1 certs in DB to avoid redundant API calls
•integrate Stripe Checkout for monthly subscription plans
•show warning alert when zone has no services configured
•replace WhatsApp buttons on /precios with direct /empezar links
•redirect logged-in users from /precios to /dashboard/plan
•show "Ir al panel" button in header when user is logged in
•redirect converted users from /empezar to /dashboard
•bias location autocomplete to company zones instead of hardcoded Mexico
•handle customer create when phone exists as [CONDUCTOR] driver record
•customer search excludes records with NULL name due to SQL NOT+NULL
•handle Firebase RESOURCE_EXHAUSTED (429) as non-fatal in build worker
•Firebase SHA cert listing used wrong response key (.certs → .certificates)
•mobile API endpoints fail with rider tokens (404/400)
•/api/mobile/driver/status returns 200 instead of 404 for unregistered drivers
•favicon and tab title don't update for company branding
•remove "| Cabgo AI" suffix from tab titles
•use billing_cycle_anchor instead of removed current_period_end
•map now switches to light style when app is in light mode
•custom domain support, dynamic registration fields, app logo & 409 handling
•add cross-domain session transfer for Google OAuth on custom domains
•redirect custom domain root to /login with company branding
•remove duplicate pathname declaration in middleware that broke custom domain redirect
•move middleware.ts to src/ where Next.js actually picks it up
•add custom domain redirect logic to proxy.ts (Next.js 16)
•add required salt parameter to NextAuth JWT encode
•sign out stays on custom domain instead of redirecting to main domain
•add response headers to trace middleware host detection
•add /_debug-middleware endpoint and fix header forwarding
•enforce customer required fields, approval & suspension gates
•add missing migration for vehicleBrands/Colors and customer per-company unique
•show built-in system fields in dashboard + customizable vehicle brand/color lists
•clear Gradle transforms cache before Android builds
•move Gradle transforms cache cleanup to right before APK build
•normalize color hex for Android launcher background in colors.xml
•auto-assign new companies to least-loaded Firebase pool
•stop Gradle daemon after each build to prevent memory exhaustion
•use git checkout -f to handle dirty state from previous builds
•increase APK build timeout to 20 min for cold Gradle cache
•remove Gradle transforms cleanup that was causing cold-cache rebuilds
•always use default Firebase project for Firestore operations
•prevent descender clipping on gradient text in hero heading
•improve globe light-mode colors, click events, and gateway badges
•harden build worker Firebase SHA-1 and google-services.json verification
•always use release signing for all builds (no more debug signing)
•enforce multi-tenant company isolation on driver/customer lookups
•camera permission never requested on Android during driver registration
Fix: align rider Android Google Sign-In with driver flow (signInWithCredential)
•create company override when editing a default FAQ via PUT /api/faqs
•unify dashboard plan features to match public pricing page
•use GoogleSignIn native flow instead of signInWithProvider on Android
•requiresAdditionalInfo now only checks required fields with missing values
•check phone uniqueness before creating driver to avoid P2002 error
•normalize Firebase private key newlines after decryption from DB
•strip # prefix from color hex values in Android build worker
•use dashboard upload endpoint for service type image uploads
•add Google Services Gradle plugin for google-services.json processing
•super-admin build management improvements
•add time to date column and click-to-copy build ID
•add public documentation center at /docs
•remove hardcoded serverClientId for Android multi-Firebase support
•handle ENV_VARS placeholder in default Firebase project lookup
•add allowOverwrite to Vercel Blob upload-logo endpoints
•pass Firebase dart-defines from google-services.json in build worker
•pass Firebase dart-defines from GoogleService-Info.plist in iOS build worker
•allow SUPER_ADMIN without companyId to trigger builds
•all builds use production signing (isPaidBuild=true always)
•register release SHA-1 in Firebase before downloading google-services.json
•add flutter clean and extract web client ID for multi-Firebase Google Sign-In
•use company currency config instead of hardcoded MXN in wallet withdrawal error
•multi-Firebase project architecture
•resolve Stripe checkout URL error and build-worker Firebase registration
•resolve 3 driver registration issues
•simplify pricing plans — differentiate only by trips/platform
•remove unused apiKey and storageBucket from FirebaseProject
•lower phone number minimum from 10 to 7 digits for international support
•remove debug logging from changelog generation
•auto-poll build status in AppBuilder when builds are active
•remove demo CTA links, funnel all CTAs to /empezar
•fix favicon, add robots.txt, sitemap.xml, OG image and SEO improvements
•add light/dark mode toggle with full dashboard theme migration
•extend light/dark mode to landing page, marketing pages, auth, b2b portal and onboarding
•auto-create zone and services when converting prospect to company
•reposition native app as primary channel, WhatsApp as secondary
•add auto-changelog generation and public changelog page
•prevent detached HEAD state in build workers
•generate adaptive icons and correct API URL in build workers
•correct API_BASE_URL in build workers, add build number to app UI
•pass companySlug on login screen, scope customer lookup by company
•remove duplicate icon files from src/app/ to avoid conflicts
•move opengraph-image to marketing route for proper og:image injection
•update pnpm-lock.yaml with next-themes dependency
•derive checkout base URL from request origin instead of env var
•use --dart-define-from-file to handle app names with spaces
•trim all dart-define values to prevent newline-split lines
•remove hardcoded Mexico country restriction from Places Autocomplete
•URL-encode git tag name in GitHub Compare API call
•log checkout URLs to diagnose Stripe invalid URL error
•add logging to changelog generation for diagnosis
Sin notas de release para esta versión.
Sin notas de release para esta versión.
Historial de versiones y cambios de la aplicación móvil.
Mantenimiento y mejoras internas.
Mejoramos los mensajes de error al retirar saldo desde la billetera del conductor.
•Cuando un retiro desde la billetera del conductor no se puede completar, ahora verás el motivo real del rechazo en lugar de un mensaje técnico genérico.
Nuevas herramientas de soporte con IA para gestionar builds desde un solo lugar.
•El agente de IA de soporte ahora puede lanzar, consultar y cancelar builds de la app, agilizando la atención a clientes.
Ahora puedes personalizar tus notificaciones y los diálogos largos se ven mejor en pantalla.
•Ahora puedes elegir qué notificaciones quieres recibir, y Cabgo respeta tus preferencias al enviarlas.
•Los diálogos y ventanas emergentes ya no se salen de la pantalla: ahora se ajustan automáticamente y puedes desplazarte dentro de ellos cuando el contenido es largo.
Mantenimiento y mejoras internas.
Mantenimiento y mejoras internas.
Mejoras de estabilidad para que las notificaciones en segundo plano lleguen sin interrupciones.
•Se ajustó el comportamiento de las notificaciones en segundo plano para que lleguen de forma más fiable mientras la app sigue activa.
Videos promocionales con tu marca real y compilaciones automáticas más estables cada noche.
•Las plantillas de video ahora muestran el logo real de tu marca en lugar de un marcador provisional.
•Tus apps se regeneran automáticamente cada noche para mantenerlas siempre al día sin intervención manual.
•Se mejoró la estabilidad del proceso de compilación de apps Android, reduciendo errores por tiempos de espera.
Corregimos un problema con el inicio de sesión con Apple en Android.
•Se solucionó un error que podía impedir iniciar sesión con Apple en dispositivos Android.
Mejoras de usabilidad en el dashboard y pantallas del negocio ahora disponibles en más idiomas.
•Ahora puedes hacer clic en el nombre de tu empresa en el dashboard para abrir un diálogo con el historial de cambios y novedades de la plataforma.
•Las pantallas de pedidos, detalle, inicio y solicitud de mensajería en la app del negocio están traducidas y se adaptan al idioma del usuario.
Mejoras en el flujo de pedidos empresariales y mayor fiabilidad en las publicaciones de tus apps en Google Play.
•Se restauró la navegación hacia atrás tras crear una solicitud de mensajería, para que puedas volver fácilmente al listado de pedidos empresariales.
•La sincronización de fichas en Google Play ahora reintenta automáticamente cuando la API de Google falla temporalmente, reduciendo errores al publicar.
•Publicar la disponibilidad de tus apps por país es más estable y confiable.
•Se actualizó la declaración de seguridad de datos en Google Play Console para cumplir con los requisitos vigentes.
Mejoramos la visualización de los métodos de pago para que se ajusten correctamente en cualquier pantalla.
•Se corrigió la visualización de los métodos de pago para que se ajusten correctamente al espacio disponible en pantalla.
Los nuevos métodos de pago aparecen al instante al abrir el formulario de mensajería.
•Al abrir el formulario de mensajería, ahora se actualiza tu perfil para que los métodos de pago recién agregados aparezcan de inmediato.
Corregimos un problema que afectaba el formulario de mensajería en la versión web.
•Se solucionó un error en el formulario de mensajería que impedía visualizar correctamente el resto de la pantalla en la versión web.
Mejoramos el formulario de registro de mensajeros para que sea más rápido, claro y fácil de completar.
•Rediseñamos el campo de teléfono para que sea más cómodo de completar, con buscador de país incluido.
•La navegación dentro del formulario de alta de mensajeros es ahora más fluida y consistente.
•Preparamos el formulario para permitir editar los datos ya cargados sin tener que empezar de cero.
Mantenimiento y mejoras internas.
Nueva pestaña de delivery para comercios y mejor seguimiento de publicaciones en las tiendas.
•Los comercios ahora cuentan con una pestaña de delivery en la barra inferior, que puede activarse desde el panel de administración según el plan contratado.
•Cuando Google rechaza una publicación en Play Console, ahora verás el motivo directamente en el asistente para resolverlo más rápido.
•Se simplificó el flujo de reenvío en el asistente de publicación de iOS cuando Apple rechaza una versión, evitando reenvíos innecesarios que solo cambian metadatos.
Mejoras en la gestión de pedidos empresariales: cancelaciones más fiables y listados siempre actualizados.
•Ahora puedes cancelar pedidos empresariales incluso cuando están cambiando de estado, evitando bloqueos en el proceso.
•El listado de pedidos se actualiza automáticamente al volver desde el detalle, para que siempre veas la información más reciente.
Nueva experiencia de delivery para comercios: cancela, sigue y chatea con el repartidor en tiempo real.
•Los comercios ahora pueden cancelar un pedido de delivery directamente desde la app.
•Se añadió una animación de búsqueda mientras se asigna un repartidor, para saber en todo momento qué está pasando con el pedido.
•Puedes seguir en tiempo real el recorrido del repartidor en el mapa.
•Se habilitó un chat directo entre el comercio y el repartidor para coordinar la entrega sin fricción.
Ahora es más fácil y claro introducir el teléfono al registrar envíos.
•El formulario de mensajería ahora separa el prefijo del país y el número, mostrando las banderas para que elijas el país de forma más rápida y visual.
Corregimos un problema que impedía ver el campo de teléfono al registrar mensajeros desde la versión web.
•El campo de teléfono en el formulario de mensajeros ahora se muestra correctamente en la versión web.
Corrección puntual para mejorar la estabilidad de los mapas en cuentas empresariales.
•Se solucionó un problema que impedía que los mapas cargaran correctamente en algunas cuentas empresariales.
Mejoramos el formulario de envíos para que sea más fácil de usar en el móvil y funcione correctamente en cuentas de empresa.
•El formulario de solicitud de envíos ahora está optimizado para usarse cómodamente desde el móvil.
•Se corrigió un problema que impedía que los mapas cargaran correctamente al crear envíos desde cuentas de empresa.
Los comercios ya pueden pedir un mensajero para entregas a clientes que no usan la app.
•Los comercios pueden solicitar un mensajero para entregar pedidos a clientes que no tienen la app instalada, ampliando el alcance de sus envíos.
•Se corrigió la asignación de zonas de cobertura para que los comercios vean y operen correctamente en el área que les corresponde.
Ahora puedes explorar los servicios de delivery sin necesidad de crear una cuenta.
•Puedes explorar el catálogo de delivery como invitado, sin tener que iniciar sesión ni registrarte.
•Se mejoró la estabilidad del modo invitado para que la navegación sea fluida desde el primer momento.
Mantenimiento y mejoras internas.
Mantenimiento y mejoras internas.
Ahora puedes adjuntar archivos al enviar comentarios sin problemas.
•Se corrigió un error que impedía adjuntar archivos al enviar comentarios o reportes desde la app.
Mantenimiento y mejoras internas.
Mantenimiento y mejoras internas
Corregimos detalles en la configuración de tarifas y en el botón para reportar problemas.
•Ahora el paso de oferta de tarifa se guarda correctamente al editar los tipos de servicio.
•Eliminamos los topes fijos en las penalizaciones por cancelación y por tiempo de espera, para que puedas configurarlas sin restricciones.
•Arreglamos un problema visual con el botón para reportar errores, que cubría más área de la pantalla de lo debido.
Más control sobre el registro de conductores, publicación más guiada en Google Play y mapas que arrancan sin parpadeos.
•Ahora puedes reordenar los campos del registro de conductores arrastrando y soltando, para adaptar el flujo a cada operación.
•Cada paso del registro del conductor incluye un botón para restaurar los valores por defecto con un clic.
•Añadimos un acceso directo para copiar el enlace de cada tarjeta de configuración y compartirla fácilmente con tu equipo.
•El asistente de publicación ahora refleja el estado real del testing cerrado en Google Play Console y sube automáticamente los recursos de la ficha principal de la tienda.
•Los rangos por defecto para pujas se ampliaron a 50/500 para cubrir más escenarios sin tener que ajustarlos manualmente.
•El mapa ahora parte desde la última ubicación conocida, eliminando el parpadeo inicial mientras se obtiene el GPS.
•El simulador de GPS en la versión web queda oculto salvo que se active explícitamente, evitando confusiones en producción.
Configurar tu panel de Cabgo por primera vez ahora es mucho más sencillo gracias a un nuevo asistente guiado.
•Estrenamos un asistente de configuración inicial que te guía paso a paso la primera vez que abres el panel, para dejar tu operación lista en minutos.
•Sumamos videotutoriales para ayudarte a aprovechar mejor la plataforma desde el primer día.
Registro de apps más rápido con autocompletado y validación, tutoriales que se ven bien en el móvil y declaraciones de seguridad de datos más fiables.
•El registro de apps ahora permite editar los campos del sistema, elegir configuraciones predefinidas y autocompletar datos desde tu cuenta de Google para ahorrarte tiempo.
•Los dominios se validan y normalizan automáticamente en todos los formularios, evitando errores por direcciones mal escritas.
•Registramos mejor los errores durante el alta para poder ayudarte más rápido si algo falla.
•Los videos de los tutoriales ahora se adaptan correctamente a la pantalla del móvil.
•Las declaraciones de seguridad de datos se envían por el canal oficial, haciéndolas más estables y confiables.
Publicar apps y registrar pasajeros ahora es más rápido y directo.
•Al seleccionar una app en el asistente de publicación, su keystore se importa automáticamente desde Apphive, sin pasos manuales.
•El registro de pasajeros solo pide los datos que realmente faltan, evitando preguntar información ya cargada.
•El asistente de publicación oculta el formulario de keystore cuando ya existe uno activo, dejando la pantalla más limpia.
Nuevo asistente guiado para publicar tu app en Google Play y App Store de forma más rápida, estable y transparente.
•Estrenamos un asistente paso a paso que te acompaña en todo el proceso de publicación en Google Play, desde crear la cuenta hasta enviar la app a revisión.
•Sumamos un asistente equivalente para publicar en la App Store de Apple, con detección automática de si se trata de una app nueva o una actualización y autocompletado de políticas.
•Ahora puedes contratar el servicio de testers de prueba cerrada directamente desde la plataforma con pago seguro por Stripe, y el grupo de testers queda vinculado automáticamente tras el pago.
•Añadimos una página de estado de testers para cada cliente y un panel de seguimiento para super administradores.
•Los videos de permisos se suben y publican automáticamente en YouTube como parte del flujo, con opción de cancelar o reanudar la subida.
•Incorporamos un monitor en vivo del estado de revisión de cada release, con indicadores por canal y fecha relativa de envío.
•Integramos ambos asistentes (Android e iOS) dentro de la pestaña Tienda del constructor de apps para tenerlo todo en un solo lugar.
•Registro de eliminación de cuenta con URL pública y flujo de borrado seguro por cliente, cumpliendo los requisitos de las tiendas.
•La publicación en Google Play es mucho más rápida: las verificaciones y pasos del flujo se ejecutan directamente contra la API oficial en lugar de automatizar el navegador.
•Una barra de contexto permanente te muestra en todo momento sobre qué app y qué cuenta estás trabajando.
•La URL del asistente refleja la etapa actual, lo que permite compartir enlaces y retomar el proceso donde lo dejaste.
•Los errores del asistente y del servicio de testers quedan registrados en el log de errores para un soporte más ágil.
•Mensajes más claros cuando falta verificación de identidad, caducan invitaciones, se deniegan permisos o la app fue eliminada, con acciones sugeridas.
•Las cuentas de organización se saltan automáticamente la etapa de testers y se generan credenciales de revisor sin intervención manual.
•Si la app ya tiene una versión en producción, el asistente omite la etapa de prueba cerrada en lugar de bloquearte.
•Corregimos un problema por el que los conductores de demostración eran enviados a la pantalla de registro al iniciar sesión.
•Solucionamos casos en los que el asistente marcaba una publicación como exitosa cuando en realidad seguía en borrador o aún no había sido aprobada por Google.
•El estado del checklist ahora refleja el estado real en Google Play en lugar de datos desactualizados.
•Evitamos que al cambiar de app el asistente te devolviera incorrectamente al paso de subida de keystore.
•Mejor manejo de subidas concurrentes a Google Play con reintentos automáticos para evitar bloqueos.
•Limitamos las consultas a la API de Google Play para evitar errores por exceso de peticiones.
•Arreglamos el flujo de declaraciones de permisos para que se apliquen una a una y respeten el estado previo.
•En iOS, el asistente ahora detecta la versión más avanzada de la app y gestiona mejor los envíos ya en revisión.
•Redimensionamos automáticamente el gráfico destacado a las dimensiones exigidas por Google Play antes de subirlo.
•Tolerancia mejorada ante claves de servicio de Google con saltos de línea mal formateados.
Ahora cada operador ve su propio logo en la app de iOS desde el primer momento.
•Se corrigió un problema por el que la app de iOS podía mostrar un logo genérico en lugar del logo de tu marca.
Mejoramos la estabilidad de la app y la experiencia cuando tu sesión deja de ser válida.
•La app ahora cierra tu sesión automáticamente cuando deja de ser válida, evitando pantallas bloqueadas o errores confusos.
•Se redujeron los avisos de error innecesarios relacionados con problemas puntuales de conexión.
•Se corrigió el comportamiento cuando un conductor ya no está disponible en el sistema, mostrando una respuesta clara en lugar de un error genérico.
Mantenimiento y mejoras internas.
Release app/v1.10.114
Release app/v1.10.113
Release app/v1.10.111
Release app/v1.10.109
Release app/v1.10.108
Release app/v1.10.106
Release app/v1.10.105
Release app/v1.10.104
Release app/v1.10.103
Release app/v1.10.101
fix(upload): detect MIME type from magic bytes + allow profile change from registration
Release app/v1.10.98
Release app/v1.10.97
Release app/v1.10.95
Release app/v1.10.93
Release app/v1.10.92
Release app/v1.10.91
Release app/v1.10.90
Release app/v1.10.89
Release app/v1.10.86
Release app/v1.10.85
Release app/v1.10.84
Release app/v1.10.83
Release app/v1.10.82
Release app/v1.10.79
Release app/v1.10.78
Release app/v1.10.76
Release app/v1.10.75
Release app/v1.10.74
Release app/v1.10.73
fix(rider-checkout): parse E.164 stored phones + seed cache from /auth/me — phone now persists across orders
Delivery rejection refunds to wallet, business order detail realtime + auto-pop, VIEW_APP_SIMULATOR permission, checkout phone persistence, plus accumulated fixes.
Release app/v1.10.70
Release app/v1.10.69
Release app/v1.10.68
Release app/v1.10.67
Release app/v1.10.66
Release app/v1.10.65
fix: Apple Sign-In on web via Firebase signInWithPopup
PWA service worker, CI/CD web deploy on tag, branded version labels, custom domain auth fixes, maps proxy fix, router role-switching fix
fix: timezone local en toda la app, wallet con saldos negativos reales, distancia de viajes calculada, trip center pasa datos al aceptar, Google Maps loader unificado
Fix error_logger foundation import scope conflict
Global error logging system (AppErrorLog table + Dio interceptor + ErrorDisplay widget), SuperAdmin error logs dashboard, 23 raw error messages replaced with user-friendly display, taxi/delivery module toggles, session token company-change fix, prevent both modules disabled
Taxi/Delivery module toggles (rename Home to Taxi, hide tabs based on config, prevent both disabled), session token fix for company change, location stale alerts, custom email domain via Mailgun, OG metadata, WhatsApp trip updates, zone route prices, wallet quick amounts
Fix session restore token update when company changes (was causing NOT_REGISTERED on driver status), restore driver role for pending/incomplete drivers, location stale alerts for driver and rider
Location stale alerts (driver: red banner >20s, rider: amber warning >60s), email domain config moved to branding page, swipe slider reset fix, WhatsApp proactive trip status messages, zone route prices fix, custom email domain via Mailgun
Auth flow fixes (role selection, registration fields, PHOTO types), currency display (activeCurrency fallback), swipe slider reset, WhatsApp proactive status messages, wallet quick amounts from settings, car icon DPI fix, custom email domain via Mailgun, OG metadata for custom domains, zone route prices, payment method display, emergency report driver auth, icon background color, legal external URLs, logo platform preview
Fix auth flow: role selection, registration fields, PHOTO/PROFILE_PHOTO field types, custom fields saving
Business portal, multi-category products, delivery reports, e2e farm, build scripts
Payment method selection flow, pre-trip charges, Transbank OneClick tokenization, zero-decimal currency fix, certification test panel
feat: Trip Center enhancements, multi-stop support, offer flow fixes, support phone config, customer data in notifications
feat: trip center, push notifications, PayPhone, dynamic payments, route recording, app icon update
feat: redirect driver to Trip Center after rejecting/expiring ride requests
feat: add Trip Center for drivers to browse and bid on available trips
refactor: make payment providers dynamic via backend flowType metadata — no app recompile needed for new providers
fix: add PayPhone support to mobile card tokenization flow
## Cambios en v1.10.45
•Vista de ruta en pantalla completa al recibir solicitud de viaje (botón "Ver ruta")
•Persistencia correcta del rol al cambiar entre conductor y cliente
## Cambios en v1.10.44
•Fix: al cambiar de rol (conductor ↔ cliente) ahora se persiste correctamente. Al reabrir la app se restaura el último rol usado.
## Cambios en v1.10.43
•Registro de puntos GPS del recorrido real durante viajes (distancia y duración real)
•Polling HTTP como fallback para actualizaciones de estado del viaje en la app del cliente
•Evento AuthClearActiveDriverTrip y parámetro unreadMessageCount en DriverCard
•Referencia a _currentLocation corregida en reporte de emergencia
fix: referral code disappearing on promotions screen due to race condition
Emergency report: rider and driver now call API with real location instead of fake snackbar
feat: configurable fare breakdown visibility (driver/rider), fix fare sum mismatch
fix: adaptive icon foreground now covers full background (no more primary color border)
fix: drag handle, timezone scheduled trips, multi-stop map, saved locations, help screen cleanup, support chat system (rider+driver)
fix: remove duplicate drag handle from searchable dropdowns, multi-tenant isolation fixes, PayPhone payment provider
fix: disable Android overscroll stretch effect, rider apiService 404 fix
fix: ride_options_screen uses riderApiService to avoid 404 on /driver/services
fix: danger zone purge endpoint type fixes
fix: AppButton icon-only mode, car icon from dashboard, redirect driver to active ride on hot restart
fix: car icon not loading + active trip type cast error
fix: rider ride tracking uses riderApiService, hide driver marker until custom car icon loads
fix: clear ride request notifications, emergency share with live tracking URL, driver session on hot restart
feat: driver wallet card top-up with card selection + i18n deposit instructions
fix: USE_FULL_SCREEN_INTENT instead of SYSTEM_ALERT_WINDOW, escape special chars in APP_NAME for builds
feat: registration fields, background location UX, fix duplicate handles, fix driver documents
fix: don't redirect drivers to rider additional-info screen
fix: company currency + smart cancel-offer when already accepted
fix: use company currency instead of hardcoded MXN across driver app
feat: driver My Earnings screen with period filters + fix earnings API, TripFare type cast, location permission UX
Fix: map location timeout + fallback to zone center when GPS hangs
Fix: correct import path for AppConfig in driver auth service
•multi-device push notifications via DeviceToken table
•add color contrast warnings to branding settings
•redesign phone preview to match actual Flutter app layout
•auto-correct low-contrast colors at build time + show in preview
•add contrast warnings to onboarding color picker + fix presets
•internationalize offers list and driver trip complete screens
•translatable push notifications with per-company overrides
•language-specific custom sounds for voice notifications
•allow super-admins to cancel builds without company impersonation
•prevent cross-company session reuse and fix build cancel type error
•show exact replacement colors in both dark/light modes
•mirror Flutter HSL color derivation in preview and contrast warnings
•show color change warning even when Flutter auto-correction has
•use trip's pricingSnapshot for fare breakdown instead of recalculating
•use API-rounded fares in rider + show service type name to driver
•include service type name in push notification title
•restore custom sounds after app restart during active trip
•language settings save sending wrong payload format
•language settings persistence + language tabs for sounds
fix: driver safety nets for offer acceptance — push notification to driver when offer accepted + home screen polls API every 15s for active trips
feat: allow riders to request rides on behalf of someone else (configurable per company)
Multiple simultaneous trips support (configurable per company)
Full i18n: Flutter gen-l10n (es/en), admin string editor, build-time merge, device language auto-detect
fix: redondeo en cada paso del cálculo de tarifa (distancia, tiempo, total) y moneda dinámica en pantalla de ofertas
fix: remove hardcoded phone numbers, use real emergencyPhone
fix: rider Firestore routing to default project + distance display improvement
feat: notification permission banners + wallet ID resolution fix
fix: correct API domain fallback, role persistence, and driver redirect
feat: wallet-restricted drivers receive ride notifications with Recargar Saldo button
Fix cross-company auth, dark mode, fare display, driver cancel notification, redesign ride options
Dual Firebase for pool projects (Firestore always on default project), driver location tracking fixes, serviceTypeId fix in trip creation, build pipeline updated with DEFAULT_FB_* dart-defines
fix: driver registration shows pending status instead of re-registration
fix: persist user cache on AuthUserUpdated to fix role-switch regression
Admin-configurable theme mode (light/dark/system) with user lock. Dark mode contrast fix for very dark primary colors.
Debug: print logging for update check diagnosis
Show service zones on map when rider is outside coverage area
Fix: show Google Sign-In errors instead of silently returning to login
Custom payment methods with logo upload, crop, and popular presets (Nequi, Daviplata, Yape, Plin, Mercado Pago). Full mobile integration for rider and driver.
feat: app distribution system with in-app update detection
Sistema de distribucion de apps y verificacion de actualizaciones in-app. Nuevos campos de canal de distribucion, release actual, y actualizacion critica. Dialogs de actualizacion critica (bloquea uso) y opcional (dismissable 24h).
Wallet quick amounts, profile photo change, Firebase token fix
Wallet: admin transactions visible + top-up with receipt upload
fix: image host config, duplicate keys, driver service types parsing
feat: currency rounding/decimals config + locale-aware formatting + build duration
fix: logout navigation + referral system + registration resume flow
Sin notas de release para esta versión.
Sin notas de release para esta versión.
Wallet enforcement, cancellation penalty deduction, flexible commission modes (percentage, percentage with minimum, fixed fee)
Transbank WebPay Plus payment gateway integration for Chile
Zone payment advanced config: deposit fields, gateway selection, per-service scheduled trips
Multi-currency wallets, zone payment overrides, PayPal refund fix
•prioridad de zonas: el orden de las zonas ahora se respeta al buscar servicios
•drag-and-drop para reordenar zonas en el panel de administración
•la moneda de cada zona se propaga correctamente al conductor vía Firestore
•eliminado MXN hardcodeado en pantallas del conductor — usa moneda dinámica de la zona/trip
•viajes programados: rider puede programar viajes a futuro desde la app
•cron job activa viajes programados: notifica conductores, pide confirmación, re-broadcast si no confirma
•conductor puede aceptar y confirmar viajes programados
•rider puede ver y cancelar viajes programados
•admin configura: habilitar/deshabilitar, días máximos, horas mínimas de antelación, tiempos de notificación y confirmación
•dashboard muestra viajes programados con filtro SCHEDULED y fecha/hora
fix: send bundleId from correct core auth_service.dart
Fix: send bundleId for company resolution
•track Firebase SHA-1 certs in DB to avoid redundant API calls
•integrate Stripe Checkout for monthly subscription plans
•show warning alert when zone has no services configured
•replace WhatsApp buttons on /precios with direct /empezar links
•redirect logged-in users from /precios to /dashboard/plan
•show "Ir al panel" button in header when user is logged in
•redirect converted users from /empezar to /dashboard
•bias location autocomplete to company zones instead of hardcoded Mexico
•handle customer create when phone exists as [CONDUCTOR] driver record
•customer search excludes records with NULL name due to SQL NOT+NULL
•handle Firebase RESOURCE_EXHAUSTED (429) as non-fatal in build worker
•Firebase SHA cert listing used wrong response key (.certs → .certificates)
•mobile API endpoints fail with rider tokens (404/400)
•/api/mobile/driver/status returns 200 instead of 404 for unregistered drivers
•favicon and tab title don't update for company branding
•remove "| Cabgo AI" suffix from tab titles
•use billing_cycle_anchor instead of removed current_period_end
•map now switches to light style when app is in light mode
•custom domain support, dynamic registration fields, app logo & 409 handling
•add cross-domain session transfer for Google OAuth on custom domains
•redirect custom domain root to /login with company branding
•remove duplicate pathname declaration in middleware that broke custom domain redirect
•move middleware.ts to src/ where Next.js actually picks it up
•add custom domain redirect logic to proxy.ts (Next.js 16)
•add required salt parameter to NextAuth JWT encode
•sign out stays on custom domain instead of redirecting to main domain
•add response headers to trace middleware host detection
•add /_debug-middleware endpoint and fix header forwarding
•enforce customer required fields, approval & suspension gates
•add missing migration for vehicleBrands/Colors and customer per-company unique
•show built-in system fields in dashboard + customizable vehicle brand/color lists
•clear Gradle transforms cache before Android builds
•move Gradle transforms cache cleanup to right before APK build
•normalize color hex for Android launcher background in colors.xml
•auto-assign new companies to least-loaded Firebase pool
•stop Gradle daemon after each build to prevent memory exhaustion
•use git checkout -f to handle dirty state from previous builds
•increase APK build timeout to 20 min for cold Gradle cache
•remove Gradle transforms cleanup that was causing cold-cache rebuilds
•always use default Firebase project for Firestore operations
•prevent descender clipping on gradient text in hero heading
•improve globe light-mode colors, click events, and gateway badges
•harden build worker Firebase SHA-1 and google-services.json verification
•always use release signing for all builds (no more debug signing)
•enforce multi-tenant company isolation on driver/customer lookups
•camera permission never requested on Android during driver registration
Fix: align rider Android Google Sign-In with driver flow (signInWithCredential)
•create company override when editing a default FAQ via PUT /api/faqs
•unify dashboard plan features to match public pricing page
•use GoogleSignIn native flow instead of signInWithProvider on Android
•requiresAdditionalInfo now only checks required fields with missing values
•check phone uniqueness before creating driver to avoid P2002 error
•normalize Firebase private key newlines after decryption from DB
•strip # prefix from color hex values in Android build worker
•use dashboard upload endpoint for service type image uploads
•add Google Services Gradle plugin for google-services.json processing
•super-admin build management improvements
•add time to date column and click-to-copy build ID
•add public documentation center at /docs
•remove hardcoded serverClientId for Android multi-Firebase support
•handle ENV_VARS placeholder in default Firebase project lookup
•add allowOverwrite to Vercel Blob upload-logo endpoints
•pass Firebase dart-defines from google-services.json in build worker
•pass Firebase dart-defines from GoogleService-Info.plist in iOS build worker
•allow SUPER_ADMIN without companyId to trigger builds
•all builds use production signing (isPaidBuild=true always)
•register release SHA-1 in Firebase before downloading google-services.json
•add flutter clean and extract web client ID for multi-Firebase Google Sign-In
•use company currency config instead of hardcoded MXN in wallet withdrawal error
•multi-Firebase project architecture
•resolve Stripe checkout URL error and build-worker Firebase registration
•resolve 3 driver registration issues
•simplify pricing plans — differentiate only by trips/platform
•remove unused apiKey and storageBucket from FirebaseProject
•lower phone number minimum from 10 to 7 digits for international support
•remove debug logging from changelog generation
•auto-poll build status in AppBuilder when builds are active
•remove demo CTA links, funnel all CTAs to /empezar
•fix favicon, add robots.txt, sitemap.xml, OG image and SEO improvements
•add light/dark mode toggle with full dashboard theme migration
•extend light/dark mode to landing page, marketing pages, auth, b2b portal and onboarding
•auto-create zone and services when converting prospect to company
•reposition native app as primary channel, WhatsApp as secondary
•add auto-changelog generation and public changelog page
•prevent detached HEAD state in build workers
•generate adaptive icons and correct API URL in build workers
•correct API_BASE_URL in build workers, add build number to app UI
•pass companySlug on login screen, scope customer lookup by company
•remove duplicate icon files from src/app/ to avoid conflicts
•move opengraph-image to marketing route for proper og:image injection
•update pnpm-lock.yaml with next-themes dependency
•derive checkout base URL from request origin instead of env var
•use --dart-define-from-file to handle app names with spaces
•trim all dart-define values to prevent newline-split lines
•remove hardcoded Mexico country restriction from Places Autocomplete
•URL-encode git tag name in GitHub Compare API call
•log checkout URLs to diagnose Stripe invalid URL error
•add logging to changelog generation for diagnosis
Sin notas de release para esta versión.
Sin notas de release para esta versión.