Fabio Alessandrelli
eeac6f8c7f
[TLS] Fix crashes trying to use TLS when not available.
...
If no StreamPeerTLS implementation is available, HTTPClient and
WebSocketPeer will now correctly refuse to connect using TLS returning
ERR_UNAVAILABLE.
Similarly, ENetConnection will refuse to setup DTLS when PacketPeerDTLS
is not available.
2023-05-12 20:08:10 +02:00
Pedro J. Estébanez
6189ab5291
Robustify multi-threading primitives
2023-05-12 19:04:57 +02:00
Pedro J. Estébanez
45d0b38076
Enhance thread safety of loaders and importers
2023-05-12 17:44:48 +02:00
Pedro J. Estébanez
7537a0521f
Simplify ResourceLoader error callbacks
2023-05-12 17:44:48 +02:00
Rémi Verschelde
20ed51a912
Merge pull request #72704 from myaaaaaaaaa/single-main-thread
...
Partial fixes for `threading/worker_pool/max_threads` = 0
2023-05-12 15:09:50 +02:00
Pedro J. Estébanez
123ba9d464
WorkerThreadPool: Handle exit signal in the tentative scheduling done during waits
2023-05-12 13:31:04 +02:00
myaaaaaaaaa
fcd8ce52e9
Partial fixes for threading/worker_pool/max_threads = 0
2023-05-12 07:27:35 -04:00
Rémi Verschelde
258fabdbb3
Merge pull request #76836 from Faless/tls/system_certs
...
[TLS] Add support for platform-specific CA bundles.
2023-05-12 11:17:31 +02:00
Rémi Verschelde
ae4d469ca2
Merge pull request #76980 from m4gr3d/fix_input_anr_main
...
Fix input ANR in the Godot Android editor
2023-05-12 10:07:19 +02:00
Rémi Verschelde
8f17f26233
Merge pull request #76978 from raulsntos/property-hint-compat
...
Reorder `PropertyHint` enum to avoid breaking compat
2023-05-12 10:06:32 +02:00
Rémi Verschelde
cc48827e4a
Merge pull request #76946 from AThousandShips/shadow_warning
...
Enable shadow warnings and fix raised errors
2023-05-12 10:04:09 +02:00
Rémi Verschelde
186aa649d2
Merge pull request #76945 from RandomShaper/fix_wtp
...
Fix multiple issues in `WorkerThreadPool`
2023-05-12 10:03:45 +02:00
Rémi Verschelde
863bcd3e2b
Merge pull request #76936 from clayjohn/revert-hsl
...
Revert "Add API for HSL conversion"
2023-05-12 10:03:21 +02:00
Fabio Alessandrelli
6fd9982358
[TLS] Add support for platform-specific CA bundles.
...
Adds a new OS::get_system_ca_certs method which can be implemented by
platforms to retrieve the list of trusted CA certificates using OS
specific APIs.
The function should return the certificates in PEM format, and is
currently implemented for Windows/macOS/LinuxBSD(*)/Android.
mbedTLS will fall back to bundled certificates when the OS returns no
certificates.
(*) LinuxBSD does not have a standardized certificates store location.
The current implementation will test for common locations and may
return an empty string on some distributions (falling back to the
bundled certificates).
2023-05-12 09:58:23 +02:00
Fredia Huya-Kouadio
367061cf9c
Follow up to https://github.com/godotengine/godot/pull/76399 to fix input ANR in the Godot Android editor
2023-05-11 19:06:03 -07:00
Raul Santos
a34207b812
Reorder PropertyHint enum to avoid breaking compat
...
Also syncs the Core enum with the C# enum for the source generators.
2023-05-12 01:48:07 +02:00
Pedro J. Estébanez
9077bb9232
Fix multiple issues in WorkerThreadPool
...
- Fix project settings being ignored.
- Made usages of `native_thread_allocator` thread-safe.
- Remove redundant thread-safety from `low_priority_threads_used`, `exit_threads`.
- Fix deadlock due to unintended extra lock of `task_mutex`.
2023-05-11 16:10:09 +02:00
Ninni Pipping
71ee65dc57
Enable shadow warnings and fix raised errors
2023-05-11 16:00:59 +02:00
Rémi Verschelde
fd4a06c515
Merge pull request #76906 from lawnjelly/safe_acos4_2
...
Make acos and asin safe
2023-05-11 13:33:37 +02:00
lawnjelly
50c5ed4876
Make acos and asin safe
...
A common bug with using acos and asin is that input outside -1 to 1 range will result in Nan output. This can occur due to floating point error in the input.
The standard solution is to provide safe_acos function with clamped input. For Godot it may make more sense to make the standard functions safe.
2023-05-11 08:34:34 +01:00
clayjohn
f83a90192f
Revert "Add API for HSL conversion"
...
This reverts commit 0b7fd664c1
.
2023-05-10 17:45:56 -03:00
Pedro J. Estébanez
045401c64e
Use WorkerThreadPool for threaded resource loading
2023-05-10 18:53:41 +02:00
Pedro J. Estébanez
b6647a5808
Avoid sync issues in materials with scheduled shader updates
2023-05-10 18:53:41 +02:00
Pedro J. Estébanez
5a4613f551
Avoid sync issues in resources with deferred updates
2023-05-10 18:53:41 +02:00
Pedro J. Estébanez
8983b20ccd
Avoid interaction issues between resource loading threads
2023-05-10 18:53:41 +02:00
Rémi Verschelde
74c34aed38
Merge pull request #76905 from Faless/mbedtls/no_weak_crypto_no_patch
...
mbedTLS: disable weak crypto and TLS versions.
2023-05-10 12:47:31 +02:00
Rémi Verschelde
74e5ad5c60
Merge pull request #76165 from and-rad/safe-credentials
...
Store sensitive export options in dedicated credentials file
2023-05-10 12:47:07 +02:00
Rémi Verschelde
5271186f2f
Merge pull request #75901 from reduz/refactor-node-processing
...
Refactor Node Processing to allow Scene Multithreading
2023-05-10 12:46:44 +02:00
Andreas Raddau
fab160ce70
Store sensitive export options in dedicated credentials file
2023-05-10 11:40:17 +02:00
Fabio Alessandrelli
024a4b1f2a
mbedTLS: disable weak crypto and TLS versions.
...
This commit adds a new mbedTLS configuration header to customize the
built-in library (and can be optionally replaced by a platform-specific
one).
Currently, it disables most weak cryptographic functions (with the
notable exceptions of MD5 and SHA-1), along with removing support for
TLS versions 1.0 and 1.1 (making TLSv1.2 the only supported one).
2023-05-10 11:13:19 +02:00
Rémi Verschelde
3b8c828159
Merge pull request #69988 from smix8/navigation_rvo_rework_4.x
...
Rework Navigation Avoidance
2023-05-10 10:19:12 +02:00
Fabio Alessandrelli
081808be49
Merge pull request #75721 from ScorpionInc/Expose_String_functions_for_X509Certificate
...
Exposes String functions for X509Certificates
2023-05-10 05:26:55 +02:00
smix8
a6ac305f96
Rework Navigation Avoidance
...
Rework Navigation Avoidance.
2023-05-10 05:01:58 +02:00
ScorpionInc
a5b867391e
Exposes String functions for X509Certificates
...
Exposes String functions for X509Certificates via two function calls: save_to_string() and load_from_string(str).
2023-05-09 19:02:33 -04:00
Rémi Verschelde
6bca6beea3
Merge pull request #76878 from RedworkDE/tests-fix-errors
...
Fix various errors when running the unit tests
2023-05-09 19:28:54 +02:00
Rémi Verschelde
ccf8029910
Merge pull request #76730 from AThousandShips/doc_order
...
Make documentation sorting use natural order
2023-05-09 19:28:38 +02:00
Rémi Verschelde
0f444f101a
Merge pull request #76661 from bonjorno7/hsl
...
Add API for HSL conversion
2023-05-09 19:28:35 +02:00
Rémi Verschelde
10ed1d87df
Merge pull request #76490 from dsnopek/dump-gdscript-docs
...
Dump API docs from inline GDScript comments using --doctool --gdscript-docs PATH
2023-05-09 19:28:30 +02:00
Juan Linietsky
98c655ec8d
Refactor Node Processing
...
* Node processing works on the concept of process groups.
* A node group can be inherited, run on main thread, or a sub-thread.
* Groups can be ordered.
* Process priority is now present for physics.
This is the first steps towards implementing https://github.com/godotengine/godot-proposals/issues/6424 .
No threading or thread guards exist yet in most of the scene code other than Node. That will have to be added later.
2023-05-09 19:17:51 +02:00
RedworkDE
8e7afec479
Fix various errors when running the unit tests
...
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-05-09 18:40:56 +02:00
Ninni Pipping
6bccdec7a1
Make documentation sorting use natural order
2023-05-09 17:47:52 +02:00
Rémi Verschelde
ee931e2be5
Merge pull request #76814 from KoBeWi/underdata
...
Don't refresh inspector when changing internal meta
2023-05-09 17:44:49 +02:00
Rémi Verschelde
58ea42e4ab
Merge pull request #76755 from RandomShaper/fix_allocator_thsafe
...
Add missing thread safety to PagedAllocator
2023-05-09 17:44:45 +02:00
Rémi Verschelde
5ade250c7d
Merge pull request #76735 from AThousandShips/natural_cmp
...
Add `naturalcasecmp_to` function to `String`
2023-05-09 17:44:37 +02:00
bonjorno7
0b7fd664c1
Add API for HSL conversion
...
Math ported pretty much 1:1 from https://en.wikipedia.org/wiki/HSL_and_HSV
Style doesn't match the existing HSV code exactly, but should be close enough.
2023-05-09 17:43:10 +02:00
Pedro J. Estébanez
341b95871c
Add missing thread safety to PagedAllocator
2023-05-08 18:38:56 +02:00
David Snopek
a64137d5dd
Dump API docs from inline GDScript comments using --doctool --gdscript-docs PATH
2023-05-08 11:00:29 -05:00
kleonc
0b944e1a68
Make LocalVector
respect its tight
template parameter
2023-05-08 15:22:58 +02:00
Rémi Verschelde
491a437df5
Merge pull request #76540 from reduz/redo-remote-filesystem
...
Redo how the remote filesystem works
2023-05-08 13:52:51 +02:00
Rémi Verschelde
3e6a731904
Merge pull request #76418 from reduz/method-bind-validated-call
...
Add ValidatedCall to MethodBind
2023-05-08 13:52:42 +02:00
Rémi Verschelde
353efd774f
Merge pull request #76754 from RandomShaper/mq_less_lock
...
Avoid redundant locking in CallQueue
2023-05-08 12:20:53 +02:00
Rémi Verschelde
fe6cd734ad
Merge pull request #76748 from KoBeWi/has_feature(fast)
...
Cache feature list in `OS.has_feature()`
2023-05-08 12:20:49 +02:00
Rémi Verschelde
0daa634f24
Merge pull request #76747 from RandomShaper/fix_mq_redundant
...
Mend some checks in CallQueue
2023-05-08 12:20:45 +02:00
Rémi Verschelde
466e99d57c
Merge pull request #76728 from RedworkDE/signal-disconnect-loop
...
Prevent infinite loop when signal disconnection fails during object deletion
2023-05-08 12:20:41 +02:00
Rémi Verschelde
e85f6871ba
Merge pull request #76561 from KoBeWi/most_obscure_class_that_has_ever_existed
...
Improve and document PackedDataContainer
2023-05-08 12:20:33 +02:00
Rémi Verschelde
49ba2e0447
Merge pull request #76399 from RandomShaper/fix_android_input_anr
...
Allow concurrent buffering and dispatch of input events
2023-05-08 12:20:21 +02:00
Juan Linietsky
273a6eeb66
Redo how the remote filesystem works
...
Instead of reading files over the network, the new version uses a local file cache and only updates files when it changes.
The original remote filesystem was created 14 years ago, when ethernet was faster than hard drives or even flash. Also, mobile devices have a very small amount of storage.
Nowadays, this is no longer the case so the approach is changed to using a persistent cache in the target device.
Co-authored-by: m4gr3d
2023-05-08 11:57:54 +02:00
Pedro J. Estébanez
f369ed9223
Allow concurrent buffering and dispatch of input events
2023-05-08 09:15:16 +02:00
kobewi
5e3a985c91
Don't refresh inspector when changing internal meta
2023-05-07 22:12:22 +02:00
Ninni Pipping
46a7018e3c
Add naturalcasecmp_to
function to String
...
Functions as a complement to `naturalnocasecmp_to`
2023-05-07 10:17:53 +02:00
Pedro J. Estébanez
5a0c186bc0
Avoid redundant locking in CallQueue
2023-05-05 19:39:11 +02:00
Clay John
7a13cf9aeb
Merge pull request #75510 from SilicDev/string_erase
...
Reimplement `String.erase()` as immutable method
2023-05-05 10:03:49 -07:00
Clay John
610877e326
Merge pull request #72288 from MewPurPur/use-string-repeat
...
Use `String.repeat()` to optimize several String methods
2023-05-05 09:56:48 -07:00
Pedro J. Estébanez
8654e90759
Mend some checks in CallQueue
2023-05-05 17:37:44 +02:00
kobewi
30d0dd43c5
Cache feature list in OS.has_feature()
2023-05-05 17:34:49 +02:00
RedworkDE
1a4eccf7e7
Prevent infinite loop when signal disconnection fails during object deletion.
2023-05-05 13:34:25 +02:00
Samuele Panzeri
59f04e16b8
Support long path in file access on windows
...
Changed windows file access file to check for path length and use the \\?\ long format when needed
2023-05-05 10:04:39 +02:00
SilicDev
6fa4f71ca6
Reimplement String.erase
2023-05-04 00:52:35 +02:00
VolTer
6b84e258d2
Use String.repeat() in more places
2023-05-01 02:27:46 +02:00
Juan Linietsky
1c93606e47
Add ValidatedCall to MethodBind
...
* This should optimize GDScript function calling _enormously_.
* It also should simplify the GDScript VM considerably.
NOTE: GDExtension calling performance has most likely been affected until going via ptrcall is fixed.
2023-04-30 20:01:26 +02:00
kobewi
c08e96ef0d
Improve and document PackedDataContainer
2023-04-29 00:29:40 +02:00
Yuri Sizov
26fb911f79
Merge pull request #72095 from anvilfolk/gd-docs
...
Improve GDScript documentation generation & behavior
2023-04-26 16:54:25 +02:00
Rémi Verschelde
51951a59d6
Merge pull request #76467 from RandomShaper/doc_cache_peace_of_mind
...
Add peace-of-mind checks to API hash caching
2023-04-26 11:36:09 +02:00
Rémi Verschelde
cc0edf810f
Merge pull request #74106 from dalexeev/astar-grid-2d-negative-coords
...
Allow negative coordinates in `AStarGrid2D`
2023-04-26 11:35:55 +02:00
Pedro J. Estébanez
a79e71ad58
Add peace-of-mind checks to API hash caching
2023-04-26 10:44:52 +02:00
Danil Alexeev
76ee3d4f31
Allow negative coordinates in AStarGrid2D
2023-04-26 09:29:33 +03:00
Rémi Verschelde
e0e93ce094
Merge pull request #72421 from myaaaaaaaaa/signal-hashmap
...
Store Object signals in a HashMap rather than a VMap
2023-04-25 19:26:35 +02:00
Rémi Verschelde
efb42c3101
Merge pull request #75447 from bruvzg/brotli_packedarray
...
Expose brotli decompression to the scripting API.
2023-04-25 16:16:56 +02:00
Rémi Verschelde
aa622dae53
Merge pull request #76431 from RandomShaper/fix_doc_help_cache
...
Improve reliability of editor docs cache
2023-04-25 14:44:17 +02:00
Rémi Verschelde
53191928e5
Merge pull request #76345 from reduz/fix-thread-ids
...
Fix thread IDs.
2023-04-25 13:20:46 +02:00
Pedro J. Estébanez
e1ce0340b7
Improve reliability of editor docs cache
2023-04-25 11:40:56 +02:00
Rémi Verschelde
15d952147c
Merge pull request #74101 from RandomShaper/fix_gds_obj_temps
...
Fix edge cases of object lifetime when signals involved
2023-04-25 09:58:17 +02:00
Rémi Verschelde
76d33d187f
Merge pull request #69698 from Daylily-Zeleen/daylily-zeleen/show_in_explorer
...
Implement and expose OS::shell_show_in_file_manager()
2023-04-25 09:57:27 +02:00
Daylily-Zeleen
b12ced0a26
Implement and expose OS::shell_show_in_file_manager()
2023-04-25 11:29:32 +08:00
Rémi Verschelde
14c582bca8
Merge pull request #76403 from bitsawer/reduce_hashmap_size
...
Optimize HashMap size
2023-04-24 16:49:12 +02:00
Rémi Verschelde
f64544a960
Merge pull request #76311 from aaronfranke/t2d-basis-det
...
Expose `determinant` in Transform2D, rename internal method
2023-04-24 16:46:24 +02:00
bitsawer
723f2f342f
Optimize HashMap size
2023-04-24 16:18:58 +03:00
Juan Linietsky
a37c30dfc9
Fix thread IDs.
...
On Linux, thread IDs were not properly assigned with the current approach.
The line:
`std::thread new_thread(&Thread::callback, _thread_id_hash(thread.get_id()), p_settings, p_callback, p_user);`
does not work because the thread ID is not assigned until the thread starts.
This PR changes the behavior to use manually generated thread IDs. Additionally, if a thread is (or may have been created) outside Godot, the method `Thread::attach_external_thread` was added.
2023-04-24 15:13:58 +02:00
bruvzg
628f3b2f79
[OS] Implement and expose to scripting APIs get_memory_info
method instead of old get_free_static_memory
.
2023-04-24 14:08:55 +03:00
Aaron Franke
290b09b36c
Expose determinant
in Transform2D, rename internal method
2023-04-22 13:44:14 -05:00
ocean (they/them)
6783ff69c0
Improve and fix GDScript documentation generation & behavior
...
Removes documentation generation (docgen) from the GDScript compiler to
its own file. Adds support for GDScript enums and signal parameters and
quite a few other assorted fixes and improvements.
2023-04-21 10:17:30 -04:00
Paweł
899da22002
Fix lerp error message
2023-04-21 10:01:59 +02:00
Rémi Verschelde
e83d3060a8
Merge pull request #76259 from kleonc/callable-error-text-expected-arg-count-fix
...
Fix expected argument count in Callable call error text
2023-04-20 12:43:42 +02:00
kleonc
7a871212ed
Fix expected argument count in Callable call error text
2023-04-19 16:06:00 +02:00
bruvzg
520a8d8ed2
Add project manager / editor initial screen settings, implement DisplayServer.get_keyboard_focus_screen method.
2023-04-19 08:54:53 +03:00
Danil Alexeev
36bedd341a
Fix misuses of error macros
2023-04-18 10:20:48 +03:00
Haoyu Qiu
6cd8e706fa
Unify descriptions of vector methods
...
* is_equal_approx
* normalize
* length_squared
* posmod
* posmodv
2023-04-14 23:31:33 +08:00
Pedro J. Estébanez
f5602869da
Cache classes editor help
2023-04-13 12:16:47 +02:00
Rémi Verschelde
68b8156fe3
Merge pull request #76014 from AThousandShips/image_astc
...
Expose more compression formats in Image and fix compress check
2023-04-13 09:57:53 +02:00
Rémi Verschelde
1a90031f3c
Merge pull request #76001 from pkowal1982/version
...
Fix Windows StringFileInfo structure
2023-04-13 09:56:17 +02:00