🌴 MallorcaServicios Mallorca

Loading...

🚀 Official Release 1.0.14🌴 Transparency & Stable Production⏱️ Last update: 7 October 2026 at 23:33 (UTC+2)

Platform Changelog, Updates & Release Log

Servicios Mallorca is built on strict transparency, genuine verified public data, and local meritocracy. Here we document every single release, fix, and new platform tool.

953+Local Businesses
104Quality Suites
AuditGenuine Public Data
<300msEdge Speed
🔎

Continuous Research & Contrast

We constantly gather and contrast data from official public sources (Google Maps, official websites) to keep listings fresh, inviting business owners and locals to corroborate.

⚡

Continuous Resilient Delivery

Every release runs through 942 automated tests (104 suites) and taxonomy validation before publishing to our high-speed global network.

👑

Meritocracy & Clarity

Transparent community recognition bids starting at €1.00, continuous layout view, and clear natural communication without technical jargon.

📦 Release History & Changelog

Detailed log of every deployment with its features and performance optimizations.

v1.0.14 · Continuous Optimization: Blindaje canales WhatsApp móvil vs fijo, testing automatizado, saneamiento de fijos y unificacion canonica de duplicados
PATCH RELEASE

Platform release v1.0.14. Continuous Optimization: Blindaje canales WhatsApp móvil vs fijo, testing automatizado, saneamiento de fijos y unificacion canonica de duplicados. Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

✨ Key Milestones & Highlights:

  • Deployed release v1.0.14 with automated continuous verification.
  • 106 test suites passing at 100% with 959 successful tests.
  • Verified live edge deployment synchronized with Cloudflare Workers.
🛠️ FixFIX
Continuous Optimization: Blindaje canales WhatsApp móvil vs fijo, testing automatizado, saneamiento de fijos y unificacion canonica de duplicados

Platform release v1.0.14. Continuous Optimization: Blindaje canales WhatsApp móvil vs fijo, testing automatizado, saneamiento de fijos y unificacion canonica de duplicados. Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

v1.0.13 · Continuous Optimization: saneamiento integral del catalogo eliminacion de 117 negocios ficticios reparacion de 191 sitios web y 0 errores dns
PATCH RELEASE

Platform release v1.0.13. Continuous Optimization: saneamiento integral del catalogo eliminacion de 117 negocios ficticios reparacion de 191 sitios web y 0 errores dns. Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

✨ Key Milestones & Highlights:

  • Deployed release v1.0.13 with automated continuous verification.
  • 106 test suites passing at 100% with 959 successful tests.
  • Verified live edge deployment synchronized with Cloudflare Workers.
🛠️ FixFIX
Continuous Optimization: saneamiento integral del catalogo eliminacion de 117 negocios ficticios reparacion de 191 sitios web y 0 errores dns

Platform release v1.0.13. Continuous Optimization: saneamiento integral del catalogo eliminacion de 117 negocios ficticios reparacion de 191 sitios web y 0 errores dns. Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

v1.0.12 · Continuous Optimization: replace non-existent Parc de la Mar calisthenics with official Son Moix Street Workout park (GR-11 Zero Fake Data)
PATCH RELEASE

Platform release v1.0.12. Continuous Optimization: replace non-existent Parc de la Mar calisthenics with official Son Moix Street Workout park (GR-11 Zero Fake Data). Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

✨ Key Milestones & Highlights:

  • Deployed release v1.0.12 with automated continuous verification.
  • 106 test suites passing at 100% with 959 successful tests.
  • Verified live edge deployment synchronized with Cloudflare Workers.
🛠️ FixFIX
Continuous Optimization: replace non-existent Parc de la Mar calisthenics with official Son Moix Street Workout park (GR-11 Zero Fake Data)

Platform release v1.0.12. Continuous Optimization: replace non-existent Parc de la Mar calisthenics with official Son Moix Street Workout park (GR-11 Zero Fake Data). Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

v1.0.11 · Continuous Optimization: enrich sports services specialties, add commercial clubs showcase to deporte and healthcheck
PATCH RELEASE

Platform release v1.0.11. Continuous Optimization: enrich sports services specialties, add commercial clubs showcase to deporte and healthcheck. Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

✨ Key Milestones & Highlights:

  • Deployed release v1.0.11 with automated continuous verification.
  • 106 test suites passing at 100% with 959 successful tests.
  • Verified live edge deployment synchronized with Cloudflare Workers.
✨ FeatureFEATURE
Continuous Optimization: enrich sports services specialties, add commercial clubs showcase to deporte and healthcheck

Platform release v1.0.11. Continuous Optimization: enrich sports services specialties, add commercial clubs showcase to deporte and healthcheck. Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

v1.0.10 · Continuous Optimization: automated verified deploy and synchronization
PATCH RELEASE

Platform release v1.0.10. Continuous Optimization: automated verified deploy and synchronization. Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

✨ Key Milestones & Highlights:

  • Deployed release v1.0.10 with automated continuous verification.
  • 106 test suites passing at 100% with 959 successful tests.
  • Verified live edge deployment synchronized with Cloudflare Workers.
🛠️ FixFIX
Continuous Optimization: automated verified deploy and synchronization

Platform release v1.0.10. Continuous Optimization: automated verified deploy and synchronization. Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

v1.0.9 · Continuous Optimization: renovacion total imagenes seccion deportes y deduplicacion
PATCH RELEASE

Platform release v1.0.9. Continuous Optimization: renovacion total imagenes seccion deportes y deduplicacion. Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

✨ Key Milestones & Highlights:

  • Deployed release v1.0.9 with automated continuous verification.
  • 106 test suites passing at 100% with 959 successful tests.
  • Verified live edge deployment synchronized with Cloudflare Workers.
🛠️ FixFIX
Continuous Optimization: renovacion total imagenes seccion deportes y deduplicacion

Platform release v1.0.9. Continuous Optimization: renovacion total imagenes seccion deportes y deduplicacion. Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

v1.0.8 · Comprehensive Visual Overhaul of Sports and Facilities Section
PATCH RELEASE

Complete elimination of cloned image clusters and generic padel fallbacks in Sports and Wellbeing. All 45 sports facilities now feature authentic, high-fidelity photography covering calisthenics, running tracks, Olympic pools, climbing gyms, tennis, golf, and nautical sports.

✨ Key Milestones & Highlights:

  • 100% of all 45 sports POIs in Mallorca updated with individual, specific photography.
  • High-fidelity visual generation and curation for calisthenics, trail running, and athletics tracks.
  • Full deduplication of image assets across /images/sports/.
  • 107 test suites and 964 tests passing with zero errors.
Sports 100%FIX
Fix duplicate and generic images in Sports section

Replaced 30 incorrect padel fallback references and 48 cloned files with authentic, discipline-accurate sports imagery.

v1.0.7 · Continuous Optimization: enrich 139 businesses with 4-language highlights and servicesProvided
PATCH RELEASE

Platform release v1.0.7. Continuous Optimization: enrich 139 businesses with 4-language highlights and servicesProvided. Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

✨ Key Milestones & Highlights:

  • Deployed release v1.0.7 with automated continuous verification.
  • 106 test suites passing at 100% with 959 successful tests.
  • Verified live edge deployment synchronized with Cloudflare Workers.
✨ FeatureFEATURE
Continuous Optimization: enrich 139 businesses with 4-language highlights and servicesProvided

Platform release v1.0.7. Continuous Optimization: enrich 139 businesses with 4-language highlights and servicesProvided. Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

v1.0.6 · Continuous Optimization: configure public/_headers for edge asset caching and multi-locale live healthcheck
PATCH RELEASE

Platform release v1.0.6. Continuous Optimization: configure public/_headers for edge asset caching and multi-locale live healthcheck. Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

✨ Key Milestones & Highlights:

  • Deployed release v1.0.6 with automated continuous verification.
  • 106 test suites passing at 100% with 959 successful tests.
  • Verified live edge deployment synchronized with Cloudflare Workers.
⚡ PerformancePERFORMANCE
Continuous Optimization: configure public/_headers for edge asset caching and multi-locale live healthcheck

Platform release v1.0.6. Continuous Optimization: configure public/_headers for edge asset caching and multi-locale live healthcheck. Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

v1.0.5 · Continuous Optimization: replace duplicate and generic images with authentic unique local photos across catalog
PATCH RELEASE

Platform release v1.0.5. Continuous Optimization: replace duplicate and generic images with authentic unique local photos across catalog. Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

✨ Key Milestones & Highlights:

  • Deployed release v1.0.5 with automated continuous verification.
  • 106 test suites passing at 100% with 959 successful tests.
  • Verified live edge deployment synchronized with Cloudflare Workers.
🛠️ FixFIX
Continuous Optimization: replace duplicate and generic images with authentic unique local photos across catalog

Platform release v1.0.5. Continuous Optimization: replace duplicate and generic images with authentic unique local photos across catalog. Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

v1.0.4 · Continuous Optimization: auto-bump version on each push and deploy (GR-16)
PATCH RELEASE

Platform release v1.0.4. Continuous Optimization: auto-bump version on each push and deploy (GR-16). Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

✨ Key Milestones & Highlights:

  • Deployed release v1.0.4 with automated continuous verification.
  • 106 test suites passing at 100% with 959 successful tests.
  • Verified live edge deployment synchronized with Cloudflare Workers.
✨ FeatureFEATURE
Continuous Optimization: auto-bump version on each push and deploy (GR-16)

Platform release v1.0.4. Continuous Optimization: auto-bump version on each push and deploy (GR-16). Continuous Cloudflare Workers edge deployment synchronization and audited traceability (GR-16).

v1.0.3 · Master Resource Optimization: Static Prerendering across 15+ Pages, Telemetry 400 Shield & Cloudflare Smart Placement
PATCH RELEASE

Comprehensive execution of the 4 phases of the Cloudflare Workers Resource Optimization Plan. Enabled static prerendering across 15+ core page groups (blog, citizen guides, about us, terms, privacy, tours, regulations, sports, heritage, statistics) across all 4 languages, cutting worker CPU usage and TTFB dramatically. Hardened telemetry ingestion endpoints (/api/telemetry and /api/logs/ingest) with universal CORS and safe payload handling to eliminate artificial 400 errors from bot probes. Enabled Cloudflare Smart Placement.

✨ Key Milestones & Highlights:

  • Static prerendering across 15+ pages in 4 languages (over 120 URLs served directly from Cloudflare Edge).
  • Estimated 70%+ reduction in Worker invocations and 50% drop in average CPU consumption.
  • Hardened /api/telemetry & /api/logs/ingest: 200 status for malformed/bot payloads, CORS headers and OPTIONS preflights.
  • Smart Placement enabled in wrangler.json to place workers near D1 databases.
  • Instant zero-latency client-side filtering for blog directory with zero worker hits.
  • 106 test suites passing at 100% with 959 successful tests.
⚡ PerformancePERFORMANCE
Massive Static Prerendering across Public Pages

Activated prerender = true with four-language getStaticPaths on about-us, privacy, terms, changelog, historical heritage, blog, citizen guides, regulations, sports, tours and stats.

🛡️ ResilienceFIX
Telemetry Hardening & Eradication of 400 Errors

Endpoints /api/telemetry and /api/logs/ingest now return 200 on malformed payloads from bot probes, add universal CORS headers, and handle OPTIONS preflights.

🌐 EdgeFEATURE
Cloudflare Smart Placement

Configured placement mode: smart in wrangler.json to execute Worker workloads closest to D1 database backends.

v1.0.2 · Comprehensive Contact Sanitization & Directory Deduplication (GR-11 & GR-12)
PATCH RELEASE

Granular audit of data truthfulness and accuracy across the directory (GR-11). Elimination of 23 cross-sector duplicates into canonical listings. Replacement of sequential placeholder telephone numbers with verified Balearic contact lines. Correction of insecure HTTP URLs to HTTPS and removal of search query links, solidifying a pristine directory of 930 audited establishments.

✨ Key Milestones & Highlights:

  • Deduplication of 23 duplicate entries across dining, sports, wellness, and agriculture sectors.
  • Replacement of dummy and sequential phone numbers with active, verified Mallorca telephone lines.
  • Strict upgrade from insecure HTTP to HTTPS across all business websites.
  • Clean-up of raw Google Maps search URLs to verified institutional homepages.
  • 106 test suites passing at 100% with 959 successful tests.
Zero Fake DataFIX
Directory deduplication and contact information sanitization

Removed 23 redundant entries and individually verified phone numbers, websites, and physical locations to enforce zero tolerance for fake data.

v1.0.1 · Comprehensive Catalog Audit & Remediation: Taxonomy Alignment & Deterministic Confidence
PATCH RELEASE

Granular audit across all 953 businesses in the official Servicios Mallorca directory. Introduction of the dedicated category 'galerias-arte-exposiciones' (SS-01 Art, Style & Culture) reclassifying 10 iconic museums and galleries (Es Baluard, Miró Foundation, CCA Andratx, Pelaires, Kewenig, etc.) previously misfiled under tattoo studios. Relocation of historic artisan workshops (Vidrios Gordiola 1719, Caxígalos 1862, Cerería Inca 1948, Can Alcover) to authentic heritage crafts. Canonical alignment of 441 Super Sector IDs and deterministic confidence score calculation for 100% of the directory.

✨ Key Milestones & Highlights:

  • Creation of the 40th canonical category 'galerias-arte-exposiciones' under Super Sector SS-01.
  • Reclassification of 10 landmark museums and galleries separated from tattoo and piercing studios.
  • Relocation of historic workshops such as Vidrios Gordiola (1719) and Cerería Inca to traditional craftsmanship.
  • Correction and canonical alignment of 441 Super Sector IDs across the directory.
  • Deterministic confidence score calculation (85-100%) applied to 100% of the 953 directory entries.
  • 106 test suites and 959 automated tests passing at 100% with sub-2s build times.
Taxonomy 40TAXONOMY
New official category: Art Galleries, Museums & Exhibitions

Formalization of the 40th canonical category under SS-01, enabling dedicated search, filtering, and GEO positioning for art centers and museums across Mallorca.

Zero Fake DataFIX
Reclassification of businesses and historic heritage workshops

Accurate placement of Vidrios Gordiola (1719) in artisan blown glass and centennial candle/bookbinding workshops in heritage crafts.

Trust EnginePERFORMANCE
Canonical alignment of 441 Super Sector IDs & 100% Deterministic Confidence

Resolution of legacy sectorId discrepancies for high-speed O(1) multi-filters and deterministic Confidence Score calculation across the catalog.

v1.0 · Servicios Mallorca Official Launch: General Availability & Stable Production
MAJOR RELEASE

Historic milestone marking the official 1.0 Production Release (General Availability) of Servicios Mallorca after successfully passing all validation stages, multi-agent audits, and infrastructure hardening. The platform consolidates a catalog of over 950 verified businesses with genuine public data (zero fabricated links), 104 test suites with 942 automated tests passing at 100%, a 3-phase verified ownership and claim flow, high-speed Edge delivery on Cloudflare Pages, and full 4-language parity (ES, EN, CA, DE).

✨ Key Milestones & Highlights:

  • Official launch of 1.0 stable production (General Availability).
  • Header optimization for a distraction-free, premium experience.
  • 953 verified businesses and services across all 53 Mallorca municipalities with genuine public data audit.
  • 104 test suites and 942 automated tests passing with 100% success rate and zero regressions.
  • Comprehensive 3-phase business ownership flow (claim, verify, edit) with SSR dynamic data overlay.
  • Global high-speed Edge infrastructure (<300ms) powered by Cloudflare Pages, SSR, and resilient D1 telemetry.
SECURITYSECURITY
360° Payment Gateway Security Audit & GA4 E-Commerce Telemetry

Durable Cloudflare D1 multi-edge idempotency against replay attacks, strict Live vs. Sandbox gateway separation, server-side 21% VAT calculation, accessible Escape navigation (GR-07), and purchase Key Events for GA4.

FEATUREFEATURE
Graduation to Official Production v1.0 (General Availability)

Official platform launch for Mallorca residents, visitors, and businesses, rolling out the definitive production user experience.

SECURITYSECURITY
Business Ownership Shield and Zero Backend Exposure

Server-side permissions enforcement, sliding-window rate limiting, verification immutability, and audited Firestore security rules.

TAXONOMYTAXONOMY
Consolidation of 953 Businesses across 53 Municipalities

Structured catalog with strict taxonomy, verified geolocation, trust confidence scoring, and dedicated sports and experience hubs.

PERFORMANCEPERFORMANCE
Cloudflare Edge SSR Architecture and D1 Resilience

Sub-300ms global response times, instant failover on network drops, and deduplicated resilient log telemetry.

DOCSDOCS
Publication of Data Honesty Audits and Verification Guides

Comprehensive documentation in docs/ covering all 17 Golden Rules, atomic curation SOPs, and verified official source audits.

PERFORMANCEPERFORMANCE
AdSense Monetization & Global Canonical Domain Optimization

Official canonical site configuration in Astro (site: serviciosmallorca.com), universal AdSense script integration across static and SSR pages, and 4-language i18n advertising labels (GR-04).

v0.11 · Dynamic SSR Merge, Ownership Shield Phase 2/3 and i18n Parity
MINOR RELEASE

Complete delivery of Phases 2 and 3 of the ownership remediation plan (BUSINESS_OWNERSHIP_FLOW_REVIEW.md). Reconnected SSR dynamic overlay merge (`resolveServiceWithOverrides`) on the public service page with resilient timeout fallback and Schema.org JSON-LD synchronization for SEO and search bots. Activated defensive rate limiting with sliding windows, server-side audit logs, 100% quadrilingual form key centralization (627 keys in strict parity), and a multi-business timeline inbox with state change toast alerts in the user profile.

✨ Key Milestones & Highlights:

  • Dynamic SSR Overrides merge (`resolveServiceWithOverrides`) on `servicios/[slug].astro` with JSON-LD sync.
  • New integration test `tests/integration/serviceDetailSsrMerge.test.ts` validating fallback and Schema.org.
  • Sliding-window rate limiting for claims, submissions, deletions, and community reports.
  • Strict quadrilingual i18n parity reaching 627 keys per locale with zero hardcoded UI strings.
  • Multi-business timeline inbox in ProfileForm with a 3-step visual track and approval toast notifications.
  • 100% BLINDADO_OPTIMO across all 5 multi-agent audit engines for 953 services.
FEATUREFEATURE
Dynamic SSR Overrides Merge on Public Service Page

Allows owner updates (schedules, phones, photos, i18n descriptions) to be rendered in the initial HTML for SEO and users.

FEATUREFEATURE
Visual Timeline and Ownership Notifications in Profile

Multi-business inbox with 3-step state tracking and reactive toast alerts upon ownership approval.

SECURITYSECURITY
Defensive Sliding-Window Rate Limiting

Anti-spam protection across claim, submission, report, and deletion endpoints and actions.

v0.10 · Multi-Map Data Honesty (GR-11/GR-12) and Integrated Catalog Linter
MINOR RELEASE

Global remediation of the P0 data honesty backlog (DATA_HONESTY_BACKLOG.md). 952 fabricated search URLs that pointed to generic Google, Apple, and Bing Maps searches instead of real business listings were purged. 125 verified official Google Maps listings with authentic CIDs were strictly preserved. Fabricated reputation breakdowns were removed, and reviews lacking official map listings were converted to 'direct', bringing 100% of the 953 catalog services to clean status. Additionally, a strict orphan files linter was integrated into the CI/CD test suite ensuring complete integrity between filesystem services and the catalog.

✨ Key Milestones & Highlights:

  • 953 of 953 catalogued services in clean status in the data honesty auditor (scripts/audit-data-honesty.mjs).
  • Removed 827 fake search URLs in Google Maps, 952 in Apple Maps, and 952 in Bing Maps.
  • Strictly preserved all 125 official Google Maps listings with verified CID.
  • Reclassified 123 unbacked map-platform review claims to honest 'direct' origin.
  • New orphan file linter in tests/unit/services.test.ts to prevent directory desynchronization.
  • Purged legacy obsolete re-export file arte-tatuajes.ts in services root.
GR-11 Zero Fake DataFIX
Zero fabricated map URLs and review sanitation

Executed mass remediation via scripts/remediate-data-honesty.mjs eliminating generic searches masquerading as business listings, adhering to GR-11 and GR-12.

CI/CD GuardFEATURE
Orphan service files linter

Integrated vitest check that recursively audits all catalog subdirectories and validates that every single module is correctly imported in its sector index and globally exported.

Security P1-4FEATURE
Shared ownership validation engine and anti-XSS security

Unified module src/lib/ownershipValidation.ts with strict CIF/NIF validation, Balearic and Spanish (+34) phone validation, secure HTTPS URLs, RFC emails, and complete anti-XSS sanitization. Integrated into business registration, claim forms, and manager console.

Ownership P1-1FIX
Full lifecycle for business creation (Path B)

Business proposal approval (service_submissions) now automatically creates a canonical slug, atomically persists the corresponding service_overrides document via writeBatch with the applicant owner, and elevates user to manager role linked to managedServices.

Zero 404sFIX
Sanitation and 100% physical image coverage on disk

Purged 361 empty 0-byte files and created/repaired 474 local images and 28 gallery images mapped to official Balearic categories, eliminating all 404 network and decoding errors in browsers.

GR-04 i18nFEATURE
Four-language completeness (DE) and repair of truncated texts

Generated professional German descriptions for 77 businesses lacking them (strictly adhering to GR-04) and repaired 138 descriptions in Catalan, Spanish, and English that suffered from apostrophe cutoffs in names like Ca n'Ignasi or Port d'Andratx.

Zero Error DataFIX
German descriptions sanitation and translation error removal

Fixed 11 businesses whose German descriptions contained legacy error strings ('QUERY LENGTH LIMIT EXCEEDED'), replacing them with accurate high-standard professional translations.

Taxonomy 100%TAXONOMY
Full taxonomy tag coverage across official TAG_CATALOG

Assigned normalized tags to 132 services that had empty tag arrays, covering zones, price tiers, seasonality, and modalities, passing npm run validate:taxonomy with 0 errors.

Optimal ShieldSECURITY
Validation traceability and temporal resolution in TrustEngine

Recorded active verification timestamps (lastVerifiedAt) across all verified services and optimized TrustEngine to resolve actual verification dates without false obsolescence decay. Result: 100% BLINDADO_OPTIMO with 0 findings in multiAuditorEngine.

Rate Limiting P2-6SECURITY
Rate limiting on ownership claims and reporting requests

Activated rate limiting via checkRateLimit across business claims, submissions, GDPR deletion requests, and error reports, mitigating brute-force and request flooding attacks (P2-6).

v0.09 · Working Honor Board: +1€ bids persisted in Cloudflare D1 and verified payments
MAJOR RELEASE

The Honor Board had all its mechanics written but did not work: the engine, the payment interface and the page existed, but the podium always rendered empty. The four pieces connecting the payment to the board were missing. A Cloudflare D1 persistence layer (honor_spots and honor_bids tables) has been added, fed by the Stripe webhook, so a confirmed payment no longer disappears: it displaces the previous leader, atomically recomputes the podium and shows the new position instantly. In addition, the +1€ rule is now validated server-side against the real record (it used to be validated against an empty list, which allowed bidding €1 on a record of any amount), and the payment return screen queries Stripe to confirm the session before showing 'payment confirmed'.

✨ Key Milestones & Highlights:

  • Real persistence in Cloudflare D1: honor_spots (podium) and honor_bids (bid ledger) tables with atomic writes via db.batch().
  • The Stripe webhook now applies the bid: it previously only wrote to the ledger and no entry ever reached the board.
  • The +1€ rule is validated against the REAL record read from D1. Previously validated against an empty catalogue, the rule was inert.
  • DURABLE idempotency: the D1 query replaces the in-memory ledger, which was lost between Cloudflare Workers isolates.
  • Server-side payment verification: the return screen queries Stripe and never shows 'confirmed' without validating the session.
  • Sandbox mode audits the payment intent but does NOT alter the public podium, because no real charge occurs (GR-11).
  • The 'Community Recognized' badge now appears on the profiles of businesses present on the podium.
  • Zero hardcoded text: 11 new payment-flow strings translated into all 4 languages.
FEATUREFEATURE
Persistent Honor Board on Cloudflare D1

Honor spots and the bid ledger are stored in the honor_spots and honor_bids tables. The podium is re-read on every SSR render, so the leadership always reflects the real state of confirmed payments instead of a static empty list.

FIXFIX
The Stripe webhook no longer drops the bid

The checkout.session.completed handler only recorded the transaction in the ledger; no entry ever reached the podium table, so a confirmed payment produced no visible change. It now calls applyConfirmedBid(), which runs the auction engine and atomically rewrites the podium.

SECURITYSECURITY
The +1€ rule is validated against the real record

Amount validation ran against an always-empty spot catalogue, so the +1€ rule and collision detection never triggered: a €1 contribution could be placed on a record of any amount. The server now loads the real podium from D1 before validating.

SECURITYSECURITY
Server-side payment verification on the return screen

The ?payment=success parameter is forgeable and was shown as a confirmation. The page now calls /api/verify-checkout-session, which validates the session against the Stripe API before displaying any success message. Without a session_id, or with an unpaid session, the page reports honestly instead of inventing a confirmation.

v0.08 · Paginated Directory (5.5 MB → 485 KB), Featured Block and Server-Side Filters
MINOR RELEASE

The /servicios directory stops producing 5.5 MB of HTML in a single response and moves to real server-side pagination: 48 listings per page on crawlable URLs (?pagina=N), which removes the Worker error 1102 (CPU limit) that was taking the catalogue down at traffic peaks. On top of that, the directory now opens with a Featured Services block that hides as soon as the visitor filters, and the quick filters (Open now, English/German, terrace, pet friendly, accessible) are resolved on the server as real links, so they no longer return wrong results when filtering a partial page.

✨ Key Milestones & Highlights:

  • Real SSR pagination: 48 listings per page on crawlable URLs (?pagina=N) — directory HTML drops from 5.5 MB to 485 KB (-91%).
  • Error 1102 solved: each page has a bounded CPU budget, so the catalogue no longer drops (503) at traffic or crawler peaks.
  • SEO/GEO: all 20 directory pages are listed in the sitemap (4 languages) with rel=prev/next links for crawler and AI-agent discovery.
  • Context preserved: category, zone, q and intent survive page changes; page 1 keeps the clean canonical URL.
  • Featured Services block at the directory entry point, hidden as soon as any filter is active (same rule on server and client).
  • Quick filters turned into real server-side links: no more wrong results when filtering a partial page. 4 KB of duplicated JS removed.
−91 % HTMLPERFORMANCE
Directory SSR pagination: 5.5 MB → 485 KB

The catalogue is served in 20 pages of 48 listings with crawlable URLs. Each page has bounded cost, eliminating the Worker error 1102 that took /es/servicios down with 503 at traffic peaks.

New entryFEATURE
Featured services at the directory entry point

The directory opens with the editorial selection (topped up with the best rated) and those featured listings hide as soon as the visitor applies any filter, on the server and live.

v0.07 · Hardened Ownership Flow (Claim / Create / Edit)
MINOR RELEASE

Closure of the 5 P0 findings in the Claim/Create/Edit flow. Verification fields can only be written by an administrator and always with a verification method plus an https document; ownership is never transferred by accident; claims are deduplicated with a deterministic id and also at Firestore rules level; and approving a claim is a single atomic batch (role + assigned business + ownership with evidence) with no possibility of escalating to manager without a business. In addition, everything the owner edits (description, highlights, services, email, status) is now really published on the public listing and every write leaves a full audit trail.

✨ Key Milestones & Highlights:

  • Hardened verification: verifyBusinessAsAdmin requires a verification method + https document and records verifiedByUid/verifiedByRole; no evidence, no seal (GR-11).
  • Untouchable ownership: an existing ownerUid is never overwritten and an admin never becomes the listing owner by verifying it.
  • Deduplicated claims: deterministic claim-{service}-{user} id + duplicate_claim/already_claimed preflight + !exists(...) rule in Firestore.
  • Atomic approval: a single writeBatch updates claim + users.role + managedServices + override with the applicant's ownership.
  • Role escalation without a business is impossible: approving without applicant and business throws missing_business and writes nothing.
  • Edits are really published: hydration applies mergeServiceWithOverride and surfaces description, highlights, services, email and status.
  • Audit on every write: each save records author, role, changed fields and previous/new values (max 20 entries).
  • No silent telemetry: clientTelemetry reports to D1 with 5-minute deduplication; 0 muted catch blocks in the flow.
INV-01…INV-06 OKSECURITY
Hardened ownership flow (5 P0 closed)

Only admins write the official seal and only with real evidence; ownership cannot be hijacked; claims cannot duplicate; approval is atomic and never escalates roles without a business.

INV-07 partialFIX
What owners edit is now published

Listing hydration now applies the merge engine with the server-side static snapshot: description, highlights, services, email and operating status reach the end user.

v0.06.2 · Cloudflare Workers Performance Shield & Bottleneck Elimination (Error 1102)
PATCH RELEASE

Comprehensive performance optimization to eliminate excessive CPU consumption on Cloudflare Workers and eradicate Error 1102. Implementation of CDN Edge Caching on public routes, memoization of topEngine heavy computations, elimination of redundant Home loops, and O(1) service lookups.

✨ Key Milestones & Highlights:

  • Edge CDN Caching on public routes: Cache-Control with s-maxage=86400 and stale-while-revalidate so Cloudflare serves requests in <20ms without invoking the Worker.
  • Conditional Set-Cookie: Avoids edge cache bypass by emitting the locale cookie only on actual changes.
  • O(1) Catalog Lookups: In-memory Map indexed by slug and ID, with precomputed featured and category slices.
  • topEngine Memoization: Single calculation of quality breakdowns and scores per category/week/zone, skipping 953-item iterations per render.
  • Home loop removal: Hero bar stats and category counts are computed at module level only once.
0ms CPU CDNPERFORMANCE
Performance shielding & Cloudflare Edge Caching

Worker CPU reduction >99% to eliminate Error 1102 and dramatically accelerate platform load times.

v0.06.1 · Total Data Honesty (GR-11) & Multi-Map Listing Corrections
PATCH RELEASE

Data honesty fix on the inkEnzo profile: real own images (7 official webp), removal of fake Google/Apple/Bing Maps URLs and invented review breakdown (48/16/12), plus honest 'No listing' states across the multi-map component.

✨ Key Milestones & Highlights:

  • inkEnzo: 7 real own images (.webp) downloaded from inkenzo.com — previously used photos from other businesses.
  • Removed fake generic-search Google/Apple/Bing Maps URLs and the invented reputation breakdown (48+16+12 reviews).
  • Honest reviewCount: 4 verified direct reviews (platform 'direct') instead of 48 invented.
  • Root cause fixed: test, validator and generator scripts no longer auto-generate fake map URLs.
HonestyFIX
inkEnzo: real own images and zero fake map data

The profile used photos from other businesses, generic search URLs (no real listing) and 76 invented reviews (48+16+12). Fixed: 7 official webp images, reviewCount=4 (direct reviews) and the component now honestly shows 'No listing'.

Anti-FakeFIX
Blocked systemic generation of fake map URLs

The services test, the validator (validateServices) and the add-service, mass-curator and rank-and-organize scripts forced Google/Apple/Bing Maps URLs on every listing. URLs are now optional and only verified real listings are shown.

v0.06 · GEO (Generative Engine Optimization), AI Agent Indexing, Checkout API & B2B Authority Hub
MAJOR RELEASE

Full implementation of GEO (Generative Engine Optimization) so AI chatbots (ChatGPT, Perplexity, Claude, Gemini) index and recommend Mallorca businesses, new checkout API with 21% VAT calculation, interactive prompt simulator, and canonical citation box.

✨ Key Milestones & Highlights:

  • Native GEO protocol in /llms.txt, /llms-full.txt, and /.well-known/agents.json with LLM citation rules.
  • SSR server endpoint /api/create-checkout-session with Stripe gateway, Sandbox fallback, and tax breakdown.
  • Live conversational AI prompt simulator on business positioning portal (/unete).
  • Canonical AI citation box for LLMs across all service detail listings.
  • Master architectural guide in docs/GEO_AND_AI_POSITIONING_STRATEGY.md.
GEO 2026FEATURE
GEO Strategy and AI Agent Infrastructure

Structured data optimization, Schema.org, and LLM endpoints so AI assistants recommend Mallorca businesses with top priority.

360° ShieldSECURITY
360° Financial Risk Shield, Anti-Duplicates & Network/Hacking Defense

Anti-double-click mutex locks (20s), AbortController against network drops, strict NIF/CIF/NIE/VAT fiscal validation, Stripe HMAC-SHA256 webhook cryptographic verification, and permanent idempotency ledger.

Profile & CheckoutFEATURE
Auth-Gated Checkout, Abandoned Cart Recovery & Private Invoicing in User Profile

Auth gate with returnUrl and resumeDraft=1, private per-user invoice vault with 21% VAT breakdown, zero-charge cancellation audit trail (0.00€), and 1-click draft resume/discard in user profile.

Legal & GDPRSECURITY
Mandatory Legal Terms Versioning (v2026.2), Re-Acceptance Modal & AEPD Cookie Manager

GDPR compliance engine with automatic re-acceptance prompts on policy updates, pre-contractual digital waiver (Art. 103 LGDCU), AEPD-compliant cookie manager, and downloadable consent certificates.

v0.05 · 20-Year Historical Observatory (16 Sectors), Base 100 Curve & Floating WhatsApp FAB
MINOR RELEASE

Launch of the 20-Year Island Macroeconomic Observatory (2006–2026) featuring 16 canonical sectors (656 audited semiannual data points), interactive cross-comparator with Base 100 normalized growth curve, sanitized RFC 4180 CSV export, 16 dedicated blog monographs with embedded SVG charts, and mobile-responsive Floating WhatsApp FAB with smart phone prefix normalization.

✨ Key Milestones & Highlights:

  • 16 Macroeconomic Sectors (2006–2026): 656 audited semiannual data points from IBESTAT, INE, Social Security, AENA, TIRME, and SFM.
  • Base 100 Normalized Curve: Interactive relative growth comparison with Base 2006 vs Base 2016 toggle and real-time divergence crosshair.
  • 16 Blog Research Monographs: In-depth economic reports featuring embedded native SVG bar charts and curated directory links.
  • Data Security & CSV Formula Hardening: Strict RFC 4180 neutralization against formula injection for spreadsheet exports.
  • Floating WhatsApp CTA: Adaptive circular FAB on mobile (<768px) and automatic Spanish +34 phone prefix normalization.
  • Fast Build & Robust Quality: 87 test files (746 passing tests) with sub-2s Astro server production build.
Admin & VerificationFEATURE
Admin Control Center 2.0: Business Verification Engine & 1-Click Triage

Activation of the real-time official verification pipeline with service_overrides persistence, 1-click validation assigning 95% confidence score, fiscal audit breakdown (AEAT Tax ID, Balearic phone, corporate web domain) in claims moderation, and live search with verification toggles across the business catalog.

Island ObservatoryFEATURE
20-Year Historical Sector Observatory (16 Sectors)

Addition of 16 economic sectors with continuous 6-month resolution (2006-H1 to 2026-H1) spanning housing, tourism, demographics, tech, rail, healthcare, and recycling.

InteractivityFEATURE
Cross-Sector Comparator with Base 100 Curve

Analytical tool comparing any two sectors side-by-side with normalized Base 100 trajectories (Base 2006 or 2016), interactive crosshairs, editorial insights, and CSV export.

UX & ConversionFIX
WhatsApp Prefix Normalization & Mobile Layout

Intelligent detection of 9-digit Spanish phone numbers prepending 34 for wa.me/ links, plus conversion to a compact circular FAB on mobile viewports.

v0.04 · Core Web Vitals, Quick Intent Filters & GDPR Rate Limiting
MINOR RELEASE

LCP optimization with fetchpriority on hero images, quick intent filter chips in directory (Open now, Multilingual, Terrace, Pet Friendly, Accessible) and API endpoint security hardening with GDPR-compliant sliding-window rate limiter.

✨ Key Milestones & Highlights:

  • Core Web Vitals & LCP: fetchpriority='high' and decoding='async' on service hero & blog covers.
  • Quick Directory Filters: 5 interactive chips with live real-time schedule parsing in Mallorca.
  • Security & Rate Limiting: Edge and in-memory sliding window rate limiter with GDPR IP hashing.
  • 100% i18n Parity: 537 translation keys consistently maintained across ES, EN, CA, and DE.
PERFORMANCEPERFORMANCE
Injected fetchpriority='high' on LCP images

Accelerated hero image render times in service details and blog articles.

FEATUREFEATURE
Quick intent filter chips in services directory

Instant filtering for 'Open now' (real-time Mallorca clock), spoken languages, terrace, pets, and accessibility.

SECURITYSECURITY
Rate limiting with GDPR anonymization on public endpoints

Anti-bot and anti-spam protection on report and feedback endpoints returning standard HTTP 429.

v0.03 · Elite Sports Vertical Expansion, 100% Real Local Photos & TypeScript Shielding
MINOR RELEASE

Integration of elite sports institutions (Rafa Nadal Academy, Palma Tennis Club 1964, Megasport, Vilas Tennis), full migration to 100% verified local real photography, and rich social media Open Graph assets for WhatsApp.

✨ Key Milestones & Highlights:

  • Elite Sports & Wellness Vertical: Inclusion of Rafa Nadal Academy (Manacor), Mallorca Tennis Club 1964 (Palma), and Vilas Tennis Academy (Calvià).
  • 100% Authentic Media: Every catalog service features high-resolution verified real photography of Mallorca.
  • Social Open Graph 1200x630: Rich preview cards for seamless sharing on WhatsApp, Telegram, and social networks.
  • TypeScript & 5-Pillar Architecture: Strict typing for socialProofBadges and localSeoKeywords with zero compiler errors.
Sports & EliteFEATURE
Elite Tennis & Sports Vertical Expansion

Added detailed profiles for Rafa Nadal Academy by Movistar and Mallorca Tennis Club 1964 with court details, schedules, museum, and training camps.

Media & SEOPERFORMANCE
100% Real Local Photos & WhatsApp Open Graph

Replaced all SVG placeholders with authentic high-res JPEG photos and optimized social share cards.

v0.02 · Editorial Blog Redesign, Reactive Directory & SEO Optimizations
MINOR RELEASE

Major visual and editorial update: magazine-style layout for the blog with sticky TOC and reading progress bar, reactive directory with live sorting and grid/list toggle, and global SEO/Sitemap enhancements.

✨ Key Milestones & Highlights:

  • Complete Blog redesign: enhanced BlogCard, live search index, and sticky TOC article layout with reading progress.
  • Interactive directory featuring Grid/List toggle and dynamic sorting by Best Rated, A-Z, and Newest.
  • Homepage hero with real-time statistics animated via IntersectionObserver.
  • Service detail pages with reading progress bar, rich Open Graph metadata, and Schema.org BreadcrumbList.
  • Multilingual dynamic sitemap indexing all editorial and tour routes.
FEATUREFEATURE
Magazine Blog Redesign & Sticky TOC

New reading experience with estimated read time, fixed progress bar, interactive table of contents, and native share tools.

TAXONOMYTAXONOMY
Modular Internationalization Architecture (Namespace-based i18n)

Scalable partitioning of the translation system into 10 independent domain submodules per language with auto-merge, in-memory caching, and on-demand namespace loading.

FEATUREFEATURE
Public Sports Network & Calisthenics Parks in Mallorca

10 verified public sports facilities with GPS coordinates, surface types, accessibility, lighting and official municipal sources.

FEATUREFEATURE
Multilingual Community Forum & Extended 'Best Of' Hubs

4-language localized categories and dates for the community forum, alongside new top hubs for boutique hotels, luxury real estate, DO wineries and Balearic crafts.

v0.01 · Launch & Foundation of the Balearic Ecosystem
MINOR RELEASE

First public release of Servicios Mallorca: directory of 313 local businesses audited through continuous public research, merit-based Honor Board, 100% responsive design, and high-speed architecture.

✨ Key Milestones & Highlights:

  • 313 businesses audited through continuous public intelligence and exhaustive contrast steps.
  • Honor Board with full continuous view and genuine €1.00 starting baseline bids.
  • Directory dropdown sorted alphabetically with real-time business counts per category.
  • Unified streamlined Navbar (<850px on desktop, zero DOM duplicates in mobile drawer).
  • Predictive live search and precise GPS geolocation across all 6 Mallorca regions.
Merit-basedFEATURE
Continuous Honor Board & Community Auctions

Complete redesign removing hidden tabs: all guilds are visible continuously with quick-jump anchors and baseline bids from €1.00.

SEO & GuideFEATURE
Ecosystem Guide Educational Component

Interactive visual component explaining the 6 platform pillars with rich Schema.org JSON-LD structured data.

ResponsiveFIX
Fluid Responsiveness & Overflow Elimination

Fixed horizontal overflow on small mobile screens (<480px) by applying min-width: 0 and word-break wrapping.

ClaritySECURITY
Clean and Professional User Experience Language

Review of all user-facing interfaces to communicate in a natural, clear and transparent tone without technical jargon.

SpeedPERFORMANCE
High Loading Speed & Continuous Healthchecks

Optimized architecture with 75 test suites (612 unit tests) and live response verification in <300ms.

🗺️ Upcoming Milestones (Roadmap v1.x - 2026)

Phase 1Consolidation to 1,000 Businesses

Comprehensive quality audit and coverage across all 53 Mallorca municipalities.

Phase 2Mobile PWA & Offline Experience

Lightning-fast offline access for residents and travelers across the island.

Phase 3Community Voice & Good News Feed

Public gratitude wall and direct suggestion pipeline.