Releases: canonical/pebble
v1.7.0: user-specific notices
Notable new features
- feat(state,daemon,client): add user-specific notices by @olivercalder in #323
- docs: update readme notices section for per-user notices by @olivercalder in #340
Other minor changes
- fix(snap): ensure snaps are from current run by @cjdcordeiro in #338
Full Changelog: v1.6.0...v1.7.0
v1.6.0: log labels, push/pull/notices CLI, shutdown exit codes
Notable new features
- feat: push client functionality and CLI command by @anpep in #147
- feat(logfwd): add log labels by @barrettj12 in #312
- feat: pull client functionality and CLI command by @anpep in #148
- feat(cli): add CLI commands for notices (notices, notice, notify) by @benhoyt in #298
- feat: make shutdown action return meaningful exit code by @benhoyt in #336
Other minor changes
- docs: add snapcraft badge to README by @jnsgruk in #328
- fix: allow local building and testing of the snap on PRs by @cjdcordeiro in #326
- fix(daemon): handle invalid notice types in filter by @olivercalder in #329
- docs(README.md): rm, push and pull are now implemented by @thp-canonical in #332
- docs: remove Roadmap/TODO section in README.md by @benhoyt in #334
- docs: add CI badges to README by @jnsgruk in #335
- feat(cli): implement personality for application name-agnostic help manuals by @anpep in #238
- feat(testutil): add ErrorIs and DeepUnsortedMatches checkers by @dmitry-lyfar in #331
- feat: add StateStarterUp to move expensive init ops to dedicated methods by @dmitry-lyfar in #330
- fix: snap release job run condition by @cjdcordeiro in #333
- fix(daemon): small refactor of notices api by @olivercalder in #337
New contributors
- @thp-canonical made their first contribution in #332
- @dmitry-lyfar made their first contribution in #331
Full Changelog: v1.5.0...v1.6.0
v1.5.0: Pebble Notices core, API, client; Requester interface and ErrorResponse
New features
- Add Pebble notices core state handling, API, and Go client
- Add ErrorResponse to allow external error creation
- Expose Requester interface to allow derived projects to use the Pebble-instantiated client and extend the available commands
Other minor changes
- fix(daemon): add-notice API shouldn't error if no data is provided in #321
- fix(state): set
noticeCond
correctly inReadState
in #320 - fix(snap): make snapcraft.yaml compatible with remote-builds in #322
New Contributors
- @dependabot made their first contribution in #313
- @olivercalder made their first contribution in #320
Full Changelog: v1.4.0...v1.5.0
v1.4.0: health subcommand, Loki log forwarding client
This release includes two new features:
- The new
pebble health
subcommand, implemented by @rebornplusplus in #299. - Log forwarding to Loki, implemented by @barrettj12 in #267.
In addition, we improved the error message from exec
when the $HOME
directory doesn't exist, and other minor changes.
Full Changelog: v1.3.0...v1.4.0
v1.3.0: Service context, exec fixes, WaitDelay fix, and more
This is Pebble version v1.3.0
. It includes several notable features and fixes since v1.2.0, as well as many CI and testing improvements, and a significant refactoring of the Pebble internals.
What's Changed
Notable user-facing features and fixes:
- fix: pebble exec and "exec" health checks inherit environment from daemon by @rebornplusplus in #234
- fix: allow non-root user to specify current user/group when running commands by @benhoyt in #239
- feat: add support for services to configure working directory by @benhoyt in #245
- feat: add "service context" support for exec and health checks by @benhoyt in #246
- fix: do not inherit HOME and USER env vars from pebble daemon environment by @shayancanonical in #262
- fix(servstate): use WaitDelay to avoid Command.Wait blocking on stdin/out/err by @benhoyt in #275
- feat(logstate): log forwarding implementation II by @barrettj12 in #256
Refactoring and CI improvements:
- refactor: Pebble internals into an exportable package by @anpep in #226
- ci: allow Pebble to be packaged as a snap by @cjdcordeiro in #179
- ci: promote snap to candidate on every release by @cjdcordeiro in #255
- cli: public commands API by @anpep in #232
- build: update Go version to 1.20 by @barrettj12 in #171
- ci: build Pebble snap with Go 1.20 by @cjdcordeiro in #271
- feat(daemon): allowing adding external http handlers by @paul-rodriguez in #265
- feat(overlord): allow adding external managers by @paul-rodriguez in #273
- feat(cli): enable extended client access by @anpep in #285
- feat(daemon): daemon access for API extensions by @flotter in #293
New Contributors
- @sparkiegeek made their first contribution in #227
- @cjdcordeiro made their first contribution in #179
- @paul-rodriguez made their first contribution in #265
- @shayancanonical made their first contribution in #262
Full Changelog: v1.2.0...v1.3.0
v1.2.0: Initial versioned release
We're proud to present the first versioned release of the Pebble service manager!
Pebble is a simple service manager that can start and manage your services, perform health checks, store and view service logs, and -- when used via the API -- execute commands and manage the filesystem on the remote. It's configured via a unique, layer-based configuration. Read more documentation in our README.
Notably, this release includes the recent features intended for use in containers:
To try it, download one of the binaries attached to the release (recommended), or use go install
:
$ go install github.com/canonical/pebble/cmd/[email protected]
$ pebble
Pebble lets you control services and perform management actions on
the system that is running them.
Usage: pebble <command> [<options>...]
...
We decided to (somewhat arbitrarily) call this v1.2.0 rather than v1.0.0, because this isn't the first use of Pebble in production (it's been used in Juju for a while, and as the default ENTRYPOINT
in ROCKs more recently).
Enjoy!