Commit Graph
66 Commits
Author SHA1 Message Date
mnightingale b192a7eca4 Persistent sessions, CSRF tokens, and no apikey in the web interface (#3559)
* Add a session store that keeps web-UI logins in the admin folder

* Authenticate the web interface with session cookies and CSRF tokens

* Stop embedding the apikey in the web interface

* Cover the session, CSRF and apikey changes
2026-08-27 13:05:12 +02:00
Safihre 6f342dade5 Streamline release artifact handling and enforce Windows signing
This update improves the release workflow by:
*   Configuring GitHub Actions `upload-artifact` to transfer files directly without unnecessary zipping, simplifying artifact retrieval for subsequent jobs.
*   Integrating `pefile` to perform an Authenticode signature check on the Windows installer, ensuring all official releases are properly signed.
2026-06-15 10:26:24 +02:00
Safihre 0434dca45f Enable additional Ruff checks and implement fixes 2026-05-13 21:50:32 +02:00
Safihre 81bc2a384f Add F401 unused imports check
This change enables `F401` (unused import) checks in Ruff and configures per-file ignores for intentional top-level imports. The newly enforced check led to the removal of several unused imports across the codebase.

Additionally, the module existence check for `certifi` was modernized to use `importlib.util.find_spec` for a more efficient and robust approach.
2026-05-13 20:37:55 +02:00
Safihre 375cc4955d Put releasing a new version behind manual approval 2026-04-14 09:42:13 +02:00
Safihre 6dda8125f7 Merge make_dmg into main package.py (#3372)
* Fix icon variable assignment and adjust icon location

* Add pyobjc-framework-Quartz to requirements

* Change DMG icon path to logo-arrow.svg

Updated the icon path for the DMG build process.

* Integrate make_dmg into package.py

* Remove 'format' key from package configuration

Removed 'format' key from configuration dictionary.
2026-04-06 09:04:05 +02:00
Safihre 706dddcac9 Add HTML Readme also for the macOS installer 2026-04-03 11:00:20 +02:00
Safihre b002df09f9 Convert Readme to HTML for Windows installer 2026-04-03 11:00:15 +02:00
Safihre 978be46be4 Refactor .mo file generation
Updated msgfmt to latest version
2026-03-31 13:41:49 +02:00
Joe Kappus f2d4347e1b builder/package.py: stop mangling test data (#3364)
Broke tests on Debian/Ubuntu, they reported it, never figured it out.

(#2274)

On Gentoo we skipped the failing test for years but 'just plain fails'
didn't sit right with me. We found the tests only fail using release
tarball, not git.

package.py script 'fixes' the line endings on .txt extensions but doesn't
account for a stillrarbutnotagoodname.txt rar binary in the test data.

This breaks tests on anyone using the release tarballs. So we skip mangling
the test data to allow for downstream CI to work.
2026-03-25 07:49:03 +01:00
renovate[bot]andSafihre eab219f88a Update all dependencies (#3340)
* Update all dependencies

* Require manual compile for universal2 chardet

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Safihre <safihre@sabnzbd.org>
2026-03-09 08:16:32 +00:00
Safihre 2122503762 Update copyright to 2026 2026-02-09 16:44:38 +01:00
Safihre ceeb7cb162 Add Windows ARM64 binary 2025-12-22 21:25:17 +01:00
Safihre 80f57a2b9a Drop support for Python 3.8 2025-11-21 10:00:09 +01:00
Safihre 0a2f3865ee Check if all macOS binary files support the minimal required version 2025-10-24 12:27:48 +02:00
Safihre 1c96dff133 Implement SignPath binary signing for Windows releases
Keep zip structure

Download all signed artifacts for release step

Correctly download all releases

Only sign when tagging release

Restore CI tests

Test production certificate

Closes #2870
2025-09-22 12:16:10 +02:00
Safihre 0e475e593a Update to par2cmdline-turbo 1.3.0 that supports older macOS
And it's universal2
2025-08-05 11:09:24 +02:00
Safihre d934c588ad Rename osx to macos in the code 2025-05-05 22:15:02 +02:00
Safihre ccb036ba37 Update par2cmdline-turbo to 1.3.0 2025-05-05 22:01:59 +02:00
jcfp e2f613da6c stop catching BaseException (#3062) 2025-04-09 15:27:22 +02:00
thezoggy dd0122865a bump copyright year (#3034) 2025-02-17 14:06:12 +01:00
Safihre 3b52379e56 Remove Windows 32bit support 2024-12-02 12:13:47 +01:00
Safihre 0294e01fae Always notarize the macOS release 2024-11-19 08:52:33 +01:00
Safihre 2af2cc7370 Add file version information to Windows installer
#2870
2024-06-17 09:02:29 +02:00
thezoggy 9f6a9f9912 normalize and update copyright year 2024-01-02 09:42:17 +01:00
Safihre b79a1e973d Revert removal of SABnzbd-console.exe
Sad-face.. See pyinstaller/pyinstaller/issues/8022
2023-10-20 16:26:15 +02:00
Safihre 6252d02498 Changes to binary building after PyInstaller update
Correct restart on macOS binary.
Allow to be less strict about file removal.
Remove not needed zip parameter.
Remove old modifications of sys.argv.
Make sure that after restart we still log to console.
2023-10-15 21:12:15 +02:00
Safihre 11cf8c5397 Test build with PyInstaller 6.1.0 and Python 3.12 2023-10-14 23:41:19 +02:00
Safihre d4187e93b2 Raise error in binary build if files we expected to remove do not exist 2023-10-09 22:28:46 +02:00
Safihre 1beb1aafd8 Update paths of files to remove from Windows binaries 2023-10-09 16:18:19 +02:00
Safihre 71ff6b14da Remove unnecessary files and modules from Windows binaries 2023-10-05 11:55:47 +02:00
Safihre b1b75dcad2 Fail binary build if warning/error is present during test run 2023-09-12 21:18:10 +02:00
thezoggyandSafihre 1f4f4f1a5f Add par2cmdline-turbo as option for windows, still default to Multipar (#2674)
* Add par2cmdline as option for windows, still default to multipar.

* Fix tests and do not give par2cmdline long-paths on Windows

* Set enable_multipar to true

---------

Co-authored-by: Safihre <safihre@sabnzbd.org>
2023-09-11 22:14:28 +02:00
Safihre ab3bef3d2f Use par2cmdline-turbo v1.1.0 for macOS release
#2613
2023-09-02 09:32:57 +02:00
Safihre 7cbbff727f Remove (almost) all references to unused team@sabnzbd.org 2023-07-21 11:33:51 +02:00
Safihre 026717b7c2 Build binaries without dependencies 2023-05-16 13:05:23 +02:00
Safihre fde8f9d133 Allow longer binary startup during release quick-test 2023-05-08 17:04:45 +02:00
Safihre 835745e485 Remove PKG-INFO
Closes #2548
2023-05-03 14:25:03 +02:00
Safihre bcb553d9f9 Move release actions to separate build step 2023-05-03 14:22:50 +02:00
Safihre b73b8aae6a Post release notes to Reddit after release
Add praw to builder requirements
2023-05-03 14:22:50 +02:00
Safihre 51792e31a8 Add release to PR of new release 2023-05-02 10:45:48 +02:00
Kian-Meng Ang fcb3c11203 Fix typos (#2339)
Found via `codespell -S po,interfaces -L
ciph,fo,ro,nd,parm,parms,readd,reenabled,msdos,sav,tage,datas`
2022-11-14 07:21:42 +01:00
Safihre fb75cde710 Print hashes for Synology release 2022-06-09 08:47:17 +02:00
Safihre a48d8b8f6a Catch all errors during startup in test_sab_binary
We can wait 10 seconds in case something is wrong.
2022-03-14 16:43:42 +01:00
Safihre d9df7b66f5 Sign files before handing them over to PyInstaller 2022-03-01 17:38:50 +01:00
Safihre c5feb5bdc9 Revert "Let PyInstaller sign the macOS executable and the app" 2022-03-01 15:54:29 +01:00
Safihre eca3705794 Let PyInstaller sign the macOS executable and the app
It signs the binaries anyway, so let it do it properly.
Verify signature applied by PyInstaller
2022-02-14 15:38:26 +01:00
Safihre d5536ed246 Wait before removing the temporary directory in binary test 2022-02-09 13:05:20 +01:00
Safihre 4293a098e3 Fix version of more dependencies 2022-02-09 08:52:12 +01:00
Safihre afbfe72489 Use notarytool on macOS to do notarization 2022-02-04 22:28:04 +01:00