- Added Config setting Webserver.Security.CORS.Allow_origin
- Webserver returns the header for all requests
- Added an HTTP 204 response for OPTIONS-method to speed up CORS requests.
Affects issues:
- Close#1251
- Implemented APF for Nukkit
- Copied Bukkit implementation and modified it for Nukkit
- Fixed SQLite not being present on Nukkit by switching to H2 on boot
Affects issues:
- Close#1020
TimeZone setting accepts 'GMT+2', 'GMT-05:30', 'UTC' and 'server'
Accidentally discovered a bug where first boot used UTC when default was
supposed to be server timezone. The bug was fixed by removing
PlanConfig#getTimeZone calls in different constructors.
Affects issues:
- Close#718
Reason: Parse means extracting information - In many cases the word was being
used wrong (In Finnish 'parsia' means 'to patch together', which caused
the wrong use)
The word 'parse' replaced with 'build', 'create' or 'generate' where appropriate
Reasoning: 'Handler' does not give extra information to the reader.
'Resolver' tells something is being decided/found answer to
or resolution is found (Response in this case)
- Comments related to Response Handlers were updated.
- One missed Response in ResponseResolver now built using
ResponseFactory
Save was preventing unnecessary transactions
from being skipped, leading to hang during
session shutdown save.
Fixed by moving the wait to only JVM
shutdown save, and trusting on database
shutdown transaction execution to do
the job.
Affects issues:
- Fixed#1241
Server calendar had an issue with days going on
the wrong date if timezone was negative GMT.
Fixed the issue by implementing a timezone
independent ISO-8601 formatter to use with the dates on
the session calendar. The date given to ServerCalendar is already
set to midnight on each day.
Affects issues:
- Fixed#1239
An issue in register date minimization was reported,
which was caused by a flipped < in
PlayerServerRegisterTransaction - Maximizing the
register date instead.
< was flipped and a Patch was written to fix the
incorrect data.
PlayerPageExporter was exporting player json file to player%3Duuid.json
but browser parsed that to be file player=uuid.json, leading to the
player page not loading the value
This was because copy-pasting the PageExporter from Server page missed
server= being replaced, while player= was supposed to be replaced.
Fixed by changing server= to player=
Affects issues:
- Fixed#1223
Previous path did not match the path used in player.html, leading to
the path not being replaced in the exported files.
Now the new path should be replaced into the files, allowing people to
view exported player.html data.
Affects issues:
- Fixed#1223
On networks register date is not available so plan_users register date
was set as the first login date Plan sees the player. This lead to
confusion when Plan was installed and old players were counted as
new players by Plan since it had not seen them before.
Code was changed to reduce confusion by updating the register date
in plan_users to smallest possible value if register date exists on a
bukkit server.
Activity index grouping query for /network page was using plan_user_info
instead of plan_users.
This lead to duplication of users if a player had played on multiple
servers.
Affects issues:
- Fixed#1216
Changed Redirects
From / -> "/server/" to /server/ServerName
From /server/Unexisting -> "/server/" to "/server/ServerName"
Affects issues:
- Close 1210
Fixes an issue where authentication is not required but is present
anyway, leading to WebAuthFailException when trying to get
web user for authentication headers coming from a reverse-proxy.
Affects issues:
- #1215