Dylan K. Taylor
093b1e1b18
Merge branch 'stable' into minor-next
2023-09-08 12:48:40 +01:00
Dylan K. Taylor
a5aeabd836
RegistryTrait: fixed mishandling of self::$members
...
Since PHPStan doesn't warn about potential nulls on untyped properties, this flew under the radar.
2023-09-08 12:16:16 +01:00
Dylan K. Taylor
ae564e445d
Start migrating EnumTrait enums to PHP 8.1 native enums
2023-09-07 17:20:52 +01:00
Dylan K. Taylor
20a41b00ba
StringToTParser: added registerAlias()
2023-08-23 15:24:29 +01:00
Dylan T
82a5ea9ed3
Allow thread errors and their traces to be properly recorded in crashdumps ( #5910 )
...
until now, any thread crash would show as a generic crash since we aren't able to get the trace from the crashed thread directly. This uses some dirty tricks to export a partially serialized stack trace to the main thread, where it can be written into a crashdump.
This enables us to see proper crash information for async tasks in the crash archive (finally!!!) as well as being able to capture RakLib errors properly.
2023-07-26 16:26:03 +01:00
Dylan K. Taylor
3afe3b7f44
Merge branch 'stable' into minor-next
2023-07-24 12:02:24 +01:00
Dylan K. Taylor
9ef835c82d
Merge remote-tracking branch 'origin/legacy/pm4' into stable
2023-07-21 11:07:32 +01:00
Dylan K. Taylor
9b43ddecbd
Drop usages of Process:kill() with subprocesses parameter
...
we don't need this any more with console reader improvements, and this was not working correctly anyway.
closes #5234
2023-07-20 17:10:39 +01:00
Dylan K. Taylor
914dd90b3d
Use first-class closures in more places
2023-07-19 13:56:48 +01:00
Wertzui123
45d1ce9bb8
Don't mention enchantments in generic StringToTParser doc-comment ( #5894 )
2023-07-14 17:42:19 +01:00
Dylan K. Taylor
097feba4d5
Absorb pocketmine/log-pthreads into PM core
...
this was previously part of the abandoned package pocketmine/spl. It had to be separated in the PM3 days, because RakLib depended on it.
Since RakLib 0.13, RakLib stopped being dependent on or aware of pthreads, so it no longer depends on any thread-related packages.
It's also possible to absorb pocketmine/snooze and pocketmine/classloader back into the core with this in mind.
2023-05-20 16:57:24 +01:00
Dylan K. Taylor
e0630fbb25
pmmpthread support
2023-05-20 01:29:26 +01:00
Dylan K. Taylor
222415859a
Require pthreads ^5.1
...
This version of pthreads has a substantially improved API, improved
performance, improved memory usage, and much less magical and broken
behaviour.
2023-01-23 20:02:33 +00:00
Dylan K. Taylor
07a30ea1f9
Merge branch 'next-minor' into next-major
2023-01-20 15:42:30 +00:00
Dylan K. Taylor
6c52723d97
Merge branch 'stable' into next-minor
2023-01-20 15:40:32 +00:00
Dylan K. Taylor
74e052de51
Terminal: fix deprecation error on PHP 8.2
2023-01-20 01:30:39 +00:00
Dylan K. Taylor
c2918709a3
Merge branch 'next-minor' into next-major
2023-01-06 01:59:04 +00:00
Alexey
172ce659b8
Use str_starts_with, str_ends_with and str_contains instead of strpos ( #5485 )
2022-12-31 13:02:23 +00:00
Alexey
0d31b25fba
Use str_starts_with and str_contains instead of strpos ( #5482 )
2022-12-30 21:41:30 +00:00
Dylan K. Taylor
c89df7eb1c
Merge remote-tracking branch 'origin/next-minor' into next-major
2022-12-25 18:22:13 +00:00
Dylan K. Taylor
0d169b4e80
Filesystem: added fileGetContents to reduce ErrorToExceptionHandler boilerplate code
2022-12-25 17:13:51 +00:00
Dylan K. Taylor
4d79aced07
Merge branch 'next-minor' into next-major
2022-12-15 19:50:27 +00:00
Rush2929
31465525e3
Fixed PHP-CS-Fixer not import global constants. ( #5449 )
2022-12-12 17:12:33 +00:00
Dylan K. Taylor
b5e6dec0c6
Filesystem: capture error information from attempted lock file creation
2022-12-06 14:06:08 +00:00
Dylan K. Taylor
99996b62d6
Align PhpDoc @param tags according to PHP-CS-Fixer
2022-12-06 13:21:20 +00:00
Dylan K. Taylor
142ccc7e87
Merge branch 'next-minor' into next-major
2022-12-05 14:14:39 +00:00
Dylan K. Taylor
eb62dc3294
Added documentation for RegistryTrait, EnumTrait and CloningRegistryTrait
2022-11-30 21:04:17 +00:00
Dylan K. Taylor
b6982a84ef
Merge branch 'next-minor' into next-major
2022-11-25 14:52:56 +00:00
Dylan K. Taylor
d79e6354a0
Merge branch 'stable' into next-minor
2022-11-25 14:41:05 +00:00
Dylan K. Taylor
aad9f5fb45
Terminal: use fallback escape codes if TERM env var is not set
...
tput requires a value for TERM, so it will generate errors if the var is
not set, as it appears not to be in PhpStorm on macOS.
2022-11-24 22:52:33 +00:00
Dylan K. Taylor
fdb07cdbcd
Added more missing native types according to 8.0 standards
2022-11-23 14:21:38 +00:00
Dylan K. Taylor
3b6ff3c42b
Apply union types in some places (BC breaks)
2022-11-23 14:03:35 +00:00
Dylan K. Taylor
a205d64732
Merge branch 'next-minor' into next-major
2022-11-12 17:02:56 +00:00
Dylan K. Taylor
a3502a711d
Merge branch 'stable' into next-minor
2022-11-12 17:01:58 +00:00
Dylan K. Taylor
d5e3636908
Timezone: Apparently timezone_id returned by timezone_abbreviations_list() may be null...
2022-11-12 14:40:37 +00:00
Artem Turov
ef100b248b
Improved doc comment for Internet::getIP() ( #5406 )
2022-11-12 13:52:49 +00:00
Dylan K. Taylor
01bad344a0
Merge branch 'next-minor' into next-major
2022-11-04 20:47:26 +00:00
Dylan K. Taylor
cdbdcb5d67
Merge branch 'stable' into next-minor
2022-11-04 20:44:28 +00:00
Dylan K. Taylor
2fdc46c165
PHPStan 1.9 features
2022-11-04 20:23:34 +00:00
Dylan K. Taylor
bfd1b2c635
PHPStan 1.9.1
2022-11-04 18:28:07 +00:00
Dylan K. Taylor
7bcc663b60
Migrate core code to using symfony/filesystem
...
webmozart/path-util is retained for plugin compatibility, but is dropped in 5.0
2022-10-14 21:51:29 +01:00
Dylan K. Taylor
f88ae93897
BC break: Replaced webmozart/path-util with symfony/filesystem, closes #5332
2022-10-13 16:43:36 +01:00
Dylan K. Taylor
4b41b2f9ae
Merge remote-tracking branch 'origin/next-minor' into next-major
2022-09-28 16:15:35 +01:00
Dylan T
b87e4d8bd3
Introduce and use TextFormat::addBase() ( #5268 )
...
This function adds "base" format to a string. The given formats are inserted directly after any RESET code in the sequence.
An example of where this is needed is in the logger.
Without this change, the following code:
$logger->notice("I'm a " . TextFormat::RED . "special" . TextFormat::RESET . " cookie");
causes the "cookie" part of the message to show as grey, instead of the expected aqua for NOTICE level messages.
There are also many workarounds for this problem throughout the server, mostly in command outputs, being forced to use WHITE instead of RESET to avoid breaking the logger output.
2022-09-28 16:13:11 +01:00
Dylan K. Taylor
6f4ea886b0
Merge branch 'next-minor' into next-major
2022-09-28 00:39:00 +01:00
Dylan T
83e5b0adb6
ConsoleCommandSender is no longer responsible for forwarding broadcast messages to the logger ( #5311 )
...
This is a step towards implementing #2543 .
2022-09-27 20:58:33 +01:00
Dylan K. Taylor
f80ffd8de0
Merge branch 'next-minor' into next-major
2022-09-15 13:59:21 +01:00
Dylan K. Taylor
88eafdd614
Improve type info for RegistryTrait::getAll() and its users
2022-09-02 19:57:22 +01:00
Dylan K. Taylor
66cd156d80
Utils: use static property for core count cache, instead of local static variable
2022-09-02 19:18:01 +01:00
Dylan K. Taylor
1d253bc8c2
Utils: remove 32-bit specific code from javaStringHash()
...
this was necessary in the days of 32-bit, but for 64-bit, the 0xffffffff mask is sufficient and produces the exact same result.
2022-09-02 18:23:49 +01:00