After two months of dedicated work since our last stable release on February 3rd, we're excited to release ShellHub v0.15.0! This release is packed with new features, improvements, and several fixes.
Thank you for your continued support and contributions to ShellHub! We're excited about these new features and improvements, and we look forward to your feedback. Stay tuned for more updates!
What's Changed
- ui: bump @sentry/tracing from 7.98.0 to 7.99.0 in /ui by @dependabot in #3511
- ui: bump @sentry/vue from 7.92.0 to 7.99.0 in /ui by @dependabot in #3515
- ui: bump @types/node from 18.19.7 to 18.19.14 in /ui by @dependabot in #3514
- ui: bump vuetify from 3.5.1 to 3.5.2 in /ui by @dependabot in #3512
- ui: bump vee-validate from 4.12.4 to 4.12.5 in /ui by @dependabot in #3513
- fix(agent): don't allow negative time for keepalive on agent by @henrybarreto in #3516
- feature(pkg): add log format to loglevel package by @henrybarreto in #3518
- remove deprecated query packages by @heiytor in #3521
- refactor namespace update route by @heiytor in #3519
- fix(agent): use the right binary on production stage for Dockerfile by @henrybarreto in #3520
- feat: namespace's connection announcement by @heiytor in #3508
- config: bump shellhub version to v0.15.0-rc.1 by @gustavosbarreto in #3544
- api: bump golang.org/x/crypto from 0.18.0 to 0.19.0 in /api by @dependabot in #3530
- api: bump github.com/getsentry/sentry-go from 0.26.0 to 0.27.0 in /api by @dependabot in #3531
- docker: agent: bump alpine from 3.16 to 3.19 in /agent by @dependabot in #3532
- ssh: bump golang.org/x/crypto from 0.18.0 to 0.19.0 in /ssh by @dependabot in #3533
- ui: bump @vue/runtime-dom from 3.4.13 to 3.4.18 in /ui by @dependabot in #3535
- ui: bump @sentry/tracing from 7.99.0 to 7.100.1 in /ui by @dependabot in #3537
- chore(deps): bump golangci/golangci-lint-action from 3 to 4 by @dependabot in #3538
- ui: bump eslint-plugin-vue from 9.20.1 to 9.21.1 in /ui by @dependabot in #3539
- ui: bump @sentry/vue from 7.99.0 to 7.100.1 in /ui by @dependabot in #3540
- ssh: bump golang.org/x/net from 0.20.0 to 0.21.0 in /ssh by @dependabot in #3534
- ui: bump vuetify from 3.5.2 to 3.5.3 in /ui by @dependabot in #3536
- correct cli documentation redirect by @heiytor in #3546
- chore: add start command to redis to no save on disk by @henrybarreto in #3548
- docker: ui: bump nginx from 1.25.3-alpine to 1.25.4-alpine in /ui by @dependabot in #3558
- ui: bump sass from 1.69.7 to 1.71.0 in /ui by @dependabot in #3550
- ui: bump vite from 5.0.12 to 5.1.3 in /ui by @dependabot in #3551
- ui: bump @sentry/tracing from 7.100.1 to 7.101.1 in /ui by @dependabot in #3552
- ui: bump terser from 5.27.0 to 5.27.1 in /ui by @dependabot in #3553
- ui: bump @vitejs/plugin-vue from 5.0.3 to 5.0.4 in /ui by @dependabot in #3554
- cli: bump go.mongodb.org/mongo-driver from 1.13.1 to 1.14.0 in /cli by @dependabot in #3555
- api: bump go.mongodb.org/mongo-driver from 1.13.1 to 1.14.0 in /api by @dependabot in #3556
- docker: gateway: bump nginx from 1.25.3-alpine to 1.25.4-alpine in /gateway by @dependabot in #3557
- fix: device list acceptable wrong status by @henrybarreto in #3547
- feature(agent,pkg): validate required env variable when it is empty by @henrybarreto in #3529
- refactoring internal client package by @heiytor in #3559
- binding a random api port by @heiytor in #3528
- fix(agent): use raw command to fix issues with quoted arguments. by @gustavosbarreto in #3561
- chore(agent,pkg): add API tests and chores for it by @henrybarreto in #3560
- ui: bump terser from 5.27.1 to 5.28.1 in /ui by @dependabot in #3567
- ui: bump @sentry/tracing from 7.101.1 to 7.102.1 in /ui by @dependabot in #3563
- ui: bump sass from 1.71.0 to 1.71.1 in /ui by @dependabot in #3564
- ui: bump dotenv from 16.3.2 to 16.4.5 in /ui by @dependabot in #3565
- ui: bump vite from 5.1.3 to 5.1.4 in /ui by @dependabot in #3566
- refactor: move dev agent service to it own compose file by @henrybarreto in #3568
- feat(ui): alert for private keys privacy policy by @luannmoreira in #3569
- chore(docker-compose): dynamic network by @heiytor in #3571
- feat(ui): private keys passphrase validation by @luannmoreira in #3570
- ssh: bump golang.org/x/crypto from 0.19.0 to 0.20.0 in /ssh by @dependabot in #3572
- cli: bump github.com/stretchr/testify from 1.8.4 to 1.9.0 in /cli by @dependabot in #3574
- api: bump github.com/stretchr/testify from 1.8.4 to 1.9.0 in /api by @dependabot in #3575
- api: bump golang.org/x/crypto from 0.19.0 to 0.20.0 in /api by @dependabot in #3576
- ui: bump eslint-plugin-vue from 9.21.1 to 9.22.0 in /ui by @dependabot in #3577
- ui: bump express from 4.18.2 to 4.18.3 in /ui by @dependabot in #3578
- ui: bump @sentry/vue from 7.100.1 to 7.104.0 in /ui by @dependabot in #3579
- ui: bump @types/node from 18.19.14 to 18.19.21 in /ui by @dependabot in #3580
- ui: bump @vue/runtime-dom from 3.4.18 to 3.4.21 in /ui by @dependabot in #3581
- ssh: bump github.com/stretchr/testify from 1.8.4 to 1.9.0 in /ssh by @dependabot in #3573
- fix(pkg,requests): validate tenant id using uuid rule by @henrybarreto in #3582
- refactor(ssh): use auth handlers to start SSH connection by @henrybarreto in #3583
- improve(ssh): remove env parsing from session handler by @henrybarreto in #3584
- chore(ssh): split handlers into subsystems, channels and handlers by @henrybarreto in #3585
- fix(ssh): inform the API for a closed connection by @henrybarreto in #3589
- api: bump golang.org/x/crypto from 0.20.0 to 0.21.0 in /api by @dependabot in #3591
- ui: bump terser from 5.28.1 to 5.29.1 in /ui by @dependabot in #3592
- ui: bump vue-router from 4.2.5 to 4.3.0 in /ui by @dependabot in #3593
- ui: bump vue-stripe-js from 1.0.1 to 1.0.2 in /ui by @dependabot in #3594
- ui: bump @sentry/vue from 7.104.0 to 7.106.0 in /ui by @dependabot in #3595
- ui: bump typescript from 5.3.3 to 5.4.2 in /ui by @dependabot in #3596
- ssh: bump golang.org/x/net from 0.21.0 to 0.22.0 in /ssh by @dependabot in #3597
- chore(deps): bump softprops/action-gh-release from 1 to 2 by @dependabot in #3599
- Refactor/ssh api client by @heiytor in #3586
- refactor(ssh): remove unnecessary handling for session channel by @henrybarreto in #3588
- feature(agent): set environmental variable sent by client to session by @henrybarreto in #3601
- refactor(ui): terminal on close handling by @luannmoreira in #3604
- fix(ssh): use options for default channel session handler by @henrybarreto in #3602
- refactor(ssh): seal web ssh session into it own package by @henrybarreto in #3603
- ssh: bump google.golang.org/protobuf from 1.28.1 to 1.33.0 in /ssh by @dependabot in #3610
- api: bump google.golang.org/protobuf from 1.29.1 to 1.33.0 in /api by @dependabot in #3611
- chore(deps): bump google.golang.org/protobuf from 1.26.0 to 1.33.0 by @dependabot in #3608
- fix(ssh): close either client or agent when connot read anymore by @henrybarreto in #3605
- fix(ui): remove unused unmount on terminal by @luannmoreira in #3607
- feat(devscripts): run agent script by @heiytor in #3606
- Refactor/ssh authentication by @heiytor in #3590
- ui: bump vee-validate from 4.12.5 to 4.12.6 in /ui by @dependabot in #3616
- ui: bump axios from 1.6.7 to 1.6.8 in /ui by @dependabot in #3615
- ui: bump vite-node from 1.2.0 to 1.4.0 in /ui by @dependabot in #3614
- ui: bump @sentry/tracing from 7.102.1 to 7.107.0 in /ui by @dependabot in #3613
- feature(ssh)!: send keepalive request to client to keep session open by @henrybarreto in #3618
- refactor(ui): attribued an unique identifier to Private Keys listing by @luannmoreira in #3617
- feat(api, ui): implement API key by @danyecls in #3177
- fix(ssh): evaluate public key before dial to agent by @henrybarreto in #3619
- fix(ssh): return data to client when shell or exec are executed same time by @henrybarreto in #3622
- feat(ssh): add banner to inform uses about device status by @henrybarreto in #3621
- Integration tests by @gustavosbarreto in #3206
- agent: bump github.com/docker/docker from 24.0.7+incompatible to 24.0.9+incompatible in /agent by @dependabot in #3624
- chore(deps): bump github.com/docker/docker from 24.0.7+incompatible to 24.0.9+incompatible by @dependabot in #3626
- chore(deps): bump github.com/docker/docker from 24.0.7+incompatible to 24.0.9+incompatible in /connector by @dependabot in #3625
- chore(deps): bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /tests by @dependabot in #3627
- chore(deps): bump github.com/go-resty/resty/v2 from 2.10.0 to 2.11.0 in /tests by @dependabot in #3628
- chore(deps): bump github.com/docker/docker from 24.0.7+incompatible to 24.0.9+incompatible in /tests by @dependabot in #3629
- chore(deps): bump github.com/moby/buildkit from 0.12.2 to 0.12.5 in /tests by @dependabot in #3630
- chore(deps): bump github.com/opencontainers/runc from 1.1.7 to 1.1.12 in /tests by @dependabot in #3631
- chore(deps): bump github.com/containerd/containerd from 1.7.7 to 1.7.11 in /tests by @dependabot in #3633
- chore(deps): bump go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace from 0.40.0 to 0.44.0 in /tests by @dependabot in #3636
- fix(ssh): reject the request type when the session is handled by @henrybarreto in #3634
- test(ui): add test cases to adapt private key changes by @luannmoreira in #3620
- test(ui): added test cases for public key manager by @luannmoreira in #3638
- ui: bump @vue/test-utils from 2.4.4 to 2.4.5 in /ui by @dependabot in #3640
- ui: bump @sentry/vue from 7.106.0 to 7.108.0 in /ui by @dependabot in #3641
- ui: bump typescript from 5.4.2 to 5.4.3 in /ui by @dependabot in #3642
- ui: bump @sentry/tracing from 7.107.0 to 7.108.0 in /ui by @dependabot in #3643
- ui: bump @rushstack/eslint-patch from 1.7.2 to 1.8.0 in /ui by @dependabot in #3644
- refactoring users authentication by @heiytor in #3181
- chore(all): update go version to 1.21 by @heiytor in #3649
- use curl to test availability of ACME server, which tries all resolved IPs by @merlinran in #3647
- ui: bump express from 4.18.3 to 4.19.2 in /ui by @dependabot in #3650
- chore(dependabot): update go version to 1.21 by @gustavosbarreto in #3651
- ssh: bump github.com/labstack/echo-contrib from 0.15.0 to 0.16.0 in /ssh by @dependabot in #3645
- fix(ssh): redial the connection when user authentication fails by @henrybarreto in #3652
- fix(ui): correct notification view nomenclature by @luannmoreira in #3654
- fix set session as active by @heiytor in #3657
- docker: ssh: bump golang from 1.21.8-alpine3.19 to 1.22.1-alpine3.19 in /ssh by @dependabot in #3664
- docker: cli: bump golang from 1.21.8-alpine3.19 to 1.22.1-alpine3.19 in /cli by @dependabot in #3665
- docker: agent: bump arm64v8/golang from 1.21.8-alpine3.19 to 1.22.1-alpine3.19 in /agent by @dependabot in #3666
- docker: agent: bump golang from 1.21.8-alpine3.19 to 1.22.1-alpine3.19 in /agent by @dependabot in #3667
- docker: agent: bump arm32v7/golang from 1.21.8-alpine3.19 to 1.22.1-alpine3.19 in /agent by @dependabot in #3668
- docker: agent: bump arm32v6/golang from 1.21.8-alpine3.19 to 1.22.1-alpine3.19 in /agent by @dependabot in #3669
- docker: api: bump golang from 1.21.8-alpine3.19 to 1.22.1-alpine3.19 in /api by @dependabot in #3671
- ui: bump vuetify from 3.5.3 to 3.5.13 in /ui by @dependabot in #3659
- ui: bump @sentry/tracing from 7.108.0 to 7.109.0 in /ui by @dependabot in #3660
- ui: bump vite-plugin-vuetify from 2.0.1 to 2.0.3 in /ui by @dependabot in #3661
- ui: bump vite from 5.1.4 to 5.2.7 in /ui by @dependabot in #3662
- ui: bump sass from 1.71.1 to 1.72.0 in /ui by @dependabot in #3663
- chore(api): use shellhub's fork for mongo-migrate by @henrybarreto in #3673
- Feature/api ssh graceful shutdown by @henrybarreto in #3676
- fix(ssh): avoid panic when setting timeout for agent connection by @henrybarreto in #3677
- refactor(ui): change ui device components to Vue 3 Composition API by @luannmoreira in #3655
- feat(cli): use 'run' instead of 'exec' for docker-compose commands by @gustavosbarreto in #3679
- test(ui): generate device related snapshots by @luannmoreira in #3681
- chore(ui): update entrypoint.sh by @gustavosbarreto in #3680
- fix: resolve docker-compose warnings by @gustavosbarreto in #3682
- feat(gateway): set custom value for backlog parameter by @gustavosbarreto in #3683
- fix(gateway): remove backlog opt to fix duplicated listen directive by @gustavosbarreto in #3684
- improving bug-report template by @heiytor in #3678
- ui: bump @fortawesome/free-regular-svg-icons from 6.5.1 to 6.5.2 in /ui by @dependabot in #3689
- ui: bump @fortawesome/fontawesome-svg-core from 6.5.1 to 6.5.2 in /ui by @dependabot in #3690
- ui: bump @fortawesome/fontawesome-free from 6.5.1 to 6.5.2 in /ui by @dependabot in #3691
- ui: bump @sentry/vue from 7.108.0 to 7.109.0 in /ui by @dependabot in #3692
- ssh: bump golang.org/x/net from 0.22.0 to 0.24.0 in /ssh by @dependabot in #3693
- docker: cli: bump golang from 1.22.1-alpine3.19 to 1.22.2-alpine3.19 in /cli by @dependabot in #3695
- rm(ui): remove manual chunks from vite config by @luannmoreira in #3685
- ui: bump typescript from 5.4.3 to 5.4.4 in /ui by @dependabot in #3688
- api: bump golang.org/x/crypto from 0.21.0 to 0.22.0 in /api by @dependabot in #3687
- revert go 1.22 by @heiytor in #3704
- ui: bump vite from 4.5.1 to 5.2.8 in /ui by @dependabot in #3702
- fix slow query in NamespaceGet by @heiytor in #3707
- improve(api): set device positon on authentication by @henrybarreto in #3708
- tests(ui): add user settings related unitary tests by @luannmoreira in #3706
- feature(api,cli): add env to define redis connection pool size by @henrybarreto in #3709
- fix(ssh): avoid closing client connection before data pipe ends by @henrybarreto in #3710
- fix(agent): resolve segfault caused by non-thread-safe crypt function by @gustavosbarreto in #3711
- tests(ui): added interface views related unitary tests by @luannmoreira in #3712
- tests(agent,ssh): add integration tests to SSH connection by @henrybarreto in #3517
- config: bump shellhub version to v0.15.0-rc.2 by @gustavosbarreto in #3717
- refactor(ssh): move tunnel logic to it own package by @henrybarreto in #3399
- fix(api): add permissions and role handling for API Key by @henrybarreto in #3718
- fix(ui): add error messages and test cases for api key generating and editing by @luannmoreira in #3719
- chore(deps): bump github.com/docker/docker from 25.0.2+incompatible to 25.0.5+incompatible in /tests by @dependabot in #3714
- ui: bump @sentry/tracing from 7.109.0 to 7.110.0 in /ui by @dependabot in #3723
- ui: bump yup from 1.3.3 to 1.4.0 in /ui by @dependabot in #3724
- ui: bump sass from 1.72.0 to 1.75.0 in /ui by @dependabot in #3725
- ui: bump terser from 5.29.1 to 5.30.3 in /ui by @dependabot in #3726
- ui: bump vite-node from 1.4.0 to 1.5.0 in /ui by @dependabot in #3727
- docker: cli: bump golang from 1.22.1-alpine3.19 to 1.22.2-alpine3.19 in /cli by @dependabot in #3730
- cli: bump go.mongodb.org/mongo-driver from 1.14.0 to 1.15.0 in /cli by @dependabot in #3722
- api: bump go.mongodb.org/mongo-driver from 1.14.0 to 1.15.0 in /api by @dependabot in #3728
- ssh: bump github.com/labstack/echo-contrib from 0.16.0 to 0.17.0 in /ssh by @dependabot in #3729
- fix(ui): vitest configuration file import warnings by @luannmoreira in #3716
- fix(api): list api keys from namespace and avoid duplicated names on edit by @henrybarreto in #3720
- tests(ui): add new connection related tests by @luannmoreira in #3732
- config: bump shellhub version to v0.15.0-rc.3 by @gustavosbarreto in #3733
- fix(ssh): wait for goroutines allowing client connection closure by @henrybarreto in #3734
- feature(tests): add test to direct tcpip port redirect by @henrybarreto in #3735
- refactor: store connection and dbtest by @heiytor in #3705
- agent: bump golang.org/x/net from 0.17.0 to 0.23.0 in /agent by @dependabot in #3739
- api: bump github.com/docker/docker from 26.0.1+incompatible to 26.0.2+incompatible in /api by @dependabot in #3738
- chore(deps): bump golang.org/x/net from 0.17.0 to 0.23.0 by @dependabot in #3740
- chore(deps): bump golang.org/x/net from 0.17.0 to 0.23.0 in /connector by @dependabot in #3741
- chore(deps): bump golang.org/x/net from 0.17.0 to 0.23.0 in /tests by @dependabot in #3742
- api: bump github.com/labstack/echo/v4 from 4.11.4 to 4.12.0 in /api by @dependabot in #3745
- docker: ui: bump nginx from 1.25.4-alpine to 1.25.5-alpine in /ui by @dependabot in #3746
- ssh: bump github.com/labstack/echo/v4 from 4.11.4 to 4.12.0 in /ssh by @dependabot in #3747
- docker: gateway: bump nginx from 1.25.4-alpine to 1.25.5-alpine in /gateway by @dependabot in #3749
- ui: bump @fortawesome/free-brands-svg-icons from 6.5.1 to 6.5.2 in /ui by @dependabot in #3750
- ui: bump @types/node from 18.19.21 to 18.19.31 in /ui by @dependabot in #3751
- ui: bump font-logos from 1.1.1 to 1.2.0 in /ui by @dependabot in #3752
- ui: bump eslint-plugin-vue from 9.22.0 to 9.25.0 in /ui by @dependabot in #3753
- ui: bump typescript from 5.4.4 to 5.4.5 in /ui by @dependabot in #3754
- ssh: bump github.com/labstack/echo-contrib from 0.17.0 to 0.17.1 in /ssh by @dependabot in #3748
- fix(api): delete API Keys when namespace is deleted by @henrybarreto in #3755
- config: bump shellhub version to v0.15.0-rc.4 by @gustavosbarreto in #3756
- feat/api optimize device status handling by @gustavosbarreto in #3758
- fix(api): use device name custom rule for field validation by @henrybarreto in #3760
- remove unused mocks by @heiytor in #3757
- remove(api): unused heartbeat endpoints by @heiytor in #3762
- chore: add configuration to restrict domains in Giscus by @gustavosbarreto in #3764
- fix(api): correct typo in 'OfflineDevice' by @heiytor in #3763
- test(ui): add firewall section related unitary tests by @luannmoreira in #3765
- switch to bulk writes in DeviceSetOnline by @heiytor in #3759
- config: bump shellhub version to v0.15.0-rc.5 by @gustavosbarreto in #3766
- fix(ssh): add carriage return to announcement message by @henrybarreto in #3767
- fix(ssh): look for tenant in api when header is empty by @heiytor in #3768
- config: bump shellhub version to v0.15.0-rc.6 by @gustavosbarreto in #3769
- config: bump shellhub version to v0.15.0 by @gustavosbarreto in #3770
New Contributors
- @merlinran made their first contribution in #3647
Full Changelog: v0.14.3...v0.15.0