• v1-alpha2 34f61211d3

    v1-alpha2 Pre-release

    JeremyStarTM released this 2024-08-01 03:18:15 +02:00 | 217 commits to develop since this release

    ⚠️ This is an experimental release. Stuff may break unexpectedly or contain bugs. Here be dragons! ⚠️
    Breaking changes are marked in bold, important changes are marked in italic.

    Preface

    After about three weeks of development, the next engine release is ready to be published!

    In this release, major parts of the engine have been overhauled. From code and Javadoc comments, code itself, to classes and even whole packages. Almost everything has been touched.

    Have fun developing 🌟

    Highlights

    • complete logging infrastructure revamp
    • extended Graphics API (still highly experimental though)

    Added

    • basic reflection support (97a0218bf6)
    • configuration setting for disabling automatic subsystem initialization (85bff3b14d)
    • proper color validation inside ShortcodeParserSkeleton, independent of Jansi (31b1a2d199)
    • SubsystemClass#getName() (bffe68c015)
    • subsystem initialization time measurement (bffe68c015)
    • run/ directories to .gitignore (ca0274bbb1)
    • v character to %engine_version% placeholder (b17d354a9b)
    • Javadoc and source JAR file upload to Maven (10abe1d3f0)
    • ParserException (0c626cc995)
    • missing package-info.java files (bd6cc73a94, a3849f1813)
    • ImmutableHashSet (85e6cd69de)
    • Miscellaneous#onMainThread method (bf7a450be5)
    • GLFW subsystem, for Graphics APIs using GLFW
    • toString method override for all vector data types for a nicer display (55091d3cd1, a07dc6db84)
    • clone method to all vector data types (2f963e86ef)
    • a way for Events to pass arguments to @EventListeners without having to implement custom code (simply by using the already existing way) (2469e124bd)
    • Tristate#toBoolean method (67909e9cc3)
    • boolean, Tristate and integer conversion methods in Miscellaneous (a0a89d2f3c)
    • update-deps documentation makefile task
    • %stacktrace_all crashhandler placeholder
    • very friendly crash message for users and developers (6c0244053b)
    • escape \ support for ShortcodeParserSkeleton (b9d4196b8b)
    • Math class + moved Miscellaneous#padNumbers to new class (e787680e8c)
    • missing LogOrigin placeholder to logger's temporary placeholders (5187b37e53)
    • ShutdownHandlers, now allowing for shutdown sequence customization (f0c19010d9)
    • more documentation for CrashHandler#processCrashContent, which was missing for a long time due to lazyness (1a56f42287)

    Removed

    • jOOR dependency (5697522641)
    • <negative> tag in ShortcodeParserSkeleton (31b1a2d199)
    • Gradle plugin version information (EngineConfiguration and placeholders) (38c5f0e5b9)
    • Lombok and Jetbrains Annotations dependency version information (EngineConfiguration and placeholders) (3c09713867)
    • nuked the Vulkan subsystem (00a3017c1ef47b8891334849df9eccea0d99314)
    • unused or unnecessary dependencies in OpenGL and Vulkan subsystems

    Changed

    • all @since tags inside Javadoc comments are now prefixed with v (e65c3e2662)
    • IncompatibleVersioningSystemException is now optional (dd7bc714b9)
    • many packages and classes have been renamed and/or moved
    • visibility of certain fields inside DependencyVector (8470d37f37)
    • renamed class ReflectionScanningHelper into ClasspathHelper and made it non-internal (050befbb73)
    • Javadoc comments of almost all modules and packages and of many classes, methods and fields
    • crash report content (4752dd6918, 5cb8350a41, 611d4b823e)
    • replaced ridgid Placeholders with ones which can actually take in arguments (ccc6c31cc9)
    • require throwable in UnexpectedThrowableException to be @NotNull instead of @Nullable (3964512979)
    • entire Graphics and OpenGL subsystems, we won't bother including every single change to these two subsystems here
    • moved ANSI-related classes into separate ANSI subsystem (9dc0f549d4)
    • all platform threads will now be put into the engine's own thread group (ef40c04877)
    • ShortcodeParserSkeleton#parse now uses StringBuilder instead of String internally, thus boosting performance (e5f7b0e580)
    • V-Sync is now controlled globally instead of per-window (4f9154f5fc)
    • made some classes, fields and methods final (7f324090c1)
    • README.md
    • documentation
    • revamped entire logging infrastructure, removed LogIssuer and CodePart, now allowing for more customization & better code quality (f383261ed9)
    • annotation order (f383261ed9, a261d7914e)
    • replaced Engine#shuttingDown with solid EngineState/Engine#state system (bd70b17236)

    Fixed

    • UnresolvedDependenciesException (0c77f50609)
    • Jansi build dependency (0ce24d677f)
    • typos
    • log message order when debugging events (f3acca7456)
    • broken and half-working shutdown logic (86e85356ba)
    • some events not being cached on startup (5909a948b5)
    • unit tests (cbf434ed45)
    • Logger#loggingThread automatically starting up and shutting down when unused/needed (c984974252)
    Downloads