Releases: HastD/run0edit
Releases · HastD/run0edit
v0.5.8
What's Changed
- build(deps): bump actions/download-artifact from 7.0.0 to 8.0.0 by @dependabot[bot] in #66
- build(deps): bump actions/upload-artifact from 6.0.0 to 7.0.0 by @dependabot[bot] in #67
- feat: make temp file have same name as original by @HastD in #68
- feat: allow non-absolute editor specifications by @HastD in #69
- chore: release v0.5.8 by @HastD in #70
Full Changelog: v0.5.7...v0.5.8
v0.5.7
What's Changed
- Allow specifying editor using
VISUALorEDITORenvironment variables by @HastD in #64 - Use BLAKE2 hash instead of SHA-256 for inner script checksum by @zefr0x in #54
- Make repository compliant with REUSE Specification, Version 3.3 by @HastD in #62
- Run lightweight CI tasks on ubuntu-slim by @HastD in #58
- Various dependency updates by @dependabot[bot]
New Contributors
Full Changelog: v0.5.6...v0.5.7
v0.5.6
What's Changed
- build: add editor config file to RPM spec by @HastD in #52: Add
/etc/run0edit/editor.confto RPM spec as a config file. This ensures the config file will be created with the expected permissions if not already present. The file will be empty by default, which is ignored byrun0editwhen selecting which editor to use. - ci: generate temporary SSH keypair for integration tests by @HastD in #51
Full Changelog: v0.5.5...v0.5.6
v0.5.5
v0.5.4
Changes
- Drop support for Python 3.9, which is end-of-life and no longer receiving security updates. If you are using Python 3.9, you should update to a newer Python version as soon as possible. (#28)
- Make error messages more informative in a couple cases. (#26, #33)
- Various minor CI improvements. (#24, #27, #30, #32)
Detailed list
- build(deps): bump zizmorcore/zizmor-action from 0.1.1 to 0.1.2 by @dependabot[bot] in #20
- build(deps): bump softprops/action-gh-release from 2.3.2 to 2.3.3 by @dependabot[bot] in #21
- build(deps): bump actions/setup-python from 5.6.0 to 6.0.0 by @dependabot[bot] in #22
- build(deps): bump zizmorcore/zizmor-action from 0.1.2 to 0.2.0 by @dependabot[bot] in #23
- ci: document workflow permissions by @HastD in #24
- fix: clearer error message if path is in privileged location by @HastD in #26
- test: add integration test for creating file in unreadable dir by @HastD in #25
- ci: speed up dependency installation by @HastD in #27
- build(deps): bump softprops/action-gh-release from 2.3.3 to 2.3.4 by @dependabot[bot] in #29
- chore!: drop support for Python 3.9 by @HastD in #28
- ci: use Python 3.14 in tests and type-checking by @HastD in #30
- build(deps): bump softprops/action-gh-release from 2.3.4 to 2.4.1 by @dependabot[bot] in #31
- ci: add dependabot cooldown by @HastD in #32
- fix: clearer error message if editor.conf is unreadable by @HastD in #33
- chore: update changelog and release v0.5.4 by @HastD in #34
- ci: fix build dependencies for package release by @HastD in #35
- ci: use Fedora container image for package build by @HastD in #36
Full Changelog: v0.5.3...v0.5.4
v0.5.3
What's Changed
- If
/etc/run0edit/editor.confexists but is unreadable due to a permission error, exit with an error informing the user of the issue. Previously this was silently ignored andrun0editwould just use a fallback editor, which was confusing behavior. (#17) - fix:
casefold()instead oflower()for case-insensitive equality. (#14) - build: use remote source in RPM spec. This simplifies Copr builds since they can use the spec file directly instead of an SRPM. (#13)
Plus some routine CI-related commits:
- build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0 by @dependabot[bot] in #15
- build(deps): bump actions/checkout from 4.2.2 to 4.3.0 by @dependabot[bot] in #16
- chore: name zizmor workflow by @HastD in #18
- chore: release v0.5.3 by @HastD in #19
Full Changelog: v0.5.2...v0.5.3
v0.5.2
What's Changed
- fix: prevent SELinux denial with certain custom editors by @HastD in #9
- fix: adjust sandbox to fix issue creating files in
/rootand/homeon systems where these are not symlinks by @HastD in #11 - test: add integration testing by @HastD in #8
- chore: release v0.5.2 by @HastD in #12
Full Changelog: v0.5.1...v0.5.2
v0.5.1
What's Changed
- fix: correct license field in spec by @RoyalOughtness in #5
- ci: avoid duplication of workflow runs in pull requests by @HastD in #7
- feat: catch likely usage mistake with command as first argument by @HastD in #6
New Contributors
- @RoyalOughtness made their first contribution in #5
Full Changelog: v0.5.0...v0.5.1
v0.5.0
Rewrote run0edit in Python.
Added
- Added an
--editoroption to allow the user to choose a different text
editor. This must be an absolute path to an executable file, and the filename
will be passed as the first argument to it. - Added a
--no-promptoption to skip the prompt asking the user to confirm
whether they want to remove the immutable attribute from a file to edit it. - Allow the user to pass multiple file paths to
run0edit, which will be edited
one after the other (like if you pass multiple paths tosudoedit).
Changed
- Fail before asking for a password if it can be determined that the parent
directory of the file path definitely does not exist or is not valid. - Switched to using a separate file for the inner script, which will now be
installed at/usr/libexec/run0edit/run0edit_inner.py. This path will be
passed to therun0invocation rather than embedding the entire inner script
contents in an argument torun0. As an extra check, the SHA-256 hash of this
file is compared against the expected value. - Only use
/etc/run0edit/editor.confas a configuration file, as the secondary
configuration path at/usr/etc/run0edit/editor.confwas pretty much
redundant. - Fail with an error message if the config file is nonempty and contains an
invalid path. Previously this was silently ignored, defaulting to a fallback
editor. - Minor changes to the wording of error messages and the
--helptext. - Stricter seccomp filters for the inner script.
Testing and CI
- Added unit tests with 100% test coverage.
- Added GitHub workflows that automatically run Ruff (including Flake8, Pylint,
McCabe complexity checker, and Bandit lints) for all Python versions 3.9
through 3.13, mypy, the unit tests, and a unit test coverage check on every
pushed commit.
Credit
- Authored by @HastD.
- Thanks to @RoyalOughtness for helpful feedback.
Full Changelog: v0.4.4...v0.5.0