Referencia
Notas de la versión
Qué cambió en cada versión de Keyright — el servicio emisor y los SDK de .NET, Node.js, Python y Java.
Keyright se distribuye como un servicio emisor alojado más SDKs para .NET, Node.js, Python y Java (y una API HTTP en bruto para cualquier otro lenguaje). Los SDK comparten una sola línea de versión y verifican el formato firmado idéntico, de modo que una línea de productos multilenguaje se actualiza en conjunto. Versiones de paquetes: NuGet, npm, PyPI, Maven Central (com.delta1labs:keyright).
Servicio emisor autoalojado 2.2.2
La imagen autoalojada (ghcr.io/delta1-labs/keyright:2.2.2) añade:
- Alertas por email configurables — define tu SMTP y elige exactamente qué eventos te envían email, cada uno con su propia lista de destinatarios (panel → Settings → Email alerts). Las alertas incluyen caducidad/caducada/límite-de-puestos de licencias de clientes y — importante para el autoalojamiento — que la licencia de tu propia instancia se acerque a su caducidad, entre en gracia o se bloquee (gating), de modo que una instancia que falla cerrada nunca se detenga de forma inesperada. Un botón “send test email” verifica tu configuración.
- Diagnóstico — cada error del servidor se registra con un id de correlación corto que también se devuelve al llamante (
X-Keyright-Error-Id), de modo que un reporte se corresponde con una línea de log; un nuevoGET /admin/self-diagnosticsreporta versión, alcanzabilidad de la base de datos + migraciones pendientes, fase de la licencia, características habilitadas, estado de SMTP/alertas y tiempo de actividad — y responde incluso cuando la instancia está bloqueada (gated). - Resiliencia en el arranque en frío — el arranque reintenta la conexión/migración de la base de datos con backoff (ajústalo con
KEYRIGHT_STARTUP_DB_RETRIES), de modo que una instancia sobre infraestructura con escalado a cero sirve solo una vez que su base de datos es alcanzable (sin errores en la primera petición tras estar inactiva). - Endurecimiento de 2.2.1 — el “send test email” de alertas ahora falla rápido con un error claro ante un host SMTP erróneo/inalcanzable (un timeout de 15s) en lugar de quedarse colgado; pequeños pulidos de diagnóstico.
- Gestión de niveles y pruebas desde el panel — edita o elimina niveles de producto existentes sobre la marcha, y configura la prueba de autoservicio (duración por defecto en días, nivel y puestos) directamente desde la página del producto.
1.2.0
- Desactivación en todos los SDK —
deactivate()libera un puesto activado de la máquina actual (en línea), de modo que un cliente puede mover una licencia de un solo puesto a un nuevo dispositivo sin contactarte. - Importación de lease sin conexión —
importOfflineLease()permite que una máquina aislada (air-gapped) verifique un archivo de lease que emitiste a mano, igualando la ruta de activación en línea byte a byte. - Documentación más rica — un recorrido completo del cliente por lenguaje, una guía de integración por HTTP en bruto (incluyendo cómo verificar la firma de un lease tú mismo) y un tour ilustrado del panel de administración.
1.1.0
- Pruebas gratuitas de autoservicio — habilita pruebas por producto, deja que los clientes se autogestionen una clave de prueba desde tu propio sitio, y reparte archivos de prueba sin conexión para evaluadores aislados (air-gapped).
- Corrección del lease de prueba — la activación en línea ahora propaga la marca de prueba a través del lease firmado, de modo que las licencias de prueba aplican sus reglas de evaluación bajo activación en línea exactamente igual que sin conexión. SDK actualizados en los cuatro lenguajes.
1.0.0
Primera versión pública.
Infraestructura de licenciamiento para proveedores de software — emite y aplica licencias sin construir tu propio servidor:
- Servicio emisor respaldado por Postgres (una Minimal API de ASP.NET Core) que firma archivos de licencia sin conexión y leases de activación en línea con claves RSA por tenant.
- Bloqueo por equipo y puestos — una licencia de un solo puesto no puede ejecutarse en dos máquinas, ni siquiera sin conexión.
- Derechos y niveles llevados en la licencia, de modo que tu aplicación puede restringir características por plan.
- SDK para .NET, Node.js, Python y Java, cada uno verificando el formato firmado idéntico contra tu clave pública embebida — más una API HTTP en bruto para cualquier otro lenguaje.
- Multi-tenant con claves de firma por tenant, y compatible a nivel de protocolo con el licenciamiento de Nebula.NET.
¿Preguntas o encontraste un fallo? Contáctanos.