v0.1.0
What's Changed
- Add foundational docs: philosophy, architecture, and ADR log by @dbareagimeno in #1
- Revisión de coherencia de la documentación: correcciones y G17-G22 resueltas by @dbareagimeno in #2
- Resolve G23: token vocabulary leaves the core, approx_tokens moves to providers by @dbareagimeno in #3
- Resolve G26: namespaces de extensión por convención y dos niveles by @dbareagimeno in #4
- Ronda 5 de pseudocódigo: orquestación de agentes (loops deterministas + paralelo) by @dbareagimeno in #5
- Ronda 6 de pseudocódigo: harness estilo claude-code sobre nu.ui (G28-G30) by @dbareagimeno in #6
- Añade CLAUDE.md: guía para asistentes de IA by @dbareagimeno in #7
- Plan de implementación incremental (una feature por sesión) by @dbareagimeno in #8
- S01: bootstrap del runtime, sandbox baseline y nu.version/nu.has by @dbareagimeno in #9
- S02: errores estructurados (puente Go↔Lua §1.4) + arnés de tests by @dbareagimeno in #10
- S03: nu.log a fichero en data_dir + alias print (§15) by @dbareagimeno in #11
- S04: scheduler (event loop + task.spawn + Task:await + puente ⏸) by @dbareagimeno in #12
- S05: nu.task.sleep/defer/every + Timer:stop (§3) by @dbareagimeno in #13
- S06: nu.task.future (rendez-vous de un solo uso, §3) by @dbareagimeno in #14
- S07: nu.task.all (alineado con inputs, G27) + nu.task.race (§3) by @dbareagimeno in #15
- S08: cancelación (Task:cancel + nu.task.cleanup + desenrollado no capturable, §1.3) by @dbareagimeno in #16
- S09: watchdog (presupuesto por slice, EBUDGET no capturable, core:plugin.misbehaved); cierra Fase 1 (CP-2) by @dbareagimeno in #17
- S10: nu.events (on/once/emit; despacho sobre foto, encolado por anchura, G10) (§4) by @dbareagimeno in #18
- S11: loader (orden topológico por requires, unicidad de nombre, init.lua usuario el último) (§14) by @dbareagimeno in #19
- S12: activación de extensiones embebidas (go:embed, inactivas por defecto) gobernada por nu.toml (§14, ADR-010) by @dbareagimeno in #20
- S13: nu.plugin.reload (best-effort, etiquetado de handles por dueño, G2); cierra Fase 2 (CP-3) (§14) by @dbareagimeno in #21
- S14: nu.fs (read/write/append atómicas, exclusive O_EXCL G17, stat nil, list/mkdir/remove/rename/copy/tmpdir/cwd) (§5) by @dbareagimeno in #22
- S15: nu.fs.watch (lotes, gitignore G7, debounce_ms, Watcher:stop) (§5) by @dbareagimeno in #23
- S16: nu.proc (run/spawn/streams/wait/kill/alive G17; vida por cleanup + GC) (§6) by @dbareagimeno in #24
- S17: nu.sys (platform/env/setenv overlay/now_ms/mono_ms/hostname) (§7) by @dbareagimeno in #25
- S18: codecs nu.json (UTF-8 estricto G11, sentinel NULL)/nu.toml/nu.yaml; cierra Fase 3 (CP-4) (§12) by @dbareagimeno in #26
- S19: nu.http.request (buffereada, no lanza por status, ENET/ETIMEOUT, TLS/proxy G12) (§8) by @dbareagimeno in #27
- S20: nu.http.stream (Stream, chunks, events parser SSE, idle_timeout, backpressure EIO) (§8) by @dbareagimeno in #28
- S21: nu.ws.connect (send/recv/close); cierra Fase 4 (CP-5) (§8) by @dbareagimeno in #29
- S22: nu.text (width/wrap/truncate) + tipo Block + nu.ui.block/caps/Style (§10, §9.2) by @dbareagimeno in #30
- S23: nu.text.markdown (render completo, streaming-safe, themable) (§10) by @dbareagimeno in #31
- S24: nu.text.highlight (syntax highlighting, degrada a texto plano) (§10) by @dbareagimeno in #32
- S25: nu.text.diff (hunks estructurados, render a Block) (§10) by @dbareagimeno in #33
- S26: nu.re (RE2: compile/match/find_all/replace) (§10) by @dbareagimeno in #34
- S27: nu.search (files/gitignore, grep iterador paralelo, fuzzy estable); cierra Fase 5 (CP-6) (§11) by @dbareagimeno in #35
- S28: spike ADR-007 (compositor+toolkit mínimos), mediciones de fluidez; ADR-012 by @dbareagimeno in #36
- S29: nu.ui compositor (region z-order, blit viewport G28, resize G1, coalescing) (§9.1) by @dbareagimeno in #37
- S30: ciclo de vida de Region (move/resize/raise/lower/show/hide/destroy/cursor) (§9.1) by @dbareagimeno in #38
- S31: input (on_input pila, keymap secuencias con timeout, paste imagen G30) (§9.3) by @dbareagimeno in #39
- S32: nu.ui clipboard (OSC52) + eventos ui:* + gating headless (G20) (§9.2, §9, §4) by @dbareagimeno in #40
- S33: pantalla de runtime desnudo (G21); cierra Fase 6 (CP-7 manual con TTY) (§14) by @dbareagimeno in #41
- S34: nu.worker.spawn + caps (G6 dos granularidades, deny-by-default) + send/recv colas acotadas (§13) by @dbareagimeno in #42
- S35: Worker:on_message (excluyente con recv, G8) + tasks/timers en worker + terminate; cierra Fase 7 (CP-8) (§13) by @dbareagimeno in #43
- S36: extensión providers (registro TOML, contrato de adaptador, approx_tokens G23) (providers.md) by @dbareagimeno in #44
- S37: adaptador Anthropic (SSE, tool calls, thinking) primer dialecto real; CP-9 (providers.md) by @dbareagimeno in #45
- S38: extensión sesiones (JSONL, lockfiles) + nu.sys.pid (G32, APILevel 1→2) (sesiones.md, api.md §7) by @dbareagimeno in #46
- S39: extensión agente (turno, tools, permisos, hooks, agent:*); CP-10 (agente.md) by @dbareagimeno in #47
- S40: subagentes del agente (workers + caps recortadas + digesto) (agente.md) by @dbareagimeno in #48
- S41: extensión MCP (proc+JSON-RPC/stdio, mapeo de tools y confianza) (arquitectura §capa 2) by @dbareagimeno in #49
- S42: toolkit de widgets (árbol+dirty, slots, focus, themes G22) (arquitectura §toolkit) by @dbareagimeno in #50
- S43: extensión chat (UI oficial sobre toolkit+agente, streaming markdown); CP-11 (chat.md) by @dbareagimeno in #51
- S44: extensión repl (REPL Lua sobre la API pública, activable solo, G21) (arquitectura §Distribución) by @dbareagimeno in #52
- S45: superficie CLI (flags, --auto-permissions, --continue/G18, códigos de salida); cierra Fase 8 y el plan (arquitectura nº5) by @dbareagimeno in #53
- Cierre de coherencia post-plan: P21 (thinking adaptativo, pospuesto) + fix log espurio de EvalTaskString by @dbareagimeno in #54
- CI/CD, releases y licencia Apache 2.0 (ADR-013, ADR-014) by @dbareagimeno in #55
- Release: marcar pre-release los tags con sufijo (-rc, -beta) by @dbareagimeno in #56
- Web de documentación + nu --default-config (G33/ADR-015) by @dbareagimeno in #57
New Contributors
- @dbareagimeno made their first contribution in #1
Full Changelog: https://github.com/dbareagimeno/nu/commits/v0.1.0