NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2718 most downloaded on PyPI
A Django app for adding object tools for models in the admin
Last release 4 months ago
28 May 2026
Ships fairly regularly
a new release about every 8 months
Nearly every release is documented
notes for 29 of 31 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
31 releases · first in 2013
This release is published under the Apache-2.0 License.
This release is published under the Apache-2.0 License.
One column per quarter.
This release is published under the Apache-2.0 License.
Detailed Changes: v5.1.0...v5.1.1
This release is published under the Apache-2.0 License.
This release is published under the Apache-2.0 License.
Detailed Changes: v5.0.1...v5.1.0
This release is published under the Apache-2.0 License.
This release is published under the Apache-2.0 License.
Add Python 3.14 and Django 6 to testing matrix (#187, 256b8f3)
Only maintain one Docker path and doc tweaks (#188, 4193da8)
Remove 'black' lint references in favor of 'ruff' (#186, 8adb227)
Detailed Changes: v5.0.0...v5.0.1
This release is published under the Apache-2.0 License.
This release is published under the Apache-2.0 License.
Unable to resolve action python-semantic-release/upload-to-gh-release@9.21.0, unable to find version 9.21.0
It is now named python-semantic-release/publish-action
Python 3.7 hasn't been supported in ages, and it's causing errors on CI actions so let's just drop it.
It appears that dropping Python 3.7 is desired anyway!
Updating the project to match my current style and to reduce dependencies.
No code changes needed for Django 5.2 support
https://docs.djangoproject.com/en/5.2/releases/5.2/
Bringing in rules I've had success with elsewhere. More consistent style helps with readability and maintainability. Some of the rules help with code simplicity and with reducing bugs too.
Detailed Changes: v4.3.0...v5.0.0
The breaking change was dropping Python 3.7. While this project supports 3.7... that will change the next opportunity
There have been a lot of releases since v8.0.8
https://github.com/python-semantic-release/python-semantic-release/blob/master/CHANGELOG.md#v808-2023-08-26
The breaking change was dropping Python 3.7. While this project supports
3.7... that will change the next opportunity (50a03af)
chore: update Django/Python test matrix and add classifier for py3.12 (#171) (ad3b898)
chore: add Django v5 to CI matrix (#166)
https://docs.djangoproject.com/en/5.0/releases/5.0/ (b63aac1)
Adding new Django Modal Actions package
Deleting Django Object Actions which hasn't had a commit in 3 years (813687e)
Followup to #168 to get CI to pass again, documents how to make a POST
only action, and adds some test coverage.
There are still a few cleanup issues but this should get things moving
on POST only actions again. (494d581)
Another try at enforcing POST actions. This change is more gradual than
#149 - when library user doesn't change default options the behavior is
exactly the same as before the change, that is:
However, user can change this behavior using methods and button_type
kwargs. For example @action(methods=['POST'], button_type='form')
results in
Unfortunately I have this tested only within my project. Also the docs
are missing.
And one more thing - I think it is better to use <input type="submit">
instead of js to submit the form. This js is need to make the buttons
look the same in both versions. With proper CSS (that is beyond my
ability to write ;) ) js is avoidable and we could be using pretty
semantic html submit button. I took the form button template from #149. (1274ae7)
https://docs.djangoproject.com/en/5.0/releases/5.0/
Update Django/Python test matrix and add classifier for py3.12
(#171,
ad3b898)
ci: Upgrade python-semantic-release to v9.8.8
(#176,
50a03af)
There have been a lot of releases since v8.0.8 https://github.com/python-semantic-release/python-semantic-release/blob/master/CHANGELOG.md#v808-2023-08-26
The breaking change was dropping Python 3.7. While this project supports 3.7... that will change the next opportunity
Adding new Django Modal Actions package Deleting Django Object Actions which hasn't had a commit in 3 years
Followup to #168 to get CI to pass again, documents how to make a POST only action, and adds some test coverage.
There are still a few cleanup issues but this should get things moving on POST only actions again.
chore(ci): remove deprecated set-output syntax
Also moves Coverage config to pyproject.toml to eliminate another top
level project file (7d439b6)
chore(ci): add Django 4.2 to the build matrix (#154) (e73b4d0)
chore: fix formatting in example app (#155)
Ran black on to comply with format from 23.x version (9bd288f)
fixes deprecation warnings in CI:
> The set-output command is deprecated and will be disabled soon.
Please upgrade to using Environment Files. For more information see:
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ (3e42b3b)
Hopefully this fixes the broken GitHub Action too
https://github.com/crccheck/django-object-actions/actions/runs/3464471740
error: No module named 'packaging'
python-semantic-release/python-semantic-release#489
To reduce future diffs from autoformat (f92464e)
Just upgrading to stay current. Need to use "feat" to trigger a release.
https://python-semantic-release.readthedocs.io/en/latest/migrating_from_v7.html
fix(ci): maybe this will fix Semantic Release (#161) (1595348)
fix(ci): update [tool.semantic_release] names (#160)
https://python-semantic-release.readthedocs.io/en/latest/configuration.html#config-version-variables (70d2c81)
I missed some updated config changes - https://python-semantic-release.readthedocs.io/en/latest/migrating_from_v7.html#version-toml - https://python-semantic-release.readthedocs.io/en/latest/configuration.html#config-version-variables
Ran black on to comply with format from 23.x version
fixes deprecation warnings in CI: > The set-output command is deprecated and will be disabled
soon. Please upgrade to using Environment Files. For more information see:
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Hopefully this fixes the broken GitHub Action too
https://github.com/crccheck/django-object-actions/actions/runs/3464471740 error: No module named 'packaging'
https://github.com/python-semantic-release/python-semantic-release/issues/489
closes #144
Also moves Coverage config to pyproject.toml to eliminate another top level project file
To reduce future diffs from autoformat
Just upgrading to stay current. Need to use "feat" to trigger a release.
Docs: - https://python-semantic-release.readthedocs.io/en/latest/migrating_from_v7.html - https://github.com/pypa/gh-action-pypi-publish#usage
fix: fix link to ci.yml in README by @jgillard in #139
Full Changelog: v4.0.0...v4.1.0
Fix README link to ci.yml
Just some housekeeping and local dev tweaks.
Add an @action decorator that behave's like Django's admin.action decorator[^1] to clean up
customizing object actions.
Also relates to #107
[^1]:
https://docs.djangoproject.com/en/stable/ref/contrib/admin/actions/#django.contrib.admin.action
Cleanup Django compatibility shims for <2.0
pyproject.toml was causing pains trying to install packages. Let's drop it while we're dropping support for other old stuff. (8deebed)This updates CI to use https://github.com/fabiocaccamo/create-matrix-action to simplify the config file. Poetry's lock file updated as I reinstalled on a new computer.
upgrade some more deps
add django 4.0 to ci
cleanup ci for Black
fix poetry's python version conflicts with CI version
BREAKING CHANGE: Python 3.6 is past end-of-life and is no longer supported. Keeping it in
pyproject.toml was causing pains trying to install packages. Let's drop it while we're dropping
support for other old stuff.
pyproject.toml was
causing pains trying to install packages. Let's drop it while we're dropping support for other old
stuff.ci: Add manual semantic-release
Fix "error: [Errno 2] No such file or directory: 'django-object-actions/init.py'" error when creating a release
To verify that it's getting packaged correctly. In particular, I need to make sure the .html files
are in the package.
28f0ef7)ci: add Python 3.9-310 to the build
fix: support Python 3.9-3.10 in trove classifiers
I'll switch it to be automated on push to master at some point.
I've been using Poetry because it takes the hassle out of virtualenv management and has sane defaults that just work for building artifacts and uploading to PyPI.
Because I had to redo how tests were run, I went ahead and removed the Tox testing requirement too and so I had to redo the Github Actions for testing too.
One thing I didn't anticipate is that Github Actions caching doesn't work for Poetry, only with
requirements.txt and Pipenv
https://github.blog/changelog/2021-11-23-github-actions-setup-python-now-supports-dependency-caching/
Use django.urls.re_path instead of deprecated django.conf.urls.url (#112, `9bb736a`)
https://docs.djangoproject.com/en/3.2/releases/3.2/
I really need to drop support for old versions now. Lots of deps are starting to step on each other and drop things. Django itself doesn't support Django 3.0 anymore with the release of Django 3.2
dbcecbf)Use django.urls.re_path() when available, instead of the deprecated django.conf.urls.url().
re_path() is available since Django 2.0. * url() will be removed in Django 4.0.Objects with special symbols in primary key 404-ed (#110) (0c90ce1), closes /github.com/django/django/blob/master/django/contrib/admin/utils.py#L17
for case if object in database has any of special symbols https://github.com/django/django/blob/master/django/contrib/admin/utils.py#L17 clicking on action button causes 404 error, as in SingleObjectMixin there are already parsed kwargs from url, and they are unquoted
made unquoting kwargs
fa48985)deps: drop Python 3.4 support in preparation for adding type hints and Django 3.1 support
6b61513)Django 3.0 is out: https://docs.djangoproject.com/en/3.0/releases/3.0/ Let's see if we're compatible. It turns out no code changes are needed huzzah!
Pretty basic, looks like no code changes needed.
https://docs.djangoproject.com/en/3.1/releases/3.1/
BREAKING CHANGE: drop Python 3.4 support in preparation for adding type hints and Django 3.1 support
Prereq for #107
This release drops Python 2 support
Django has dropped Python 2 support ever since Django 2.0 (December 2, 2017). With Django 3.0 coming very soon and Python 2 reaching end of life, it doesn't make sense to continue supporting Python 2.
9169f0d)BREAKING CHANGE: This release drops Python 2 support
Django has dropped Python 2 support ever since Django 2.0 (December 2, 2017). With Django 3.0 coming very soon and Python 2 reaching end of life, it doesn't make sense to continue supporting Python 2.
Use Black to format code (#100, `42055a3`)
There's a lot of momentum to using Black. For example, Django will use it
This pulls the bandaid off to avoid mixing lint changes w/ code changes in the future. I opted to not dictate how Black is run because I'm not 100% sure how that should happen. To make sure PRs contributors are following this, I added a lint check in CI.
0cd8a24)[4191afd691] - feat: Make default labels prettier
With this change the default label changes from some_action to Some action
I didn't get around to everything I listed in #44 as a release blocker for 1.0, but with Django going 2.0 and dropping backwards compatibility, I deci
I didn't get around to everything I listed in #44 as a release blocker for 1.0, but with Django going 2.0 and dropping backwards compatibility, I decided this library needs some more stability. In the future look for more removals as support for older versions of Django keep getting dropped.
https://github.com/crccheck/django-object-actions/compare/v0.10.0...v1.0.0
Add support for Django 1.11 (#76 #78)
https://github.com/crccheck/django-object-actions/compare/v0.9.0...v0.10.0
Add support for all primary key formats
https://github.com/crccheck/django-object-actions/compare/v0.8.2...v0.9.0
Fix how the demo site stopped working because of bad settings
Fix how extra_context set by admins was not passed
Renames objectactions to change_actions
objectactions to change_actionsget_object_actions (see below)changelist_actions for creating action tools in the change list view tooget_change_actions and get_changelist_actionsDeleted get_object_actions(request, context, **kwargs). If you used this
before, use get_change_actions(request, object_id, form_url) instead. To
get at the original object, instead of context['original'], you can use
self.model.get(pk=object_id), self.get_object(request, object_id), etc.
This isn't as convenient as it used to be, but now it uses the officially
documented way to add extra context to admin views.
https://docs.djangoproject.com/en/dev/ref/contrib/admin/#other-methods
Renamed objectactions. In your admin, instead of defining your actions in
the objectactions attribute, use change_actions.
Fixed deprecation warning RemovedInDjango110Warning: django.conf.urls.patterns() is deprecated and will be removed in Django 1.10. #46
Changes:
RemovedInDjango110Warning: django.conf.urls.patterns() is deprecated and will be removed in Django 1.10. #46HttpStreamingResponse from a tool now #50https://github.com/crccheck/django-object-actions/compare/v0.6.0...v0.7.0
Fixes #40 Where .update did not work for queryset-ish querysets at the cost of a db hit
Changes:
Known issues:
Fix how tools did not work when using UUID primary keys
Added get_object_actions() method
get_object_actions() methodAdds ability to set arbitrary attributes on the buttons's html
adds another way to integrate into projects
Nothing published for this version
Nothing published for this version
Actions showed up in /add/, they shouldn't (`bd23a60`)
Your coding agent can read these notes before it upgrades. Set up the MCP server →