SerenityOS update (December 2022) @awesomekling
SerenityOS update (December 2022)  @awesomekling
Uploaded December 2022 | Updated September 2026, 3 weeks ago
HAPPY NEW YEAR FRIENDS!

Thanks to my co-hosts:
Jelle Raaijmakers: twitter.com/gmta_nl
Andrew Kaster: twitter.com/ramborambowski
Idan Horowitz: twitter.com/horowitz_idan

SerenityOS: github.com/SerenityOS/serenity
Jakt: github.com/SerenityOS/jakt

Outro music by Katalin Kult: youtube.com/watch?v=XyMqPaNJtgw

Timestamps by Damikiller37:
00:00 Intro: Well, Hello Friends
00:15 Architecture: 32bit architecture has been deprecated.
01:41 Color Profiles: Initial implementation of parsing ICC profiles.
02:26 Strings: New program which prints strings from a file.
03:01 Text Editor: Added Open Containing Folder option.
03:48 Text Editor: Saving a file now uses an appropriate file type based on the Syntax selected.
04:25 Color Picker: Now has a slider for the alpha value.
05:14 Pixel Paint: The Pixel Paint format (.pp) now saves layers as PNG bitmaps with PNG compression applied.
06:02 Pixel Paint: Added a new Text tool.
07:24 Pixel Paint: Improvements to the Move tool; Shows preview as you resize a layer.
08:17 Pixel Paint: You can now undo a single click when using the Brush Tool.
09:06 Magnifier: Added a Grid option to help distinguish pixels from each other.
10:28 Ports: LibGL improvements to primitive drawing to improve rendering in the GL Tron port.
11:11 Ports: Quake 3 - Implemented User Clip Lanes.
12:17 WebGL: Initial implementation powered by LibGL.
12:57 Ports: New port of PrBoom-Plus which is Doom source port with extended functionality.
13:54 Screensaver: New Screensaver called Tubes powered by LibGL.
14:37 Ports: ClassicCube has been ported.
15:35 VirtGPU: Uses the VirtGL translation layer between QEMU and Host GPU to execute GL instructions.
16:07 Ports: New port for Super Mario 64 EX.
17:55 Improvements: Pixel Conversion support, Improved compatibility with OpenGL Extensions, etc.
20:08 Mouse: System wide support for Natural Scrolling (Reverse Scrolling).
20:54 System: Menu Items / Toolbar Actions can now be made invisible depending on context.
22:15 Text Editor: Incremental Text Search arrow order has been switched.
23:15 PDF Viewer: Added Outline support.
24:00 PDF Viewer: Improvements to rendering and parsing; Better handling of unsupported features.
25:11 Calculator: The Equals button keeps repeating previous operation when clicked again.
25:54 Games: New game Color Lines.
26:57 Help: Added documentation for the Solitaire game.
28:06 Screensaver: Screensavers now share common functionality.
29:21 Architecture: AArch64 runs with Clang and GCC.
31:27 Jakt: Refactor enabled to utilise the SerenityOS' AK library directly.
33:05 Ports: Zig Language port now works!
34:44 External: You can use Compiler Explorer to work on SerenityOS C++ and Jakt based programs.
37:16 CMake: Serenity OS Platform modules now in upstream CMake (3.25+).
38:39 LibJS: Ability to compile to WASM using LibJS REPL.
39:41 External: Added darwin (macOS) binaries support for LibJS in esvu.
41:05 ByteCode Engine: Added support for 'yield*'.
42:09 ByteCode Engine: Added support for object destructuring of 'for' loops.
43:14 ByteCode Engine: Improvements to Optimisation passes.
44:33 Test262 Website: Added a new graph for Test262 (bytecode interpreter with optimizations).
45:09 LibJS: Implemented the new proposal for WellFormed string methods.
47:02 LibJS: Implemented the new proposal for Set methods.
48:11 LibJS: Updates for the features already implemented from the Temporal Spec and Intel Duration Format Spec.
48:39 LibJS: Work done to convert parts of LibJS to use the new Garbage collected pointer types.
48:56 Browser: Improvements to Margin collapsing.
50:17 Browser: Implemented the CSS Repeating conic gradient and improved performance of all gradient types.
51:00 Browser: Fixes for overflowing column and row spans in CSS Grid.
51:22 Browser: Implemented 2 DOM APIs: 'document.getSelection()' and 'document.getSelection().setBaseExtent()'.
51:53 Browser: Work on better wrapping of CSS Pixels vs Physical Pixels.
52:28 Browser: Improvements to the Fetch implementation to match new specification updates.
52:40 LibWeb: Fixing issues around cloning and comparing attribute and processing instruction DOM nodes.
52:56 Ladybird: Implemented a new DOM Inspector.
53:29 Ladybird: Added support for persistent cookies.
53:46 Ladybird: The Acid2 test is almost completely passing!
54:22 Outro: Well, Goodbye Friends
SerenityOS update (December 2022)Browser hacking: Lets fix the username/password boxes on the Discord login screenFIXME: Node.cloneNode() on Attr DOM nodesBrowser hacking: Using external SVG files as imagesUI hacking: Undoing selection changes in Pixel PaintHacking on Jakt inheritance with JTSerenityOS Office Hours / Q&A (2022-08-26)Browser hacking: Abstracting the event loop so Ladybird can be fast & responsive on Linux!UI hacking: Traversing the File Manager breadcrumbs backwards with Alt+DownSerenityOS update (October 2023)SerenityOS Office Hours / Q&A (2023-03-17)OS hacking: Sandboxing any command with a pledge() command-line wrapper for SerenityOS
Andreas Kling |

SerenityOS update (December 2022)

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER