Dylan K. Taylor
1f54760dae
Config: Make load() private
2019-01-10 18:03:15 +00:00
Dylan K. Taylor
b9ce6537a8
Sync composer dependencies (master)
2019-01-09 00:22:42 +00:00
Dylan K. Taylor
4f50119b74
LoginPacket: Cater for more error cases
...
This now doesn't crash unexpectedly at the first sign of broken data.
2019-01-07 14:45:44 +00:00
Dylan K. Taylor
3380aa3ac2
Config: Assert only whitespace precedes .properties key, fixes #commented properties not being skipped
2019-01-07 12:25:05 +00:00
Dylan K. Taylor
3ae722867c
Merge branch '3.5'
2019-01-06 20:19:18 +00:00
Dylan K. Taylor
2cdf97b7b5
CrashDump: Scan full stack trace to determine plugin involvement
2019-01-06 18:07:29 +00:00
Dylan K. Taylor
adc1069ed2
Merge branch '3.5'
2019-01-04 23:28:44 +00:00
Dylan K. Taylor
4b9a142a5d
Import global functions and constants for enhanced performance
...
This is better for performance because these then don't need to be reevaluated every time they are called.
When encountering an unqualified function or constant reference, PHP will first try to locate a symbol in the current namespace by that name, and then fall back to the global namespace.
This short-circuits the check, which has substantial performance effects in some cases - in particular, ord(), chr() and strlen() show ~1500x faster calls when they are fully qualified.
However, this doesn't mean that PM is getting a massive amount faster. In real world terms, this translates to about 10-15% performance improvement.
But before anyone gets excited, you should know that the CodeOptimizer in the PreProcessor repo has been applying fully-qualified symbol optimizations to Jenkins builds for years, which is one of the reasons why Jenkins builds have better performance than home-built or source installations.
We're choosing to do this for the sake of future SafePHP integration and also to be able to get rid of the buggy CodeOptimizer, so that phar and source are more consistent.
2019-01-04 20:43:15 +00:00
Dylan K. Taylor
e1064a9e36
Merge branch '3.5'
2019-01-04 00:37:48 +00:00
Dylan K. Taylor
d71a543d10
Fixed a bunch of things PHPStan finds unpalatable
...
close #2614 , fix a bunch of docs bugs, fix sendCreativeContents() crash on Human holders, move some inline variable declarations
2019-01-04 00:23:09 +00:00
Dylan K. Taylor
aaaddd1fd6
Terminal: stick a RESET on the end when writing a newline
2018-12-29 11:54:44 +00:00
Dylan K. Taylor
d86107e22a
Terminal: Added write() and writeLine() to allow easily emitting Minecraft-formatted text to the console
2018-12-29 11:28:25 +00:00
Dylan K. Taylor
498bffb34f
Fixed --enable-ansi and --disable-ansi not being respected on threads
...
this causes some breakage to the behaviour of Terminal, and for that reason this is going on 4.0.
Terminal::hasFormattingCodes() will no longer auto-detect whether colour codes are supported.
2018-12-29 11:23:32 +00:00
Dylan K. Taylor
e5cb48bec2
Merge branch 'release/3.5'
2018-12-22 13:31:18 +00:00
Dylan K. Taylor
1455c38dbe
Utils: fixed crash in getCoreCount(), closes #2600
...
this should just default to 2 instead of shitting its pants.
2018-12-22 13:27:11 +00:00
Dylan K. Taylor
a2e4fdc8a2
Merge branch 'release/3.5'
2018-12-20 20:02:16 +00:00
Dylan K. Taylor
34a899e28b
Clean up Utils error handling functions (internal)
2018-12-16 17:50:00 +00:00
Dylan K. Taylor
b80868040e
Utils: fixed getTrace() including itself in trace when no alt trace is given
...
it always seemed a little strange that crashdump trace would pop 4 frames when only 3 are written in the comment...
2018-12-16 17:15:16 +00:00
Dylan K. Taylor
05e968d9fd
Merge branch 'release/3.4'
2018-12-04 18:40:54 +00:00
Dylan K. Taylor
762405d16a
Add daverandom/callback-validator as a dependency
2018-12-04 17:14:37 +00:00
Dylan K. Taylor
b0060caaf7
Config: don't catch-all in save()
2018-11-25 16:35:59 +00:00
Dylan K. Taylor
3031128520
Merge branch 'release/3.4'
2018-11-11 19:52:05 +00:00
Dylan K. Taylor
788b278fc3
Utils: fixed handling of non-anonymous closure functions
2018-11-11 19:43:00 +00:00
Dylan K. Taylor
67a5f3f557
Register MainLogger as SPL global, remove hard MainLogger dependency from many areas, break a bunch of cyclic dependencies
2018-11-05 19:01:59 +00:00
Dylan K. Taylor
2a43d9ecb6
Merge remote-tracking branch 'origin/release/3.4'
2018-11-04 22:56:03 +00:00
Dylan T
755db3dac8
Added a ClosureTask implementation for easier task scheduling ( #2497 )
2018-11-04 22:55:40 +00:00
Dylan K. Taylor
3dabf90b0e
Merge branch 'release/3.3' into release/3.4
2018-11-04 22:38:58 +00:00
Dylan K. Taylor
7b24fbc8db
Utils: fix a mistake in getNiceClassName() doc
2018-11-04 22:38:38 +00:00
Dylan K. Taylor
acd3116591
Merge branch 'release/3.4'
2018-11-01 15:51:50 +00:00
Dylan K. Taylor
265b61b3e6
Merge branch 'release/3.3' into release/3.4
2018-10-31 18:55:26 +00:00
Dylan K. Taylor
ab48d85c35
Properly deal with anonymous tasks in timings
2018-10-31 18:51:30 +00:00
Dylan K. Taylor
90482e79bc
Merge branch 'release/3.4'
2018-10-21 18:23:54 +01:00
Dylan K. Taylor
6dd2597934
Merge branch 'release/3.3' into release/3.4
2018-10-21 18:17:07 +01:00
Dylan K. Taylor
45c9caa38c
Fixup some formatting issues
2018-10-21 18:15:25 +01:00
Dylan K. Taylor
ec5af0398e
VersionString: use appropriate regex for number matching
2018-10-19 15:29:00 +01:00
Dylan K. Taylor
4c8ffce86f
Merge branch 'release/3.2' into release/3.3
2018-10-16 16:46:39 +01:00
Dylan K. Taylor
78923177f9
VersionString: use appropriate regex for number matching
2018-10-16 16:46:27 +01:00
Dylan K. Taylor
99fb267333
Merge branch 'release/3.3'
2018-09-04 15:58:24 +01:00
Dylan K. Taylor
557fd34754
Make MainLogger independent of runtime-defined INI entries
...
Previously every thread using the logger had to inherit runtime-defined INI entries in order for the timezone to be set correctly. This removes that requirement.
2018-09-04 15:57:45 +01:00
Dylan K. Taylor
3a1f0eca7c
Merge branch 'release/3.2'
2018-08-19 11:23:04 +01:00
Dylan K. Taylor
9d17c9a09d
Merge branch 'release/3.1' into release/3.2
2018-08-19 11:22:58 +01:00
Dylan K. Taylor
3892f2f404
Config: Properly prevent keys getting transformed into bools
...
The original regex almost completely failed at its objective, because it a) only worked if there was no value for the key, and b) did not prevent all such occurrences getting transformed, while quoting patterns that would not get transformed anyway.
2018-08-19 11:22:36 +01:00
Dylan K. Taylor
83077309ef
Merge branch 'release/3.2'
2018-08-04 16:03:46 +01:00
Dylan K. Taylor
f3f229ef7c
Internet: only catch InternetExceptions - anything else is an unexpected fault condition
2018-08-04 14:51:26 +01:00
Dylan K. Taylor
2170411cf8
Merge branch 'release/3.2'
2018-08-03 18:50:37 +01:00
Dylan K. Taylor
7ebf3c7bf4
Merge branch 'release/3.1' into release/3.2
2018-08-03 18:50:22 +01:00
Dylan K. Taylor
d6d98183ea
MainLogger: Log messages and exception traces in a synchronized block
...
this ensures that stack traces are emitted coherently without messages from other threads landing in the middle.
2018-08-03 18:50:06 +01:00
Dylan K. Taylor
62cb7963dc
Remove deprecated functions for 4.0.0
...
If any moron starts complaining that their plugins broke, tell them to use 3.x... thanks
2018-07-31 14:37:54 +01:00
Dylan K. Taylor
be37236c76
Deduplicate code for general classpath registries
2018-07-26 15:21:03 +01:00
Dylan K. Taylor
522f0f5c25
Config: remove dead field
2018-07-26 14:05:38 +01:00