Changelog¶
v0.4.0¶
Breaking Changes¶
-
New entry point — The library is now accessed through a single
JiraAPIfacade. The previous per-class imports (from jira2py import Issues) have been removed. See Installation for the new usage. -
Constructor parameter names changed:
v0.3.x v0.4.0 jira_urlurljira_userusernamejira_api_tokenapi_token -
raw_responsemode removed — All methods return parsed JSON (dict,list, orNone). -
Method signature changes — Several methods had parameters removed in favor of
extra_params/extra_data. See API Reference — Conventions for how to pass additional parameters.get_issue()— removed:fields_by_keys,properties,update_history,fail_fastedit_issue()— removed:override_screen_security,override_editable_flag,history_metadata,properties,transitions,update,additional_propertiesenhanced_search()— removed:properties,fields_by_keys,fail_fast,reconcile_issues
-
Return type changes:
edit_issue()returnsNoneon success instead ofTrue. Returnsdictwhenreturn_issue=True.get_changelogs()returns the full paginated response dict instead of just the values list.
-
Error types changed — All errors were previously raised as
ValueError. They are now specific exception types. See Error Handling. -
Pydantic validation removed —
@validate_calldecorators are no longer used. Type hints remain for IDE support and static analysis.
New Features¶
-
Unified API facade — Single
JiraAPIentry point with access to all modules via properties (jira.issues,jira.search,jira.comments, etc.). -
Automatic rate limit handling — Requests that receive HTTP 429 are retried automatically with exponential backoff and
Retry-Afterheader support. See Rate Limiting. -
Structured exception hierarchy — Typed exceptions for authentication errors, not found, validation failures, rate limits, and connection issues. See Error Handling.
-
11 new API methods:
Method Description issues.create_issue()Create a new issue issues.get_edit_metadata()Get fields available for editing issues.get_create_issue_types()Get issue types for a project issues.get_create_fields()Get fields for creating an issue type comments.add_comment()Add a comment to an issue issue_links.get_link_types()List available link types issue_links.create_link()Link two issues issue_links.delete_link()Delete an issue link attachments.get_attachment_metadata()Get attachment metadata projects.search_projects()Search and list projects users.search_users()Search users by name or email -
HTTP/2 support with persistent connections and configurable timeouts.
-
PEP 561 compliant —
py.typedmarker included for downstream type checking.
Bug Fixes¶
get_comments()ordering — Fixed theorder_byquery parameter name fromorderbytoorderBy. The incorrect name was silently ignored by Jira, so comments were always returned in default order.
Documentation¶
-
Migrated from Sphinx to MkDocs Material — complete rewrite of all documentation with new content, Material theme (light/dark toggle, navigation tabs, search, code copy, content tabs).
-
Machine-readable documentation for AI agents:
llms.txt/llms-full.txt— following the llmstxt.org standard, generated by mkdocs-llmstxtapi-reference.json— full API schema with signatures, types, and docstrings, generated from source code by griffe
-
Documentation dependency changes:
Removed Added sphinxmkdocs-materialpydata-sphinx-thememkdocssphinx-sitemapmkdocs-llmstxtgriffe
Dependency Changes¶
| Removed | Added |
|---|---|
requests |
httpx[http2] |
pydantic |
tenacity |
pydantic-core |
|
email-validator |
|
python-dotenv |
v0.3.1¶
Initial public release.