Releases: johnny4young/puntovivo
Release list
v1.11.0
1.11.0 (2026-08-25)
Features
- desktop: evaluate Electron 43 runtime on the 43.4.1 line (#208) (56f40f7)
- fonts: self-host font families, drop the font CDN, realign types node (#201) (7a72fdd)
- security hardening, tax model, accountant export and the read-only companion (#209) (7ec0d8e)
- security: add expiring, machine-verified advisory dispositions (#204) (cab906b)
- tables: migrate DataTable to TanStack Table v9 (#206) (dc674b4)
Bug Fixes
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.
v1.10.1
Puntovivo v1.10.1 — dependency corrections, including one inside the updater
Why this release matters
There is nothing new to learn in v1.10.1. It is a maintenance release that
corrects four third-party libraries Puntovivo depends on, and it exists mainly
because one of those corrections is inside code that already runs on your
computer.
If you are running v1.10.0, the recommended action is simply to accept the
update when it arrives. No setting, screen, or workflow changes.
What changed
A correction inside the desktop updater
The component that checks for new Puntovivo versions reads a small description
file published alongside each release. The library it used to read that file
had a defect that a deliberately malformed file could exploit to make the
application consume processor time without finishing.
Being precise about the size of this: it cannot expose your data, change your
records, or run anything on your machine. The worst outcome is the update check
becoming slow or stalling. Reaching it at all would require someone to replace
the file Puntovivo downloads over an encrypted connection from its own
published location, so this is a precaution rather than a reaction to anything
observed.
That library shipped in v1.10.0 in its uncorrected form, which is the reason
this release exists rather than waiting for the next feature release.
A correction in the PDF path
The library used to build PDF documents, including exports and the day-close
report, received a security correction from its authors. Puntovivo now uses the
corrected version.
Large tables render more predictably
The table component behind long product and operations lists was updated in
v1.10.0 to a version that asked the interface to redraw at moments the
interface was not ready for. Ordinary use was unaffected, and every function of
those tables kept working, but the redraw was being deferred rather than
applied cleanly. This release holds that component at its last correct version
until its authors publish a fix.
Build tooling
One further correction applies only to the tools used to build Puntovivo and
never runs on your computer. It is listed here for completeness rather than
because it affects you.
Before you use it
Every limitation described for v1.10.0 still applies without change, because
this release adds no capability:
- Puntovivo still does not sign or transmit production documents through a
DIAN-authorized Technology Provider. Provider credentials, certificates,
contingency behavior, conformance testing, and certification are all still
required. The Mexico and Chile document packs remain draft-only. - Software paths exist for receipt printing, cash-drawer commands, scanner
input, and manual payment-terminal recording. Representative physical devices
still need qualification in a store-like lab. - The operational alert channel is a software delivery path, not a staffed
monitoring service and not a response-time guarantee. - The recovery rehearsal proves the mechanism works, using a retained
262,865-row baseline. Treat that as a baseline, not a service target. - Day close still reports commissions and waste as unavailable rather than
inventing zero values, and attendance classifications are evidence for
payroll rather than payroll-final money. - There is no managed cloud and no staffed support. The product is local-first,
open source, and still requires an observed private pilot before any
production-readiness claim.
One note specific to this release: the automated pipeline builds, signs,
notarizes and smoke-tests each platform, but the manual multi-platform
validation on representative machines has not been refreshed since candidate
fc0439d5. That check remains outstanding for both v1.10.0 and v1.10.1 and is
the reason the staged desktop rollout should not be promoted on the strength of
this release alone.
Downloads
Open the v1.10.1 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.0...v1.10.1 comparison
keeps the complete commit-level history, and the pull request linked from it
records the affected advisory identifiers and the version bisection behind the
table-component change.
v1.10.0
Puntovivo v1.10.0 — honest answers, delivered receipts, and recovery you can rehearse
Why this release matters
v1.10.0 is about trust in the things a store cannot afford to guess about:
where your data came from when you migrated in, whether a customer actually got
their receipt, whether an answer from the assistant is something you should act
on, whether an alert reached anyone, and whether your backup would really come
back.
Each of those already existed in some form. This release makes them state their
limits out loud. An import tells you what it recognized and what it refused. A
receipt handoff hands you the message instead of pretending it was sent. The
assistant can be set to show only verified results instead of a confident
narrative. An alert that failed to reach an external receiver still shows up
inside the product. And encrypted recovery is now rehearsed automatically on
Linux, macOS, and Windows rather than trusted from memory.
This is a stronger internal-beta candidate. It is not a claim of Colombian
fiscal certification, qualified hardware, or a staffed monitoring service.
What changed
Bringing your catalog in without guessing
- Added source-aware import profiles for the tested Loyverse, Alegra, Siigo,
and World Office export layouts, so a file from those systems maps to the
right columns instead of relying on a generic best guess. - Kept a generic fallback that fails closed: when the layout is not recognized,
the import reports what it could not map rather than silently inventing a
mapping.
Receipts a customer actually receives
- Added a WhatsApp receipt handoff that renders the message text and an
optional local image, then hands it to the operator to send. - Deliberately did not add background sending. Puntovivo does not claim a
receipt was delivered when a person still has to press send.
An assistant that separates results from narrative
- Added an administrator-controlled choice between guided explanations and
verified results only. - Both modes show the SQL, the row counts, the tables consulted, and the
available charts. Results-only suppresses the generated narrative. - The product states plainly that valid SQL does not guarantee a correct
business conclusion. That judgement stays with the person reading it.
Alerts that cannot fail silently
- Added a tenant-scoped lifecycle for sync, fiscal, device, and payment
incidents, with manager and administrator acknowledgement. - Added delivery to an explicitly provisioned signed HTTPS receiver, with
bounded retries, dead-letter recovery, immutable attempt evidence, and
retention enforcement. - A failed or missing external delivery never hides the incident inside the
product. The in-app record is the source of truth.
Business events for the tools you already use
- Added optional tenant-scoped outbound webhooks for a small versioned set of
business events, with fixed HTTPS destinations, encrypted one-time signing
secrets, HMAC signatures, stable idempotency keys, bounded retry and
dead-letter recovery, and per-destination evidence. - This is a narrow, contract-tested integration path. It is not a general
public REST API and not a catalog of certified third-party connectors.
Recovery that is rehearsed, not assumed
- Added an automated packaged encrypted-recovery rehearsal that runs against
the built desktop application on Linux, macOS, and Windows. - The rehearsal checks restore integrity, tenant isolation, rejection of a
wrong key and a corrupted bundle, an unchanged source database, and a
successful boot of the restored copy. - This closes the cross-platform recovery gap that v1.9.0 listed as still open.
Knowing what the AI actually costs
- Extended the monthly spend guard to semantic catalog embedding calls, which
were previously outside it. This closes the second gap v1.9.0 left open. - Every embedding attempt now records its tenant context and reports its cost
state explicitly: estimated, locally zero, unknown, or not incurred. - Your provider's own limits remain the authoritative cap. Puntovivo cannot
reserve or certify a third-party bill in advance.
Security housekeeping
- Raised the security floors for several transitive dependencies so the
workspace audit is clean again. No dependency crossed a major version
boundary and no application behavior changed.
Before you use it
- Puntovivo still does not sign or transmit production documents through a
DIAN-authorized Technology Provider. Provider credentials, certificates,
contingency behavior, conformance testing, and certification are all still
required. The Mexico and Chile document packs remain draft-only. - Software paths exist for receipt printing, cash-drawer commands, scanner
input, and manual payment-terminal recording. Representative physical devices
still need qualification in a store-like lab. - The operational alert channel is a software delivery path, not a staffed
monitoring service and not a response-time guarantee. Before relying on it,
provision your own receiver, verify signature validation on that side, and
assign who is on the receiving end. - The recovery rehearsal proves the mechanism works, using a retained
262,865-row baseline. Treat that as a baseline, not a service target. Real
recovery-time and recovery-point expectations should come from a
representative pilot rather than from one CI runner measurement. - Day close still reports commissions and waste as unavailable rather than
inventing zero values. Attendance classifications are evidence for payroll,
not payroll-final money. - There is no managed cloud and no staffed 24/7 support. The product is
local-first, open source, and still requires an observed private pilot before
any production-readiness claim.
Downloads
Open the v1.10.0 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.9.0...v1.10.0 comparison
keeps the complete commit-level history.
v1.9.0
Puntovivo v1.9.0 — a calmer console with stronger receipts and recovery
Why this release matters
v1.9.0 is about making a capable POS easier to approach. The application had
grown into many modules; this release reorganizes that depth around the tasks a
cashier, manager, or administrator is trying to complete. Common actions are
more direct, advanced controls stay available without dominating the screen,
and recovery guidance leads to real actions instead of decorative status cards.
The same release also strengthens the evidence printed on a receipt and the
evidence used to trust a desktop build. It is a meaningful internal-beta
candidate, not a claim of Colombian fiscal certification or field-proven
hardware support.
What changed
A console organized around work
- Introduced task-first navigation and command search so operators can start
from an outcome instead of learning the module tree. - Added guided business setup and simplified the first checkout viewport.
- Made creation flows for products, categories, customers, suppliers, units,
locations, VAT rates, and sequentials progressively disclose advanced fields. - Added inline manager approval at checkout and protected unsaved drafts from
accidental navigation. - Replaced internal tenant and device jargon with language intended for store
operators.
Receipts that preserve what happened at sale time
- Connected active receipt templates to browser, Electron system printing, and
ESC/POS output. - Preserved the business identity, display labels, layout, logo source, locale,
and customer-facing presentation used when the sale was completed. - Added native Code 128 output and localized customer-facing labels and
timestamps. - Simplified template editing and fitted previews to the available viewport.
These changes improve ordinary and fiscal evidence, but they do not make a
document DIAN-authorized by themselves.
Recovery that points to real controls
- Added ownership, thresholds, response targets, and playbooks for sync,
fiscal, printing, payments, backups, and desktop updates. - Connected lost-device and damaged-storage guidance to the real revoke,
backup, and restore surfaces. - Repaired migration-journal drift and proved incremental database recovery.
- Renewed and actively revoked Store Hub sessions, authenticated realtime
streams, and kept sensitive desktop credentials in the main process.
Faster and more trustworthy delivery
- Reduced first-paint query contention in sales and deferred closed overlay
bundles. - Added warning-free quality gates, store-scale read budgets, desktop memory
budgets, and packaged runtime smoke checks. - Built and runtime-smoked the release candidate on Linux, macOS, and Windows.
- Signed and notarized the macOS application, signed the Windows installer and
packaged helpers, and published a staged desktop update feed.
Before you use it
- Puntovivo still does not sign or transmit production documents through a
DIAN-authorized Technology Provider. Provider credentials, certificates,
contingency behavior, conformance testing, and certification are still
required. - Software paths exist for receipt printing, cash-drawer commands, scanner
input, and manual payment-terminal recording. Representative physical devices
still need qualification in a store-like lab. - Cross-platform packaged builds and runtime journeys passed, but encrypted
packaged recovery across every desktop platform remains tracked in
issue #177. - Optional AI uses the provider account configured by the operator. Co-pilot,
OCR, and voice calls use Puntovivo's monthly spend guard; semantic embedding
calls are not yet included in that guard and remain tracked in
issue #179. Provider
limits are the authoritative cap until that work ships. - There is no managed cloud or staffed 24/7 support service. The current product
is local-first, open source, and still requires an observed private pilot
before any production-readiness claim.
Downloads
Open the v1.9.0 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.8.1...v1.9.0 comparison
keeps the complete commit-level history.
v1.8.1
Puntovivo v1.8.1 — the portability follow-up
Why this release matters
v1.8.1 is a focused maintenance release. It does not add a new operator
workflow; it fixes how the shared TypeScript package is compiled so the same
release process works consistently across Linux, macOS, and Windows.
If you only read product feature lists, this can look small. For desktop
software it is important: a build that depends on one shell or one operating
system is not a dependable distribution path.
What changed
- Replaced the platform-sensitive shared compiler invocation with a portable
workspace command. - Restored the cross-platform build path used by desktop and web packaging.
- Published Windows, macOS, Linux, and web artifacts from the corrected flow.
- Kept the v1.8.0 feature set unchanged, so there is no data migration or new
operator behavior to learn.
Before you use it
- Update from v1.8.0 if you build from source or need the Windows artifact.
- This release improves build portability; it does not prove every physical POS
device or every clean-install and recovery scenario. - DIAN production signing, transmission, provider conformance, and
certification remain outside this release.
Downloads
Open the v1.8.1 GitHub release
and choose the asset for Windows x64, macOS Apple Silicon, Linux x64, or the web
bundle. Update-feed files are intended for the desktop updater rather than
manual installation.
For the exact code change, read the
v1.8.0...v1.8.1 comparison.
v1.8.0
Puntovivo v1.8.0 — safer daily control beyond the register
Why this release matters
v1.8.0 expands Puntovivo from a strong sales and inventory core into the work
that surrounds a real shift: knowing who worked, reviewing sensitive actions,
tracking individual serialized items, bringing existing business data in, and
recovering the local database without treating backups as an afterthought.
This release is most useful to a small retail operation preparing a structured
internal trial. It gives managers more evidence and gives operators clearer
workflows, while keeping the application local-first.
What changed
People and accountable decisions
- Record attendance, breaks, and overtime classifications.
- Export evidence that payroll or accounting staff can review outside the app.
- Route loss-prevention decisions through explicit approvals instead of an
informal chat or notebook. - Keep the operator-facing review path connected to the audit trail.
Inventory with identity
- Track serialized products individually and look up their warranty history.
- Build product variant matrices for related sizes, colors, or presentations.
- Preserve clearer evidence when stock needs manager review.
Recovery, privacy, and starting data
- Protect backup bundles with encryption, schedule snapshots, and rehearse
restore paths. - Upload backups to an S3-compatible vault when one is configured.
- Import launch data through reviewable workflows instead of direct database
edits. - Export or anonymize customer data and apply retention controls.
Before you use it
- Puntovivo v1.8.0 is not certified to sign or transmit production electronic
invoices to DIAN. - Receipt printers, cash drawers, scanners, and payment terminals had software
paths, but representative physical devices were not yet qualified. - A backup is useful only after a restore has been tested with the same custody
and keys expected in operation. - This release did not publish a Windows desktop asset; Windows availability
arrived with the v1.8.1 portability fix.
Downloads
Open the v1.8.0 GitHub release
for the macOS Apple Silicon, Linux x64, and web artifacts attached below the
notes. Source archives are also generated by GitHub.
For commit-level detail, read the
v1.7.0...v1.8.0 comparison.
v1.7.0
1.7.0 (2026-07-19)
Features
- loyalty: admin program card, customer ledger panel, and draft-completion customer attach (#152) (1aeecee)
- NIT verification digit, vertical presets, schema-downgrade guard, and website SEO/lead capture (#157) (af2dedc)
- sales: iteration-2 band 3 — sell omnibox, cashier pace HUD, shareable day pulse (ENG-203/204/205) (#150) (00c4bbb)
- sales: tunable expiry discount tiers, radar window selector, and points loyalty (#151) (f4ba437)