Commit Graph

63 Commits

Author SHA1 Message Date
8b9a2a15cf CHANGELOG: marked 3.4 as released today 2024-01-12 11:15:55 +01:00
64332284d4 Mark 3.4 as released today 2024-01-11 16:50:56 +01:00
ba02fa9a41 Upgrade BAT to 1.18
This fixes a long-standing issue when packing files on Windows. It also
solves some more bugs, and adds support for packing OpenVDB files.
2024-01-11 16:46:20 +01:00
3fc3ecf49e Update CHANGELOG 2024-01-05 11:27:53 +01:00
6711f9dabe Manager: reorder job table columns
Reorder from name/type/priority/updated to name/updated/priority/type.

The new ordering moves the more important info into (according to Blender
Studio) view when the job table is narrow.
2023-12-14 12:08:53 +01:00
6735e9621e Update 3.3.1 changelog 2023-12-14 11:59:06 +01:00
02011f8237 Bumped version to 3.4-alpha0 2023-11-06 15:08:36 +01:00
d06ed6c3b0 Mark v3.3 as released today 2023-11-06 14:42:48 +01:00
30da72a9b7 Upgrade BAT to 1.16 2023-11-02 15:49:38 +01:00
950bd59320 CHANGELOG: Add the support for macOS Silicon (arm64) 2023-10-31 14:52:49 +01:00
06f2a2bc29 Rename cli command to exec and document it
The `cli` word, to me, implies too much that it's run via a shell, which
it isn't. Renaming to `exec` resolves that.
2023-10-31 10:17:16 +01:00
eb269d63fb Make worker name configurable
Worker name can be set via the flamenco-worker.yaml file now.
2023-10-27 13:11:39 +02:00
1900ed0275 CHANGELOG: reorder changes to put some more important ones at the top 2023-10-20 11:38:50 +02:00
12bc182857 Log more OS info at startup
In addition to logging `GOOS` and `GOARCH`, also log more info about the
system:

- Windows: the Windows version and edition.
- Linux: distribution, distribution version, and kernel version.
- macOS: just "macOS", until we know more about getting info there too.
2023-10-15 14:16:56 +02:00
879a280da2 Add security fix to CHANGELOG.md 2023-10-15 11:12:13 +02:00
6a9e1239b8 Security fixes
Vulnerability #1: GO-2023-1990
    Excessive CPU consumption when decoding 0-height images in
    golang.org/x/image/tiff
  More info: https://pkg.go.dev/vuln/GO-2023-1990
  Module: golang.org/x/image
    Found in: golang.org/x/image@v0.5.0
    Fixed in: golang.org/x/image@v0.10.0
    Example traces found:
      #1: internal/worker/output_uploader.go:144:36: worker.loadAsJPEG calls image.Decode, which calls tiff.Decode

Vulnerability #2: GO-2023-1989
    Excessive resource consumption in golang.org/x/image/tiff
  More info: https://pkg.go.dev/vuln/GO-2023-1989
  Module: golang.org/x/image
    Found in: golang.org/x/image@v0.5.0
    Fixed in: golang.org/x/image@v0.10.0
    Example traces found:
      #1: internal/worker/output_uploader.go:144:36: worker.loadAsJPEG calls image.Decode, which calls tiff.Decode
2023-09-07 12:07:58 +02:00
Michael Cook
bc7b434121 Always use local time for job compiler timestamp variable
The 'Simple Blender Render' job compiler script uses a `{timestamp}`
variable to determine the render output path. This variable is now set
to the local time, rather than UTC.

This fixes #104219: Unit tests are timezone-dependent

The solution uses Go `time.Local` timezone to satisfy unit tests
assertions using a Mock clock. The timezone of the local workstation
running the tests.
2023-08-23 16:08:01 +02:00
3760b06066 Update CHANGELOG
Add the 'restartable workers' feature to the changelog.
2023-08-14 16:03:11 +02:00
100e8e404e Rename add-on to flamenco-addon.zip
Rename the add-on from `flamenco3-addon.zip` to `flamenco-addon.zip`.

It still contains the same files as before, and in Blender the name of
the add-on has not changed.
2023-08-01 13:05:02 +02:00
cac030e9d4 Bump version of FFmpeg to 5.1
The 5.0 binaries that were bundled could no longer be downloaded from the
original URLs, so I took the opportunity to upgrade a minor version.

Unfortunately there is a discrepancy between the last version of FFmpeg
(according to https://ffmpeg.org/download.html#release_5.1) and the
binaries that are offered for download. Because of this, Linux is at 5.1.1,
where Windows and macOS (darwin) are on 5.1.2.
2023-07-31 17:07:44 +02:00
1dd2e165c8 Webapp: show Manager name in the window title
Show the configured Manager name in the webapp browser window title. This
helps me to distinguish the production farm from my development install.
2023-07-22 13:44:02 +02:00
3aeb7f6e48 Update CHANGELOG.md 2023-07-21 17:18:26 +02:00
2f3712a077 CHANGELOG: add database integrity checks
Document that the checks are there, and that the periodic checking can
be configured.
2023-07-18 16:35:01 +02:00
ebd40dbcd5 Update CHANGELOG 2023-07-13 15:19:44 +02:00
Eveline Anderson
830c3fe794 Rename worker 'clusters' to 'tags'
As it was decided that the name "tags" would be better for the clarity
of the feature, all files and code named "cluster" or "worker cluster"
have been removed and replaced with "tag" and "worker tag". This is only
a name change, no other features were touched.

This addresses part of #104204.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104223

As a note to anyone who already ran a pre-release version of Flamenco
and configured some worker clusters, with the help of an SQLite client
you can migrate the clusters to tags. First build Flamenco Manager and
start it, to create the new database schema. Then run these SQL queries
via an sqlite commandline client:

```sql
insert into worker_tags
    (id, created_at, updated_at, uuid, name, description)
  select id, created_at, updated_at, uuid, name, description
  from worker_clusters;

insert into worker_tag_membership (worker_tag_id, worker_id)
  select worker_cluster_id, worker_id from worker_cluster_membership;
```
2023-07-10 11:11:03 +02:00
6a30f844eb Manager: Better reporting of version via API call
Before: `3.3-alpha0-v3.2-76-gdd34d538-dirty`
After : `3.3-alpha0 (v3.2-76-gdd34d538-dirty)`

Also include the new `git` property to always have the Git hash (the part
between parentheses).
2023-07-06 12:21:47 +02:00
5b60a0f550 Update CHANGELOG.md 2023-06-02 22:58:54 +02:00
f4f61ea593 Add 'project finders' to the add-on
The Flamenco add-on can now find the top-level directory of your Blender
project. It can be configured to find any of these directories:

- `.blender_project`
- `.git`
- `.subversion`
- None, which is the default and the old behaviour of just using the
  directory of the current blend file as the 'project directory'.
2023-06-01 16:07:11 +02:00
ad3cee6b7b Add task limitation fix to CHANGELOG.md 2023-04-24 15:12:57 +02:00
b74db1daed Clarify worker clusters in CHANGELOG.md 2023-04-04 15:33:23 +02:00
922e772efa Add clusters to CHANGELOG.md 2023-04-04 12:21:59 +02:00
1b60b43736 Update CHANGELOG 2023-03-21 12:18:03 +01:00
4aef9e63d0 Mark v3.2 as released today 2023-02-21 11:35:55 +01:00
46c46455f0 Bump golang.org/x/image and golang.org/x/net for security fixes
Fix these vulnerabilities:

```
Vulnerability #1: GO-2023-1572
  An attacker can craft a malformed TIFF image which will consume
  a significant amount of memory when passed to DecodeConfig. This
  could lead to a denial of service.

  More info: https://pkg.go.dev/vuln/GO-2023-1572

  Module: golang.org/x/image
    Found in: golang.org/x/image@v0.0.0-20191009234506-e7c1f5e7dbb8
    Fixed in: golang.org/x/image@v0.5.0

Vulnerability #2: GO-2023-1571
  A maliciously crafted HTTP/2 stream could cause excessive CPU
  consumption in the HPACK decoder, sufficient to cause a denial
  of service from a small number of small requests.

  More info: https://pkg.go.dev/vuln/GO-2023-1571

  Module: golang.org/x/net
    Found in: golang.org/x/net@v0.5.0
    Fixed in: golang.org/x/net@v0.7.0
```
2023-02-21 11:18:33 +01:00
ef3cab9745 Webapp: handle job deletions properly
- Add a little confirmation overlay before deleting a job. This overlay
  also shows information about whether the Shaman checkout directory
  will be deleted or not.
- Send job updates to the web frontend when jobs are marked for
  deletion, and when they are actually deleted.
- Respond to those updates, and handle some corner cases where job info
  is missing (because it just got deleted).

This closes T99401.
2023-02-03 16:59:15 +01:00
354119e237 Update CHANGELOG.md 2023-01-03 16:32:11 +01:00
84470eeb81 Bump Blender Asset Tracer (BAT) to version 1.15
Bump BAT from 1.14 to 1.15 to add support for fluid sim caches.
2022-12-16 15:28:52 +01:00
4ef5373756 Add-on: add support for the use_all_linked_data_direct option
Add support for Blender's `use_all_linked_data_direct` experimental
option. This is a workaround for an issue with BAT, for which a quick
solution is required by the Blender Studio (production crunch).

Flamenco writes the `.flamenco.blend` file with
`preferences.experimental.use_all_linked_data_direct` set to `True`, so
that BAT has an easier time finding linked assets.
2022-12-02 14:31:23 +01:00
15e3745820 Manager: SQLite WAL journal + NORMAL sync mode
Run `PRAGMA journal_mode = WAL` and `PRAGMA synchronous = normal` when
connecting to the SQLite database. This enables the write-ahead-log journal
mode, which makes it safe to enable "normal" synchronisation (instead of
the default "full" synchronisation).
2022-11-24 17:18:06 +01:00
71605381c8 Update CHANGELOG 2022-11-22 18:24:27 +01:00
249307d6c3 Update CHANGELOG.md 2022-10-20 13:20:02 +02:00
e77bd9b841 Fix workers immediately switching state on a lazy request
Fix an issue where workers would switch immediately on a state change
request, even if it was of the "after task is finished" kind.

The "may I keep running" endpoint wasn't checking the lazyness flag, and
thus any state change, lazy or otherwise, would interrupt the worker's
current task.
2022-10-20 12:30:37 +02:00
0fce4b42fb Update CHANGELOG.md 2022-10-20 12:12:29 +02:00
6eb20c7c70 CHANGELOG: mark 3.1 as released today 2022-10-18 10:56:47 +02:00
28080c72ef Update CHANGELOG.md 2022-10-18 10:56:08 +02:00
10583310c7 CHANGELOG.md: add links to commits 2022-10-13 16:18:37 +02:00
8673170691 Update CHANGELOG.md 2022-10-13 16:03:07 +02:00
a95e8781cf Worker: add TIFF decoding support 2022-10-07 16:55:41 +02:00
c64dc4d5ce Update CHANGELOG.md 2022-10-03 11:00:07 +02:00
85d53de1f9 Manager: implement API endpoint for changing job priority
The priority of an existing can now be changed. It will be taken into
account when assigning tasks to workers, but it will not reassign tasks
that are already active.
2022-09-30 16:30:03 +02:00