Releases: porla/porla
Porla v0.40.0
Porla v0.39.0
I did a boo-boo in the 0.38 release and the web UI wasn't embedded properly. This has been fixed.
What's changed
Full Changelog: v0.38.0...v0.39.0
Porla v0.38.0
This release replaces vcpkg with a dev container and manual dependency management in order to fix our static builds. It also adds per-torrent metrics to the Prometheus exporter.
What's changed
- feat(web): add columns for peers and seeds by @smaugfm in #305
- feat: add per-torrent prometheus metrics by @smaugfm in #306
- feat: remove vcpkg by @vktr in #307
New contributors
Full Changelog: v0.37.0...v0.38.0
Porla v0.37.0
What's Changed
- Sync PQL with torrent context by @vktr in #171
- Separate listen device from port with a colon by @vktr in #172
- Use properties on the torrent context by @vktr in #173
- Add support for free functions, and editing tags by @vktr in #174
- Update vcpkg by @vktr in #175
- Docker: Upgrade Alpine to 1.18 and add bash to container by @samip5 in #176
- Fix duration properties by @vktr in #182
- build-env: Support arm64 by @samip5 in #181
- Set up BuildJet by @vktr in #186
- Improved workflow for build and deploy by @vktr in #187
- Use short SHA instead of semver by @vktr in #188
- Download Docker artifacts only by @vktr in #189
- Add correct permissions to workflow by @vktr in #190
- Keep Docker images in same package repo by @vktr in #191
- Remove platform suffix from binary by @vktr in #192
- Bump vite from 3.1.8 to 3.2.7 in /html by @dependabot in #179
- Fix crash when specifying a workflow_dir that doesn't exist by @vktr in #195
- Apply session settings base early by @vktr in #196
- fix(readme): link to workflow guide by @nuxencs in #198
- Handle error when adding torrents by @vktr in #197
- Add basic plugins by @vktr in #184
- Allow configuring libsodium memlimit by @vktr in #202
- Map category and tags in torrents.add method by @vktr in #205
- Replace Boost.Beast with uWebSockets by @vktr in #206
- Add durations to the torrents.list API method by @vktr in #207
- Merge workflow and plugin API by @vktr in #200
- Fine tune workflows by @vktr in #210
- Skip non .lua files in workflow_dir by @vktr in #211
- Only set flags as per the bit mask by @vktr in #212
- Skip loading workflows that errors by @vktr in #215
- Better reannounce by @vktr in #216
- Make Lua torrents.add and JSONRPC torrents.add similar by @vktr in #217
- Move signal invoking outside the alert loop by @vktr in #218
- Forward HTTP headers in workflow action by @vktr in #223
- Initialize should_cancel to false, add some logging by @vktr in #219
- Add last_download, last_upload to torrents.list JSONRPC response by @vktr in #228
- Add support for multiple libtorrent sessions by @vktr in #226
- Use alpine image from ghcr.io repository to avoid rate limits by @vktr in #229
- Replace std::future with ipstream by @vktr in #230
- Always toggle flags according to existing ones by @vktr in #231
- Improve developer experience for torrent flags by @vktr in #232
- Add Lua APIs to get and set session settings by @vktr in #233
- Add fs.space to Lua API by @vktr in #235
- Build in debian:12.1-slim by @vktr in #236
- Allow cancelling cron schedule by @vktr in #237
- Add hexdump to embed web UI by @vktr in #238
- feat(http): add TYPE, HELP and timestamp to metrics endpoint by @vktr in #241
- feat(lua): add missing torrent workflow triggers by @vktr in #242
- feat(lua): add properties for v1 and v2 info hashes by @vktr in #244
- feat(lua): resolve body in http workflow action by @vktr in #245
- fix(logs): improve cURL error logging by @vktr in #246
- fix(core): store if we trigger the torrent finished signal by @vktr in #247
- feat(lua): add torrent info api by @vktr in #248
- fix(core): use the configured sodium memlimit by @vktr in #250
- feat(lua)!: lua api now maps much more closely to the libtorrent api by @vktr in #249
- feat(lua): treat workflows as plugins by @vktr in #251
- feat(lua): add os package, add process.search_path, add app config by @vktr in #252
- feat(lua): add file storage api, add torrent state property by @vktr in #253
- feat(lua): add ratio property to torrent status by @vktr in #254
- fix(core): move plugin files and namespaces around by @vktr in #255
- fix(core): bad optional access when running in docker by @vktr in #256
- feat(lua): add added_time and completed_time to torrent status by @vktr in #257
- fix(lua): adding tags by @vktr in #258
- fix(http): sort torrents with no eta last by @vktr in #260
- fix(core): failed to load session when torrent had no tags by @vktr in #262
- Bump actions/checkout from 3 to 4 by @dependabot in #264
- Bump docker/build-push-action from 4 to 5 by @dependabot in #267
- Bump docker/setup-buildx-action from 2 to 3 by @dependabot in #268
- feat(api): add preset json data by @vktr in #274
- feat(lua): emit event when
file_error_alert
occurs by @vktr in #276 - Bump docker/login-action from 2 to 3 by @dependabot in #269
- Skip invalid handles when iterating by @vktr in #282
- Handle adding duplicate magnet links by @vktr in #283
- Bump docker/setup-qemu-action from 2 to 3 by @dependabot in #270
- chore: bump postcss from 8.4.18 to 8.4.31 in /html by @dependabot in #280
- Bump @babel/traverse from 7.19.6 to 7.23.2 in /html by @dependabot in #281
- Bump semver from 6.3.0 to 6.3.1 in /html by @dependabot in #204
- feat: cache lt::torrent status by @vktr in #295
- chore: update dependencies by @vktr in #291
- chore: bump vite from 3.2.7 to 3.2.8 in /html by @dependabot in #298
- chore: pushing a tag creates a release by @vktr in #302
New Contributors
Full Changelog: v0.35.0...v0.37.0
Porla v0.35.0
Significant changes
This version of Porla brings a lot of new goodies for the workflows! The biggest new feature is that workflows can now be triggered by a cron schedule which means that you can create some pretty nice workflows to pause, move and remove torrents that meet certain criterias.
Another workflow related feature is the HttpRequest
action which lets you make HTTP(S) requests without needing to launch an external process and manage arguments for that. Please refer to the HttpRequest
documentation for more information.
ℹ️ If you're currently using workflows, beware that the syntax has changed for how the workflow is triggered (on
), and how it is filtered (filter
). Please see the updated docs on workflows to learn more.
- Add interval and cron based workflow triggers (by @vktr in #159)
- Add HttpRequest action based on libcurl (by @vktr in #162)
- Add
curl
to the base Docker image (by @l1meju1ce in #160) - Allow omitting args in Exec action (by @vktr in #163)
- Add more properties to the Lua torrent context (by @vktr in #166)
New contributors
- @l1meju1ce made their first contribution in #160
Full Changelog: v0.34.0...v0.35.0
Updating
docker pull ghcr.io/porla/porla:0.35.0
- or, by downloading the binary matching your system below.
Porla v0.34.0
Significant changes
This release removes the ability to set settings in the UI (for now). This was not optimal since it lead to confusion about in which order settings were applied.
Session settings in Porla are now read from the TOML configuration file only. Refer to the documentation to learn more.
- Allow trigger workflow on TorrentMoved (#141)
- Fix issue when workflow_dir is empty (#143)
- Better settings (#144)
Full Changelog: v0.33.0...v0.34.0
Updating
docker pull ghcr.io/porla/porla:0.34.0
- or, by downloading the binary matching your system below.
Porla v0.33.0
Significant changes
This release is a bigger release that finally upgrades workflows to be Lua based, which means that the "old" YAML based workflows are not a thing anymore. Moving to Lua will bring more possibilities and generally be easier to use and maintain.
A few new actions has been added as well, such as Exec
which will run an executable with (optional) stdin, and pass output to the next action. Please refer to the workflow documentation to learn more!
Full Changelog: v0.32.0...v0.33.0
Updating
docker pull ghcr.io/porla/porla:0.33.0
- or, by downloading the binary matching your system below.
Porla v0.32.0
Significant changes
A smaller release with some grand changes. Porla now supports PQL, an embedded query language for querying and filtering torrents making it easier to find and browse among all your managed torrents.
More, the reannounce workflow action has been improved and will now retry until the announce is successful or the max retry limit is reached. This is backed by libtorrent alerts and will greatly improve reliability when racing.
Full Changelog: v0.31.0...v0.32.0
Updating
docker pull ghcr.io/porla/porla:0.32.0
- or, by downloading the binary matching your system below.
Porla v0.31.0
Significant changes
This release adds a pretty cool feature - media info parsing. When enabled, Porla will prioritize torrent pieces to download the first few pieces of each media file in the torrent, so it can then parse it and add media information to the torrent. This information can then be used in workflows (or queried via the API) to take action - for example Sonarr, Radarr, etc can use it to reject certain torrent based on actual file format information rather than parsing it from the torrent name.
Further, a new JSONRPC method named fs.space
has been added which returns the available space for the input path. The method also respects Linux quotas, and will correctly return quota information if the path passed is quota managed. This will help users on shared servers to get a correct view of the available disk space.
The UI has also been improved and the torrents table now supports sorting by clicking on the column headers.
- Add method to get free space (#108)
- Add quota check to
fs.space
method (#109) - Allow adding multiple torrents (#110)
- Update vcpkg deps (#111)
- Update readme (#112)
- Only use quotactl on Linux (#113)
- Use libtorrent userdata to store our own data (#114)
- Allow sorting in the UI (#115)
- Show available space for save path (#116)
- Handle JSONRPC 'id' parameter (#120)
- Parse media info (#117)
- Allow disabling HTTP JWT auth with env var (#107)
Full Changelog: v0.30.0...v0.31.0
Updating
docker pull ghcr.io/porla/porla:0.31.0
- or, by downloading the binary matching your system below.
Porla v0.30.0
Significant changes
💘 Workflows are now generally available. They have replaced actions (and webhooks). Read more in the documentation.
- Add YAML workflows (#106)
Full Changelog: v0.29.0...v0.30.0
Updating
docker pull ghcr.io/porla/porla:0.30.0
- or, by downloading the binary matching your system below.