Releases: neslyhq/nesly
Releases · neslyhq/nesly
Release list
v0.4.0
Changelog
- 43e043e0d63caa89fbafad304c9d339bca4b7856 builds: run the project's own build, and serve what it produced
- a5051441312c9342155c8def6d1d096cc7550692 secrets, roles, machine credentials and logs that survive a restart
- aecd130c92c24f4838077667bdb0df7b4161598b edge: a real page for visitors, and a brake on the sign-in endpoints
- 2feb2e985069b9b2f39a99b7f8f75acb21bc1e57 console: say why things failed, and let people watch their app
- 4e86f90457c10b74af7f90f15d1b31cf85cc989f cli, docs: let a new customer reach their first URL alone
- 2ab9551833ce4f899d447729a56abec0ac062199 deploy: Helm chart and images for the whole control plane
- c9c2974f9fb3935d09980b8503656300117d5122 security: tenant-scoped project deletion, upload ownership, https-only repos
- 7a4a8d971152ddee4b7e22f9b826f1f807076caf mail: AUTH LOGIN for relays that do not offer PLAIN (Exchange); mailcheck ops tool
- 562ee0ecb0aceafffea605f580ad670fd6a124bb account: offer the password form unless the account is brokered (credentials endpoint lists second factors only)
- 830a10f2b969afd00f8b9b5d0545cab56c4fae6b team: invitations by e-mail, tenant switching, console Team page
- d1578a8cbe3f5445db319b88fbbb05edcbc61e9d account: profile, password change and sessions (AccountService over the IdP) + console Account page
- 91c4fe2a30088cf306e755df4af3659817dad4d8 console: plan picker, payment method and invoices on the billing page; site: mobile overflow fix, free price display
- a182f837dadd344b30ea5cc27306d985cfc03369 billing: plans, payment card details, invoices (backend) + landing copy in plain language
- 22aaf77e66576d38cdd89b6416c596d750a48985 site: FAQ expanded to 15 questions (product, stacks, deploy, domains, data, billing, cards, refunds, support, auth, portability)
- 958258fe270b9a2be364d4016bd4e1e9997d8c45 site: card scheme logos (Visa, Mastercard, Troy) and a theme-aware 3D Secure badge in the footer
- 9298dfd19af2c8d5bdcceb91b7a19225d6355e18 site+console: bank-review gaps — legal index, 404, sitemap/robots/favicon, hreflang, mobile menu, consent
- 118003ba2f3e71d04911e11caeeea8f60676f62c site: Pro plan priced 10% below the market Pro tier (869 TL/mo, 8690 TL/yr, VAT incl.)
- 5afd12e191de57f33f76cf40dc9c86de57dd62f0 site: company identity, legal pages, contact and pricing for card acceptance
- 5f2749884cf4c6d9d93cc27d2e1508746ea2b3ce panel: brand from brand.config.json; legacy host 301 to console
- 62fb96f403aef8754c57a1b163eacae43fd3d02a site: rewrite landing copy; brand from brand.config.json
- ce4ede667539db4461928ed7d2d203938b929f9f apid: project hostnames are always -.
- 99aba93fce8f1326cfdec9364569174305b7c87f builderd: build with BuildKit (buildx, linux/amd64)
- 0666ec36fa4ba04f3afe8df2370f01e395f1cc0a feat: embedded forgot-password flow (panel v11)
- 0fa37c8eb763b99da1e8ac232b633787b64900b3 feat: social login in a centered popup + 2x2 provider grid (panel v10)
- 7f427f52f9f980b49f60f6ba96b3eb150b6ab143 feat: apple + microsoft provider glyphs in the login social buttons (panel v9)
- 58765f2fb92958a55b05111a1705c25be4ff666d feat: google social login live on serverless tenant; provider icon lookup by alias
- c01d563da074018c5c1e1f0caa605ff84e0ca004 fix: brand mark back to the plain initial, kept at the larger size
- 9806610e056863af363af7f113f079e5761b61a8 feat: D71 — social login plumbing, brute-force proof, new brand mark
- 4d6dbbaa1d573da46123ceed386947e01946d0cb feat: D70 — embedded panel login/register via apid auth proxy
- 191ff860e617d63aa4a31d7593a26bb609f834ad feat: D69 — metrics-server on LESS cluster; capacity measured, no resize needed
- 08af819be4399c419f3e9b075f68b3ee0893d12d panel: tab title from brand config (VITE_BRAND_NAME) at boot
- 93f9748f35c63dac8b7fc2d4ab8f3f8fa1bbc14a ci: make release workflow manual-only until macOS signing exists in CI
- 7c4990d3fbd689e33a5c3a82fccccb1e1d1cdc6b routerd: per-custom-domain TLS via ACME (autocert)
- 5a9371ed27d62d8f4cdff6878d9b048be7c9104f panel: /v1 target via PANEL_API_ORIGIN env (nginx template), no baked IP
v0.3.0
Changelog
- a38c8378f83edaa542c17c7e9f6404866bdc54c2 cli+routerd: public API over api.nesly.net
- b5dde0ffdbb258fcc7e4c08dc08d657f47170202 panel: /v1 proxy -> less-ctl-2; plan: D61 gate — routerd is the public edge, first tenant site live
- 0baa72f20b33ca02a978581ff78352f38d86255b routerd: TLS termination + default-backend fallthrough (the router becomes the public edge)
- 3ce07cdd2f5f02318d9b4739f88103d0d1aa4268 panel: production image (nginx SPA + /v1 proxy); plan: D60 control plane on less-ctl-1, panel.nesly.net live
- c5b6112b8c5975637896a7cec4c9fb23e78eccd9 site: Dockerfile; plan: D59 public edge + nesly.net live
v0.2.0
v0.1.1
v0.1.0
Changelog
- 495aea205533f5d6acbc7dffe5427f6d503cacb0 release: public neslyhq/nesly as the release home (source stays private)
- c7cc0497dc64d742fc6c463462d93b6ba879d568 chore: stop tracking the stray apid binary (79MB)
- 9c45f9d8d1f5b8cdc6493e5345469874a313a4a7 billing: durable invoice queue + Paraşüt e-document client
- 01f488ae8944caa90c29b7626446c977d985611f billing: invoice profile (legal identity for e-Arşiv/e-Fatura)
- b5e71d5ecba6c2e1fa51ceba017a8aa367d4bd29 release: shared tap repo homebrew-tap (brew install neslyhq/tap/nesly)
- b10fdf7d028c2b7c6d35bfe1fd5eecff6b9e1f8e release: tap owner is neslyhq (the nesnet GitHub account is not ours)
- be45c31060716e7a97fbbf913895b4c1b7ac957e cli: ship as nesly (Homebrew tap nesnet/nesly)
- 8c72195d4d88467c06bf21c73966125d4bac08af billing: renewal loop; edge pauses unentitled tenants
- cc86ea0366f17b86f029e1208f1041a9562e0d0e site: landing page (Astro + Tailwind, EN default / TR optional)
- d9c701c60d42dc30f32f8680a90bcc95a14fb6d0 operator: cross-tenant view (API + panel)
- 436da5dfee2d59e7a593295c8eff4acc03cc9e6c panel: per-project daily usage chart, shared chart component
- 398fff0e2b14bbc21c06da937d444d602832f03d panel: overview dashboard with usage charts and onboarding
- de111434a927588889031bf0280e44b287398a8b billing: the subscription journey is live end to end (dev gateway)
- e92f503449c884609d895cab58204a643fa9619d billing: subscription state machine — card verify, 30-day trial, auto-renew
- 84aa675b118904329917a173a3c1691cbdd5efaa identity: self-registered users get a derived tenant — signup is live
- 73dc0f2070718ad423e685ff0ba289644d5e3d75 dns: Cloudflare adapter — zones and level-triggered records
- 79c6180aaeb50dd3bd6780eaa6a77f093b902a1c panel: no mixed-language surface — formatters and follow the UI language
- ef1491c650d81605845a75155f7cba6e53169f20 panel: English is the default language, Turkish optional
- 9be6c9e503682e1ba18882deae0055d159f1f84d domains: real DNS verification behind APID_DNS_RESOLVER
- 0681c787660faaa9d022eb7c03cd6ef13d41689c addon: postgres rides the shared CNPG cluster, with a real tenancy fence
- 1978be5f4c9ef8926c1db1f36d844f05ad28c036 meterd v0: GB-seconds from sampled memory bounds
- 603d97ed8d58038aaaf1c8604582f323704f7d88 knative: resource bounds on every tenant container — and make them real under gVisor
- 53368da04ef2cdf6183132ecc559caca5e25d43b addon: oidc — a deployed app gets its own OIDC client in one command
- 2e74216375b0264fe5f45e34776fa42f7fc8ca82 network: tenant baseline isolation policy + socket-LB fix for gVisor
- 30201de073fdff59cfae0e0635abd7e1f9a17bdb registry: auto-scan every tenant project push (Trivy)
- 23dd4fc46bd63e8f8edc2a627edaa2ece41404c0 registry: automatic tenant onboarding — apid ensures the tenant's Harbor project
- d3e1ab3de0167fc9c70bd13dd4ccd6fdbbf5e486 registry tenancy: per-tenant private Harbor projects, robot creds from OpenBao
- b99369bea15513ff6e9daa00bb8d6e6561acb354 platform: namespace lifecycle — DeleteProject removes the project's runtime residue
- c04123ab76c26bc238f921b8e0f42333cbef5b2f builderd: registry-prefixed refs and Harbor push, same contract as apid
- 0cbff8620a6b8e746e23fbb978497763b4b41cc9 platform: knative runtime adapter — apid deploys to the LESS cluster
- 517e40d8e092758c25ec6ce1b954bb7fc1391e01 sim: full LESS stack — gVisor, local-path, SeaweedFS S3, CNPG, Harbor
- 5ab67241bbddfae54c9da2e5efb58ad3a8640b0c sim: LESS environment — Talos cluster on vCenter, Knative gate green
- cde0a9b63c292726aa17466389e0ef0147eaea27 build: pass the project's .NET SDK version to nixpacks
- 3279a691c19893a822df43ec74e3ffc8672e4008 build: prove the nixpacks image path with a Python workload
- 32566b5d5c13a2d5517805772d292ab9ed875485 panel: addons card — list, add from catalog, confirm-gated removal
- ed34fe535aacb2788427a0dc1237c49834fdbbda addons: nesnet addon add postgres — managed databases, Railway model
- 0f347f1c01724bb2141a8c8e38683daca750d228 brand: single sweep point for the working name
- eacb965395345289f3c81d2b012b5edb5672e89b PLAN: gap block A1-F closed with evidence; G awaits API-shape decision
- 17228ab02b64d83912521a50a09d26b12bd08e6a panel: preview link on deployment rows
- 2199bbe6ae5b396f1462cf27aad882b7ff922735 MCP: full operational parity — rollback, domains, inspection, delete
- 35b22c10e53fd111b782232d3aa1a859f996495a deployments: immutable preview URLs
- cbedcfb4203be094c9dd19821e955e1f397c2ada router: SPA fallback for static sites
- e30e67163dbfffc9e096eb542a7d445601cbd8af dockerlocal: fail fast when the app crashes at start
- 1a0c7d7a42a880f7f20969c33e9f5bb9a1e46a79 rollout: health check before READY
- 6be9da840d10a175b3e75182d20c9ce4d7866058 logs: runtime output flows into the deployment log stream
- 706bfa97c1787d0612a7c0a026cd204c508d451e dockerlocal: platform env injection wins over tenant env
- fb43673fa3a0847301edaa9bf8360bb18246c1a3 platform: dockerlocal runtime — real T2 containers with scale-to-zero
- f3e6c7d503b3491cdfc4e847e92e1538f439cc05 router: reverse-proxy service backends
- 2ced1091827c174952885e8a9145346102b4e941 MCP: create_project, connect_repository and redeploy tools
- d002a41c42c5f155bab2ee3c3607b72d28d38b5d Extract routerd sync/flush loops into internal/router; add e2e loop test
- e9748525ebe598be786f3b4eb39811aeb213fd10 Deploy without a source: server resolves repo head or last upload
- ab34509f2b01e74e643faf8627bf0327060dabb3 Panel: git repository connect UI on the project detail page
- 30eeb375ee99d3aa580007ada520b2be7e2546c9 Git push deploys: connected repositories, real git builds, GitHub webhook
- dcde7f9bc5d679e2f8a652f7a218340b2bc9788b Queue-aware restart sweep for stranded deployments
- 1eb6cad6c53ecab9afa28480bf860bd3edf80251 Panel: danger zone with name-confirmed project deletion
- 88274514c24ae4c2422bd54a77aebf847ea7f8d7 Classifier: recognize .NET projects explicitly
- 15abbd4ffc54130ef52a1953bed922a4d9e53902 Docs and dev tooling for the builderd and metering slices
- 1200cb3ce36187090ed7cb5818d0dd64a54b74b1 Split builds out of apid: builderd workers over NATS JetStream
- 27d99d34e806a5f2941f231bc19d720864bf7b51 Tenant-facing usage: GetUsage API, panel card, CLI and MCP surfaces
- 1b6dce917f4963fe987bba049b80a3564be034e7 Metering day one: edge and build usage records into the store
- 17cb8dc6fb5421115ce59d6ecf72ab324a40eab7 Panel: retry the sign-in redirect over transient identity-edge 503s
- 854d44a2302f459f81c8e10081b85ecba468844a Panel: inline deployment log console streaming over REST
- de18b2ac6b6d8f2a664acdd26ca6b0c93d130b58 Add mcpd: MCP server exposing deploy/logs/env tools over stdio
- 65a6f1233c043daf4b8fefe6ad86bea2e3eb433c Unify ground to plain white, pill buttons, drop monospace from UI text
- 785c8493d6e717d03018f9efe81fabac11f97c22 Warm neutral palette and larger type scale across the panel
- 41d08c633e110583c64413e91e0594c6a469ceb3 Tighten project detail composition: inline header forms, denser cards
- ffdda3f6ea85f7fe4fe19657548684a3c2fa25a6 Panel project detail design pass: section cards, header identity, i18n columns
- 5f6ae7ac3c24a69b5de1b3d334f6fdc556a06ace Panel design pass: card grid, status metadata, refined tokens
- 62bad6a40d4d3f0a3f465ff4dc15c51f1038f54f Panel OIDC login: authorization code + PKCE against NIM/Keycloak
- c9b1c397e628e2b2f41700c0801fe6c96bd675c5 Live NIM integration: internal control-plane token + boot discovery retry
- ed52e19bc81dc0948a3334c29a8a053b79cfcf23 CLI sends the OIDC id_token to the API instead of the access token
- d6150f09e42f6b4feedc5e963f77e967e75ca72a Add OIDC auth: Keycloak verification in apid, device flow in the CLI
- 8819c914a0c97a42bb21e5c6e156113ef9e454e4 Add Postgres store with shared contract suite and restart sweep
- 26cc6e5b34445a171d94a313c41f3dc13a0ece39 Add routerd edge tier; remove all brand/domain hardcoding
- decdd0d4956ee6df1d7f7eca9c466e3d0297f675 Real source upload and real classification in the deploy pipeline
- f9810b006878289f31f24ef3a21f72a531ffbd35 Bootstrap Faz 0 walking skeleton: control plane, CLI, panel