pup

Universal process manager built in Deno

MIT License

Stars
129
Committers
5

Bot releases are visible (Hide)

pup - 1.0.0-rc.19

Published by Hexagon 6 months ago

Changes

  • fix(core): Fix issue with PATH variable not being picked up by process runner
  • chore(core): Make code related to environment variables cross-runtime
  • change(cli): Revert cli command foreground to run

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-rc.18...1.0.0-rc.19

pup - 1.0.0-rc.18

Published by Hexagon 6 months ago

fix(packaging): Fix another regression bug related to moving to jsr.io

pup - 1.0.0-rc.17

Published by Hexagon 6 months ago

Changes

  • fix(packaging): Fix another regression bug related to moving to jsr.io

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-rc.16...1.0.0-rc.17

pup - 1.0.0-rc.16

Published by Hexagon 6 months ago

Changes

  • fix(packaging): Fix regression bug in upgrader after moving to jsr.io

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-rc.15...1.0.0-rc.16

pup - 1.0.0-rc.15

Published by Hexagon 6 months ago

Important! Minimum Deno Version: Pup now require Deno version 1.42.0 or later. If you're using an older version, you'll need to upgrade Deno before upgrading Pup.

Breaking Changes

  • change(cli): Rename cli command run to foreground to not be confused with starting as a service
  • change(cli): Rename cli command install to enable-service to separate from actual pup installation
  • change(cli): Rename cli command uninstall to disable-service to separate from actual pup uninstallation
  • change(config): Support JSON5.
  • change(core): Move .pup.jsonc-tmp, .pup.jsonc-data into .pup
  • change(packaging): Move default installation docs/references from deno.land/x to JSR.io

Non-breaking

  • fix(core): Foreground command did not keep an autostarted process running, fixed by refing the watchdog timer.
  • fix(cli): Controlled output of manual rests after installing/uninstalling as service.
  • fix(docs): Docs incorrectly stated that **/_._ is default for watcher config. **/*.* is correct.
  • fix(schema): Expect Record<string, string> for process.env in json schema.
  • change(core): Make most code cross runtime, preparing for Node and Bun support.

Maintenance

  • chore(deps): Replace deno.land/x/udd with @check/deps
  • chore(deps): Use @cross/deps for cross-runtime filesystem operations
  • chore(deps): Replace deno.land/x/hexagon/service with @cross/service for cross-runtime service installation
  • chore(deps): Replace deno.land/x/std/ with @std/ from jsr
  • chore(deps): Replace deno.land/x/dax with dax-sh for a cross runtime shell
  • chore(deps): Replace deno.land/x/zod with npm:zod
  • chore(deps): Utilize @cross/utils instead of Deno built-ins for cross runtime ansi console output, argument parsing, process management and more.
  • chore(deps): Use @cross/env to handle enviroment variables across runtimes.
  • chore(testing): Use @cross/test insted of Deno test runner, to utilize the native test runners of Node, Deno and Bun.
pup - 1.0.0-rc.14

Published by Hexagon 7 months ago

Pup 1.0.0-rc.14

  • fix(loadbalancer): Fixes an issue with the loadbalancer introduced in 1.0.0-rc.13

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-rc.13...1.0.0-rc.14

pup - 1.0.0-rc.13

Published by Hexagon 7 months ago

Pup 1.0.0-rc.13

Important Changes

  • Minimum Deno Version: Pup now require Deno version 1.38.0 or later. If you're using an older version, you'll need to upgrade Deno before upgrading Pup.

Fixes

  • fix(core): The code has been updated to use --unstable-kv to maintain compatibility as --unstable is being phased out in Deno 2.0.
  • fix(cluster): The internal cluster server now uses Deno.serve instead of the deprecated Deno.serveHttp for alignment with current Deno practices.
  • chore(ci): Remove --unstable in CI and
  • chore(deps): Full dependency update. Replace lt with lessThan, gt with greaterThan, and deferred with native Promises.

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-rc.12...1.0.0-rc.13

pup - 1.0.0-rc.12

Published by Hexagon 11 months ago

Changes

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-rc.11...1.0.0-rc.12

pup - 1.0.0-rc.11

Published by Hexagon 12 months ago

Changes

  • chore(deps): Full dependency update
  • fix(core): Fix issue #45 where watcher refused to stop
  • fix(docs): Fix broken links

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-rc.10...1.0.0-rc.11

pup - 1.0.0-rc.10

Published by Hexagon about 1 year ago

Changes

  • chore(deps): Full dependency update

Commit History: 1.0.0-rc.9...1.0.0-rc.10

Full Changelog: pup.56k.guru/changelog.html

pup - 1.0.0-rc.9

Published by Hexagon about 1 year ago

Changes

  • fix(telemetry): Fixes issue where telemetry kept child process running even after calling .close() on the telemetry instance.

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-rc.8...1.0.0-rc.9

pup - 1.0.0-rc.8

Published by Hexagon about 1 year ago

Changes

  • feature(process): Now that Dax 0.34.0 supports it, send SIGTERM instead of SIGKILL to terminate processes. By @Leokuma in https://github.com/Hexagon/pup/pull/40
  • fix(plugin): Do not error if plugin does not have a cleanup function implementated.
  • chore(deps): Full dependency update

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-rc.7...1.0.0-rc.8

pup - 1.0.0-rc.7

Published by Hexagon about 1 year ago

Changes

  • fix(configuration): Allow any value under configuration path plugins.options, update json schema.
  • fix(process): Many CLI commands such as start, stop and terminate were returning “Action failed” even though they worked by @Leokuma in https://github.com/Hexagon/pup/pull/39

Full Changelog: https://hexagon.github.io/pup/changelog.html
Commit history: https://github.com/Hexagon/pup/compare/1.0.0-rc.6...1.0.0-rc.7

pup - 1.0.0-rc.6

Published by Hexagon about 1 year ago

Changes

  • fix(web-interface): Only display logs from selected process
  • feature(web-interface): Add button to show logs for core process
  • chore(deps): Update Deno std from 0.195.0 to 0.196.0
  • chore(deps): Update croner from 6.0.6 to 6.0.7

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-rc.5...1.0.0-rc.6

pup - 1.0.0-rc.5

Published by Hexagon about 1 year ago

Changes

  • feat(process): Make process/cluster .stop async
  • fix(process): Make .start() return false if process/cluster is blocked
  • fix(cluster): Do not autostart cluster instances by default
  • fix(cluster): Make cluster status better reflect instance status, add status MIXED
  • fix(cluster): Set cluster status to blocked if all instances are blocked
  • chore: Improve test coverage
  • chore(build): Add coverage html report, serve automatically using std/http/file_server on task check-coverage
  • chore(deps): Update Deno std from 0.193.0 to 0.195.0

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-rc.4...1.0.0-rc.5

pup - 1.0.0-rc.4

Published by Hexagon over 1 year ago

Changes

  • fix(process): Unref forced termination timer by passing persistant: false to delay, to prevent it for keeping the main process alive for the full duration of the timeout
  • feature(web-interface): Add history to web interface log view
  • chore(build): Add coverage task to deno.json
  • chore(docs): Refactor and improve documentation

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-rc.3...1.0.0-rc.4

pup - 1.0.0-rc.3

Published by Hexagon over 1 year ago

Changes

  • feature(configuration): Add options terminateTimeout (default 30) and terminateGracePeriod (default 0) to both process and global scopes by @Leokuma in https://github.com/Hexagon/pup/pull/37
  • fix(service): Fix an issue where user mode systemd services did not start on boot. Resolved by upgrading the dependency service

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-rc.2...1.0.0-rc.3

pup - 1.0.0-rc.2

Published by Hexagon over 1 year ago

Changes

  • chore(deps): Update dependencies

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-rc.1...1.0.0-rc.2

pup - 1.0.0-rc.1

Published by Hexagon over 1 year ago

Changes

  • fix(cli): Read command from -- correctly
  • fix(core): Skip instant maintenance run to avoid problems on first run

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-rc.0...1.0.0-rc.1

pup - 1.0.0-rc.0

Published by Hexagon over 1 year ago

Changes - Beta -> Release Candidate 0

Pup has now achieved enough stability to enter the Release Candidate phase. Here is a brief summary of the significant changes and enhancements implemented during the Beta phase:

  • Major refactoring of the core modules was conducted to improve efficiency and stability.

  • Several bug fixes were made in different parts of the software, especially in the process module, the worker runner, and the web interface plugin.

  • The upgrader module underwent a significant revamp, introducing upgrade channels, support for initial installs and better error handling. We've also implemented more granular permission checks to align with the principle of least privilege. Pup now requests only the specific permissions necessary for each operation, enhancing overall security. Note that these security improvements only cover Pup, permissions of child processes must be taken care of explicitly as usual.

  • New features added to web interface plugin, such as telemetry status, process status, and details of the selected process in the side bar.

  • The logger module was improved by moving internal logs from temporary to persistent storage. Allowing for the new command pup logs which allow filtering using --start/end <iso-time>, --severity <error|warn|...> etc.

  • A new maintenance loop was added to purge internal logs and status after a set number of hours.

  • Breaking changes were introduced with the move to Deno KV for storing internal states and logs. This transition required a fresh install of Pup and the use of the --unstable flag in Deno. If you're upgrading from an early version, run pup upgrade --channel prerelease twice to make sure you're all good.

  • The load balancer module was enhanced with features for backend health tracking, error handling, and redirection.

  • Significant enhancements were made to the CLI to improve functionality and user experience.

Moving forward, our focus will shift to bug hunting and overall stability improvements. We greatly appreciate any feedback from users during this final testing phase. Please be aware that while this release candidate is close to the final version, it might still contain some bugs.

It's important to note that Pup can currently only operate with the --unstable flag. However, this is automatically managed by the installer/upgrader. As soon as Deno stabilizes KV, the --unstable flag will be automatically removed during the upgrade process.

Package Rankings
Top 5.88% on Deno.land