This commit replaces all TLS connection code with wolfssl.
The certificate parsing code has to remain for now, as wolfssl does not
seem to have any exposed API for that.
LibLocale was split off from LibUnicode a couple years ago to reduce the
number of applications on SerenityOS that depend on CLDR data. Now that
we use ICU, both LibUnicode and LibLocale are actually linking in this
data. And since vcpkg gives us static libraries, both libraries are over
30MB in size.
This patch reverts the separation and merges LibLocale into LibUnicode
again. We now have just one library that includes the ICU data.
Further, this will let LibUnicode share the locale cache that previously
would only exist in LibLocale.
Static analysis is great, but these workflows have not worked in a long
time, and no one was looking at the results. Our PVS Studio license and
our Sonar Cloud token have expired. Remove the workflows (at least for
now) so we don't waste CI runners and cache space. If someone is
motivated to revive these, they can revert this commit.
GitHub allows relative paths to be used to display images, this should
make the image continue working even when viewing the README from an
earlier commit of the repo in case the location of screenshots is moved.
This is also just a cleaner way to do this.
Recreating the previous screenshot in a current build of the system will
show many, usually subtle, changes in comparison.
This patch adds a new screenshot of the SerenityOS desktop with
Terminal, File Manager, System Monitor and Ladybird visible.
The link to documentation is buried near the bottom of the README,
and most people don't realize that we have documentation within the
repository because of this. This commit adds handy links that take you
to the appropriate parts of the README, which should improve
discoverability by a lot. The idea is inspired by other repositories
having a similar "common links" area at the top of their READMEs.
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.