The README was getting a bit outdated in places, and it didn't have its
priorities straight (libc uwu, also we have browser no big deal). These
changes are largely based on what was discussed among major contributors
and maintainers, though I put in some extra stuff I'm bothered by.
The start of README is unchanged. The project blurb is probably its best
part, both then and now, so it definitely stays. The FAQ is moved up
under the About section because it's easier to find that way and makes
more sense logically.
The Features section is a highly compressed version of the previous
several features sections. Priorities are a big focus here: List what
matters to a reader, what they will likely care about, what's impressive
to them and what's probably not. The list therefore starts with the
factual basics about the Kernel followed directly by Browser+LibJS, the
probably biggest userland feat in this project. Then, we pedal back and
talk about OS basics, like security, POSIX, services, libraries,
devtools. We finish out by addressing the end user concerns
(customization, UI apps, multimedia & file format support), which
includes a bunch of things previously underrepresented. I think it's
rather important that Serenity has a unified style and UX philosophy, so
this should definitely be mentioned :^) At the end, I think it's very
important to state the NIH philosophy, but also the fact that there are
more than two hundred (!) ports.
Documentation section is slightly expanded to mention the Documentation
folder which doesn't really appear anywhere in the previous version.
Build instructions include a simple mention of the fact that Serenity
runs on almost anything. It's good to not scare off Windows users :^))
(self-deprecating humour overload)
The Get in Touch section and the issues section are combined into one
"how do i talk to u help" section that contains the same information but
includes a general link to CONTRIBUTING.
The Contributors section is now one big list of 100+ commit people.
Also, the GitHub contributor list is linked, as that lists over 30
additional people IIRC + detailed statistics.
This builds on the work done by implementing the flex order CSS
property and implements flex reverse layouts by just reversing
the order and the items within each order bucket.
Adds a new optional parameter 'reserved_chars' to
AK::URL::percent_encode. This new optional parameter allows the caller
to specify custom characters to be percent encoded. This is then used
to percent encode plus signs by HttpRequest::to_raw_request.
This almost fully implements the SSE extension, similar to the x87 and
MMX extensions, using a separate class "SoftVPU".
Currently missing are all shadow and exception checks, as well as the
denormals-are-zero and flush-to-zero flags.
Also missing are some integer-SIMD functions.
There was a bug in the way the `.port_include.sh` script handled
installing dependencies. According to the
[documentation](https://github.com/SerenityOS/serenity/tree/master/Ports#depends)
the depends array should have port names in it. The port system allows
for the name of the port to be different from the folder where port
lives. Previously the `installdepends` function would cd to the name
of the port, now it will find and run the `package.sh` that has the
line `port=$depend` in it.
Previously when installing libtiff as a dependency for another port
it would not find the entry in `packages.db` as the ports that
depend on libtiff would use the folder name rather than the port
name in the dependency list. They did this because there was is a
bug in `.port_include.sh` that cds to the port name and not the
folder the port lives in. This is a workaround for that issue.
Now that clang-format-14 ubuntu packages are available, it's time to
finally upgrade our clang-format version. This version brings with it
a bunch of useful features with const-placement being the most notable.
These will be enabled in the following commits.