Nostr Compass #42
Bienvenidos de nuevo a Nostr Compass, vuestra guía semanal de Nostr.
Nuestra aplicación Nostr Compass para Android reúne boletines, episodios de pódcast, guías temáticas y notas de voz de colaboradores en un solo lugar. Sus últimas notas de versión firmadas describen boletines completos con firmas verificadas, números guardados y 110 guías temáticas disponibles sin conexión, y búsquedas locales en las noticias y las transcripciones disponibles. Los colaboradores pueden grabar y responder con notas de voz, revisar una toma guardada antes de enviarla y firmar mediante Amber sin almacenar su clave privada en la aplicación. Las grabaciones públicas se publican en Nostr y Blossom.
La última actualización de la aplicación conserva las grabaciones en cola y los puntos de control de las subidas cuando Android detiene el trabajo en segundo plano, muestra cuándo se necesita la aprobación de Amber y abre la grabación correspondiente desde una notificación. Las vistas separadas de episodios y notas de voz mantienen sus propias posiciones de desplazamiento, mientras que la reproducción se reanuda desde el mismo punto. Las notificaciones de nuevas grabaciones dependen de la programación de tareas y los permisos de Android.
Esta semana: White Noise añade encuestas cifradas de grupo y avisos sobre historiales de chat incompletos; Holoboard añade comandos de promoción por mensaje privado y una aplicación para Android; fips-pub-domains prueba nombres públicos firmados en una red de malla; Marmot MDK hace visibles las lagunas en el historial de grupos cifrados; y Myco aporta una identidad y una tienda de Nostr al intercambio de aplicaciones entre dispositivos cercanos. nostream ajusta la admisión del relay a la carga, mientras que Nostr double ratchet cierra una brecha relacionada con miembros expulsados. El desarrollo corrige la interoperabilidad de grupos cifrados de Amethyst, añade los mensajes de vídeo cifrados de Divine y pone en línea Nostr Atlas. Las actualizaciones del protocolo refinan las pruebas de identidad, las invitaciones a relays, los conjuntos de cuentas seguidas y las propuestas de declaraciones de dominio. La retrospectiva de septiembre de fin de mes sigue esas mismas cuestiones a lo largo de seis años de Nostr.
Noticias principales
Holoboard añade comandos de promoción de Nostr y una aplicación para Android
Holoboard es un tablón para encontrar notas de Nostr mediante una clasificación que puede impulsarse con pagos Lightning. Las publicaciones originales siguen siendo events de Nostr; Holoboard sirve sus datos de clasificación y apariencia a través de su propia API HTTP. Esa distinción importa si un lector espera que el orden del tablón sea un feed nativo de relay.
Su registro de cambios del 23 de septiembre recoge comandos de promoción por mensaje directo tanto mediante NIP-17 cifrado como mediante la vía heredada de NIP-04. NIP-17 envuelve los mensajes privados para ocultar su contenido y remitente a los relays, mientras que NIP-04 es el formato anterior de cifrado de mensajes directos. Un usuario puede solicitar una factura de promoción en la misma conversación, recibir un presupuesto etiquetado para la primera promoción pagada y activar recordatorios de vencimiento respondiendo YES. El emisor de promociones reintenta los relays que han fallado, mientras que la actualización del 24 de septiembre añade una aplicación para Android y simplifica el flujo de facturación.
Las notas de integración con relays del proyecto describen notas y comentarios normales en Nostr, el enrutamiento de la bandeja de entrada cifrada y la gestión de citas y eliminaciones. Su ficha firmada para Android en Zapstore respalda la existencia de una versión publicada de la aplicación, pero no se ha establecido que la clave de la ficha sea la identidad del tablón público de Holoboard. Esta es la primera cobertura del proyecto en Compass.
fips-pub-domains prueba nombres públicos firmados para una red de malla
fips-pub-domains es un nuevo experimento de resolución y denominación que vincula nombres de dominio públicos con nodos de FIPS, una red de malla cifrada que utiliza mensajes de Nostr para descubrir pares. Su primera versión combina esas declaraciones con registros TXT de DNS, validación DNSSEC opcional, vinculaciones fijadas localmente, un demonio de resolución para Linux e integración en Android con fips2go, el cliente de FIPS para teléfonos. Una declaración firmada por sí sola no acredita la titularidad de un dominio público; los clientes necesitan pruebas de DNS o DNSSEC, un testigo configurado o una vinculación fijada en la que ya se confíe.
La versión 0.2.0 añade pruebas DNSSEC a las declaraciones para que un cliente que solo tenga un relay de la red de malla pueda validar un nombre sin una vinculación fijada, y permite que varios servidores validados sirvan un mismo dominio. También corrige las vinculaciones fijadas obsoletas y la conmutación por error de DNS. La versión 0.2.1 corrige una unidad de systemd que, de otro modo, no se iniciaba, y ejecuta el servidor sin root; las instalaciones existentes deben sustituir esa unidad para recibir la corrección.
En Android, un cambio integrado en fips2go sigue las vinculaciones verificadas de nombres públicos en su proxy DNS. Un segundo cambio integrado transporta las conexiones a los relays de Nostr configurados a través de la red de malla, de modo que el resolutor pueda recuperar y verificar una declaración de dominio no vista anteriormente mientras el teléfono no tiene conexión a internet. Los mantenedores comunican los resultados en dispositivos en esas solicitudes de cambios; no acreditan un despliegue más amplio.
Las pruebas con dos nodos y con un relay accesible solo mediante la red de malla del proyecto son pruebas comunicadas por los mantenedores de una implementación temprana, no de un despliegue en producción. Su NIP-DB sigue siendo una propuesta abierta, y los kinds de event de su borrador siguen siendo marcadores provisionales pendientes de registro. La noticia de fips2go de la semana pasada cubría el arranque inicial de la red de malla y el descubrimiento de pares; el trabajo de esta semana aborda los nombres públicos y la verificación.
Marmot MDK 0.11.0 hace visibles las lagunas en el historial de las cuentas
Marmot MDK, el entorno de ejecución de Rust y los enlaces generados para la mensajería de grupos de Nostr cifrada con MLS, da continuidad a la versión de la semana pasada con envío persistente mediante la versión 0.11.0. La recuperación de cuentas ahora solo declara completada una laguna en el historial cuando todos los relays requeridos terminan una comparación de events sin truncar; una laguna no comprobada genera un aviso persistente que la aplicación anfitriona puede mostrar al usuario. Una cola de entrega llena se vuelca en la base de datos de la cuenta en lugar de descartar events, y la entrega en tiempo real hace avanzar el cursor de transporte para que un reinicio no vuelva a recuperar el mismo historial.
Las notas de versión completas también describen encuestas cifradas de grupo opcionales, verificación de events sin estado en los enlaces y bibliotecas de Android alineadas para páginas de memoria de 16 KB. Las aplicaciones deben actualizar conjuntamente los enlaces generados y las bibliotecas nativas procedentes de este mismo conjunto de código fuente; las bases de datos de las cuentas migran pasando por el esquema 98 al abrirse por primera vez, y no se admite volver a una versión anterior de la base de datos. Un defecto intermitente ya existente en la puesta al día todavía puede dejar indescifrables los mensajes que estén más de cinco épocas de grupo por detrás sin generar un aviso, por lo que esta versión no afirma recuperar completamente el historial en todos los casos.
Myco 0.8.0–0.8.1 proporciona a las aplicaciones cercanas su propia tienda de Nostr
Myco es una aplicación para Android que permite intercambiar pequeños programas de Nostr, llamados napplets, con teléfonos cercanos, incluso cuando están sin conexión. La versión 0.8.0 proporciona a cada instalación una identidad de invitado de Nostr y permite iniciar sesión con una clave existente o con Amber, un firmante para Android que aprueba firmas sin compartir la clave de la cuenta. También sustituye la pestaña Descubrir por una tienda de aplicaciones que es, a su vez, una napplet. Esa tienda lee fichas de aplicaciones y recomendaciones firmadas, mientras que una actualización descargada puede pasar de un teléfono a otro dentro del Círculo de un usuario sin conexión a internet.
La versión 0.8.1 facilita la búsqueda de esas fichas consultando los relays que anuncia un autor; las compilaciones anteriores dependían de opciones públicas predeterminadas. Muestra inmediatamente los perfiles y las aplicaciones en caché, guarda las respuestas de relays más lentos para visitas posteriores, reduce la frecuencia de los reintentos con relays que fallan y mantiene activas las suscripciones mientras una vista está abierta. Ambas actualizaciones conservan el formato existente de transmisión entre teléfonos. Los teléfonos actualizados pueden descargar y compartir actualizaciones de napplets; los teléfonos antiguos solo reenvían sus anuncios.
Versiones etiquetadas
White Noise Android añade encuestas de grupo y valores predeterminados de mensajes temporales específicos para cada cuenta
White Noise Android es una aplicación de mensajería Nostr para conversaciones privadas cifradas con Marmot. Tras las mejoras de entrega y uso compartido cubiertas la semana pasada, la versión del 30 de septiembre añade encuestas de grupo con respuestas seleccionables, barras de resultados y plazos mediante Marmot Development Kit. También añade valores predeterminados de mensajes temporales para cada cuenta, almacenados localmente en el dispositivo: las nuevas conversaciones directas y los nuevos grupos heredan la duración elegida, mientras que las conversaciones existentes y sus ajustes individuales mantienen su política actual. Saludar envía un saludo que menciona a un miembro recién añadido sin alterar el borrador actual.
La versión permite a los usuarios elegir el recorte centrado en el punto de interés para las imágenes de perfil y de grupo, y eliminar una carpeta de chats sin eliminar sus conversaciones. Sus avisos sobre el historial indican cuándo una recuperación deja potencialmente incompleto el historial de una cuenta o un grupo, con controles independientes para descartarlos. La paginación de conversaciones evita reconstruir la cronología mostrada al saltar a los mensajes recientes, y las ediciones de mensajes pendientes conservan su texto mientras el envío original obtiene su ID de event confirmado. Ese traspaso de la edición abarca los cambios de conversación dentro de la aplicación en ejecución; no garantiza la persistencia tras la terminación del proceso.
El dictado ahora permite elegir Pegar o Enviar para cada grabación, y la finalización automática coloca la transcripción en el borrador. La configuración del proveedor sin conexión explica el procesamiento en el dispositivo, mantiene su consentimiento separado del de otros proveedores de voz y restaura los medios interrumpidos cuando termina la captura. La gestión de archivos generales acepta documentos no vacíos dentro de los límites establecidos, con nombres de archivo, metadatos MIME y mensajes de error precisos; las descargas explícitas de archivos adjuntos utilizan las tareas de transferencia iniciadas por el usuario de Android, con una alternativa en primer plano. Los controles para pegar ahora utilizan la acción del sistema de Android para que GrapheneOS Secure Paste pueda conceder acceso al portapapeles. Android también muestra el contenido de GIPHY compartido desde iOS como medios animados, respetando la política de descargas.
Las correcciones de notificaciones actualizan los apodos de los remitentes y eliminan las alertas cuando se abre una conversación. Los cambios en la recuperación de notificaciones conservan el trabajo pendiente de notificaciones push cuando no se puede asumir el control en primer plano y utilizan reintentos limitados. La firma con Amber coordina las ráfagas de aprobaciones de una misma cuenta para evitar que los límites de frecuencia cancelen los envíos. La nueva configuración de auditoría solicita una nueva decisión sobre compartir los registros antes de cargarlos al nuevo receptor. El código fuente también adopta la licencia AGPL-3.0-only.
nostream 3.1.0 ajusta la prueba de trabajo del relay en función de la carga
nostream es un relay Nostr en TypeScript respaldado por PostgreSQL. La versión 3.1.0 puede aumentar o reducir el umbral de prueba de trabajo de los events entre los límites fijados por el operador a medida que cambia la tasa de events observada. El ajuste está desactivado de forma predeterminada, utiliza la tasa medida por cada proceso de trabajo y mantiene independiente el umbral estático existente por clave pública, por lo que los operadores deben activarlo antes de que los remitentes se encuentren con un requisito de admisión diferente.
La misma versión añade un panel de administración para las métricas del relay, de WebSocket y de events, los resultados de las comprobaciones del estado de la red y las notificaciones configurables para el operador. Su API de administración está desactivada de forma predeterminada. Estos controles ayudan a los operadores a distinguir entre la presión sobre el relay y los problemas de accesibilidad, al tiempo que mantienen la nueva política sujeta a una configuración explícita.
Después de publicar su versión con prueba de trabajo sensible a la carga, nostream integró acciones para los reportes de moderadores de confianza. NIP-56 define los events de reporte de contenido; la nueva opción nip56.hideActionableReports excluye los events reportados de los resultados de REQ y COUNT cuando los reportes también están habilitados. Un reporte de un event oculta ese event, mientras que un reporte de una clave pública oculta todos los events de ese autor. La nueva opción tiene el valor false de forma predeterminada, por lo que habilitar únicamente la recopilación de reportes conserva los resultados de consulta existentes.
Nostr double ratchet 0.0.171–0.0.172 cierra una brecha relacionada con los miembros eliminados
Nostr double ratchet es una biblioteca de TypeScript para chats privados cifrados transportados por Nostr. La versión 0.0.171 rota la clave de remitente de un grupo después de los cambios de miembros, de modo que una persona eliminada que conserve las claves antiguas no pueda descifrar mensajes posteriores de un remitente actualizado, incluso después de que ese remitente se reinicie. También rechaza los envíos o la rotación de claves por parte de un propietario local eliminado y aborta un envío si la composición del grupo cambia durante la distribución de claves.
La versión 0.0.172 incluye la aprobación de dispositivo existente, firmada por la cuenta, en una respuesta de invitación cifrada opcional. Un destinatario que utilice la actualización puede verificar el dispositivo del remitente antes de que llegue un event de registro separado, mientras que los dispositivos vinculados conservan su aprobación tras los reinicios. El campo de invitación es opcional y deja intactos el intercambio inicial y el formato de los mensajes del mecanismo ratchet originales.
Las versiones 0.0.173–0.0.175 amplían ese trabajo sobre la eliminación de miembros con traspasos persistentes de claves de grupo y un estado de entrega en cola guardado antes de la publicación, de modo que los traspasos interrumpidos se recuperen tras un reinicio. Las funciones de devolución de llamada de publicación incluyen contexto local del grupo que permite a las aplicaciones cancelar los reintentos persistentes después de una eliminación, a la vez que mantiene entregables los controles de pertenencia al grupo; los envíos en cola conservan los ID originales de sus events internos. Las respuestas de invitación duplicadas conservan las sesiones establecidas, las suscripciones permanecen estables cuando cambian los contactos y las instantáneas de claves de la aplicación conservan los nombres de los dispositivos sin compartir copias mutables. El formato firmado de transmisión no cambia; las notas de 0.0.173 también informan de Rust 0.0.168 con un mecanismo alternativo para la sesión de recepción y filtrado de ecos locales del grupo.
Scramble 0.7.4–0.7.5 recupera los mensajes que debería ver un nuevo miembro del grupo
Scramble es una aplicación de mensajería de grupos Marmot multiplataforma con una interfaz nativa de Android. En la versión 0.7.5, cada grupo obtiene su propio límite temporal para el historial del relay: antes, el límite de la conversación más activa se aplicaba a todos los grupos, por lo que uno al que se acababa de incorporar el usuario podía permanecer vacío porque nunca se solicitaban sus mensajes posteriores a la incorporación. Asimismo, la ruta de reconexión recibe la misma corrección, y un grupo sin actividad local ahora solicita todos los mensajes disponibles; MLS sigue impidiendo que un nuevo miembro descifre los mensajes enviados antes de su incorporación.
La versión 0.7.4 anterior corrige la aceptación repetida de invitaciones causada por las filas recicladas de Android que acumulaban manejadores de clics, y hace que la configuración de un servidor de medios Blossom personalizado persista en la aplicación nativa. La versión 0.7.5 distribuye únicamente el APK nativo de Android, por lo que los usuarios que siguen el nombre de archivo anterior de Avalonia deben cambiar su destino de actualización. Las cuentas y el historial se trasladan entre esas dos compilaciones de Android, pero los grupos creados con el motor MLS anterior de 0.6.x no migran a 0.7.x.
Scramble 0.7.6 añade un control manual para Recuperar mensajes faltantes que consulta todas las direcciones de enrutamiento que ha utilizado un grupo, elimina la restricción temporal, repara una dirección almacenada obsoleta e informa de lo que ha recuperado. Sigue sin poder descifrar épocas anteriores a la incorporación del usuario. Los administradores de la aplicación nativa pueden ascender o degradar a otros miembros, con el estado actual de la lista de miembros y resultados de error visibles; las conversaciones de dos personas siguen ocultando estos controles. La acción Copiar de la información del grupo ahora responde, aunque las conversaciones por invitación todavía pueden copiar un identificador interno del chat en lugar del ID de grupo del protocolo. La versión 0.7.7 también procesa los mensajes retenidos cuando llega el commit de otro miembro; 0.7.8 añade una prueba de regresión para esa ruta de miembro pasivo.
Amber 6.6.6 corrige los secretos de conexión del firmante remoto
Amber es un firmante para Android que aprueba firmas de event de Nostr sin entregar a una aplicación la clave de la cuenta. Tras el cambio de cifrado de las copias de seguridad de la semana pasada, la versión 6.6.6 corrige su analizador de nostrconnect: un parámetro de conexión que contenía =, como un secreto con relleno, se alteraba antes de que Amber respondiera. Eso hacía que los clientes basados en NDK fallaran en la comprobación del secreto incluso cuando la conexión con el firmante parecía válida en los demás aspectos.
La versión también envía los informes de problemas a los relays anunciados en el anuncio del repositorio de Amber, y recurre al relay anterior si no se puede obtener el anuncio. Los tiempos de espera más largos de Tor dan a los relays lentos más tiempo para confirmar esa publicación. Los cambios restantes mejoran la visibilidad de los iconos y el texto en los temas de Amber.
FIPS 0.5.2 detiene una filtración de privacidad en el descubrimiento mediante Nostr
FIPS es una red mallada cifrada que utiliza identidades de Nostr y mensajes de relay para descubrir pares. Su versión de mantenimiento 0.5.2 deja de firmar las solicitudes de eliminación de travesía de NAT con la clave de enrutamiento del nodo, lo que había vinculado esa clave al tráfico de travesía en los relays. También actualiza la biblioteca TLS utilizada para las conexiones con relays a una versión que corrige un problema descrito en un aviso de seguridad publicado y repara varios casos de pérdida de mensajes durante la renovación de claves de enlaces y sesiones.
Las notas de la versión instan a los operadores de todas las plataformas a actualizar, y detallan correcciones independientes para los permisos de archivos de claves en Windows, las pasarelas y los servicios de paquetes. Los nodos efímeros ya no escriben un archivo privado fips.key que un reinicio posterior podría sobrescribir; los operadores que pretendían mantener una identidad estable deben establecer el modo persistente antes de actualizar. La versión no cambia el formato de transmisión de la red mallada, por lo que los nodos con versiones distintas pueden actualizarse individualmente.
napplet soyLI 0.23.1–0.23.4 corrige la publicación del backend y la aprobación del firmante
soyLI de napplet.soy es el conjunto de herramientas de creación y publicación para pequeños programas de Nostr ejecutados en entornos aislados. Tras la versión de creaciones compartidas de la semana pasada, la versión 0.23.1 incorpora los manifiestos, los manejadores y los esquemas del backend a las comprobaciones del creador y a las vistas previas multijugador. Mantiene la configuración portátil de proveedores en el manifiesto del proyecto, mientras deja las vinculaciones privadas de identidad y las bases de datos de desarrollo fuera de la instantánea publicada del código fuente.
La versión 0.23.2 permite que los proyectos que en algún momento incorporaron al repositorio un contexto público de backend generado vuelvan a publicar tras una validación estricta, mientras sigue rechazando las vinculaciones privadas, los registros, las bases de datos y las credenciales presentes en el historial accesible. La posterior versión 0.23.4 corrige un fallo de sesión del backend persistente que podía rechazar una aprobación válida de una extensión o de un firmante remoto cuando una persona tardaba varios segundos en firmar. Los hosts públicos también necesitan la corrección del host compartido; actualizar únicamente la CLI del creador no ha reparado un host desplegado.
Dart NDK 0.10.0 delimita la autorización de Blossom y la firma remota
Dart NDK es una biblioteca de Flutter y Dart para el acceso a relays de Nostr, la firma, las solicitudes a monederos y las operaciones multimedia. Tras la versión preliminar de la semana pasada, 0.10.0-dev.7 cambia las solicitudes multimedia de Blossom para que permanezcan anónimas hasta que un servidor las rechace, y entonces las autoriza mediante una política explícita que indica qué identidad puede revelar una operación. Propaga esa autorización a lo largo de la ruta de la solicitud y sustituye las opciones anteriores useAuth y customSigner, un cambio de integración incompatible para las aplicaciones que utilizan la API preliminar.
Dev.9 deja de retener la respuesta de un firmante remoto hasta que el relay más lento la confirme. Dev.8 reduce las consultas periódicas a relays en segundo plano y el trabajo de caché; sus demás correcciones se refieren a la persistencia de la semilla del monedero y a los plazos de liquidación. La versión estable 0.10.0 ahora reúne esta serie de desarrollo junto con los cambios de metadatos de conexión y de identificadores privados de suscripción que se describen a continuación. La comparación con dev.9 incluye esos cambios integrados. Las aplicaciones que se actualicen deben revisar tanto el cambio de la API de autorización multimedia como la ruta de respuesta del firmante remoto.
La versión estable incluye metadatos de conexión y permisos solicitados de NIP-46, y sustituye los campos de conexión separados por un valor Nip46ClientMetadata. Se trata de un cambio de la API a nivel de código fuente que permite a los widgets de inicio de sesión pasar al bunker la identidad de la aplicación y los permisos solicitados. Otro cambio en los identificadores de solicitud utiliza 32 caracteres hexadecimales aleatorios en producción, lo que mantiene los nombres de los casos de uso y las fases de paginación fuera de los identificadores de suscripción visibles para los relays. Los identificadores explícitos siguen sujetos al límite de 64 caracteres de NIP-01, mientras que el modo de depuración conserva un nombre de diagnóstico corto.
Mostro Core 0.16.0 elimina el antiguo transporte gift-wrap
Mostro Core proporciona el protocolo de mensajes utilizado por los clientes de intercambio entre pares y el coordinador de Mostro basados en Nostr. La versión 0.16.0 elimina su transporte gift-wrap del protocolo v1 y sus antiguas funciones de envoltura y desenvoltura, y deja el transporte más reciente como la vía de la biblioteca. Es un cambio incompatible para las aplicaciones que todavía construyen o leen mensajes v1 mediante esta biblioteca.
La versión de la biblioteca precede a la versión 0.19.0 del coordinador, ya publicada. Los operadores que atienden a clientes antiguos deben actualizar ambos lados de la migración del transporte. El tag 0.15.1 anterior añade un estado de disputa por cancelación cooperativa, pero la eliminación del transporte es el hito de compatibilidad.
Cambium 0.6.0–0.7.1 registra un teléfono de desbloqueo mediante mensajes de relay
Cambium es una aplicación complementaria de firma para Android destinada a una clave de hardware Heartwood que también puede desbloquear la placa después de un reinicio. La versión 0.6.0 permite registrar un teléfono para el desbloqueo a través de los relays de Nostr de la placa sin un cable USB; el usuario compara cinco palabras de la solicitud en el teléfono, la placa y Sapwood, la interfaz de registro de la placa, antes de pulsar el botón de la placa. Los relays recién anunciados reciben un retraso de conexión aleatorio para que el primer contacto del teléfono no revele exactamente cuándo vio la actualización de la placa.
La versión 0.7.0 invierte el flujo de invitación: un teléfono escanea el código QR de corta duración de Sapwood y devuelve un único event cifrado de un solo uso desde una clave desechable. El reintento vuelve a publicar ese mismo event si ningún relay lo acepta, mientras que la antigua vía de visualización del código se mantiene para las compilaciones anteriores de Sapwood. El parche 0.7.1 mantiene visible el código de comprobación final y mejora la reproducibilidad de las compilaciones de F-Droid; el flujo QR sigue requiriendo las versiones recientes especificadas de Sapwood y Heartwood.
Bray 3.5.0–3.5.2 limita el gasto del monedero de Nostr iniciado por agentes
Bray es un servidor de herramientas de Nostr que permite a un asistente de IA solicitar acciones de relay, identidad y monedero mediante una interfaz de alcance delimitado. Su versión 3.5.0 añade un límite para cada pago de Nostr Wallet Connect y un presupuesto diario persistente, con confirmación humana cuando el host del asistente la admite. Atender conexiones de gasto separadas ahora requiere una configuración explícita del servicio de monedero, vuelve a comprobar cada autorización antes de usarla y restringe las consultas de facturas a los hashes incluidos en esa autorización.
La versión también indica a los usuarios que guarden el URI de conexión del monedero en un archivo privado en lugar de pegarlo en el chat, y se niega a reintentar un pago de resultado incierto como si su fallo estuviera demostrado. La versión 3.5.2 coteja localmente las vías de pago del mercado después de que los relays rechazaran el filtro de método de pago solicitado. Estas comprobaciones limitan lo que puede gastar un asistente con facultades delegadas e impiden que una suposición sobre el filtrado de los relays oculte ofertas coincidentes.
Mafrend 1.3.0-alpha migra los grupos privados del mapa a la versión actual de Marmot
Mafrend es una aplicación social de Nostr basada en mapas que permite explorar lugares y conversar sobre destinos. Su versión 1.3.0-alpha actualiza los grupos privados a una especificación más reciente de grupos cifrados de Marmot y añade vistas de perfiles desde chats y reseñas. El formato de grupo es incompatible con los chats de versiones alfa anteriores; los usuarios deben tratarlo como una migración alfa con una ruptura de compatibilidad.
La misma versión añade la posibilidad de compartir capturas de pantalla y cambios en los chats, junto con mejoras en el mapa y los marcadores. El proyecto sigue marcando las funciones de perfil como en desarrollo. El cambio significativo para Nostr es el cambio de interoperabilidad de los grupos privados; los usuarios con grupos de prueba antiguos deben consultar la nota de compatibilidad antes de actualizar.
Sonar alpha.15–alpha.15.1 corrige la publicación en grupos cifrados
Sonar es una aplicación de mensajería privada que permite mantener conversaciones a través de una red de malla Bluetooth y Nostr. Alpha.15 añade reacciones con emojis a los mensajes y permite compartir de forma privada la hora local dentro de los chats cifrados, con un ajuste para revocar esa función. Su monedero pasa a usar Cashu, pero ese cambio en los pagos es independiente de la actualización de mensajería.
Alpha.15.1 corrige un fallo de inicio que podía dejar vacío el índice de conversaciones después de que una compilación de una rama anterior escribiera una versión de esquema ajena. Sin el índice, la aplicación volvía a cifrar y publicar la información de hora local compartida en todos los grupos cada vez que se abría de nuevo, enviando a veces cientos de events antes de que intervinieran los límites de frecuencia de los relays. La corrección urgente reconstruye ese estado local y detiene las publicaciones repetidas en los grupos.
Los paquetes de comercio de Elisym introducen pedidos privados en Nostr
Elisym es un conjunto de herramientas para agentes basado en Nostr que ahora está desarrollando un flujo comercial con events firmados. Su paquete commerce integrado define los productos de la tienda, la autorización del propietario, los pedidos y recibos encapsulados de forma privada y la verificación de ofertas para los componentes de pago y del comerciante. Una etiqueta posterior de commerce 0.2.0 deriva la referencia de pago de un pedido a partir del propio pedido, vinculando la consulta del pago al flujo de compra firmado.
La serie de paquetes también introduce trabajo separado en payment-core y en el proceso de pago del navegador, pero sus tags de versiones no demuestran que esté desplegado un proceso de pago completo para comerciantes. El kind del event de autorización de la tienda se declara explícitamente provisional en la fuente primaria del proyecto. Las once tags de SDK, MCP, CLI y payment-core corresponden a una única función comercial en desarrollo.
Las nuevas versiones de paquetes de Elisym empaquetan el nodo de comerciante autoalojado, mientras que MCP 0.31.0 añade buy_product y get_order para los productos comerciales. Las versiones posteriores de commerce y merchant-node añaden compatibilidad con pagos Tempo dentro de ese mismo proceso de pago. Estos paquetes hacen avanzar la integración existente de productos firmados y pedidos privados; la lista de tags no convierte el esquema provisional de events en un estándar ni demuestra el lanzamiento de un servicio alojado completo.
Flotilla 1.11.2 resuelve bloqueos con firmantes y feeds incompletos de relays
Flotilla es un cliente Nostr para conversaciones, salas y espacios compartidos. La versión 1.11.2 ofrece al usuario una salida cuando el inicio se bloquea a la espera de un firmante remoto y cierra la sesión cuyos datos locales de la aplicación se hayan borrado. Ahora una sala puede mostrar sus mensajes antes de que termine de sincronizarse el espacio más amplio al que pertenece, mientras que los feeds ya no omiten publicaciones simplemente porque un relay haya respondido más tarde que otro.
La misma versión también publica una compilación para F-Droid firmada con la clave existente de la aplicación y mantiene al día las versiones de GitHub para Obtainium. Ese trabajo de distribución es importante para los usuarios que cambian de canal de actualización, pero las correcciones de relays y firmantes son el motivo inmediato para actualizar.
Ditto 2.42.3 muestra la entrega a relays y refuerza los límites entre cuentas
Ditto es un cliente social Nostr que permite a los usuarios elegir sus relays y autenticarse en ellos. En la versión 2.42.3, los Detalles del event de una publicación muestran qué relays del usuario y del autor la almacenan; Difundir se dirige únicamente a aquellos en los que falta. La versión también señala los relays de lectura que no responden y ofrece un control para reintentarlo, lo que facilita diagnosticar una publicación ausente sin volver a enviarla a todas partes.
Las notas de la versión indican que cambiar de cuenta ya no envía publicaciones a los relays de la cuenta anterior, que los usuarios silenciados no pueden activar alertas genéricas en el teléfono y que los enlaces o imágenes de las publicaciones no pueden acceder a dispositivos de la red local del lector. Las publicaciones de relays lentos dejan de desaparecer de los feeds Seguidos y Favoritos, mientras que el chat de las transmisiones en directo y los juegos webxdc se actualizan sin descargar repetidamente la vista completa. La navegación de torrents y audio también es nueva, pero el enrutamiento de relays y el aislamiento entre cuentas son los cambios con mayor repercusión en Nostr.
Iris Chat 2026.9.24.4 incorpora llamadas a las conversaciones cifradas
Iris Chat es una aplicación de mensajería Nostr con cifrado de extremo a extremo que utiliza la familia de protocolos de chat de doble trinquete. Su versión del 24 de septiembre añade llamadas de voz y vídeo con contactos compatibles, incluso a través de una conexión local existente cuando no hay acceso a internet. El usuario puede reducir la calidad del vídeo, responder a una videollamada solo con voz y gestionar una llamada entrante mediante la interfaz de llamadas de Android; responder o rechazar también hace que los demás dispositivos vinculados dejen de sonar.
La versión también permite iniciar sesión mediante una aplicación de firma independiente y ver qué dispositivos vinculados están conectados. Los parches posteriores del 24 de septiembre conservan las marcas de tiempo originales de los mensajes retrasados y mejoran la entrega a dispositivos cercanos tras la pérdida de un paquete de reconexión. Son comportamientos iniciales de llamadas y entre dispositivos, por lo que la actualización resulta más útil para contactos que puedan ejecutar compilaciones compatibles de Iris.
La posterior actualización del 30 de septiembre, firmada por el desarrollador, conserva el historial local del grupo de un miembro eliminado, pero desactiva el envío, mejora la entrega entre dispositivos vinculados y en grupos grandes, y corrige los indicadores de lectura y los recuentos de mensajes no leídos. Las llamadas incorporan la selección del dispositivo de audio y recuperan los tonos de llamada saliente; un estado desactualizado del micrófono ya no silencia el audio entrante. Se corrigen el silenciamiento temporal, la copia de imágenes, los archivos adjuntos mediante arrastrar y soltar, el enrutamiento de notificaciones y el registro de notificaciones push, mientras que cerrar sesión borra las cachés locales y eliminar un dispositivo finaliza su sesión. Una segunda actualización mejora el acceso a los archivos almacenados en caché por otras aplicaciones Iris en el mismo dispositivo y mantiene disponible el intercambio local de archivos con Nearby desactivado.
LibreNostr 0.6.0–0.7.0 enruta los relays a través de Tor integrado
LibreNostr es un cliente Nostr para Android con ajustes configurables de relays y privacidad. La versión 0.6.0 incluye un motor Tor basado en Arti en ARM64 y aplica el modo elegido, Directo, Tor para todo o solo .onion, a las conexiones WebSocket de los relays, las solicitudes HTTP, los archivos multimedia, las subidas y las páginas web. El modo Tor estricto bloquea las conexiones cuando Tor no está disponible y nunca envía una solicitud directamente sin avisar; cambiar de modo reconecta los sockets de los relays a través de la nueva ruta.
La versión 0.6.2 añade un filtro de red de confianza en el dispositivo, construido a partir de listas públicas de seguimiento, y elige relays complementarios según las personas seguidas adicionales a las que permiten llegar. La versión 0.7.0 muestra después las notas y notificaciones antes de que terminen las consultas de perfiles y recuentos, limita las consultas a relays lentos y deja de descifrar toda la bandeja de mensajes directos cada vez que se abre una conversación. En conjunto, estas versiones cambian tanto los destinos a los que puede conectarse el cliente como el tiempo durante el que un relay lento puede bloquear su interfaz.
Su primera versión estable, 1.0.0, firmada por el desarrollador, añade paneles para tabletas guardados por perfil, con columnas móviles para feeds, hashtags, perfiles, lectura de textos largos, notificaciones y mensajes. Las tabletas en orientación horizontal reciben esta distribución; los teléfonos conservan su interfaz existente. La búsqueda incorpora OR, exclusiones, filtros multimedia e intervalos de fechas funcionales, devuelve los perfiles almacenados en caché antes de los refinamientos procedentes de relays y pasa inmediatamente a la siguiente opción cuando se rechazan solicitudes de texto completo. Los hashtags se ordenan cronológicamente, la paginación espera a recibir suficientes respuestas de relays y los feeds no utilizados liberan sus suscripciones.
La misma versión conserva durante las ediciones las entradas existentes, públicas y cifradas, de las listas de silenciados y los marcadores, en lugar de sustituirlas por un único cambio. Aísla los marcadores y las notificaciones entre cuentas y restringe los relays auxiliares de los autores a lecturas públicas, sin enviarles solicitudes privadas ni autenticarse en ellos. También impide que las respuestas desactualizadas de perfiles sustituyan metadatos más recientes, corrige la paginación y los indicadores de notificaciones, conserva los elementos antiguos del feed cuando llegan otros nuevos y corrige las cuentas atrás para deshacer respuestas, la publicación duplicada, las URL multimedia con cadenas de consulta y los recuentos de mensajes no leídos después de marcar un chat como leído. La versión 1.0.1 corrige un cierre inesperado al iniciar los paneles para tabletas en la nueva distribución.
Newlay 0.3.45 transmite progresivamente las consultas grandes en lugar de cerrar las conexiones
Newlay es un relay de Nostr alojado en Android y un conjunto de servicios locales relacionados. Su anuncio firmado de la versión 0.3.45 indica que los resultados de consultas grandes ahora se transmiten progresivamente con contrapresión en lugar de cerrar la conexión del cliente. El servidor Git integrado elimina los paquetes sustituidos después de los envíos, mientras que su coordinador de mensajería cifrada Cordn acepta solicitudes de clientes de gran tamaño y envía una trama de cancelación cuando se agota el tiempo de espera de una comprobación.
La versión también ofrece al operador de Android una tarjeta de estado en tiempo real para los events, el almacenamiento, la dirección y la administración, y adapta la biblioteca criptográfica nativa a los dispositivos con páginas de memoria de 16 KB. Los cambios del relay y del coordinador abarcan varias versiones desde la versión anterior de la tienda, 0.3.39; 0.3.45 es la versión que los reúne.
ngit-grasp 3.0.5 mantiene en marcha los envíos de Git y la sincronización con relays
ngit-grasp es un relay de Nostr y servidor Git autoalojado para la colaboración firmada en repositorios. Su anuncio firmado de la versión 3.0.5 saca la lenta reconciliación del historial del actor compartido de sincronización en tiempo real, lo que permite iniciar las suscripciones a relays mientras se comprueban los events anteriores. Aplica esperas entre reintentos por separado para los límites de frecuencia, las consultas de historial incompletas, las lecturas del buzón y las búsquedas de identidad, de modo que un relay con problemas ya no monopoliza la capacidad de reintento.
La misma versión realiza la reconciliación con el inventario local de events para evitar volver a obtener el historial almacenado y cierra las suscripciones incompletas antes de considerar verificada su cobertura. En Git, acepta los envíos que la promoción de estado en segundo plano ya había aplicado, conserva la protección contra conflictos para las referencias modificadas y consume la salida de progreso de Git durante las cargas para evitar que un envío se bloquee. Estos detalles importan porque un repositorio puede parecer activo en los relays mientras su transferencia de Git sigue esperando un resultado definitivo.
Armada 0.63.0 ofrece alertas push para distintos tipos de firmantes
Armada es un cliente de Nostr para comunidades, canales y mensajes directos cifrados. Tras la versión de la semana pasada centrada en la privacidad de los archivos multimedia, su anuncio firmado de la versión 0.63.0 describe una nueva vía de notificaciones push del navegador que funciona con la aplicación cerrada tanto para los inicios de sesión mediante extensiones y firmantes remotos como para otros tipos de cuentas. Tenna, una aplicación anfitriona que integra Armada, también incorpora notificaciones en segundo plano para sus usuarios.
La versión carga más rápido los mensajes antiguos de canales comunitarios largos y evita volver a leer todo el historial para obtener mensajes nuevos. Los indicadores de escritura de los mensajes directos utilizan menos conexiones a relays. Las actualizaciones de escritorio incorporan un aviso para reiniciar, mientras que las actualizaciones directas desde versiones anteriores a 0.50.0 dejan de ser compatibles.
La versión posterior 0.63.1, firmada, añade paquetes de emojis editables con importación desde carpetas y reordenación, recupera mensajes citados más allá del historial cargado y hace interoperables las respuestas alojadas en relays. Reduce el tráfico de reconexión en Android, se pone al día tras desconexiones prolongadas sin repetir alertas antiguas, excluye las menciones anteriores a la incorporación y conserva los campos de grupo no editados y las entradas privadas de la lista de servidores. Las eliminaciones en grupos alojados en relays ahora requieren al autor del mensaje o a un administrador. También se corrigen el arrastre de servidores, el tratamiento de información de relay malformada y las suscripciones a repositorios.
La versión 0.63.2 amplía el Markdown de los mensajes para admitir citas y listas anidadas, líneas horizontales, bloques de código delimitados, encabezados subrayados y formato que abarca enlaces o menciones. Los enlaces a páginas de Tenor y Giphy se reproducen como GIF. La sincronización del estado de lectura transfiere menos datos, la reconexión evita descargas e inicios de sesión redundantes y las notificaciones en segundo plano de Android pausan la sincronización con relays cuando las actualizaciones grandes de ajustes la saturan.
deed 0.3.0–0.3.2 hace más estable la publicación en Nostr con Zig
deed es una herramienta de línea de comandos escrita en Zig para leer y publicar events de Nostr. Su versión 0.3.2 del 24 de septiembre añade una habilidad para agentes y corrige los plazos de ping del relay; las versiones anteriores 0.3.1 y 0.3.0 mejoran el rendimiento y la fiabilidad de la publicación. Las tres tags describen una misma serie inicial de la herramienta. El beneficio visible para Nostr es una conexión al relay y una vía de publicación de events más estables para los scripts que utilizan la CLI.
Cordn 0.5.1 mantiene en marcha los demás grupos cuando falla un coordinador
Cordn es una aplicación de mensajería grupal cifrada con MLS que utiliza identidades y relays de Nostr para localizar coordinadores de conversaciones. Su versión firmada 0.5.1 del cliente continúa el trabajo de la semana pasada sobre la cola sin conexión separando la planificación del coordinador y la de la bandeja de salida: un coordinador no disponible ya no retrasa los envíos de grupos no relacionados. Las indicaciones de relay resueltas se conservan después del descubrimiento, los documentos de grupo las transportan entre dispositivos y un registro persistente de publicaciones pendientes recupera los envíos atascados. La recuperación entre varios dispositivos solapa las consultas de la cadena del historial y de los huecos mientras lee la configuración actual.
La versión también añade archivos adjuntos mediante arrastrar y soltar, grupos fijados, nombres de perfil en vistas previas y notificaciones, y etiquetas de coordinadores. Corrige el posicionamiento en el primer mensaje no leído, los contadores de mensajes no leídos, las alertas duplicadas, las vistas previas de archivos multimedia y mensajes del sistema, las respuestas vinculadas a archivos multimedia con texto descriptivo y los controles de zoom de imágenes. Las descargas nativas utilizan un selector de «Guardar como». Un firmante que aparece tarde ya no provoca una advertencia falsa de cifrado no compatible, y el cambio de cuenta ya no entra en una condición de carrera con la inicialización en segundo plano.
Nymbot 1.0.7 añade el procesamiento local de documentos y el uso compartido cifrado de conversaciones
Nymbot es un asistente al que se accede mediante mensajes de Nostr cifrados y encapsulados con gift-wrap. Su versión 1.0.7 firmada por el desarrollador lee documentos en el dispositivo, selecciona pasajes relevantes cuando un archivo es demasiado grande para enviarlo completo e identifica las páginas utilizadas. Las conversaciones pueden compartirse mediante un enlace cifrado de extremo a extremo cuyo acceso puede retirarse posteriormente. Las respuestas en Python y JavaScript pueden ejecutarse localmente, y su salida se devuelve a la conversación.
La misma versión añade investigación con fuentes y un precio mostrado antes del envío, edición de imágenes, selección de modelos por mensaje y límites de gasto por conversación y bot. Las herramientas externas conectadas mediante MCP solicitan confirmación antes de modificar datos. Las ejecuciones en repositorios pueden pausar los cambios para su revisión, mostrar resultados de CI y reanudarse después de que una pasarela haya estado ocupada. Las respuestas sugeridas, los avisos fijados, las listas de fuentes plegadas y un selector de modelos con búsqueda completan la actualización; estas afirmaciones proceden de las notas de la versión del desarrollador; Compass no ha auditado de forma independiente la privacidad de la aplicación.
0xchat 1.5.6 incorpora sus correcciones de firma y autenticación de mensajes
0xchat es una aplicación de mensajería de Nostr con conversaciones privadas, firma externa y funciones de monedero. La versión 1.5.6 incorpora las correcciones de seguridad cubiertas la semana pasada como cambios integrados en el código fuente, entre ellas la autenticación de gift-wrap, la configuración de infraestructura de confianza y el consentimiento para la firma desde páginas integradas. También cierra las vías para eludir el proxy Tor, valida los certificados TLS de los hosts que no son onion e impide que las compilaciones de distribución escriban credenciales y material del monedero potencialmente sensibles en la consola del dispositivo. Los registros para desarrolladores, que se activan de forma voluntaria, siguen registrando errores.
La versión aumenta progresivamente la espera entre reconexiones al relay de tres segundos a cinco minutos, repara las suscripciones después de la reconexión y entrega las solicitudes puestas en cola mientras un relay se está conectando. Los cambios de cuenta dejan de acumular escuchadores de relay duplicados, un inicio de sesión fallido conserva la cuenta que ya está activa y las conexiones con firmantes externos persisten entre arranques. Los envíos fallidos ahora muestran errores y conservan el texto no enviado o el estado recuperable del uso compartido de tokens. El descifrado de claves al iniciar y el cálculo de hashes de las cargas se trasladan fuera del hilo de la interfaz de usuario; las cachés de conversaciones y vídeos evitan renderizados y descargas repetidos. La versión proporciona archivos para Android y escritorio con sumas de comprobación SHA-256, incluidos el APK de Android firmado por Play y un instalador de Windows compilado a partir del código fuente.
Nostr Mail Client 0.17.0 oculta las acciones del buzón a los relays
Nostr Mail Client intercambia correo electrónico a través de Nostr y también admite la entrega convencional de correo electrónico. Tras la versión de la semana pasada con transporte por destinatario y privacidad de los archivos multimedia, la versión 0.17.0 oculta a los relays el estado de lectura, archivo, carpetas y etiquetas, así como los momentos en que cambia, y permite a los usuarios eliminar correo sin notificar al remitente. La versión requiere actualizar todos los dispositivos a la vez porque los clientes anteriores no ven el nuevo estado ni las eliminaciones. También protege a los destinatarios en copia oculta en correos de más de 32 KB, mantiene los alias locales de los contactos fuera de los mensajes salientes, corrige el inicio de sesión con QR de Amber y publica el correo público en los relays de lectura de los destinatarios.
La versión añade carpetas y etiquetas de colores con reglas de remitente, asunto y archivos adjuntos; citas en respuestas y reenvíos; imágenes pegadas en línea; vistas previas y cambio de nombre de archivos adjuntos; y selección de rangos en las listas de correo. El reenvío conserva las imágenes y los archivos adjuntos originales, las citas de las respuestas aparecen contraídas inicialmente y el editor web incorpora un menú contextual. Las tablas HTML y las imágenes en línea se muestran con mayor precisión, los enlaces en texto sin formato funcionan y la programación admite fechas hasta cinco años en el futuro. Los nombres y las imágenes de la libreta de direcciones aparecen en toda la interfaz, y los colores del tema ofrecen paletas del sistema, sugeridas o personalizadas.
La misma versión mantiene en local los fondos seleccionados desde archivos y almacena en caché los fondos enlazados, con un coste de migración explícito: los fondos de archivo anteriores en plataformas nativas deben añadirse de nuevo. Cambia las recomendaciones predeterminadas de relays y archivos multimedia, añade el descubrimiento de aplicaciones Nostr durante la configuración inicial y avisos de actualización, conserva los ajustes desconocidos escritos por otros clientes y corrige la creación interrumpida del almacén de correo y el empaquetado para Linux. Los fallos de inicio ahora muestran detalles y un informe prerrellenado en lugar de una pantalla en blanco.
Nostr WoT 0.8.7 vincula la autenticación al destino
Nostr WoT es una extensión de navegador que combina la firma de Nostr con herramientas de confianza. La versión 0.8.7 exige consentimiento para la autenticación HTTP firmada de NIP-98 respecto a la URL, la consulta, el método, la cuenta y el origen solicitante exactos. Las aprobaciones amplias anteriores requieren un nuevo consentimiento. La autenticación de relays de NIP-42 tiene un sistema de permisos separado y vinculado a la cuenta, en el que las denegaciones específicas de un sitio tienen prioridad sobre las autorizaciones compartidas de relays. Las solicitudes de autenticación deben proceder de un origen de navegador de nivel superior verificado, y las esperas de aprobación o desbloqueo activan otra comprobación de cuenta y acceso.
La versión verifica las firmas remotas de NIP-46 y el event aprobado completo para que una firma devuelta no pueda sustituir silenciosamente el contenido o un destino. El aprovisionamiento de la cartera y los cambios de dirección utilizan autenticación vinculada al cuerpo, desafíos del backend de un solo uso y tokens de transacción separados; la firma genérica para sitios web no puede generar esos tokens internos de la cartera. El backend compatible debe desplegarse primero, y el cliente se niega a recurrir a endpoints retirados. Los pagos de Nostr Wallet Connect también verifican la preimagen de pago devuelta frente al hash de la factura solicitada y consideran cualquier discrepancia como un resultado desconocido.
En la interfaz de solicitudes, los usuarios pueden inspeccionar los events completos sin procesar, elegir solicitudes concretas dentro de un grupo de un sitio y ver mensajes privados en local sin aprobar su devolución a un sitio web. Las vistas previas locales se ocultan tras 30 segundos; las solicitudes entrantes permanecen sin seleccionar y la aprobación masiva ordinaria excluye la autenticación. La extensión separa los permisos de relays por sitio y para todos los sitios, limita el almacenamiento en caché de perfiles verificados, resuelve los events reemplazables con la misma marca de tiempo eligiendo el ID de event menor y mantiene en local las lecturas de publicaciones de la ventana emergente principal. Chrome y Firefox reciben paquetes verificados por separado y flujos de envío de versiones estables serializados; esos flujos no demuestran la disponibilidad actual en las tiendas.
El entorno de ejecución compartido de Iris mantiene coherentes los historiales de relays y pares
nostr-pubsub proporciona un entorno de ejecución compartido de events de Nostr con almacenamiento persistente de events y una cola de publicaciones salientes. Las versiones 0.5.7–0.5.13 agrupan suscripciones exactas en lotes, las reproducen tras la reconexión, mantienen separadas las evidencias locales, de relays y de pares, e informan de un historial incompleto cuando falla el almacenamiento duradero. Las consultas completadas esperan a que cada event recibido termine su admisión. El lote predeterminado de relays contiene ahora como máximo 20 filtros OR para mantener la compatibilidad con servidores habituales, mientras que los lotes de pares conservan la coincidencia y la cancelación independientes.
Las actualizaciones del entorno de ejecución de Hashtree sustituyen la conectividad de red específica de cada worker por ese entorno de ejecución compartido, índices persistentes de events y una cola de salida, lo que permite que los events y los archivos almacenados en caché compartan un nodo FIPS. FIPS TypeScript 0.0.44–0.0.45 selecciona rutas con capacidad suficiente para registros de señalización completos, recupera el establecimiento de sesiones interrumpido dentro del plazo del handshake y reintenta las respuestas WebRTC solo tras un rechazo explícito de enrutamiento. Las rutas WebSocket con tramas de mayor tamaño requieren pares nativos compatibles; las notas de 0.0.44 exigen desplegar primero FIPS nativo 0.4.85.
Iris Kit 0.2.5 añade un cliente de aplicación persistente para events simples y firma NIP-46 independiente del transporte, al tiempo que conserva las claves de las cuentas y las lecturas sin conexión. La versión 0.2.6 devuelve de inmediato desde el worker o el backend nativo un ID de event completo ya verificado; las consultas por prefijo y de events reemplazables siguen esperando al historial antes de elegir el valor más reciente. Estas son versiones de bibliotecas, y las notas no acreditan su despliegue en todas las aplicaciones de Iris.
La actualización del código fuente de Iris Meet del 30 de septiembre sustituye su integración con NDK por una infraestructura persistente de publicación y suscripción y firmantes de identidad compartidos. El parche añade cobertura para la restauración de identidad sin conexión, la firma NIP-07 y el aislamiento de las salas de reunión. La aplicación de reuniones existente utiliza Nostr para la señalización cifrada y WebRTC para el audio y el vídeo. Se trata de avances de implementación en la rama predeterminada; el repositorio no tiene ninguna versión etiquetada que demuestre que esta actualización concreta haya llegado al sitio en producción.
Chama propaga la cancelación de anuncios y las alertas en segundo plano
Chama utiliza events firmados para intercambios comunitarios y conversaciones privadas. Las versiones 6.4.14–6.4.16 publican una cancelación firmada antes de eliminar un anuncio en local, para que otros clientes puedan retirar la misma oferta almacenada en caché. Los tags de activación de los destinatarios acompañan ahora a los events independientemente de la configuración de notificaciones del remitente, y el servidor de alertas elimina duplicados por event firmado para que un chat inmediatamente después de incorporarse pueda seguir provocando una activación. Las tareas en segundo plano vuelven a procesar los intercambios afectados desde los cursores guardados, aíslan las cadenas fallidas y descifran el texto de las notificaciones en local; la versión requiere volver a desplegar el servicio de vigilancia complementario.
Las versiones agrupadas también aplican las renovaciones de los participantes en los momentos de sus events firmados, ponen en cuarentena los bloqueos de fondos realizados después de que caducara una plaza y ofrecen una opción de recuperación para la nota al portador guardada. La publicación de la reclamación espera a que se confirme la importación o el pago. Los filtros de anuncios conservan la moneda del usuario que los consulta en los distintos ámbitos comunitarios, y las cabeceras de los intercambios utilizan el importe incorporado definitivo. Estos cambios armonizan lo que dos clientes conectados a Nostr deducen del mismo historial de events.
Earthly 0.1.12 añade configuraciones de mapas reutilizables
Earthly es un editor colaborativo de mapas basado en Nostr con publicación firmada y uso compartido cifrado. La versión 0.1.12 añade configuraciones reutilizables de GMapper para Google My Maps públicos, descubrimiento de Maplets creados por desarrolladores, almacenamiento privado o publicación pública de configuraciones y copia de geometrías con atribución. La misma versión añade el uso compartido cifrado de conexiones, entregas de entidades y navegación del chat en móviles. La disponibilidad de exportación de Google y el CORS del navegador limitan la importación, los Maplets ejecutables descargados siguen sin estar disponibles en Tauri y las comprobaciones de actualización en dispositivos Android físicos siguen pendientes.
El trabajo de configuración migró las direcciones de publicación y las preferencias existentes y añadió la revisión o retirada de las actualizaciones de configuración. Su flujo inicial de Android falló antes de la compilación; una corrección de las herramientas preparó la versión etiquetada posteriormente.
Mostro 0.19.0 retira su transporte de primera generación
Mostro coordina intercambios entre pares a través de Nostr. La versión 0.19.0 ya incluye la eliminación de su transporte gift-wrap de primera generación, por lo que los clientes deben usar el protocolo más reciente. Los tags de marca de tiempo existentes para la creación de órdenes y la apertura de disputas pasan a llamarse published_at sin cambiar sus valores almacenados; el created_at del event que los contiene sigue siendo su hora de firma. Las respuestas de restauración devuelven la clave de intercambio de la contraparte, las operaciones de creación y aceptación aceptadas reconocen las claves de intercambio, y la publicación en relays se completa con la primera confirmación positiva de un relay. La misma versión actualiza los plazos y la cancelación de las fianzas, cierra las disputas cuando se resuelve un intercambio, notifica al encargado de resolverlas y limita la antigüedad de los precios transmitidos por relays.
La corrección de la admisión de claves de intercambio de Mostro reconoce una clave en cuanto se confirma la orden o disputa que la introduce. Antes, los nodos con requisitos de prueba de trabajo más estrictos para el primer contacto podían descartar un mensaje de seguimiento legítimo hasta la actualización periódica de claves conocidas; los umbrales iguales a los predeterminados no se veían afectados. Una transacción de disputa confirma de forma atómica la transición de la orden y la fila de la disputa, eliminando los fallos por estados inconsistentes. Las notificaciones de cierre envían al encargado asignado un mensaje privado, sin garantía de entrega, cuando los usuarios resuelven una disputa, y el event reemplazable existente sigue siendo la alternativa para cuando está desconectado.
SCRUTINY Lens lleva la investigación de seguridad a Nostr
SCRUTINY Lens v0.1.0, su primera versión pública del 29 de septiembre, es un cliente de navegador para metadatos de seguridad publicados a través de Nostr. Los analistas pueden buscar por CVE, identificadores de paquetes o certificados, examinar historiales de events y retractaciones, y explorar relaciones en un grafo de temas. El navegador verifica las firmas y los identificadores de los events. La búsqueda y las explicaciones opcionales con IA usan un punto de conexión elegido por el usuario; la aplicación comprueba las citas incluidas frente a los events subyacentes. Las notas de la versión describen explícitamente las limitaciones de los relays e identifican dependencias de compilación local que todavía requieren repositorios hermanos.
Mangatsu y Noteds llegan a Android
Mangatsu v0.1.11 forma parte de la primera serie de versiones para Android de este lector y editor de cómics, publicada esta semana. Su código fuente añade el inicio de sesión con Amber a través de NIP-55, la interfaz de Android para solicitar a un firmante externo que apruebe operaciones de Nostr. Los cómics y los capítulos son events de Nostr, mientras que sus páginas se alojan en servidores Blossom; el lector también admite una biblioteca guardada cifrada y la lectura sin conexión. Los commits posteriores abordan la invocación del firmante y las actualizaciones de las listas de relays.
Noteds v0.1.2 lleva a Android un mercado de anuncios clasificados de Nostr mediante Tauri. Su integración con el firmante de Android usa la firma NIP-55 de Android. La aplicación publica anuncios y mensajes a través de Nostr y construye un grafo de búsqueda local con categorías, zonas geográficas y representaciones vectoriales opcionales en el navegador. El código fuente más reciente corrige el acceso nativo a la ubicación para la búsqueda de resultados cercanos. Ambos proyectos están en sus primeras versiones; sus páginas de versiones en GitHub no tienen notas detalladas, por lo que estas capacidades proceden de los README de las versiones etiquetadas y de los commits de implementación.
Statim combina los mensajes directos de Nostr con otras redes
Statim v0.4.0 sucede a su versión inicial del 23 de septiembre. El código fuente etiquetado describe una aplicación de mensajería con mensajes directos de Nostr mediante NIP-17 junto con XMTP, Status, Telegram y Matrix. Las cuentas parten de una frase de recuperación almacenada localmente; cada conversación identifica su protocolo porque esas redes ofrecen distintas propiedades de privacidad. Android carece actualmente de integración con Telegram. Estas son las capacidades documentadas del proyecto, no garantías comprobadas de forma independiente ni una confirmación de disponibilidad en las tiendas de aplicaciones.
En desarrollo
Amethyst corrige la interoperabilidad de los grupos cifrados
Amethyst es un cliente Nostr para Android compatible con los grupos cifrados de Marmot. White Noise es otro servicio de mensajería de Marmot; un conjunto de cambios de interoperabilidad probado con sus clientes aborda la administración de grupos, la redacción relativa a las eliminaciones y otros comportamientos que se manifiestan cuando los dos clientes comparten una conversación. Otras correcciones más específicas envían reacciones y eliminaciones dentro del grupo de Marmot en lugar de hacerlo como mensajes privados independientes con envoltorio de regalo de NIP-17 y aplican las ediciones de otro cliente después de reiniciar. Se trata de cambios integrados en el código fuente; las pruebas descritas en las PR tienen un alcance más limitado que una versión publicada con interoperabilidad entre clientes.
Una integración independiente del entorno de ejecución y la interfaz de grupos de Cordn añade otra vía para los grupos cifrados a través de servidores coordinadores. Cordn es distinto de Marmot, por lo que los dos cambios no deben interpretarse como una única migración de transporte.
Amethyst también integró comandos HTTP de relay en su relay Geode y su cliente Quartz bajo su propuesta NIP-FE, y una interfaz de revisión de conflictos de copias de seguridad para los event reemplazables de perfiles y listas. NIP-FE es una denominación de propuesta del proyecto; el flujo de copias de seguridad permite comparar versiones antes de aceptar un reemplazo y evita sobrescrituras silenciosas del estado local.
Amethyst también desarrolla Concord, un protocolo independiente de comunidades cifradas utilizado por Armada y Accordion. Un conjunto de cambios de conformidad añade listas de comunidades fragmentadas, pruebas de fijación, rotación de claves y registros de disolución, seguido de mensajes que desaparecen e invitaciones directas. Una invitación permanece en una bandeja de entrada privada hasta que se acepta; recibirla no establece contacto con los relays de la comunidad. El mismo cambio corrige una comparación de autores que podía permitir que una eliminación de otro autor borrara un mensaje. Las correcciones entre clientes reparan la serialización de rumores sin firma, los campos de invitación ausentes, la creación de comunidades confirmada por un relay y la incorporación sin reiniciar; las pruebas en emuladores descritas incluyeron pares de Armada y Accordion en funcionamiento.
Una implementación posterior de canales privados rota las claves del canal después de las revocaciones de acceso pertinentes y añade controles para crear, privatizar, hacer público y renovar las claves. También añade expulsiones cooperativas con comprobación de rango y hace que los archivos adjuntos de los mensajes caduquen junto con los mensajes a los que pertenecen. Las actualizaciones de WebXDC pueden entrar en un búfer de canal independiente, pero Amethyst sigue sin disponer de un entorno anfitrión para aplicaciones WebXDC. Ese conjunto posterior de cambios informa de pruebas del formato de transmisión y pruebas unitarias, sin pruebas en dispositivos ni con relays en funcionamiento, por lo que el resultado anterior de interoperabilidad no certifica todos los controles recién añadidos.
El motor MLS de Quartz ahora conserva los secretos de generaciones de mensajes omitidas después de reiniciar, lo que permite que los mensajes fuera de orden sigan siendo descifrables después de restaurar el estado guardado. Cuatro épocas anteriores conservadas permiten a quienes invocan el motor autenticar mensajes de aplicación tardíos, conservar sus datos autenticados e impedir que una generación ya consumida vuelva a abrirse. Una actualización del árbol de secretos carga secretos de nodos sin expandir desde un estado de estilo ts-mls; los errores de generaciones obsoletas específicos del remitente distinguen una colisión del mecanismo de trinquete del propio cliente de una repetición por parte de otro miembro. La PR indica explícitamente que el mecanismo alternativo existente de Marmot para épocas conservadas sigue siendo independiente, por lo que esta es una capacidad del motor, no una prueba de que todas las vías de mensajes de Amethyst la utilicen.
Una auditoría del lector de tag de Quartz corrige entradas privadas de geohash que podían publicarse en texto claro y un analizador que trataba la clave privada de un nsec como una clave pública. También repara las direcciones de republicación, los destinos para ocultar canales, los tag raíz de salas en directo y los event de mint direccionables. Se elimina el lector obsoleto ForkTag, lo que introduce un cambio en la API del código fuente para quienes utilizan Quartz; las filas de mint preexistentes en SQLite siguen necesitando una migración independiente. Los modelos adicionales de event cubren las propuestas de Buzz para contenedores de proyectos, revisiones de artefactos y equipos, mientras que los modelos de visualización de vídeo y control cifrado de notificaciones push siguen los esquemas de Divine; estas incorporaciones establecen compatibilidad con el análisis y la construcción, no interfaces de cliente completas ni NIP numerados adoptados.
El cliente también muestra fotografías Ultra HDR en el feed y el visor a pantalla completa en Android 14 o posterior. Android 15 y versiones posteriores limitan el aumento de brillo del feed al doble del rango ordinario, mientras que a pantalla completa se puede utilizar todo el rango de la pantalla; los dispositivos de prueba descritos ejecutaban API de Android más recientes, por lo que Android 14 y 15 quedaron sin probar. Una integración de la interfaz compartida y la adaptación de las cargas traslada 140 pantallas a código común para Android y escritorio y saca el trabajo multimedia de Android del hilo de la interfaz. Su auditoría también restablece la notificación de errores al eliminar metadatos, de modo que la refactorización es más que un traslado de archivos.
Divine añade vídeo cifrado a los mensajes directos
Divine es un cliente de vídeo de Nostr. NIP-17 transporta mensajes privados en envoltorios de regalo cifrados que ocultan su remitente a los relays. El trabajo integrado de Divine sobre mensajes de vídeo cifra un vídeo adjunto en el dispositivo, carga el texto cifrado y envía la clave de descifrado dentro de ese mensaje privado. El destinatario puede verificar y descifrar el archivo para reproducirlo o guardarlo. Una corrección independiente de la restauración del historial evita que una negativa ambigua de un relay ponga fin prematuramente a la recuperación cuando otros relays todavía pueden responder.
La corrección de Divine para claves de moderación retiradas rechaza las claves retiradas al resolver etiquetas de moderación y selecciona al destinatario actual de las denuncias cuando se presenta una. Las denuncias pendientes dirigidas a una clave retirada se redirigen a la clave fijada en la compilación, y las conversaciones sin resolver siguen sin admitir escritura. El cambio también distingue la custodia de las claves retiradas al decidir qué hilos históricos puede leer un menor; las actualizaciones de custodia siguen requiriendo una nueva versión de la aplicación. La gestión de comentarios eliminados en la caché impide que un comentario reciente eliminado correctamente vuelva a aparecer cuando se recarga un hilo.
Para los creadores, un modo de grabación con máscara de color en directo muestra una vista previa del fondo de reemplazo antes de grabar una toma, y el enmascaramiento de paredes blancas añade enmascaramiento sensible al brillo a través del complemento de vídeo. Los subtítulos palabra por palabra conservan los tiempos de las palabras reconocidas y utilizan tiempos aproximados cuando el servidor solo proporciona segmentos completos. La continuación de stop-motion añade nuevas imágenes fijas al ritmo de la composición existente, mientras que la reincorporación de clips separados, la selección de fuentes agrupadas y los ajustes predefinidos de velocidad añaden controles de edición sin cambiar el formato de los event de Nostr.
La alineación de la exportación cuadrada y su corrección posterior para clips más pequeños mantienen el texto y las pegatinas en su sitio entre clips de distintas resoluciones. La reproducción HLS de terceros evita un fallo de memoria dinámica en Android al volver atrás en los límites de cada bucle en lugar de precargar en el búfer listas de reproducción importadas repetidas; esos bucles pueden pausarse brevemente en cada reinicio. Una recarga de las preferencias de la cuenta mantiene los filtros vinculados a la cuenta en sus valores predeterminados al cambiar de cuenta y corrige parte de una aserción de depuración del inicio de sesión. Un problema independiente de actualización de las etiquetas de moderación sigue abierto, por lo que la PR no afirma que todos los errores de inicio de sesión estén corregidos.
Buzz amplía los controles de canales e identidad de su relay
Buzz es un espacio de trabajo basado en Nostr con su propio relay y sus propios clientes. Su implementación integrada de artefactos de canal asigna a cada registro editable un único canal y una cadena de revisiones; dos ediciones en conflicto no pueden convertirse ambas en la revisión principal. La denominación NIP-AR del proyecto se refiere a su propia propuesta e implementación, no a un estándar establecido de Nostr.
Para la entrada HTTP protegida, otro cambio integrado vincula una aserción de identidad federada con la misma clave acreditada mediante la autorización NIP-98. NIP-98 define events firmados de autenticación HTTP; la aserción NIP-FI de Buzz es una especificación del proyecto. También integró el cifrado HPKE para los sobres de copia de seguridad de claves secretas. Esa PR acredita trabajo de seguridad en el código fuente; la distribución a todos los clientes sigue sin verificarse.
Buzz desktop 0.5.26 incluye el trabajo de artefactos de canal, el cifrado HPKE nativo de las copias de seguridad de claves secretas y una consola de administración del relay para escritorio. Sus cambios compartidos corrigen las solicitudes de canales de proyectos no listados, sincronizan entre dispositivos las secciones de la barra lateral, la ordenación, las estrellas y los silenciamientos, limitan las lecturas de hilos largos y endurecen las aserciones de identidad de Blossom. Las notas de todo el repositorio enumeran por separado la vinculación de identidades del relay, la entrega de menciones del componente complementario, las URL de notificaciones push configurables, la eliminación administrativa atómica y los nombres contextuales en móviles. Una versión de escritorio acredita la distribución de los componentes de escritorio y compartidos; no demuestra que esos cambios para móviles se hayan distribuido en una compilación móvil.
La aplicación de NIP-FI en WebSocket de Buzz comprueba una aserción de identidad federada antes de aceptar tramas y después exige que su clave Nostr coincida con la clave autenticada mediante NIP-42, que acredita la identidad de un cliente ante un relay. Una sesión caduca cuando se alcanza el primero de estos límites: la caducidad del token, la antigüedad máxima de la aserción o la duración configurada de la conexión; tras caducar, no admite ningún efecto nuevo. Este modo NIP-FI específico del proyecto está desactivado por defecto. Las confirmaciones de audio y la configuración de suscripciones ya admitidas aún pueden quedar a la espera de una dependencia bloqueada, por lo que el cambio no establece un límite universal para el tiempo de desconexión.
La preparación de la eliminación por parte del propietario hace pasar las solicitudes certificadas por el operador por una aprobación automática vinculada al inventario antes de enviarlas al ejecutor de eliminación existente. Un cambio posterior del relay hace que los reintentos de una misma solicitud devuelvan su estado actual y reserva la cuota activa del propietario hasta que termine la eliminación; los marcadores de eliminación de hosts conservados permanentemente cuentan para un límite de 20 comunidades durante toda la vida útil. Estos son cambios administrativos en el código fuente, y el cambio posterior indica a los operadores que mantengan la eliminación desactivada hasta que su relay y su ejecutor de vaciado estén en funcionamiento. Por separado, una auditoría del catálogo de particiones detecta particiones que abarcan todos los casos y meses sin cobertura antes de crear nuevas particiones de events y del registro de entregas, haciendo visibles para los operadores la seguridad del servicio y la actualidad de la auditoría.
Buzz para móviles ahora distingue entre personas y agentes que comparten un nombre visible. Su resolutor de nombres de identidad distingue a los agentes por su propietario y añade un sufijo corto de la clave solo cuando es necesario; la integración en conversaciones utiliza esos nombres para autores, menciones y avisos de pertenencia. Listas, búsqueda y Pulse completan el mismo comportamiento fuera de una conversación. La distinción visible modifica la etiqueta local, mientras que una mención seleccionada conserva el nombre original de la identidad transmitido por el protocolo.
Conduit hace avanzar el proceso de compra tras la aceptación del relay
Conduit es un mercado de Nostr que envía mensajes privados de pedidos a los comerciantes. La publicación progresiva en relays distingue la primera confirmación positiva de un relay de la finalización de todos los intentos de publicación en relays, y un cambio posterior del proceso de compra guarda de forma persistente esa primera confirmación antes de continuar. La aceptación de un relay significa que el pedido firmado llegó a un relay; no demuestra que un comerciante lo haya leído o atendido.
Conduit también integró sesiones recuperables de firmantes remotos y negociación transaccional entre firmante y relay. NIP-46 permite que una aplicación solicite firmas con una clave custodiada por un firmante independiente; estos cambios conservan el espacio de trabajo de la cuenta del usuario mientras se repara su transporte y después verifican la cuenta exacta antes de reanudar la actividad. Las PR acreditan el comportamiento del código fuente, no una compilación distribuida del proceso de compra.
La integración de la búsqueda de productos ordenada por relevancia de Conduit envía una única consulta ordinaria de búsqueda de texto completo NIP-50 para productos de kind 30402 y conserva el orden de relevancia del relay durante las comprobaciones de firmas, la conciliación de revisiones y el filtrado local de elegibilidad. Las tarjetas pueden aparecer antes de que terminen las lecturas en segundo plano de productos exactos, mientras que las eliminaciones firmadas más recientes siguen siendo autoritativas. Actualizar y Reintentar se limitan a la búsqueda y a las lecturas de productos exactos, en lugar de iniciar un descubrimiento amplio del catálogo. Un límite de 100 resultados seguido de filtrado local puede dejar fuera coincidencias elegibles, por lo que una respuesta parcial vacía ofrece una vía de recuperación y no demuestra que no haya productos.
Elisym desarrolla un proceso de compra para el comercio en Nostr
Elisym está desarrollando un conjunto de herramientas de comercio que firma productos y transporta mensajes privados de pedidos y recibos a través de Nostr. Su paquete de comercio integrado define la verificación de ofertas y los events de pedidos envueltos mediante gift wrap; una interfaz de compra gestiona la revisión de ofertas, el pago con monedero y el estado de la entrega, mientras que un nodo de comerciante autoalojado empaqueta los componentes de la tienda. El proyecto califica el kind 30490 como provisional y describe un alcance mínimo para octubre. Estas integraciones en el código fuente acreditan una integración emergente; no se ha demostrado la existencia de un estándar aceptado de comercio en Nostr ni de un lanzamiento público completo.
Las herramientas de compra para agentes de Elisym añaden buy_product y get_order para sus productos anunciados en Nostr. La primera llamada devuelve una cotización sin realizar un pedido, y una segunda llamada acepta la cotización de un solo uso y las advertencias para el mismo agente y la misma red; el estado del pedido se conserva de forma duradera en el backend local de archivos del agente. La compatibilidad con el proceso de compra de Tempo añade una vía de pago con un monedero del navegador, con verificación del comerciante y entrega. Un hash de transacción enviado mantiene activo el intento hasta que se determina su resultado, evitando indicar un resultado de impago mientras una transacción difundida aún podría liquidarse.
Una corrección posterior del proceso de compra permite que el proceso de compra de productos firmados se inicialice cuando un monedero del navegador se anuncia de inmediato durante el descubrimiento. El cambio en el código fuente sitúa la declaración de la sesión antes de que pueda ejecutarse esa función de retorno; la integración por sí sola no verifica un despliegue alojado.
nostter mejora las comprobaciones de firmantes y la recuperación de events
nostter es un cliente social de Nostr. Su cambio integrado de comprobación de capacidades del firmante comprueba si hay un firmante utilizable antes de ofrecer las acciones de seguir y reaccionar. Los nuevos tags de fijación incluyen la clave del autor y una indicación de relay conocida, sin adivinar una, y la ordenación de la caché de events reemplazables sigue el criterio de marca de tiempo y desempate por ID de event de NIP-01. NIP-01 define las reglas fundamentales de los events de Nostr, incluida la forma en que los clientes eligen entre events reemplazables.
Pensieve prepara la conciliación aislada de archivos
Pensieve es una herramienta de archivo y recuperación de Nostr. Su entorno de ejecución aislado de negentropía integrado proporciona a la sincronización un proceso de trabajo con límites y un comportamiento de finalización duradero. La función requiere activación voluntaria y la PR indica explícitamente que no se activó ningún servicio ni configuración de producción; esto sienta las bases de una vía de recuperación más segura, no demuestra que haya un despliegue en funcionamiento.
ContextVM evita llamadas duplicadas entre relays
El SDK de TypeScript de ContextVM transporta solicitudes de herramientas y recursos como events de Nostr. Su corrección integrada de deduplicación de solicitudes entrantes reconoce una misma solicitud en texto plano por su ID de event incluso cuando varios relays o una reconexión la entregan de nuevo, igualando el comportamiento de la vía existente de mensajes envueltos. La PR informa de que, antes de la corrección, una herramienta no idempotente se ejecutaba tres veces para una sola llamada. Un cambio complementario de notificaciones de recursos envía actualizaciones solo a los clientes suscritos; las sesiones inicializadas sin una suscripción ya no las reciben.
Cyberspace revisa las reglas de objetos de DECK-0003
Cyberspace desarrolla el formato DECK-0003 para objetos estructurados de Nostr y bolsas de regiones cifradas, que Amethyst comenzó a implementar en el número de la semana pasada. Las nuevas reglas sobre partes y objetos ocultos y referencias de bolsas permiten que una bolsa haga referencia a un objeto publicado por separado en lugar de incorporar cada parte. Una corrección posterior indica que una referencia por ID de event no puede fijar de manera fiable una versión antigua de un event direccionable, porque un relay puede descartarla tras su sustitución. Los lectores deben usar la regla corregida de referencias por coordenadas; la redacción de la integración anterior ha quedado reemplazada.
Wisp corrige las respuestas a comentarios de Nostr
Wisp es un cliente de Nostr con funciones de enrutamiento a relays y de monedero. Tras el lanzamiento del soporte para comentarios NIP-22 de la semana pasada, una modificación posterior integrada hace que una respuesta a un comentario NIP-22 también sea un event de comentario, con las referencias correctas al padre y a la raíz; el flujo anterior siempre publicaba una nota ordinaria. NIP-22 permite adjuntar comentarios a muchos tipos de contenido de Nostr. La corrección se integró después del tag 1.2.5 de Wisp, cuyas notas solo incrementan la versión, por lo que se trata de un avance en el código fuente cuyo lanzamiento sigue sin verificarse.
Cordn envía las ubicaciones de los coordinadores a un segundo dispositivo
Cordn coordina la mensajería grupal cifrada a través de Nostr. Su cambio integrado en la especificación multidispositivo incluye las indicaciones de relay del coordinador de un grupo en el documento de grupo replicado. Un dispositivo recién inicializado puede entonces encontrar un coordinador que no esté en los relays predeterminados, en lugar de aparentar que se ha unido a un grupo cuyo historial y mensajes en directo no puede obtener. Se trata de trabajo en la documentación del protocolo posterior al lanzamiento de la cola sin conexión de Cordn de la semana pasada, no de una nueva versión del cliente.
Nostr Atlas abre un directorio de identidades verificables
Nostr Atlas es un nuevo directorio que presenta perfiles de Nostr junto con declaraciones de vinculación a cuentas externas. La publicación del sitio integrada separa el directorio de la demostración de componentes del proyecto, y el sitio responde públicamente. Una integración del flujo de declaración permite que el propietario de una cuenta de X publique una prueba firmada NIP-39 con un firmante de navegador, mientras que el enriquecimiento de perfiles lee los metadatos kind-0 de Nostr solo después de verificar la prueba. NIP-39 define el patrón de prueba para asociar una clave de Nostr con otra identidad en línea; una confirmación de un relay por sí sola no marca una declaración como verificada.
nostr-java añade herramientas de alojamiento multimedia y conserva las posiciones de los tags
nostr-java es una biblioteca Java y un conjunto de herramientas MCP para aplicaciones de Nostr. Sus herramientas Blossom integradas permiten a quien las invoca subir, buscar, enumerar y eliminar contenido multimedia direccionado por hash y gestionar la lista de servidores del usuario. Una corrección de publicación independiente mantiene en su lugar los valores vacíos de los tags: los tags de Nostr son posicionales, por lo que eliminar una indicación de relay vacía podría desplazar un marcador al campo equivocado y hacer que el event publicado difiera de la vista previa aprobada.
Zap Cooking cambia la forma de recuperar el historial de una cuenta
Zap Cooking es un cliente de Nostr para compartir recetas. Su trabajo integrado de recuperación Lazarus sustituye una copia de seguridad basada en events de datos específicos de aplicaciones de NIP-78 por un enfoque que examina las versiones de events reemplazables conservadas por los relays para detectar seguimientos, silenciamientos o perfiles sobrescritos. Lazarus sigue siendo un protocolo en borrador; la recuperación depende de relays que hayan conservado las versiones anteriores, y una PR integrada del cliente web no garantiza que se pueda recuperar cada event perdido.
El cliente también integró controles opcionales de prueba de trabajo NIP-13 para notas y respuestas y un modelo de archivos adjuntos que mantiene el orden del contenido multimedia y las descripciones de NIP-92 coherentes entre la vista previa y la publicación. NIP-13 permite que un remitente dedique cómputo local a un event antes de publicarlo; NIP-92 incluye metadatos multimedia como tags del event.
La corrección de solicitudes NIP-05 de Zap Cooking exige autorización NIP-98 sobre el cuerpo exacto de la solicitud y rechaza un firmante distinto de la clave pública que solicita el nombre. Anteriormente, ese endpoint público aceptaba solicitudes no autenticadas que podían sustituir el nombre de otro miembro. El nivel de membresía ahora procede del registro de membresía existente, y los usuarios de firmantes remotos reciben una petición de firma al solicitar un nombre. El flujo independiente de registro de confianza del lado del servidor permanece sin cambios.
Una reparación de la lista de silenciamientos impide que las acciones de silenciar perfiles sustituyan toda la lista kind 10000 únicamente por tags de claves públicas. El flujo anterior borraba las entradas de palabras, hashtags e hilos, además del contenido cifrado, y una de las interfaces podía volver a publicar públicamente claves de silenciamientos privados descifradas. El nuevo flujo lee la copia del relay, conserva los tags no relacionados y el texto cifrado, y se niega a publicar cuando esa lectura no está disponible. Eliminar un silenciamiento privado requiere descifrar y volver a cifrar mediante el firmante.
Opal lleva la firma remota a Omarchy
Opal es un firmante de Nostr de escritorio creado para el entorno Linux Omarchy. Su versión 0.3.3 del 28 de septiembre sucede a la primera serie pública con soporte de firma remota NIP-46, un almacén local de claves y una interfaz de permisos para las solicitudes de aplicaciones conectadas. NIP-46 mantiene la clave de la cuenta en el firmante mientras un cliente independiente le pide que apruebe operaciones. Esta es una versión temprana de un firmante específico de una plataforma, no una afirmación de compatibilidad más amplia con entornos de escritorio.
WatchTower abre un panel de control de relays NIP-86
WatchTower es un panel recién publicado para la administración de relays mediante NIP-86, el protocolo para solicitudes autenticadas de gestión de relays. Una instancia pública responde, lo que ofrece a los operadores un lugar donde examinar la interfaz. El repositorio se creó el 22 de septiembre; que el sitio sea accesible no demuestra que sus flujos de autorización hayan sido auditados de forma independiente ni que funcione con todas las implementaciones de relay.
Hubstr Blossom abre un servidor de origen personal para contenido multimedia
El servidor Hubstr Blossom, recién publicado, permite que un cliente de Nostr suba imágenes, vídeos y archivos a un endpoint Blossom autoalojado y luego incluya esas URL en events. Su README documenta el almacenamiento local por hash de contenido, un índice SQLite, la autorización firmada kind-24242 para cambios y una serie de operaciones Blossom para subir, replicar, enumerar y eliminar contenido. Las lecturas públicas permiten que otros clientes muestren el contenido multimedia publicado sin recibir permisos de subida.
Las opciones documentadas del servidor también extraen metadatos de archivos para events NIP-94, que describen contenido multimedia compartido. El servidor puede volver a codificar imágenes sin metadatos EXIF y, de forma predeterminada, protege las solicitudes de replicación frente a destinos de redes privadas. Se trata de una implementación recién publicada con instrucciones de despliegue, no de pruebas de un despliegue amplio en producción.
Hubstr Relay publicó su código fuente inicial el 24 de septiembre. Combina una caché personal de events en SQLite con un relay público: los lectores no autenticados ven los events públicos permitidos, mientras que los usuarios autenticados mediante NIP-42 pueden leer su caché. Los envoltorios de regalo NIP-17 siguen sin estar disponibles para los lectores invitados. Su actualización del 25 de septiembre corrige los registros devueltos por los métodos de listas de pubkey de NIP-86.
Meshstr experimenta con una malla de relays sin permisos
Meshstr es un diseño alfa para que los relays de Nostr negocien presupuestos entre pares e intercambien recibos de uso firmados. Su primera implementación incluye un puente de políticas de escritura para strfry, un relay de Nostr, añadido el 27 de septiembre, con una corrección del socket al día siguiente. El repositorio describe la negociación DIDComm y la reconciliación NIP-77, que permite a los pares comparar conjuntos de events sin intercambiar sus inventarios completos, junto con informes verificables de pares que superan los presupuestos acordados.
Esas reglas del proyecto son una propuesta, no un NIP adoptado ni una red pública de relays demostrada. El avance concreto de esta semana es el código publicado que conecta la política de escritura de un relay con la contabilidad propuesta para la malla.
Dossier muestra lo que puede revelar un historial público de Nostr
Dossier es una nueva herramienta de autoauditoría que se ejecuta en el navegador para examinar la huella de una persona en Nostr y Lightning, con una demo pública. Recopila enlaces visibles del perfil, rastros de zap, horarios de publicación, metadatos de antiguos mensajes directos cifrados con NIP-04 y metadatos de archivos multimedia, como los datos EXIF de las fotos; también puede mostrar dónde un relay sigue sirviendo un event que alguien intentó eliminar. La compatibilidad con firmantes NIP-07 permite que un usuario autorice acciones de limpieza sin pegar una clave privada en la página.
Los límites documentados del proyecto son importantes: un análisis solo ve los relays a los que accede, y una solicitud de eliminación no puede borrar las copias almacenadas en otros lugares. El repositorio apareció el 27 de septiembre y no tiene ninguna versión etiquetada; la demo y el código fuente acreditan una herramienta en fase inicial, no un inventario completo de la actividad pasada de una persona.
Marmot MDK amplía las encuestas, los emojis personalizados y los metadatos de cuenta
Marmot MDK proporciona el entorno de ejecución y los enlaces para mensajería cifrada de grupos de Nostr. Las incorporaciones posteriores al código fuente de MDK exponen selecciones de encuestas paginadas por votante utilizando las mismas reglas de respuesta efectiva que los recuentos agregados. Los componentes opcionales de grupo pertenecientes a la aplicación proporcionan a las aplicaciones anfitrionas ajustes controlados por administradores que persisten tras la retención de mensajes y llegan a los nuevos miembros en su Welcome. Los envíos con tags y las reacciones multimedia transportan metadatos de emojis personalizados a través del entorno de ejecución y los enlaces, conservan el material de descifrado de las imágenes de reacción adjuntas después de un cambio de época y rechazan los tags de adjuntos falsificados. Ese cambio amplía la estructura de solicitud de carga de C, por lo que los consumidores de C deben recompilar con el encabezado actualizado.
Una corrección de convergencia mantiene los mensajes pendientes cuando no se ha seleccionado ninguna rama canónica, en lugar de invalidarlos sin probar el estado activo. Una limpieza de rutas inalcanzables complementaria encauza los commits preparados sin resolver hacia el comportamiento de reintento que se mantiene. Las lecturas de archivos multimedia cifrados alinean el tiempo de espera de lectura HTTP con la gestión de inactividad del cuerpo reanudable, abordando las transferencias grandes bloqueadas sin afirmar que se haya superado la prueba de aceptación en dispositivo pendiente del APK entrante. Los marcadores de etapas de inicio muestran en qué paso de apertura de la cuenta se agotó el tiempo de espera, aportando evidencia de diagnóstico sin afirmar que se haya resuelto el bloqueo de inicio subyacente.
El conector del agente local también combina los metadatos de perfil existentes al publicar una actualización de kind 0, conservando los campos omitidos en la solicitud. Las actualizaciones de perfiles de grupo exponen los cambios en el nombre y la descripción de un grupo a través de la vía existente autorizada por el administrador actual. Su autenticación de socket sigue dando acceso a toda la API local; esta incorporación no añade concesiones de capacidades por identidad. Estos cambios del código fuente son posteriores a la versión etiquetada 0.11.0.
rust-nostr correlaciona las respuestas de recuento de los relays
rust-nostr, una biblioteca y un SDK de Rust para aplicaciones Nostr, incorporó respuestas COUNT correlacionadas y errores más claros para los procesos en espera. El SDK se suscribe antes de enviar COUNT y solo acepta la respuesta correspondiente, evitando que un receptor perdido o cerrado parezca un cero legítimo. También conserva los errores del receptor para las confirmaciones de publicación y la autenticación del relay, de modo que quienes realizan las llamadas puedan distinguir una confirmación ausente de un rechazo explícito. Las firmas de los métodos públicos no cambian.
ZapTracker añade métricas de la red Nostr y de citas
ZapTracker es un panel para creadores que muestra la interacción en Nostr y la actividad de la billetera. Una incorporación al panel de red sustituye las estadísticas de la red Lightning por datos de relays de Nostr en línea procedentes de nostr.watch e información de capacidades de documentos NIP-11. Un cambio en las métricas de citas cuenta los events de kind 1 que contienen tags q junto con los me gusta, las republicaciones, los marcadores y los zaps. Esto permite a los creadores ver las citas en las clasificaciones de contenido y los gráficos de interacción; la evidencia sigue siendo código fuente incorporado.
LaWallet NWC dirige las recargas de tarjetas a la billetera de la tarjeta
LaWallet NWC conecta billeteras Lightning con aplicaciones mediante Nostr Wallet Connect. Su incorporación de recargas de BoltCard anuncia un enlace de pago LUD-19 que crea una factura mediante el método NWC make_invoice de la billetera de la tarjeta. Las tarjetas bloqueadas, deshabilitadas o no vinculadas no anuncian un enlace de pago, y esta vía no redirige las recargas a la dirección Lightning independiente del propietario. Un cambio posterior expone el mismo enlace en el emulador y transmite en los envíos LNURL las notas del pagador aceptadas por el destinatario.
Un nuevo relay khatru expone controles de moderación para el propietario
nostr-relay-khatru publicó su código fuente inicial el 29 de septiembre como un relay general derivado de la implementación específica de HiveScope, ya descontinuada. La instancia pública sirve un documento NIP-11 que nombra este repositorio y anuncia autenticación, caducidad de events, events protegidos, recuento, reconciliación y administración del relay. Una implementación del 30 de septiembre añade controles de moderación a su panel de propietario. Los metadatos públicos verifican un endpoint desplegado, no la realización satisfactoria de pruebas de todos los métodos anunciados.
Un constructor local de redes de confianza registra a quién se deja de seguir
etemiz/wot publicó un rastreador de redes de confianza de Nostr el 30 de septiembre. Lee listas de seguimiento y listas de relays NIP-65, calcula la confianza a partir de raíces configurables y escribe puntuaciones en LMDB para políticas de relays, feeds y filtros de spam. La documentación del proyecto explica la contrapartida: las actualizaciones en tiempo real aumentan la confianza, mientras que los rastreos completos programados aplican las disminuciones y las acciones de dejar de seguir. Las puntuaciones dependen de las raíces elegidas. Se trata de código fuente recién publicado, sin una versión etiquetada ni afirmaciones de despliegue en producción.
Moyu presenta un cliente de espacio de trabajo basado en Marmot
Moyu ha publicado el código fuente de un cliente de chat para espacios de trabajo escrito en Rust y basado en Marmot, con interfaces de línea de comandos, terminal y escritorio. Sus cambios del 30 de septiembre utilizan los cambios de membresía registrados localmente para impedir que antiguas solicitudes de incorporación vuelvan a admitir a miembros eliminados, hacen que los códigos de invitación caduquen después de siete días y permiten a los administradores revocarlos. La salida del terminal filtra los caracteres de control y las anulaciones de dirección del texto proporcionados por otros miembros. Una bifurcación de MDK fijada a una revisión concreta dirige las transferencias de adjuntos de Blossom a través del proxy SOCKS5 configurado, y ese proxy realiza la resolución de nombres de host. Los cambios de 0.3.0 están en el código fuente público; todavía no hay ninguna etiqueta de versión ni entrada de lanzamiento públicas disponibles.
Trabajo en protocolos y especificaciones
NIP-39 amplía las pruebas de identidad a Bluesky y Discord
NIP-39 permite que una cuenta de Nostr enlace a una prueba de que controla una identidad en otra plataforma. Un cambio incorporado el 27 de septiembre proporciona una frase recomendada para las nuevas pruebas e indica a los verificadores que acepten pruebas antiguas que contengan el npub de la cuenta, incluso cuando su redacción sea diferente. También documenta las publicaciones de Bluesky y los mensajes de Discord como ubicaciones de prueba. Una declaración de identidad de Discord solo puede comprobarla alguien que pueda leer el servidor donde se publicó su mensaje.
NIP-86 añade la gestión de códigos de invitación para administradores de relays
Compass describió en la edición del 8 de julio la propuesta de invitaciones de NIP-86 cuando aún estaba abierta; ahora se ha incorporado. NIP-86 define una API estándar de gestión de relays, y NIP-43 define cómo los relays restringidos anuncian la membresía y procesan las solicitudes de admisión. La incorporación del 24 de septiembre añade listclaims, createclaim y deleteclaim para que un administrador pueda enumerar, emitir y revocar códigos de invitación aceptados por un relay. Eso proporciona a los operadores una vía de gestión de invitaciones que pueden otorgar un rol a un miembro después de que se incorpore; no exige que todos los relays admitan los métodos.
Una corrección a la cobertura de NIP-86 de la semana pasada: la especificación incorporada añadió unallowevent, unbanevent, listallowedevents y listdisallowedkinds. El artículo anterior enumeraba nombres de una descripción desactualizada de la propuesta. Los dos primeros métodos revierten una decisión de permitir o prohibir un event; los demás inspeccionan los events permitidos y los kinds no permitidos.
NIP-51 traslada los conjuntos de seguimiento favoritos a un kind de event sin usar
NIP-51 define listas públicas y privadas, incluida una lista de los conjuntos de seguimiento favoritos de un usuario. Compass describió la propuesta sobre la colisión de kind en la edición del 22 de julio; ahora se ha incorporado. La corrección del 27 de septiembre asigna a esa lista de favoritos el kind 10021 porque el número anterior ya estaba en uso. Sus tags a siguen apuntando a conjuntos de seguimiento de kind 30000. El cambio resuelve una colisión de números en la especificación; no crea una nueva forma de seguir a personas.
NIP-51 propone respuestas ocultas para cada hilo
Una propuesta abierta de NIP-51 permitiría al autor de un hilo publicar un conjunto público de respuestas ocultas que los clientes que colaboren mostrarían mediante un control de alternancia. Utiliza un event direccionable de kind-30027 por hilo, con el ID raíz como su tag d y tags e que identifican las respuestas; solo se aplica un conjunto firmado por el autor de la raíz. Incluir la raíz en la lista pide a los clientes que oculten las respuestas de otros autores y dejen de ofrecer un editor de respuestas, aunque las respuestas todavía pueden publicarse en relays. El formato por hilo limita las colisiones de edición a la misma conversación. El autor informa de una implementación en Nostrich, pero la inspección del código fuente público no permitió constatarla; la propuesta sigue sin incorporarse, y el formato de su conjunto continúa en discusión.
NIP-DB propone nombres de dominio verificados para servicios direccionados por clave
La propuesta abierta de NIP-DB, presentada el 28 de septiembre, describe events de Nostr que vinculan un dominio de Internet convencional con la clave que lo sirve a través de una red direccionada por clave como FIPS, una malla cifrada que direcciona los nodos mediante su clave pública de Nostr. El propietario de un dominio puede establecer el vínculo con un registro DNS TXT o una prueba DNSSEC incluida con la declaración; los clientes fijarían un resultado verificado para su uso posterior sin conexión. La propuesta prohíbe explícitamente la resolución mediante una declaración no verificada, ya que cualquiera puede declarar como propio el dominio de otra persona en un event de Nostr. fips-pub-domains es la implementación de referencia del autor, pero los números de kind de los events y parte de la redacción específica de la red superpuesta siguen bajo revisión. Las pruebas de extremo a extremo comunicadas constituyen evidencia aportada por el autor, no una afirmación de que la propuesta sea un NIP aceptado.
Un borrador de feeds privados explora grupos cifrados de destinatarios
Una nueva propuesta de envoltura para múltiples destinatarios, abierta el 29 de septiembre, esboza notas, respuestas y conexiones privadas cuyos destinatarios previstos pueden encontrar un event sin exponer sus claves públicas habituales en sus tags visibles. Propone tags de alias opacos por pares derivados de secretos compartidos y kinds de event provisionales, incluida una forma de envolver otro event de Nostr para cientos de lectores. Eso podría proporcionar a los pequeños feeds privados una vía de recuperación más directa que enviar un mensaje separado a cada miembro.
El autor de la propuesta la califica explícitamente como un trabajo en curso. El borrador no cuenta con una implementación demostrada ni con una revisión de seguridad, y sus asignaciones de kind y reglas de firma a nivel de bytes siguen abiertas.
Una propuesta de Blossom permite a otras personas anunciar copias de contenido multimedia
Una propuesta abierta de NIP describe una forma de que alguien que aloje una copia del blob de Blossom de otro autor anuncie esa copia a través de Nostr. Un cliente podría entonces buscar la copia si el servidor original pierde el blob. En la discusión también se ha planteado comprobar la lista actual de servidores BUD-03 de quien aloja la copia cuando una referencia de servidor anunciada haya quedado obsoleta. Se trata de una vía de descubrimiento propuesta, no de una garantía de que los clientes o los relays de archivo ya proporcionen almacenamiento alternativo.
Los informes de incidencias viales buscan un formato compartido en Nostr
La propuesta abierta Road Event Reports describe informes y confirmaciones de baches, cierres, cámaras y otras condiciones viales. Utiliza tags de ubicación y la marca de tiempo de caducidad de NIP-40, que indica a los relays cuándo dejar de servir un event, de modo que un informe no tenga que seguir vigente indefinidamente. El autor basó las revisiones en una muestra de events recuperados de relays públicos y en los clientes de Roadstr existentes para informar de condiciones viales, pero el borrador todavía deja abierta una cuestión sobre codificación compacta, y el número de NIP propuesto no se ha adoptado.
Marmot revisa la coordinación entre múltiples dispositivos
El rediseño de Marmot para múltiples dispositivos sustituye un borrador de External Commit no implementado por una explicación paso a paso no normativa para recibir comentarios tempranos. La nueva dirección explora cómo un dispositivo existente aprueba uno nuevo, lo incorpora a las conversaciones y posteriormente elimina dispositivos, mientras mantiene visibles las preguntas abiertas. Los ID reservados por el borrador eliminado quedan libres porque ninguna implementación los adoptó. El documento de ideas no asigna nuevos ID ni formatos de transmisión y no constituye una función implementada para múltiples dispositivos.
Seis años de septiembres de Nostr
El último número de septiembre es una oportunidad para seguir cómo Nostr pasó de los esbozos a un conjunto más amplio de herramientas interoperables. Un prototipo de 2021 para conectar pasajeros y conductores utilizaba events firmados para coordinar un servicio; cinco años después, la redacción sobre pruebas de identidad y las colisiones entre kinds de listas son el tipo de detalles que los responsables del mantenimiento están resolviendo. Entre tanto, los clientes aprendieron a presentar conversaciones, contenido multimedia y recuperación de formas que las personas corrientes pueden utilizar. Las fuentes fechadas que aparecen a continuación muestran etapas de esa evolución. No demuestran que todos los experimentos llegaran a lanzarse ni que cada diseño antiguo siga siendo recomendable.
Septiembre de 2021: primeros experimentos con formas útiles
Un commit de BUber del 4 de septiembre exploró un concepto para conectar pasajeros con taxis mediante events de Nostr. Mostró cómo una solicitud firmada y transportada por relays podía coordinar a las personas sin asignar todo el servicio a un único servidor. La fuente presenta un concepto y no demuestra que se lanzara un servicio de transporte.
Más tarde ese mismo mes, el código fuente de Loquaz del 23 de septiembre ofrecía un prototipo de chat de escritorio. Fue otro intento temprano de hacer que los mensajes de los relays se percibieran como una aplicación convencional. La fuente no demuestra que hubiera un cifrado de extremo a extremo terminado ni un servicio de mensajería en producción; el hilo conductor que perdura es la búsqueda de una interfaz de conversación utilizable sobre events sencillos. BUber probó la conexión entre pasajeros y conductores, y Loquaz probó el chat; ambos utilizaron events firmados antes de que se consolidaran los patrones comunes de los clientes. Esos ensayos plantearon dos problemas recurrentes para los clientes posteriores: coordinarse mediante relays y presentar los events como una conversación utilizable.
Septiembre de 2022: el chat y las acciones delegadas entran en las especificaciones
El cambio de NIP-28 del 10 de septiembre describía canales de chat públicos con mensajes y metadatos que los clientes podían interpretar conjuntamente. NIP-28 convirtió una sala compartida en un objeto explícito del protocolo y proporcionó a los clientes una convención común para los canales.
El 23 de septiembre, el texto de NIP-26 sobre firma delegada documentó una forma de que una clave autorizara a otra a firmar events limitados. Recogía una importante cuestión de diseño de 2022: cómo utilizar una identidad de Nostr sin entregar la clave principal a cada aplicación. NIP-26 figura ahora como no recomendado, por lo que esto es un registro de un experimento, no un consejo para nuevas integraciones. Su estado posterior muestra cómo ha evolucionado el modelo de firma: una especificación puede conservar un planteamiento útil de un problema incluso cuando se retira la respuesta propuesta.
Septiembre de 2023: los clientes maduran en torno al descubrimiento de relays y los metadatos
Damus es un cliente social de Nostr. Su registro de cambios del 21 de septiembre recogía trabajo en su base de datos local de Nostr, la búsqueda y la navegación por hashtags. Esos cambios facilitaron explorar y recuperar un feed social con mucha actividad en un teléfono; el registro de cambios fechado es evidencia de esa versión del cliente, no de todas las capacidades posteriores de Damus.
Los detalles del protocolo también evolucionaban. Un cambio del 26 de septiembre en NIP-24 aclaró los campos opcionales de metadatos de perfil, mientras que el cambio de NIP-65 del 29 de septiembre abordó la normalización y la deduplicación de los URI de los relays. NIP-65 indica a los clientes cómo publicar los relays que utilizan para leer y escribir; un tratamiento coherente de los URI ayuda a que esas listas apunten al mismo relay incluso cuando las cadenas difieren de formas inocuas. Esa pequeña convención orientó el diseño de los clientes hacia un descubrimiento fiable: encontrar los events de una persona depende de saber dónde se publican.
Septiembre de 2024: las publicaciones adquieren un contexto más rico
Las notas de la versión de Damus del 22 de septiembre describían compatibilidad con los pasajes destacados y los comentarios de NIP-84. NIP-84 ofrece a los lectores una forma de citar y comentar un pasaje de contenido extenso. El trabajo en el cliente muestra cómo una idea del protocolo se convirtió en algo que las personas podían utilizar mientras leían.
Mientras tanto, NIP-34 recibió un cambio del 20 de septiembre que refinaba los asuntos y las etiquetas de las incidencias para la colaboración con git a través de Nostr, y NIP-73 recibió un cambio ese mismo día que refinaba los identificadores de contenido externo. Son cambios separados de las especificaciones: uno ayuda a que las incidencias de un repositorio conserven su estructura, mientras que el otro permite que un event haga referencia a material externo a Nostr. Ambos amplían el significado que un cliente puede preservar cuando el contenido circula entre comunidades, repositorios y otros medios.
Septiembre de 2025: los controles de acceso y el contexto de los pagos se vuelven más precisos
Una revisión de NIP-42 del 6 de septiembre abordó la autenticación de múltiples usuarios en un relay. NIP-42 permite que un relay exija a un cliente demostrar qué clave de Nostr está realizando una solicitud; la actualización fue importante para los servicios que atienden a más de una cuenta autenticada a través de la misma conexión.
Una actualización de NIP-47 del 15 de septiembre añadió metadatos de pago opcionales a las solicitudes de Nostr Wallet Connect. NIP-47 permite que una aplicación solicite a una cartera realizar acciones a través de Nostr. Un mayor contexto puede hacer comprensible una interacción con una cartera, pero los metadatos pueden revelar datos del pagador, por lo que los clientes y las carteras siguen teniendo que tratarlos como información sensible. El cambio ilustra cómo el trabajo de interoperabilidad ya incluía lo que un destinatario puede averiguar, no solo si una solicitud puede entregarse.
Septiembre de 2026: los detalles de interoperabilidad se encuentran con la identidad pública
Este septiembre, un cambio integrado en NIP-51 cambió el kind de event de los conjuntos de cuentas seguidas para evitar una colisión. NIP-51 define listas que una persona puede mantener y compartir; los valores únicos de kind de event permiten a los clientes distinguir un tipo de lista de otro. Una edición anterior de Compass trató la propuesta, mientras que la integración de septiembre constituye el cambio de estado.
Un segundo cambio integrado en NIP-39 aclaró el texto de la prueba y añadió más formas de asociar una cuenta externa con una identidad de Nostr. NIP-39 trata sobre afirmaciones de identidad verificables, no sobre un registro central de identidades. En conjunto, ambas integraciones muestran que el trabajo actual en el protocolo se concentra en los pequeños detalles que determinan si los clientes independientes interpretan correctamente la misma identidad y los events de listas. También muestran un cambio de enfoque: de inventar nuevas categorías de event a reducir la ambigüedad en las existentes.
A lo largo de estos seis meses de septiembre, el patrón es una progresión desde demostrar que un event firmado puede describir una solicitud de aplicación hasta preguntarse cómo un cliente verifica una afirmación sobre una persona. Los antiguos prototipos importan porque ponen de manifiesto las preguntas que las especificaciones y los clientes posteriores tuvieron que responder: quién firma, dónde se encuentra un event, qué significa y cómo sabe alguien si puede confiar en él. Por eso también una corrección pequeña y precisa del protocolo puede importar tanto como una nueva interfaz.