Skip to content

Releases: HastD/run0edit

v0.5.8

12 Mar 17:47
Immutable release. Only release title and notes can be modified.
v0.5.8
24d0f8c

Choose a tag to compare

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

11 Feb 20:36
Immutable release. Only release title and notes can be modified.
v0.5.7
1296eab

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.5.6...v0.5.7

v0.5.6

23 Dec 02:04
Immutable release. Only release title and notes can be modified.
v0.5.6
e0f6a0b

Choose a tag to compare

What's Changed

  • build: add editor config file to RPM spec by @HastD in #52: Add /etc/run0edit/editor.conf to 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 by run0edit when 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

28 Oct 15:28
v0.5.5
5482440

Choose a tag to compare

What's Changed

  • feat: Add --background option to set background color by @HastD in #38
  • ci: add concurrency limits to all workflows by @HastD in #39
  • chore: release v0.5.5 by @HastD in #40

Full Changelog: v0.5.4...v0.5.5

v0.5.4

15 Oct 20:58
v0.5.4
3241ae2

Choose a tag to compare

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

19 Aug 01:29
v0.5.3
082eb09

Choose a tag to compare

What's Changed

  • If /etc/run0edit/editor.conf exists but is unreadable due to a permission error, exit with an error informing the user of the issue. Previously this was silently ignored and run0edit would just use a fallback editor, which was confusing behavior. (#17)
  • fix: casefold() instead of lower() 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

22 Jun 00:30
v0.5.2
2049875

Choose a tag to compare

What's Changed

  • fix: prevent SELinux denial with certain custom editors by @HastD in #9
  • fix: adjust sandbox to fix issue creating files in /root and /home on 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

17 Jun 15:04
v0.5.1
147ffdb

Choose a tag to compare

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

Full Changelog: v0.5.0...v0.5.1

v0.5.0

16 Jun 14:44
aed592d

Choose a tag to compare

Rewrote run0edit in Python.

Added

  • Added an --editor option 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-prompt option 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 to sudoedit).

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 the run0 invocation rather than embedding the entire inner script
    contents in an argument to run0. As an extra check, the SHA-256 hash of this
    file is compared against the expected value.
  • Only use /etc/run0edit/editor.conf as a configuration file, as the secondary
    configuration path at /usr/etc/run0edit/editor.conf was 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 --help text.
  • 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

Full Changelog: v0.4.4...v0.5.0

v0.4.4

22 May 21:33
cdebd15

Choose a tag to compare

  • Fixed bug in immutable flag parsing.
  • Added RPM spec.
  • Added CI workflow to build .rpm and .deb packages.