Releases: dynamist/phabfive
v0.8.0
What's Changed
- feat: Migrate CLI from docopt-ng to Typer by @holmboe in #153
- fix: Support global options before monogram shortcuts by @holmboe in #155
- feat: Improve REPL with optional ptpython support by @holmboe in #156
- docs: Add shell completion section to README by @holmboe in #159
- feat: Add JSON output format, rename strict to yaml by @holmboe in #161
- feat: Add shell completion for all option values by @holmboe in #162
- chore: Replace flake8 with ruff for linting by @holmboe in #163
- fix: Add show subcommand to passphrase for monogram shortcut by @holmboe in #164
- feat: Add parents and subtasks to task output by @holmboe in #165
- feat: Add structured output for passphrase show command by @holmboe in #170
- feat!: Migrate to Arcanist-compatible configuration by @holmboe in #174
- feat: Interactive server selector for multi-host .arcrc by @holmboe in #176
- feat: Support showing multiple tasks with maniphest show by @holmboe in #178
- feat: Embed search parameters in --show-metadata Query section by @holmboe in #180
Full Changelog: v0.7.1...v0.8.0
v0.7.1
Bug Fixes
- Fix standalone executables exiting silently without output
Note: The standalone executables in v0.7.0 were broken and exited without output. Please use v0.7.1 or later.
Full Changelog: v0.7.0...v0.7.1
v0.7.0
What's Changed
- refactor: Use importlib.metadata for version by @holmboe in #146
- docs: Add AGENTS.md for AI coding agents by @holmboe in #147
- ci: Add single executable releases with Sigstore signing by @holmboe in #148
- feat: Add interactive first-run configuration setup by @holmboe in #149
- Fix project lookup failing when more than 100 projects exist by @holmboe in #150
- fix: Restore Rich markup escaping lost in refactoring by @holmboe in #151
Full Changelog: v0.6.0...v0.7.0
v0.6.0
What's Changed
- Fix PHAB_URL validation to support port numbers and IPv6 addresses by @holmboe in #124
- Improve error messages for --status, --priority and --column filters by @holmboe in #127
- Add support for Arcanist .arcrc configuration files by @holmboe in #125
- Handle KeyboardInterrupt gracefully in CLI by @holmboe in #128
- Add --created-before and --updated-before filters to maniphest search by @holmboe in #129
- Add time unit support for date filters by @holmboe in #130
- Fix Rich markup issues with square brackets in user content by @holmboe in #137
- Add --assigned filter to maniphest search with OR logic support by @holmboe in #134
- Hide closed tasks by default in maniphest search by @holmboe in #139
- Refactor: Improve code organization and naming by @holmboe in #126
- fix: Add open status filter to clickable column links by @holmboe in #141
- fix: Handle deleted working directory gracefully by @holmboe in #142
- feat: Add --space flag to maniphest search by @holmboe in #143
- refactor(diffusion): Convert module to package structure by @holmboe in #144
- refactor(transitions): Consolidate transition modules into package by @holmboe in #145
Full Changelog: v0.5.0...v0.6.0
v0.5.0
Prelude
Feature release focused on improved output formatting, enhanced task management, and better user experience. This release introduces multiple output formats, clickable hyperlinks, CLI-based task creation, and search templates.
Upgrade Notes
- New dependency:
rich>=13.0.0added for enhanced terminal output formatting
New Features
Output Formatting
- Multiple output formats - New
--formatoption supportingrich(default),tree, andstrictmodes - Clickable hyperlinks - Terminal hyperlinks for task IDs, column names, assignees, and board names with
--hyperlinkoption - ASCII mode - Use
--asciiflag for terminals without Unicode support (uses hyphens instead of bullets)
Maniphest Enhancements
- CLI-based task creation - Create tasks directly from command line with
maniphest create - Show task comments - New
--show-commentsflag to display comments when viewing tasks - Comment shorthand - Simplified syntax for adding comments to tasks
- Assignee display - Task views now show assignee information and history
- YAML search templates - Define reusable search queries with multi-document YAML support
- Enhanced free-text search - More flexible filtering options for task searches
Developer Experience
- Modernized Phorge environment - Updated Docker development setup with configurable environment variables
- Improved Makefile - Added
lockandupgradetargets for dependency management
Bug Fixes
- Fixed comments not displaying in task show output
- Fixed ASCII bullet character (now uses hyphen instead of asterisk)
- Fixed input validation and logging configuration issues
- Improved UX and logging for maniphest search command
- Enhanced error handling and code clarity
Other Notes
- Normalized error message format to use "ERROR - " prefix consistently
- Updated CLI option style from
--option=<style>to--option=STYLEfor consistency with docopt conventions - Improved test coverage for maniphest task search functionality
Full Changelog: v0.4.0...v0.5.0
v0.4.0
Prelude
Major feature release focused on significantly expanding Maniphest capabilities and modernizing the project infrastructure. This release introduces advanced task filtering, search patterns, template v2 system, and comprehensive developer tooling with Phorge Docker setup.
Upgrade Notes
- Python support bumped to minimum version 3.10 (adds support for 3.13 and 3.14)
- Project management migrated to modern
pyproject.toml- replacedsetup.pywith PEP 621 compliant configuration - Switched to
uvfor dependency management - faster, more reliable package management - Dependency updates:
docopt→docopt-ngfor improved Python 3 support- Added
ruamel-yaml>=0.18.16 - Updated
mkdocs>=1.6.1
New Features
Maniphest Enhancements
- Advanced filtering system - Filter tasks by status, priority, and projects with complex logic
- Wildcard project search - Search and resolve projects using pattern matching
- Search negation support - Exclude items from search results with negation patterns
- Pagination for large result sets - Automatically handles API pagination for projects and tasks
- Template v2 system - Complete rewrite with variable dependency resolution and improved structure
- Task transition management - Advanced filtering for status, priority, and project transitions
- Project column inspection - Query project boards to see columns and associated tasks
- Monogram support - View tasks using T123 format directly from CLI
- YAML output improvements - Proper formatting using yaml libraries
Developer Experience
- Phorge Docker environment - Automated local Phorge setup for testing and development
- Enhanced Makefile - Dependency checks, Phorge management commands, improved build targets
- REPL tab completion - Navigate commands more efficiently in interactive mode
- Comprehensive documentation:
- Detailed maniphest CLI guide (
docs/maniphest-cli.md) - Phorge setup instructions (
docs/phorge-setup.md) - Release process documentation (
docs/releasing.md)
- Detailed maniphest CLI guide (
- ReadTheDocs integration - Hosted documentation at readthedocs.org
Testing & Quality
- Windows CI support - Cross-platform testing in CI matrix
Bug Fixes
- Fixed logging output to use stderr instead of stdout
- Improved URL validation and parsing logic
- Corrected YAML output formatting issues
Other Notes
- Added
.editorconfigfor consistent code style - Enhanced
.flake8configuration - Added
dependabotsupport for automated dependency updates
Full Changelog: 0.3.0...v0.4.0
0.3.0
0.3.0 (2023-01-13)
Prelude
Maintenance release where we focus more on updating the current code and less on new features
The main new features to look for is the updated docker-compose.yml solution
Second major feature is the new maniphest app where we can query, add comment and create a batch of tasks from config file
Upgrade notes
- Python support bumped up to minimum version of python 3.9
New features
- Add in dependabot support to check for new python packages
- #51 - Add support for rendering a batch of tickets and bulk create tickets at one time
- Update support and logging feature to be more modern and better configurable from CLI
- Added new dependency jinja2
0.2.0
0.2.0 (2022-03-17)
Prelude
Update to accommodate new Python versions and updated dependencies.
Full Changelog: 0.1.0...0.2.0
Upgrade Notes
- Python 2.7 support has been dropped. The minimum version of Python now supported by Phabfive is version 3.8.
Bug Fixes
- #40 - Update to anyconfig API >= 0.10.0
0.1.0
0.1.0 (2019-11-01)
Notes
Initial release of phabfive.
Supported phabricator app endpoints:
- passphrase
- diffusion
- paste
- user
Enhancements
- #24 - Enable RTD build and docs updates
- #23 - Function to get clone uri(s) from repo
- #22 - Functionality to create Paste
- #21 - Raise exception when Conduit access is not accepted for Passphrase
- #20 - Add functionality to edit URI
- #19 - Feature/edit uri
- #18 - Add code coverage to tox
- #17 - Proper flake8 with Black
- #16 - Feature/observe repositories
- #14 - Print data from user.whoami
- #12 - Errors now print to stderr
- #11 - Default to only listing active repositories
- #10 - Adding shortName
- #9 - Feature/get specified paste
- #8 - Repositories can now be created
- #6 - Avoid string default
- #5 - Pastes can now be listed, sort based on title
- #4 - Add encrypted notification config to .travis.yml
- #3 - Added Paste app
- #2 - Black-linting
- #1 - Added travis