Skip to content

Releases: allthingslinux/tux

v0.1.0-rc.5

22 Dec 03:22
5c33117

Choose a tag to compare

v0.1.0-rc.5 Pre-release
Pre-release

Added

  • owner_id to bot configuration and banner
  • Type reporting options for unknown variables and parameters in pyproject.toml
  • Rich representation for BaseModel
  • Utility functions for configuration checks in documentation scripts
  • Database initialization state inspection
  • Unified CLI entry point with comprehensive command groups for tux, test, docs, dev, db, and config
  • Git blame ignore configuration for formatting commits
  • Comprehensive error handling system with test registry and configuration
  • Documentation workflow for automated builds and deployment
  • Enhanced CI workflow scripts and updated action versions
  • Security policy improvements with main policy link
  • Communication service improvements with DM embed user reference updates
  • Regex pattern standardization and new pattern additions
  • Exception handling improvements with language input sanitization
  • Info command handling and documentation improvements
  • Dependency updates for Pillow and MkDocs Material
  • CI workflow improvements with shfmt flag updates
  • Database System Migration: Complete migration from Prisma to SQLModel (SQLAlchemy + Pydantic)
    • SQLModel ORM implementation with async PostgreSQL support
    • Database controllers with BaseController pattern
    • DatabaseCoordinator facade for centralized access
    • Alembic migration system with PostgreSQL enum support
    • Connection pooling with retry logic and health checks
  • CLI Framework Migration: Migrated from Click to Typer for improved type safety and developer experience
  • Type Checker Migration: Switched from pyright to basedpyright for enhanced type checking
  • Source Layout Migration: Reorganized from flat layout (tux/) to src layout (src/tux/) following Python packaging best practices
  • Configuration System: Modular configuration management with multi-format support (TOML, YAML, JSON), priority-based loading, and pydantic-settings validation
  • Plugin System: Modular plugin architecture for extending functionality without modifying core code
  • Task Monitoring: Background task monitoring and management system
  • Activity Rotation: Dynamic bot activity rotation with placeholder substitution
  • Cloudflare Workers Integration: Documentation deployment via Cloudflare Workers with Wrangler CLI
  • Database Testing: py-pglite integration for in-memory PostgreSQL testing
  • Plugins: Deepfry (image manipulation), Flag Remover (flag emoji removal), Support Notifier (support channel notifications), Harmful Commands (detection and warning for potentially harmful shell commands), Fact (fun facts system)

Changed

  • Refactored and improved error handling across all CLI scripts (main, database, documentation, development, tests)
  • Enhanced terminal output formatting with indent guides and improved utility functions
  • Modularized coverage command and browser handling
  • Improved table listing with progress indication and better query structure
  • Streamlined bot execution flow and startup process
  • Updated documentation build and serve scripts with better error handling and configuration checks
  • Restructured development checks with a new Check class
  • Updated wrangler deployment scripts with improved argument handling and error checks
  • Package Manager Migration: Migrated from Poetry to uv for faster dependency resolution
  • Project Structure: Reorganized from flat layout (tux/) to src layout (src/tux/) with clear separation: core/, database/, services/, modules/, plugins/, ui/, shared/, help/
  • Documentation Structure: Reorganized documentation from developer-guide/ and admin-guide/ to developer/concepts/ with subdirectories (core/, handlers/, tasks/, ui/, wrappers/, database/) and admin/ structure
  • Help System: Refactored help command with separated components, improved pagination, and interactive navigation
  • Bot Lifecycle: Streamlined initialization process with dedicated setup services
  • Database Controllers: Improved session management with instance expunging and lazy loading
  • Command Suggestions: Enhanced accuracy with qualified name prioritization and alias support
  • Logging Configuration: Simplified to console-only logging, removed file logging configuration
  • Code formatting to 88 character line length
  • Pre-commit hooks and package version updates
  • Documentation workflow components renamed for clarity
  • Communication DM embed user reference updates
  • Regex variable naming standardization with new patterns
  • CI workflow scripts enhanced with updated action versions
  • Info command handling and documentation improvements

Fixed

  • Log level for prefix override in prefix_manager changed to trace
  • Configuration file validation paths
  • KeyboardInterrupt handling across database, coverage, and HTML report generation scripts
  • Error message clarity in database version function and coverage reports
  • Docker installation guide and storage requirements in documentation
  • CLI entry point organization
  • Graceful handling of RuntimeError and SystemExit in main execution flow
  • Error message truncation issues
  • AFK member ID deletion logic
  • Moderation logging references
  • Help command emoji additions for new categories
  • SQLAlchemy verbose logging
  • Communication DM embed user reference updates
  • CI workflow shfmt flag issues
  • Exception handling for language input sanitization
  • Security policy link additions
  • Command usage references to include dynamic prefix
  • Hardcoded loading emoji removal
  • Expired tempban checker log level adjustments

Removed

  • Legacy CLI scripts in favor of the unified Typer-based CLI
  • Poetry: Removed Poetry package manager in favor of uv
  • Prisma: Removed Prisma client in favor of SQLModel for better Python integration
  • Click CLI: Removed Click framework in favor of Typer
  • pyright: Removed pyright in favor of basedpyright
  • Legacy Permission System: ConditionChecker and hardcoded permission levels replaced with database-driven system
  • File Logging: Removed file logging configuration and related methods in favor of console-only logging
  • Note Database Table: Removed unused Note model and table
  • Legacy Config Management: Removed old config management.py and wizard.py files
  • Deprecated Migration Commands: Removed migrate_deploy and migrate_format commands from DatabaseCLI
  • Legacy Database Methods: Removed deprecated methods from BaseController
  • Legacy CLI Scripts: Removed old CLI architecture in favor of Click-based scripts
  • Adminer Theme: Removed custom CSS theme for Adminer
  • ASCII Art Module: Removed separate ASCII art module, integrated into banner system
  • Various Documentation Files: Reorganized and removed outdated documentation files during documentation restructuring

Security

  • Updated database nuke command with enhanced security prompts and confirmation requirements
  • Improved validation for configuration file paths and environment variables

v0.1.0-rc.4

15 Jun 18:55

Choose a tag to compare

v0.1.0-rc.4 Pre-release
Pre-release

What's Changed

  • feat(fact): improve fun facts command by @electron271 in #861
  • feat: Nix Shell by @maningreen in #799
  • fix(tty_roles.py): handle role assignment errors by @electron271 in #864
  • fix(DEVELOPER.md): fix broken cli usage link by @marmishaw14 in #868
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #857
  • refactor(eight_ball): update responses for clarity and humor by @electron271 in #873
  • fix(function): fix strip_formatting function regex by @CapnRyna in #874
  • Improve the run command by adding extra languages and fixing longstanding issues. by @HikariNee in #880
  • fix(.env.example): corrected sentry variable name by @marmishaw14 in #881
  • Fix cinnamon logo so its not all wobbly by @FluxC0 in #877
  • feat(snippets): change snippet command behavior by @CapnRyna in #875
  • fix(eight_ball): improve response formatting by @jakobdylanc in #879
  • fix(snippets): Fix reply mention in snippet behavior by @CapnRyna in #883
  • feat(tldr.py): enhance TLDR command with caching, platform detection,… by @kzndotsh in #859
  • feat(eval): implement sysadmin eval permissions by @electron271 in #884
  • fix(config.py): fix crashes if settings.yml is not up to date by @electron271 in #887
  • fix(devcontainer): add conditional zsh support and fix broken devcontainer config by @alik-6 in #886
  • Fix Javascript evaluation for $run and remove the global error handler. by @HikariNee in #885
  • Jail/unjail fix by @RainzDev in #888
  • fix(devcontainer-workflow): correct workspace mount and folder for /a… by @alik-6 in #893
  • chore: enhance developer tooling and configuration by @kzndotsh in #894

New Contributors

Full Changelog: v0.1.0rc3...v0.1.0rc4

v0.1.0-rc.3

13 May 19:10
fc64eae

Choose a tag to compare

v0.1.0-rc.3 Pre-release
Pre-release

What's Changed

  • fix(influx): update influxdb cog to use correct table for starboard s… by @thanosengine in #846
  • fix(afk): make afk command responses ephemeral by @thanosengine in #847
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #845
  • fix(tldr): condense tldr pages by @electron271 in #851
  • feat(wolfram): add Wolfram Alpha integration for math/science queries by @electron271 in #855
  • fix(DEVELOPER.md): fix broken link by @electron271 in #856
  • fix(influxdb): update logger for starboard to use correct fields by @thanosengine in #860

Full Changelog: v0.1.0rc2...v0.1.0rc3

v0.1.0-rc.2

29 Apr 18:49
be22e11

Choose a tag to compare

v0.1.0-rc.2 Pre-release
Pre-release

sorry for any confusion with this version there were a few conflicts

What's Changed

  • chore(deps): update alstr/todo-to-issue-action action to v5.1.12 by @renovate in #832
  • fix(deps): update dependency rich to v14 by @renovate in #837
  • fix(deps): update dependency githubkit to v0.12.11 by @renovate in #838

Full Changelog: v0.1.0rc1...v0.1.0rc2

v0.1.0-rc.1

20 Apr 04:05
fda66d6

Choose a tag to compare

v0.1.0-rc.1 Pre-release
Pre-release

After almost a year and a half, the first release candidate for 0.1.0 is out.

Changelog (VERY LONG)

What's Changed

Read more