Releases: database-playground/app-sf
v0.4.0
There are too many changes after v0.3.0 – mainly the structure adjustment, sqlrunner optimization, the email sending.
What's Changed
- fix(challenge): Incorrect title of diff results by @pan93412 in #94
- Maintainance (2024-11-27) by @pan93412 in #95
- Iteration 2024-12-02 by @pan93412 in #96
- app-sf-46: Add email infrastructure by @pan93412 in #98
- improve statistics by @pan93412 in #100
- Code improvement by @pan93412 in #101
- Admin Panel fixes & deprecation fixes by @pan93412 in #102
- send login email by @pan93412 in #103
- Clean up codebase by @pan93412 in #104
- Fix test-email preview & sending by @pan93412 in #105
- Fix GitHub issue #60 by @pan93412 in #106
- Upgrade dependencies by @pan93412 in #107
- fix(command): Group and Roles can be null by @pan93412 in #108
- fix(command): Make "roles" optional by @pan93412 in #109
Full Changelog: v0.3.0...v0.4.0
v0.4.0-pre.2
What's Changed
Full Changelog: v0.4.0.pre-1...v0.4.0-pre.2
v0.4.0.pre-1
Warning
This version has passed the smoke test and is now in production. However, you may need to update your infrastructure to adapt v0.4.0-pre.1. Please check the latest README for details.
Changelog
Features
- Admin:
- Use Pretty URLs for EasyAdmin.
- Add "last login at" field.
- Experience Points feature.
- Events:
- Reindex questions when updated.
- Use Pretty URL for feedback link.
- SQL Runner:
- Implement SQL Runner SDK.
- Migrate to new SQL Runner.
- Footer:
- Add Service Status.
- General:
- Add assets to fetch in Link header.
- Implement GPT-4o support.
- Add "Learn More" button to overview.
- Email Event with admin preview page and "test" kind.
- Email Delivery Event.
- Allow adding plain text content in emails.
- Add Amazon SES mailer.
- Add Dockerfile linter.
- Add app-sf-worker for asynchronous message handling.
- Command for last login and completed questions statistics.
Fixes
- Admin:
- Replace deprecated icon names and fix action layouts for mobile.
- Correct data grid usage in email_template_index.
- Disable delete, edit, and new actions by default.
- Challenge:
- Fix incorrect title of diff results.
- Handle SchemaExecuteException and QueryExecuteException.
- Docker:
- Refresh Symfony cache when building.
- Remove debug-only configs from production images.
- Ensure unique messenger customer names.
- Twig:
- Downgrade to version 3.14.
- Use underscores instead of dots for global variables.
- Overview:
- Handle high-level rendering correctly.
- Migrations:
- Drop default value for required
text_content
column.
- Drop default value for required
- General:
- Add PHP 8.4 polyfill.
Refactors
- Admin:
- Remove batch actions.
- Move email template preview to admin panel.
- Move statistics page to admin.
- Rename app_admin route to admin.
- Use snake case for
email_template
.
- Config:
- Migrate YAML configurations (e.g.,
routes
,services
,twig
) to PHP. - Remove
lock.yaml
. - Simplify parameter determination logic.
- Migrate YAML configurations (e.g.,
- Docker:
- Improve CMD and linter compliance.
- Move dev-only configurations to "dev" folder.
- Messenger:
- Use Redis for asynchronous messaging.
- Make LINE Notify asynchronous.
- General:
- Remove redundant imports and unused dependencies.
- Lazy load unneeded components.
Performance Improvements
- FrankenPHP:
- Disable timestamp check in opcache.
- General:
- Install cURL extension for better HTTP performance.
Style
- Docker:
- Unify space characters usage.
Tests
- Email:
- Add tests for
EmailCreatedSubscriber
,EmailKind
, andEmailDto
.
- Add tests for
Documentation
- Add deployment notes for
sqlrunner
and Zeabur. - Add Amazon SES configuration details.
- Update README with new variables.
Chores
- Upgrade dependencies.
- Add
symplify/config-transformer
. - Correct
sqlrunner
references in.env
. - Exclude
.pnpm-store
in.gitignore
.
Full Changelog: v0.3.0...v0.4.0.pre-1
v0.3.0
Re-tagging the version.
Features
Profile
- Implement feature flag for "Editable Profile", "Hint", and "Comment"
Challenge page
- Rewrite DbRunner and Challenge page
- Typed query result: We previously returned the raw "array" and type-hinted them everywhere. Now, the DbRunner returns a QueryResultDto that wraps this type.
- Improved "Result Presenter": Instead of passing the result everywhere, retrieve it directly in the tabs rather than receiving it from the Executor.
- Compare the results only on needed
- Added a new Comparer that provides more comprehensive difference information.
- Removed "Module" from the component namespace.
- Update DbRunner return style
Improvements
- refactor: Remove custom dashboard page
- Refresh Meilisearch on starting up (f295391, 9ed22ed)
- refactor(questions): Make debounce duration longer
- refactor: Remove unused strings
- refactor(challenge): Reduce Twig render time
- Defer components showing the SQL query results to improve performance
- refactor(challenge/instruction): Improve hint prompts and code
Bug fixes
- fix(feedback): Correct page title
- fix(overview): Handle totalQuestions == 0 case
- fix(entity): Set default value for Schema::id
- Fix up
app:import-schema
(fix: Add phpdocumentor/reflection-docblock) - fix(challenge): Prevent bloated query update AJAX
- fix(challenge): lastQuery should be changed after submission
- fix(entity): Specify default value for enums
- fix(challenge): Update diff and header when a new query is submitted
Chores
- Update dependencies.
Full Changelog: v0.2.3...v0.3.0
v0.2.3
What's Changed
Leaderboard
- Limit leaderboard to show 10 users (#80)
- Improve RWD on small devices (#80)
- Fix overflow for long name (#80)
dbrunner
- Implement
LEFT()
function (#82) - Clear dbrunner cache on starting up (#85)
- Type check: The key might be scalar (#82)
- Mark SQLite functions as deterministic (#82)
- Mark DbRunnerProcessPayload as allowed_classes (#82)
- Correct cache storage and name (#85)
Docker
- Change to
alpine
for newer SQLite version (#82)
Miscellaneous
- Upgrade dependencies (SWC, PHP, JS, …)
- Remove doctrine GitHub source from Composer (#85)
Full Changelog: v0.2.2...v0.2.3
v0.2.2 (2024-10-24)
What's Changed
- Store sessions in Redis to make the Database Playground stateless, allowing for restarts without session concerns. (#75)
- Remove "適用題目" from "補充資料" as it is too verbose. (#79)
- Eliminate duplicate counts of questions solved on the leaderboard. (#79, Resolve #77)
- Pre-fill the previous answer on the challenge page. (#79)
- Disallow resubmissions and empty queries. (#79)
- Permit specific users (
ROLE_ALLOWED_TO_SWITCH
) to impersonate others. (#79) - Refactors:
Full Changelog: v0.2.1...v0.2.2
v0.2.1 (2024-10-20)
What's Changed
v0.2.0 (2024-10-07)
RWD in Login Page
Enhance the user experience of logging in on mobile devices.
Grouping
Global statistics (such as “first solver”) will be differentiated based on groups, and the problem-solving status within each group does not affect other groups. Suitable for distinguishing between classes.
Feedback
You can now send feedback on a page.
Administrators can check all the feedback on the admin dashboard.
You can set a LINE Notify to get the feedback notification instantly:
Weekly Question XP
#33 is implemented.
Others
- Improve codebase and upgrade dependencies
- Fix the question pagination (so the pagination follows the search result)
- Make the linting stricter.
Full Changelog: v0.1.0...v0.2.0
v0.1.0 (2024-10-04)
ci: correct branch (#57)