This website requires JavaScript.
accb305fa3
docs: core is only for code shared between first-party entities
main
Alex Dunmow
2026-07-07 09:42:00 +08:00
20c67b80ee
feat(templates): full bn chrome sync from cms + VersionedAssetURL hook
v0.20.4
Alex Dunmow
2026-07-07 03:02:34 +08:00
1ee9c280e2
feat(toolbar): theme-mode tester + sync toolbar.templ from cms
v0.20.3
Alex Dunmow
2026-07-07 02:20:04 +08:00
1a75edeae9
chore: rename dev host localdev.blockninjacms.com -> blockninja.dev
Alex Dunmow
2026-07-05 20:50:19 +08:00
bc156f2fcb
chore(proto): bump proto submodule to 1ca85e3
Alex Dunmow
2026-07-05 17:41:07 +08:00
d7c1abbfb6
style(backup): satisfy errcheck on deferred Close calls
Alex Dunmow
2026-07-05 17:41:07 +08:00
81acfac025
chore(deps): bump block/ninjatpl v1.0.1 -> v1.0.2
Alex Dunmow
2026-07-05 15:39:17 +08:00
d94c979731
chore(templates): migrate pongo2/v6 -> block/ninjatpl v1.0.1
v0.20.2
Alex Dunmow
2026-07-05 12:24:27 +08:00
7089964f6b
fix(backup): Extra entry failures warn and continue (cms parity) — never abort the archive
v0.20.1
Alex Dunmow
2026-07-05 09:26:43 +08:00
e12160f05c
fix(backup): checksum is base64-of-SHA256 to match cms restore verification
v0.20.0
Alex Dunmow
2026-07-05 08:59:28 +08:00
62b245d24f
feat(backup): shared backup archive format v3 (writer/reader/crypto) for cms + platform backups
Alex Dunmow
2026-07-05 08:57:31 +08:00
5aa52c00ff
chore(proto): bump submodule to 06dcc6a (UpdateBlockDefinition RPC for tenant custom definitions)
Alex Dunmow
2026-07-05 08:15:13 +08:00
c7cbf69f63
refactor(abi): shed ABI contract + ninja CLI (WO-WZ-023)
Alex Dunmow
2026-07-04 22:37:24 +08:00
3ce6f9f4a0
feat(bnp): fold manifest.yaml into wasm builds for mixed-form artifacts (WO-WZ-021)
Alex Dunmow
2026-07-04 19:50:34 +08:00
2b9a65dcca
Revert "feat(pongo): non-panicking Engine compile variants + global 'lines' filter (WO-WZ-021)"
Alex Dunmow
2026-07-04 14:36:02 +08:00
630dfc72b6
feat(pongo): non-panicking Engine compile variants + global 'lines' filter (WO-WZ-021)
v0.19.1
Alex Dunmow
2026-07-04 14:31:15 +08:00
87bbf9fe46
feat(bnp): codeless template overrides + email wrappers (WO-WZ-021)
v0.19.0
Alex Dunmow
2026-07-04 13:52:32 +08:00
8bd92ea5c4
feat(captcha): single-use verification tokens (replay hardening)
v0.18.2
Alex Dunmow
2026-07-04 12:32:52 +08:00
52d7413aa0
feat(bnp): codeless system/page templates — layouts without code (WO-WZ-020)
v0.18.1
Alex Dunmow
2026-07-04 11:50:38 +08:00
4a1d1883cb
chore: bump proto submodule — TurnstileConfig/HCaptchaConfig removed (Cap captcha Phase E)
Alex Dunmow
2026-07-04 11:41:48 +08:00
ca9332180d
docs: codeless-bnp.md — the declarative/logic split and artifact contract (WO-WZ-020)
Alex Dunmow
2026-07-04 11:38:44 +08:00
7a82028618
feat(captcha): remove Turnstile head-script injection (cms Cap captcha Phase E)
Alex Dunmow
2026-07-04 11:32:54 +08:00
a3b261dbe4
feat(bnp): codeless .bnp artifacts — declarative plugins with no wasm (WO-WZ-020)
v0.18.0
Alex Dunmow
2026-07-04 11:30:00 +08:00
925b6051a3
docs(abi): capability-surface matrix + wasm-abi.md updated for WO-WZ-019
Alex Dunmow
2026-07-04 10:28:44 +08:00
b6e9fdd531
test(caps): golden coverage for every WO-WZ-019 method (full provisioner family + jobs.progress)
v0.17.1
Alex Dunmow
2026-07-04 10:17:49 +08:00
9e39119555
feat(abi): injection-complete capability surface — provisioner family, content authoring, 4 callback hooks (WO-WZ-019)
v0.17.0
Alex Dunmow
2026-07-04 10:02:21 +08:00
6c52e3077c
fix: resolve check-safety Go lint failures in ninja bnp
Alex Dunmow
2026-07-04 09:12:38 +08:00
04991295cf
feat(abi,blocks): ninjatpl rendering as a host capability (powered blocks + tag/filter callbacks)
v0.16.0
Alex Dunmow
2026-07-04 02:36:39 +08:00
e663b77b47
content: add Content.ListPosts capability for blog listing
v0.15.4
Alex Dunmow
2026-07-04 01:00:14 +08:00
314a25353d
feat(abi,auth): first-class uuid[] DbValue + trusted identity headers (WZ-016)
v0.15.3
Alex Dunmow
2026-07-04 00:43:13 +08:00
05ded99d32
docs(wasm-abi): per-instance HostServices + symposium pool/memory gate (WO-WZ-012)
Alex Dunmow
2026-07-03 21:57:29 +08:00
b9e8fe4bf1
feat(wasmguest): HostServices() — per-instance CoreServices accessor
v0.15.2
Alex Dunmow
2026-07-03 21:35:16 +08:00
f708a0269d
feat(ninja): publish --bnp uploads a prebuilt wasm artifact (WO-WZ-011)
Alex Dunmow
2026-07-03 20:07:57 +08:00
ad6d87bf06
feat(ninja): plugin build/verify → .bnp packer + ABI riders (WO-WZ-009)
v0.15.1
Alex Dunmow
2026-07-03 18:34:17 +08:00
5880aa21ee
test: modernize idiom in wasmguest tests (slices.Contains, any, new(v))
Alex Dunmow
2026-07-03 17:51:08 +08:00
cbc9ff495f
feat(captcha): stateless Cap protocol Server (challenge/redeem/verify)
Alex Dunmow
2026-07-03 17:21:21 +08:00
7b15ce70d0
feat(captcha): in-process nonce store for single-use enforcement
Alex Dunmow
2026-07-03 17:16:19 +08:00
f5cbb56df7
feat(captcha): HMAC-signed stateless challenge + verification tokens
Alex Dunmow
2026-07-03 17:13:24 +08:00
84723991cd
feat(captcha): FNV-1a + xorshift32 PRNG matching Cap.js widget
Alex Dunmow
2026-07-03 17:07:54 +08:00
40ba4ee9de
bnwasm: nil []string→NULL, fatten DbValue fixtures, doc text[] NULL-element limit
v0.15.0
Alex Dunmow
2026-07-03 14:49:49 +08:00
081bacf2ab
feat(wasmguest): wire bnwasm Pool into guest CoreServices (WO-WZ-004)
Alex Dunmow
2026-07-03 14:41:56 +08:00
7881aeee05
feat(wasmguest): guest DB driver bnwasm (WO-WZ-004)
Alex Dunmow
2026-07-03 14:41:45 +08:00
bec3a43f55
feat(wasmguest): guest capability stubs over host calls (WO-WZ-003)
Alex Dunmow
2026-07-03 14:23:58 +08:00
5f4fa9db0f
fix(wasmguest): frame empty InvokeResponse as (ptr,0), not packed 0
Alex Dunmow
2026-07-03 14:23:36 +08:00
dc621e6d96
chore(ninja): check fmt.Fprintln returns in publish warnings (errcheck)
Alex Dunmow
2026-07-03 13:53:46 +08:00
9bbc793563
test(wasmguest): reactor fixture plugin + throwaway wazero host (WO-WZ-002)
Alex Dunmow
2026-07-03 13:53:39 +08:00
c35199f0bc
feat(wasmguest): guest runtime shim for the wasm plugin ABI (WO-WZ-002)
Alex Dunmow
2026-07-03 13:53:24 +08:00
704b046727
feat(abi): wasm plugin ABI protobuf schema v1 (WO-WZ-001)
Alex Dunmow
2026-07-03 12:47:00 +08:00
c6305d18c2
feat(ninja): theme screenshot harness (chromedp)
Alex Dunmow
2026-06-25 17:21:43 +08:00
5170d3adf4
fix(render): unwrap BlockNote tableCell objects so table cells render content
v0.14.1
Alex Dunmow
2026-06-18 21:59:30 +08:00
d5e9d7ecd3
Link CLAUDE.md to AGENTS.md
Alex Dunmow
2026-06-18 16:46:53 +08:00
d08466ec70
chore: fix SDK downstream paths for consolidated layout
v0.14.0
Alex Dunmow
2026-06-13 13:18:12 +08:00
d9788abe4c
feat(plugin): media deposit SDK surface — Media, MediaDeposit, EnsureMedia
Alex Dunmow
2026-06-13 13:14:31 +08:00
e309e3d80b
chore: bump templ to v0.3.1020
Alex Dunmow
2026-06-13 13:14:31 +08:00
d75bec2e03
docs: README ServiceDeps -> CoreServices
Alex Dunmow
2026-06-11 16:22:03 +08:00
aa66c2f409
chore: update proto submodule to merged main
Alex Dunmow
2026-06-08 20:54:07 +08:00
f4e579ad7a
refactor: simplify pongo template context and engine, add private plugins spec
Alex Dunmow
2026-06-08 20:49:18 +08:00
26b262ce73
feat(ninja): wire ListTags into popular-tag prompt and list helpers
v0.13.1
Alex Dunmow
2026-06-07 15:53:03 +08:00
bb3ddfe1bd
refactor(ninja): extract popular-tags stubs into named helpers
v0.13.0
Alex Dunmow
2026-06-07 15:38:24 +08:00
5d368da839
test(ninja): plugin tags subcommand round-trip
Alex Dunmow
2026-06-07 15:34:36 +08:00
e16655aed8
refactor(ninja): use slices.Equal in mutateTags
Alex Dunmow
2026-06-07 15:33:38 +08:00
03d32aba26
feat(ninja): add 'plugin tags' subcommand
Alex Dunmow
2026-06-07 15:31:36 +08:00
533632a3bb
feat(ninja): prompt for tags in plugin init/edit flow
Alex Dunmow
2026-06-07 15:27:30 +08:00
6bc0f98979
refactor(ninja): thread tags through upsertPluginMod
Alex Dunmow
2026-06-07 15:25:00 +08:00
d53c3d8325
feat(plugin): add Tags field to ModPlugin
Alex Dunmow
2026-06-07 15:23:05 +08:00
ed365f9030
feat(plugin): add NormalizeTags helper and slug rules
Alex Dunmow
2026-06-07 15:20:24 +08:00
ba87684696
feat(plugin): add RequiredIconPacks to PluginRegistration and ModPlugin
v0.12.4
Alex Dunmow
2026-06-07 15:14:15 +08:00
c3c7b2d441
docs: follow CMS module rename
Alex Dunmow
2026-06-06 13:55:49 +08:00
48c54814ec
docs: update paths after 2026-06-06 repo consolidation
Alex Dunmow
2026-06-06 13:02:51 +08:00
af7f44c34d
fix(plugin): drop VisibilityLabel and its proto import
v0.12.3
Alex Dunmow
2026-06-04 20:58:09 +08:00
7fc20a990b
fix(cli): use renamed ListMyAccountsForCLI RPC
v0.12.2
Alex Dunmow
2026-06-04 20:55:10 +08:00
051253396c
fix(proto): narrow core generation to plugin_registry.proto only
v0.12.1
Alex Dunmow
2026-06-04 20:53:44 +08:00
35436581b9
feat(proto): consume canonical block/proto as a submodule
v0.12.0
Alex Dunmow
2026-06-04 20:45:47 +08:00
c390e16b5c
build(make): auto-bump release version + distribute-sdk subcommand
v0.11.1
Alex Dunmow
2026-06-04 20:18:26 +08:00
87910e22ff
fix(make): check-sdk-pins matches single-line require form
Alex Dunmow
2026-06-04 08:53:17 +08:00
c4d00a11d9
build(make): release target + expand SDK_DOWNSTREAM_DIRS
v0.11.0
Alex Dunmow
2026-06-04 08:49:28 +08:00
7615bd92ca
feat(cli): multi-account login, private-plugin SDK, publish dirty handling
Alex Dunmow
2026-06-04 08:49:23 +08:00
264116f44e
feat(core): private-plugin SDK, PluginVisibility enum, and Go 1.26.4 bump
Alex Dunmow
2026-06-04 01:00:50 +08:00
06cabd6eb9
fix(cli): init prompts default to existing plugin.mod values
Alex Dunmow
2026-06-03 12:01:56 +08:00
041a7c2e3f
feat(core): plugin display_name + description; CLI prompts; SDK fields
Alex Dunmow
2026-06-03 11:31:23 +08:00
dae3aa918a
feat(core): sync plugin_registry proto with canonical (DenyDevice, GetDeviceStatus)
Alex Dunmow
2026-06-03 10:57:07 +08:00
46e3389045
test(cli): cover emitPublishWarnings across all three warning paths
Alex Dunmow
2026-06-03 10:15:24 +08:00
824d55a1fa
refactor(cli): extract publish-time warnings into emitPublishWarnings
Alex Dunmow
2026-06-03 10:14:50 +08:00
ea744888ae
test(cli): lock in trailing newline on gitignored-tracked warning
Alex Dunmow
2026-06-03 10:14:06 +08:00
3d62071f77
test(cli): cover autoCommitPluginMod detached HEAD and missing git
Alex Dunmow
2026-06-03 10:13:53 +08:00
e076a03c33
test(cli): cover publish-time warning helpers
Alex Dunmow
2026-06-03 09:13:00 +08:00
fda01e81b5
refactor(cli): extract publish-time warnings into testable helpers
Alex Dunmow
2026-06-03 09:12:56 +08:00
421f5ee0cb
test(cli): cover autoCommitPluginMod commit and no-op paths
Alex Dunmow
2026-06-03 09:11:37 +08:00
ee76d76dc6
test(cli): cover BuildSourceArchive dirty-tree stash-create path
Alex Dunmow
2026-06-03 09:11:08 +08:00
ab465ef07c
fix(cli): run gitignore-tracked warning before dirty-check so it fires unconditionally
Alex Dunmow
2026-06-03 08:59:41 +08:00
137a50c932
fix(cli): warn when publishing a repo that contains submodules
Alex Dunmow
2026-06-03 08:57:46 +08:00
c3cfa18ae0
fix(cli): warn about untracked files when publishing with --allow-dirty
Alex Dunmow
2026-06-03 08:56:43 +08:00
4c0104619e
fix(cli): friendly error when publishing from a repo with no commits
Alex Dunmow
2026-06-03 08:56:27 +08:00
20a7b35e50
docs(sdk): document Coords scope normalisation and accept-both contract
Alex Dunmow
2026-06-03 08:55:46 +08:00
7af42c1c83
docs(uat): tick all 86 UAT boxes after end-to-end observation
Alex Dunmow
2026-06-03 07:26:13 +08:00
d1c194ce66
fix(cli): archive working tree (via stash create) so --allow-dirty publishes uncommitted plugin.mod
Alex Dunmow
2026-06-03 07:07:10 +08:00
139d9b8543
fix(sdk): Coords trims leading @ from scope so callers can store either form
Alex Dunmow
2026-06-03 07:03:19 +08:00
12afdbd25e
fix(cli): store scope without @ in plugin.mod so Coords() yields single @
Alex Dunmow
2026-06-03 07:02:35 +08:00
f232effe69
feat(cli): init prompts for kind and categories
Alex Dunmow
2026-06-03 06:56:07 +08:00
a79aa709c2
feat(core): mirror Plugin.kind + ListCategories proto regen
Alex Dunmow
2026-06-03 01:44:26 +08:00