102 Commits

Author SHA1 Message Date
Sybren A. Stüvel
6f54cfc1b8 Update CHANGELOG 2025-06-19 12:11:07 +02:00
Sybren A. Stüvel
40d66d4a8e Update CHANGELOG 2025-06-17 10:38:35 +02:00
Sybren A. Stüvel
564375d40f Addon: bump BAT v1.18 → 1.19
This is necessary to support Blender 5.0 files.

See blender/blender-asset-tracer!92893 for more info.
2025-06-16 12:46:38 +02:00
Sybren A. Stüvel
8b4eeb7c69 Update CHANGELOG.md 2025-06-02 12:19:52 +02:00
Jonas Holzman
ccc002036b Fix v3.7 release year in CHANGELOG.md (#104393)
It's 2025 already!

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104393
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
2025-05-30 09:12:49 +02:00
Sybren A. Stüvel
4c5cf91f8a Changelog: mark 3.7 as released today 2025-04-03 12:21:59 +02:00
Nitin-Rawat-1
edc57ab392 Bump packaged FFmpeg version 5.1.2 -> 7.0.2
The previously-bundled version was so old, when packaging FFmpeg for
Windows release, FFmpeg could not be downloaded any more.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104351
2025-03-31 15:53:43 +02:00
Sybren A. Stüvel
5706fe435a Manager: fix issue in first-time setup wizard causing empty blender var
Fix an issue in the First-Time Setup wizard, which caused an empty `blender`
variable when using the system-default location for Blender.

Fixes #104366
2025-03-20 13:20:32 +01:00
Sybren A. Stüvel
a666b87f7f Manager: warn when the blender variable has no value
When the `blender` variable has no value, Flamenco will not be able to
run Blender, which is worth emitting a warning about early on.

This required a bit of a reshuffle of the configuration loading logic, to
avoid loading things twice (and thus warning twice).

Fixes part of #104366
2025-03-20 13:09:42 +01:00
Sybren A. Stüvel
d10bb0a9d7 Manager: at startup check for stuck pause-requested jobs
When the Manager starts up, it now also checks whether `pause-requested`
jobs can actually go to `paused`.
2025-02-28 12:32:36 +01:00
Sybren A. Stüvel
ff29d2ef26 Manager: fix jobs getting stuck in pause-requested status
When a Worker would sign off while working on a task, and that task's
job would be in `pause-requested` state, it would always re-queue the
task. This in turn would not get detected, which caused the job to get
stuck.

Now tasks correctly go to `paused` when a Worker signs off, and
subsequently the job will be re-checked and go to `paused` when possible
as well.

Note that this does not handle already-stuck jobs. That'll be for the
following commit.
2025-02-28 12:26:01 +01:00
Sybren A. Stüvel
eb7177388c Update CHANGELOG.md 2025-02-14 18:52:47 +01:00
Sybren A. Stüvel
e48fa4cc5f Manager: load job compiler scripts on demand, instead of at startup
The Manager now loads the JavaScript files for job types on demand,
instead of caching them in memory at startup.

This will make certain calls a bit less performant, but in practice this
is around the order of a millisecond so it shouldn't matter much.

Fixes: #104349
2025-02-10 12:07:55 +01:00
Sybren A. Stüvel
406e1ee655 Mark 3.7 as in development 2024-12-01 15:07:19 +01:00
Sybren A. Stüvel
d596abf853 Mark 3.6 as released today 2024-12-01 15:00:18 +01:00
Sybren A. Stüvel
ed014ccc2a Worker: log which config paths are used at startup
To aid in debugging configuration loading issues, log the paths to config
files at startup.
2024-11-11 11:49:36 +01:00
Sybren A. Stüvel
7f37c16a8d Add 'index in job' number to tasks
Number the tasks in a job, indicating their creation order. This gives the
web interface something to sort on that doesn't change on task updates.
2024-11-09 23:07:23 +01:00
Sybren A. Stüvel
2e0e211b26 Fix #104338: Error performing BAT pack
Use RFC 2047 (aka MIME encoding) to send the original filename when
uploading a file to the Shaman server.

HTTP headers should be ASCII-only, and some systems use Latin-1 as
fallback. That's not suitable in general, though, because almost all
characters fall outside the Latin-1 range.
2024-09-30 11:25:49 +02:00
Sybren A. Stüvel
131b7c719c Update CHANGELOG 2024-09-26 23:54:46 +02:00
Sybren A. Stüvel
8dd5086adb Bump Go version to 1.22.7 to get security fix 2024-09-10 10:56:23 +02:00
Sybren A. Stüvel
acf721c6d8 Add-on & README: Change "Flamenco 3" to just "Flamenco"
When Flamenco 3 was just released, it was important to indicate the
difference between the Flamenco 2 panel (which was just labeled
"Flamenco"), and the new Flamenco 3 panel. The release of v3.0 was
almost two years ago, so it's time to remove the "3" from the titles and
just name things "Flamenco".
2024-08-26 18:24:24 +02:00
Sybren A. Stüvel
6841a99a90 Simple Blender Render: include scene name in job settings
Include the current scene name in a hidden setting of the Simple Blender
Render, and pass that as CLI argument to Blender.

This ensures that the correct scene is rendered when working directly on
shared storage (as that does not have a copy of the blend file per job).

The job setting `"scene"` is still optional. If it's missing or empty,
the `--scene <scene name>` CLI arg will simply not be passed to Blender.
2024-08-01 14:55:17 +02:00
Sybren A. Stüvel
786422c8af Update CHANGELOG.md 2024-07-29 17:53:40 +02:00
Sybren A. Stüvel
8b08b91840 Bump golang.org/x/image to fix vulnerability
Vulnerability #1: GO-2024-2937
    Panic when parsing invalid palette-color images in golang.org/x/image
  More info: https://pkg.go.dev/vuln/GO-2024-2937
  Module: golang.org/x/image
    Found in: golang.org/x/image@v0.10.0
    Fixed in: golang.org/x/image@v0.18.0
    Example traces found:
      #1: internal/worker/output_uploader.go:144:36: worker.loadAsJPEG calls image.Decode, which calls tiff.Decode
2024-06-27 09:54:33 +02:00
Sybren A. Stüvel
963133bd59 Add-on: allow scripted job submissions from Blender
The `bpy.ops.flamenco.submit_job(job_name="jobname")` operator can now be
executed from Python. In that case, it will block the main thread until
the job submission is complete.
2024-06-25 12:11:20 +02:00
Sybren A. Stüvel
df334deca5 Add shellSplit(someString) function to the job compiler scripts
Add a function `shellSplit(string)` to the global namespace of job
compiler scripts. It splits a string into an array of strings using
shell/CLI semantics.

For example: `shellSplit("--python-expr 'print(1 + 1)'")` will return
`["--python-expr", "print(1 + 1)"]`.
2024-05-07 12:39:13 +02:00
Sybren A. Stüvel
c5ae2916db Add label to job settings
This gives job type authors more control over how settings are presented
in Blender's job submission GUI. If a job setting does not define a
label, its `key` is used to generate one (like Flamenco 3.5 and older).

Note that this isn't used in the web interface yet.
2024-05-07 11:58:44 +02:00
Sybren A. Stüvel
fde20af852 Changelog: mark 3.6 as 'in development' 2024-04-24 17:52:17 +02:00
Sybren A. Stüvel
f7aef5bfca Changelog: add link to MQTT documentation 2024-04-16 11:16:27 +02:00
Sybren A. Stüvel
b4cc9db2db Mark 3.5 as released today 2024-04-16 11:13:45 +02:00
Sybren A. Stüvel
e2bca9ad61 Worker: add configuration for Linux out-of-memory killer
Add a Worker configuration option to configure the Linux out-of-memory
behaviour. Add `oom_score_adjust=500` to `flamenco-worker.yaml` to increase
the chance that Blender gets killed when the machine runs out of memory,
instead of Flamenco Worker itself.
2024-04-15 17:21:11 +02:00
Sybren A. Stüvel
05e35a1cc5 Update Changelog 2024-04-11 15:02:24 +02:00
Sybren A. Stüvel
f757deee6a Security: Bump Go version 1.22.2 and golang.org/x/net package
Fix a bunch of security issues by upgrading to Go 1.22.2 and bumping
a few packages to their secure versions.

- [Incorrect forwarding of sensitive headers and cookies on HTTP redirect in net/http](https://pkg.go.dev/vuln/GO-2024-2600)
- [Memory exhaustion in multipart form parsing in net/textproto and net/http](https://pkg.go.dev/vuln/GO-2024-2599)
- [Verify panics on certificates with an unknown public key algorithm in crypto/x509](https://pkg.go.dev/vuln/GO-2024-2600)
- [HTTP/2 CONTINUATION flood in net/http](https://pkg.go.dev/vuln/GO-2024-2687)
2024-04-04 10:44:57 +02:00
Sybren A. Stüvel
bd3dd90303 Update CHANGELOG.md
Add recent add-on improvements.
2024-03-13 19:13:37 +01:00
Sybren A. Stüvel
a23c95a738 Update CHANGELOG.md 2024-03-13 18:29:35 +01:00
Sybren A. Stüvel
f763d12cd8 Update CHANGELOG 2024-03-01 22:40:21 +01:00
Sybren A. Stüvel
81968610ed Worker: blender-render command, make the blendfile parameter optional
Only include the `blendfile` parameter if it is not empty. This makes it
possible to pass a Python script that loads/constructs the blend file,
instead of loading one directly.
2024-02-25 23:09:11 +01:00
Emmanuel Durand
1ffe0a10bd Job compiler: simplify output video name on rendering list of frames
When a more complex list of frames is to be rendered (like `1, 4, 5, 10,
15`), simplify the video filename to `{first}-{last}`.

Before: `somename-1, 4, 5, 10, 15.mp4`
Now:    `somename-1-15.mp4`
2024-02-24 11:57:46 +01:00
Sybren A. Stüvel
4fe8605744 Manager: Add MQTT client for sending events
Add an MQTT client to send events from the event bus to an MQTT broker.
2024-02-03 23:20:15 +01:00
Sybren A. Stüvel
8b9a2a15cf CHANGELOG: marked 3.4 as released today 2024-01-12 11:15:55 +01:00
Sybren A. Stüvel
64332284d4 Mark 3.4 as released today 2024-01-11 16:50:56 +01:00
Sybren A. Stüvel
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
Sybren A. Stüvel
3fc3ecf49e Update CHANGELOG 2024-01-05 11:27:53 +01:00
Sybren A. Stüvel
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
Sybren A. Stüvel
6735e9621e Update 3.3.1 changelog 2023-12-14 11:59:06 +01:00
Sybren A. Stüvel
02011f8237 Bumped version to 3.4-alpha0 2023-11-06 15:08:36 +01:00
Sybren A. Stüvel
d06ed6c3b0 Mark v3.3 as released today 2023-11-06 14:42:48 +01:00
Sybren A. Stüvel
30da72a9b7 Upgrade BAT to 1.16 2023-11-02 15:49:38 +01:00
Sybren A. Stüvel
950bd59320 CHANGELOG: Add the support for macOS Silicon (arm64) 2023-10-31 14:52:49 +01:00
Sybren A. Stüvel
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