Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,24 @@ Entries are written for somebody about to upgrade a running installation. Anythi
action is under **Before you upgrade** - that section is the one to read, and `docs/upgrade.md` points
here for exactly that reason.

## 1.9.1 — 2026-10-21

Documentation only. No code, no migrations, no configuration, nothing to do on upgrade.

### The connector page still described six cron lines

Connector 1.16.0 added `php craft manager-connector/run`, one cron entry every five minutes that sends
the heartbeat and collects work every time and runs each of the other reports when it is due. The
connector's own documentation was updated with it, but that is not the documentation this site
publishes: `/docs` is built from this repository, and its connector page still told people to schedule
six separate commands and to "schedule all six".

The **Scheduling** section of the connector page now leads with the single line and the `webTrigger`
setting that goes with it, and keeps the six per-task lines as the alternative, with the warning that
one site should use one approach or the other, since the per-task commands do not share `run`'s claims
and the two together would send some reports twice. The console commands table gains `run`, and the
`system` and `logins` commands it was missing.

## 1.9.0 — 2026-10-21

You can now say how many days before a TLS certificate expires it becomes a finding, an acknowledged
Expand Down
34 changes: 31 additions & 3 deletions docs/craft-plugin.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,32 @@ its interval has elapsed, so a quiet site reports late and a site with no visito
report until morning. With cron the timing is exact and independent of traffic, which is worth
having if you care that a heartbeat is genuinely every five minutes rather than roughly.

If you want that, turn off `webTrigger` and add:
If you want that, one line runs everything:

```cron
*/5 * * * * cd /path/to/site && php craft manager-connector/run
```

Every run sends the heartbeat and collects any work Manager has queued. The other reports go out when
each is due, on the schedule in the table above, so one entry every five minutes is the whole setup.
Then turn off `webTrigger` in `config/manager-connector.php`, so the schedule comes from one place:

```php
return [
'webTrigger' => false,
];
```

Leaving it on is harmless. Cron and web traffic share one set of claims, so they cannot both fire a
task in the same interval. A task for a capability you have not granted is skipped rather than
failed, and starts working as soon as you grant it. `php craft manager-connector/run --force` runs
everything now, whatever is due.

### One schedule per task

If you would rather set each schedule yourself, the per-task commands still work. Schedule all six,
even for capabilities you have not granted: each one checks before it sends anything, so an ungranted
task is a no-op.

```cron
*/5 * * * * cd /path/to/site && php craft manager-connector/heartbeat
Expand All @@ -179,8 +204,8 @@ If you want that, turn off `webTrigger` and add:
0 3 * * * cd /path/to/site && php craft manager-connector/updates
```

Schedule all six even for capabilities you have not granted. Each one checks before it sends
anything, so an ungranted task is a no-op - and when you do grant it later, it just starts working.
Use one or the other on a site, not both: the per-task commands do not share `run`'s claims, so the
two together would send some reports twice.

## Backups

Expand Down Expand Up @@ -213,8 +238,11 @@ different responses, which is why the message names it.
| `manager-connector/preview` | Print what would be sent, without sending it |
| `manager-connector/pair <code>` | Pair with Manager for Craft |
| `manager-connector/disconnect` | Stop reporting and forget the keypair |
| `manager-connector/run` | Run everything that is due. The one cron entry |
| `manager-connector/heartbeat` | Send a heartbeat now |
| `manager-connector/report` | Send inventory now |
| `manager-connector/system` | Send the runtime report now |
| `manager-connector/logins` | Send sign-in counts now |
| `manager-connector/updates` | Check for updates now |
| `manager-connector/jobs` | Ask Manager for Craft whether there is anything to do |

Expand Down
4 changes: 2 additions & 2 deletions docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Get the source and start the stack. Every command in this section runs from `dep
where the compose file lives - there is none at the top of the repository.

```bash
git clone --branch v1.9.0 https://github.com/Coysh-Digital/manager.git manager
git clone --branch v1.9.1 https://github.com/Coysh-Digital/manager.git manager
cd manager/deploy/docker
cp ../../.env.example .env
```
Expand All @@ -38,7 +38,7 @@ Open `.env` and set at minimum:
```dotenv
APP_URL=https://manager.example.com
DB_PASSWORD= # something long and random
MANAGER_VERSION=1.9.0 # which release this is; the interface says "unreleased build" without it
MANAGER_VERSION=1.9.1 # which release this is; the interface says "unreleased build" without it
```

The container will refuse to start if `APP_KEY` is empty, if `APP_DEBUG` is on, if `DB_PASSWORD` is
Expand Down
4 changes: 2 additions & 2 deletions docs/rollback.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ the current one, which is the rollback almost everybody is actually doing:

```bash
cd /path/to/manager
git checkout v1.8.2
git checkout v1.9.0
cd deploy/docker

# Put MANAGER_VERSION back too, or the interface keeps reporting the version you rolled away from.
sed -i 's/^MANAGER_VERSION=.*/MANAGER_VERSION=1.8.2/' .env
sed -i 's/^MANAGER_VERSION=.*/MANAGER_VERSION=1.9.0/' .env

docker compose up -d --build
docker compose exec app php artisan manager:doctor
Expand Down
6 changes: 3 additions & 3 deletions docs/upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@ under **Before you upgrade**.

## Upgrade

Replace `v1.9.0` below with the version you are moving to.
Replace `v1.9.1` below with the version you are moving to.

```bash
cd /path/to/manager
git fetch --tags

git checkout v1.9.0
git checkout v1.9.1
cd deploy/docker

# Record which release this is, so the interface can say so rather than "unreleased build".
sed -i 's/^MANAGER_VERSION=.*/MANAGER_VERSION=1.9.0/' .env
sed -i 's/^MANAGER_VERSION=.*/MANAGER_VERSION=1.9.1/' .env

docker compose up -d --build

Expand Down
Loading