Changelog
Note
This is a mainline Coder release. We advise enterprise customers without a staging environment to install our latest stable release while we refine this version. Learn more about our Release Schedule.
Features
- Add notification preferences database & audit support (#14100, e164b1e) (@dannykopping)
Notifications are now available via Webhook and SMTP behind the
notifications
experiment. Read our guide on setting up notifications to get started. - Add template delete notification (#14250, 6f1951e) (@BrunoQuaresma)
- Add resume support to coordinator connections (#14234, cf8be4e) (@deansheather)
- Enable setting max port share level during template creation (#14366, cca4519) (@ethanndickson)
- Add notification deduplication trigger (#14172, 9c8c6a9) (@dannykopping)
- Add provisioning timings to understand slow build times (#14274, 6960d19) (@dannykopping)
- Add notification for suspended/activated account (#14367, c818b4d) (@mtojek)
- Notify about manual failed builds (#14419, 47f2c7d) (@mtojek)
- CLI: Add shell completions (#14341, 0b2ba96) (@ethanndickson)
- CLI: Add p2p diagnostics to ping (#14426, 8c15192) (@ethanndickson)
- CLI: Add aws check to ping p2p diagnostics (#14450, 4b5c45d) (@ethanndickson)
- Server: Allow mutating deployment values (#14414, 99e103e) (@johnstcn)
- Database: Retain most recent agent build logs (#14460, 0f8251b) (@johnstcn)
- Examples: Add envbuilder provider (#14405, 53e5746) (@johnstcn)
- Dashboard: Implement notification UI (#14175, 21942af) (@BrunoQuaresma)
A UI for users to control their notification preferences. Requires the
notifications
experiment to be enabled, and notification delivery to be configured.
Bug fixes
- Fix TestTailnet/Connect to wait for listener before dialing (#14148, dda9c56) (@spikecurtis)
- Ignore coderd log errors (#14166, f9b660e) (@sreya)
- Ignore errors on provided logger (#14169, 4e0cb60) (@sreya)
- Extend locking in wsproxy to avoid race (and fix flake) (#14167, 203f48a) (@sreya)
- Document files API needs ustar format (#14152, 70a694e) (@spikecurtis)
- Allow all users to read system notification templates (#14181, 58428aa) (@dannykopping)
- Allow tag removal in provisioner upsert (#14187, fab1960) (@f0ssel)
- Lock adding to tailnet waitgroup to avoid race (and fix flake) (#14195, e09ad1d) (@ethanndickson)
- Add template editor to /templates/:templateName route group (#14206, d0feb70) (@aslilac)
- Add version information to default docs links (#14205, d6c4d47) (@bcpeinhardt)
- Fix flaking
Test_sshConfigExecEscape
(#14233, 73402fc) (@ethanndickson) - Make default support links respect --docs-url (#14176, 76722a7) (@bcpeinhardt)
- Allow group members to read group information (#14200, 6f9b1a3) (@hugodutka)
- Avoid deleting peers on graceful close (#14165, 4fc0479) (@sreya)
- Move to dogfood before terraform applying (363a016) (@ethanndickson)
- Use dogfood contents as template dir (#14332, 0613797) (@ethanndickson)
- Show org summary page if not entitled (#14336, 4446d61) (@code-asher)
- Label premium features in middleware error (#14360, f8f3d89) (@code-asher)
- Include provisioner timing action in hash func (#14388, cc94420) (@dannykopping)
- Set network telemetry client version on server (#14376, 4cc26be) (@ethanndickson)
- Use authenticated urls for pubsub (#14261, ded612d) (@f0ssel)
- Increase group name limit to 36 from 32 (#14443, 4997691) (@code-asher)
- Detect nested dotfiles scripts (#14455, 63fe230) (@ethanndickson)
- Wait for provisioner daemon jobs to finish after sigterm (#14466, c597c92) (@ethanndickson)
- Support additional http headers on agent (#14464, e65eb03) (@ethanndickson)
- Include dormant users in template acl query (#14461, ef7fcf3) (@code-asher)
- Make non-existent asset paths return a 404 (#14472, cd38e29) (@code-asher)
- Delete workspace agent stats after 180 days (#14489, 6287502) (@ethanndickson)
- Serve test derp map locally (#14490, 851df91) (@ethanndickson)
- Correctly close SMTP message and await response (#14495, c90be9b) (@dannykopping)
- Restore closing SMTP message on method exit (#14496, 0f414a0) (@dannykopping)
- Use negative deadline to ensure timeout in
TestWebhook/timeout
(#14498, 9596f23) (@dannykopping) - stop reporting future licenses as errors (#14492, 4eac2ac) (@spikecurtis)
- allow posting licenses that will be valid in future (#14491, 5bd5801) (@spikecurtis)
Administrators may now load licenses ahead of their starting date. New licenses will be used automatically upon their activation time.
- CLI: Ensure that the support bundle command does not panic on zero values (#14392, 82e6070) (@johnstcn)
- CLI: Add check for DisableOwnerWorkspaceExec in scaletest (#14417, 6914862) (@johnstcn)
- Server: Humanize duration on notifications (#14333, 10327fb) (@BrunoQuaresma)
- Database: Include a technical summary row on over-pagination (#14415, d4adfa3) (@johnstcn)
- Examples: Use more precise example kubernetes template labels (#14028, f50e1d5) (@geniass)
- Examples: Fix location of env file (#14422, 4bd7fe8) (@johnstcn)
- Dashboard: Correct user agent data on audit row (#14243, 712a1b5) (@BrunoQuaresma)
- Minor fixups, added troubleshooting to notification docs (#14519, 66c8060) (@dannykopping)
Experimental Updates
These changes surround multiple organizations, which will be made available in a future release. Learn more in the guide on multi-org functionality in our docs.
- Breaking: allow CreateUser to accept multiple organizations (#14383, c8eacc6) (@Emyrk)
- Show a warning when an organization has no provisioners (#14136, dfeafa8) (@aslilac)
- Add organization-scoped permission checks to deployment settings (#14063, 097f739) (@code-asher)
- Add custom roles (#14069, 2e05329) (@jaaydenh)
- Add delete custom role context menu button and modal (#14228, 0b9ed57) (@jaaydenh)
- Show summary if unable to edit org (#14214, ba4186d) (@code-asher)
- Show organization information on templates page (#14224, 59a80d7) (@aslilac)
- Filter templates by organization (#14254, 8563b37) (@aslilac)
- Improve custom roles create/edit page (#14456, 15d74a1) (@jaaydenh)
- Show organization name for groups on user profile (#14448, 49afab1) (@aslilac)
- Re-add original create template context menu (#14326, bec6a26) (@jaaydenh)
- Only show valid organizations in
CreateTemplateForm
(#14174, 3b53f5a) (@aslilac) - Only show editable orgs on deployment page (#14193, 6019d0b) (@code-asher)
- Use multi-org settings layout even if not licensed (#14215, abbcffe) (@code-asher)
- Filter "add group member" by organization (#14404, 88d7181) (@code-asher)
- Fix light mode styles for organization delete button (#14485, 6bc9352) (@aslilac)
Documentation
- Advise against shared
CODER_CACHE_DIRECTORY
dir usage in note (#14216, d79a7ad) (@dannykopping) - Add vs code extensions documentation (#14119, 238e995) (@ericpaulsen)
- Move API and CLI docs routes under reference/ (#14241, 48f29a1) (@matifali)
- Clone git repositories (#14090, f1feb40) (@BrunoQuaresma)
- Add guide on using multiple organizations (#14012, c3ef7dc) (@bpmct)
Describes usage of the upcoming support for multiple organizations.
- Add documentation for coderd terraform provider (#14374, d7800a4) (@ethanndickson)
Allows administrators to declare Coder resources via Terraform. See the provider repository for more information.
- Add documentation for notifications, an experimental feature (#14478, 043f4f5) (@dannykopping)
Compare: v2.14.2...v2.15.0
Container image
docker pull ghcr.io/coder/coder:v2.15.0
Install/upgrade
Refer to our docs to install or upgrade Coder, or use a release asset below.