v1.10.2
Puntovivo v1.10.2 — faster search and a more resilient daily runtime
Why this release matters
Puntovivo v1.10.2 concentrates on the parts of a point-of-sale system that must
stay predictable during a long working day. Product search now reaches large
catalogs through tenant-isolated database indexes instead of broad in-memory
scans, while the server and web application release resources more carefully
when a startup fails, a window remains open for hours, or a receipt image is
captured repeatedly.
This is a reliability and maintenance release rather than a new operator
workflow. Existing screens, permissions, data and daily procedures remain
familiar. The practical result should be quicker lookup in large catalogs,
less avoidable memory growth, and safer shutdown or recovery behavior.
What changed
Product search that scales with the catalog
Exact code and barcode lookups use dedicated indexes. Text search uses a
tenant-safe SQLite FTS path with bounded candidates, and semantic search limits
the vectors evaluated for each request. The implementation includes
large-catalog performance contracts so future changes cannot silently return to
an unbounded scan. Stored vectors can also be compacted without changing the
operator-facing search result.
Safer long-running sessions
The server now publishes database connections atomically, cleans partially
created resources after failed startup, and drains background workers before
closing the database. The web application bounds receipt-image capture and
cleans timers, observers and event listeners used by long-shift views. These
changes reduce the risk of stale work, use-after-close errors and gradual memory
growth during repeated operations.
Stronger development and release safeguards
The project now compiles application code with TypeScript 7 while keeping the
currently supported TypeScript API for ESLint integrations. Oxlint provides a
fast first pass before the authoritative ESLint rules, source formatting is
enforced, and the native encrypted SQLite runtime uses one audited Node-API
prebuild across Node 24 and Electron 42. Release evidence now covers critical
operator journeys, representative desktop artifacts, macOS deployment floors
and more stable Lighthouse measurements.
Dependency patches across the web, server, test and build stacks are included
only where they completed the applicable local gates. TanStack Table 9 and
Electron 43 are deliberately not part of this release: both are recent major
migrations that require their own UI or cross-platform candidate evidence.
Before you use it
The automated candidate gates validate the code, builds, database contracts,
critical browser journeys and packaging policies. They do not replace tomorrow's
representative-machine checks. Clean installation, upgrade from v1.10.0 and
downgrade rejection still need to be exercised on real machines, including the
supported macOS Sequoia and Tahoe targets. For that reason the desktop update
will begin at the existing 10% staged rollout and must not be promoted solely on
the strength of this publication.
The broader product limits also remain unchanged:
- Production electronic documents still require an authorized fiscal provider,
credentials, certificates, conformance testing and country-specific approval. - Receipt printers, cash drawers, scanners and payment terminals still require
representative physical-device qualification. - There is no managed cloud or staffed monitoring service. Puntovivo remains a
local-first, open-source product that still needs an observed private pilot
before any production-readiness claim. - Day-close and attendance evidence must not be treated as final accounting or
payroll values where the product explicitly reports unavailable data.
Downloads
Open the v1.10.2 GitHub release
and choose the signed Windows x64 installer, notarized macOS Apple Silicon
archive, Linux x64 AppImage, or web bundle. Update-feed files are consumed by
the desktop updater and are not manual installers.
For engineers and auditors, the generated
v1.10.1...v1.10.2 comparison
preserves the individual implementation, regression-test and tooling commits
that make up this maintenance release.