Releases: r-spacex/submanager
Releases · r-spacex/submanager
Sub Manager version 0.6.0
Major release of Sub Manager, with a complete rewrite and numerous new features, enhancements and fixes.
Added
- Full command-based CLI with many more options, including separate
start
andrun
commands - Command
get-config-info
to print information about the config and list endpoints - Command
install-service
to automatically install a systemd service to run the bot - Command
generate-config
to generate a user config file with example defaults - Command
validate-config
to validate the current config file, offline or online - Command
cycle-threads
to post new versions of the indicated threads --debug
flag, to control whether user-friendly error messages or full tracebacks are printed- Config option
approve_new
to control if new posted threads are automatically approved (default) "auto"
option forpin_mode
(default) will unpin the old thread and pin the new if currently pinnedtruncate_lines
option for source and target endpoints, to truncate to a specified number of lines- More fillable/replaceable variables in thread titles
- Comprehensive offline and online functional tests exercising the options of every supported command
- Exhaustive suite of pre-commit checks to validate correctness, best-practices, conventions and style
- Tests, linting and analysis all run across a matrix of platforms/versions in CIs via Github Actions
Changed
- Reorganize much of user and dynamic config for consistency and future extensibility
- Use Platformdirs to install config and state files into platform-appropriate locations
- Validate config and resync all sources for the first run, to handle any config changes
- Use Pydantic for config, allowing robust access and user-friendly validation
- Vastly improved error handing of almost all areas, with much more helpful, user friendly messages
- Safety run multiple instances via locking, to enable new commands and avoid strange bugs
- Enable thread redirect in OP and sticky by default (configurable)
- Inject start and end comments into thread targets, to allow easily adding extra content
- Formally rename everything to Sub Manager, with consistent naming everywhere
- Refactor from a monolithic script into a modular package, greatly improving organization
- Make a Python package for installing from Github or from PyPI and add lint and test extras
- Package is now fully statically typed, improving correctness, robustness and documentation
- Add/greatly improve docs including Readme, Contributing Guide, security policy and more
- Auto-generate pinned requirements files for reproducible dev and production installation
Fixed
- Issues with hierarchical config defaults not getting inherited correctly
- Not syncing new targets until a change is made in the source
- Not injecting appropriate line breaks in targets for some sources, causing formatting issues
- Many other edge-case bugs and issues
Removed
- Config file no longer generated automatically if its not present, use
generate-config
instead - Drop previous support for token managers, in line with Reddit and PRAW changes