Releases: trakli/webservice
Releases · trakli/webservice
Release 1.1.0
Release Notes
Added
- Budgets with polymorphic owner (user today, workspace/couple tomorrow) and polymorphic targets across categories, groups, and wallets; weekly / monthly / yearly / custom period types; opt-in rollover with a
budget_period_stateshistory and a manualclose-periodendpoint; threshold and forecast alerts surfaced through the existing Reminder pipeline - Explicit refund tracking via a
Refundmodel andRefundabletrait — marked refunds reduce net spend on matching budgets - Syncable refunds and budget period states with paginated sync endpoints so mobile clients can mirror the tables offline
- Schema conformance service with
schema:verify/schema:conformcommands (auto-applied on migrate) and a middleware that returns 503 on drift - AI chat sessions with messages and async processing, a Prism-based classifier that routes questions to SmartQL with a language-model fallback, and AI-generated chat titles after the first reply
- Advanced document importer with pluggable processors and configurable auto-creation of entities during import
- Transaction index now supports filtering and returns totals alongside the list
- Transfers gained
show,destroy, update and soft-delete endpoints; transactions are embedded in Transfer responses and responses include the transfer client-generated id - Insights and inactivity emails are now sent by default
Changed
- Polymorphic
Remindabletrait replaces the one-offbudget_idcolumn on reminders, so future subjects can opt in without another migration - Stats extracted from the controller into a dedicated
StatsService; transfer transactions are excluded from aggregation - Transfer relations are eager-loaded with cascade deletes, and transfer-transaction serialization is optimized
- Dev Docker setup migrated to the
laravel-docker-devimage; obsolete dev Docker build CI job removed - SmartQL is wired for Gemini and now requires an LLM key; LLM defaults harmonized across AI services; chat plumbing simplified
- OpenAPI docs regenerated
Fixed
- Chat authorization hardened and data extraction made null-safe; classifier and fallback prompts made more data-aware; assistant replies are now reliably paired with the correct user question
- Exchange rates greater than zero are accepted during transfers
- Transfer and transaction responses return a fresh
syncStateon write
Deployment
Download the attached archive and extract to your web server:
# Extract archive
unzip trakli-webservice-v1.1.0.zip -d /var/www/your-app
cd /var/www/your-app
# Configure environment
cp .env.example .env
# Edit .env with your database credentials, app key, etc.
# Generate application key
php artisan key:generate
# Set permissions
chown -R www-data:www-data storage bootstrap/cache
chmod -R 775 storage bootstrap/cache
# Run database migrations
php artisan migrate --force
# Clear and cache config/routes (optional, for production)
php artisan config:cache
php artisan route:cache
php artisan view:cacheDocumentation
See the README for usage instructions.
Full Changelog
View the complete version history in CHANGELOG.md.
Release 1.0.2
Release Notes
Added
- Account deletion, admin endpoints, and CLI commands
- Locale-based translation for default categories and groups
- File access endpoint with link attribute on transactions
- Index and update endpoints for transfers
- Duplicate transaction prevention during transfer sync
- Code coverage checks and test database configuration
- Static analysis tooling (phpmd, phpstan, phpcs)
Fixed
- Transactions and transfers now ordered by datetime desc, created_at desc
- Flaky test failures in StatsControllerTest by freezing time
- Integer ID handling via PDO options and wallet ID casting
- Multipart/form-data encoding for transaction file uploads
- Duplicate transfers prevented during mobile sync
Changed
- Updated OpenAPI documentation
- Customized phpcs rules for less aggressive linting
Deployment
Download the attached archive and extract to your web server:
# Extract archive
unzip trakli-webservice-v1.0.2.zip -d /var/www/your-app
cd /var/www/your-app
# Configure environment
cp .env.example .env
# Edit .env with your database credentials, app key, etc.
# Generate application key
php artisan key:generate
# Set permissions
chown -R www-data:www-data storage bootstrap/cache
chmod -R 775 storage bootstrap/cache
# Run database migrations
php artisan migrate --force
# Clear and cache config/routes (optional, for production)
php artisan config:cache
php artisan route:cache
php artisan view:cacheDocumentation
See the README for usage instructions.
Full Changelog
View the complete version history in CHANGELOG.md.
Trakli v1.0.0 🎉
Release Notes
Added
- REST API for transactions, wallets, categories, groups, and parties
- User authentication via Laravel Sanctum
- OAuth support for social login
- File attachments for transactions
- Transfer support between wallets
- Statistics and reporting endpoints
- CSV/JSON import functionality
- AI chat integration
- OpenAPI documentation
- Syncable trait for offline-first mobile support
Deployment
Download the attached archive and extract to your web server:
# Extract archive
unzip trakli-webservice-v1.0.0.zip -d /var/www/your-app
cd /var/www/your-app
# Configure environment
cp .env.example .env
# Edit .env with your database credentials, app key, etc.
# Generate application key
php artisan key:generate
# Set permissions
chown -R www-data:www-data storage bootstrap/cache
chmod -R 775 storage bootstrap/cache
# Run database migrations
php artisan migrate --force
# Clear and cache config/routes (optional, for production)
php artisan config:cache
php artisan route:cache
php artisan view:cacheDocumentation
See the README for usage instructions.
Full Changelog
View the complete version history in CHANGELOG.md.