fix: don't use mbstring
feat: sort graphs on the statistics page by usage
feat: lifetime subscriptions
feat: allow multiple filters on the settings page
feat: filter by notification status
fix: migrations using double quotes
feat: rework icons
fix: open 3 dot menu abone for the subscriptions at the bottom
fix: ntfy notifications with strange chars
feat: move update banner to the dashboard
fix: handle some ai responses that come in a different format
chore: handle deprecation of curl_close
feat: enable ai recommendations at a schedule
fix: ai recommendation numbering when deleting a recommendation
feat: mask ai api key on the settings page
fix: unicode character on the css file
fix: retain first and last name when switching language during registration
fix: calendar ocurrences to respect subscriptions start date
fix: ssrf vulnerability on several endpoints
fix: logo search
fix: xss vulnerability on payment method rename endpoint
fix: set login cookie to httponly
feat: add robots.txt to disallow indexing.
feat: add serverchan notifications.
fix: use stable UID for iCal events to prevent duplicates.
fix: use RFC 5545 compliant date format in iCal exports.
feat: notifications for subscription can be triggered up to 180 days before payment date.
feat: make container shutdown instant & graceful (#916)
feat: add pushplus notification service (#911)
feat: option to delete ai recommendations
fix: parsing ai recommendations from gemini (#909)
fix: accept both api_key and apiKey as parameter on the api
feat: allow to disable password login when oidc is enabled
feat: add get_oidc_settings endpoint to the api
feat: refactor css colors
feat: ai recommendations with chatgpt, gemini or ollama
feat: display ai recommendations on the dashboard
feat: use mobile style toggles instead of checkboxes
fix: barely readable placeholder text on textarea on dark the
feat: webhooks can now be used for cancelation notifications
feat: user has api key available on profile page
feat: api endpoint to calculate monthly cost
feat: split settings page into settings and profile page
feat: redesigned experimental mobile navigation menu
fix: small fixes and typos
feat: add multi email recipients
feat: add option for also showing the original price on the dashboard
feat: open edit form after cloning subscription
fix: typo on export subscriptions to csv
chore: removed version line from docker-compose file
fix: don't allow saving main and accent colors if they're the same
feat: rework styles of theme section on settings page
feat: more uniform and aligned styles on the settings page
feat: ability to add custom css styles
refactor: run linter and cleanup php files
fix: not every payment cycle was shown on the calendar
feat: also show previous payments on the calendar for the current month