Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: New readme #452

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 18 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,39 @@
# IMPORTANT NOTE
# arsd – Adam Ruppe's Software Development

As of January 1, 2024, this repo is written in the [OpenD Programming Language](https://dpldocs.info/opend/). This is very similar to, but NOT the same as Walter Bright's version of the D Programming Language.
Generated documentation: <https://arsd-official.dpldocs.info>

There will be no further public updates with supported compatibility with WB's D Language. If you depend on this code, either [contact me](mailto:[email protected]) to negotiate a commercial support contract or switch to the [OpenD Programming Language](https://dpldocs.info/opend/). If things keep working from here on out, it is purely coincidental: support requests relating to WB's D are likely to go unanswered and new features are not guaranteed to work.
> [!IMPORTANT]
> As of January 1, 2024, this repo is written in the [OpenD Programming Language](https://dpldocs.info/opend/). This is very similar to, but NOT the same as Walter Bright's version of the D Programming Language.
>
> There will be no further public updates with supported compatibility with WB's D Language. If you depend on this code, either [contact me](mailto:[email protected]) to negotiate a commercial support contract or switch to the [OpenD Programming Language](https://dpldocs.info/opend/). If things keep working from here on out, it is purely coincidental: support requests relating to WB's D are likely to go unanswered and new features are not guaranteed to work.

# About
## About

This is a collection of modules that I've released over the years (the oldest module in here was originally written in 2006, pre-D1!) for a wide variety of purposes. Most of them stand alone, or have just one or two dependencies in here, so you don't have to download this whole repo. Feel free to email me, [email protected] or ping me as `adam_d_ruppe` on the #d IRC channel if you want to ask me anything.

I'm always adding to it, but my policy on dependencies means you can ignore what you don't need. I am also committed to long-term support for OpenD users. Even the obsolete modules I haven't used for years I usually keep compiling at least, and the ones I do use I am very hesitant to break backward compatibility on. My semver increases are *very* conservative.

See the full list of (at least slightly) documented module here: http://arsd-official.dpldocs.info/arsd.html and refer to https://code.dlang.org/packages/arsd-official for the list of `dub`-enabled subpackages. Please note that `dub` is no longer officially supported, but it may work for you anyway.

## Links
### Links

I have [a patreon](https://www.patreon.com/adam_d_ruppe) and my (almost) [weekly blog](http://dpldocs.info/this-week-in-arsd/) you can check out if you'd like to financially support this work or see the updates and tips I write about.

# Breaking Changelog
## Breaking Changelog

This only lists changes that broke things and got a major version bump. I didn't start keeping track here until 9.0.

Please note that I DO consider changes to build process to be a breaking change, but I do NOT consider symbol additions, changes to undocumented members, or the occasional non-fatal deprecation to be breaking changes. Undocumented members may be changed at any time, whereas additions and/or deprecations will be a minor version change.

## 12.0
### 12.0

Future release, likely May 2024 or later.

Nothing is planned for it at this time.

arsd.pixmappresenter, arsd.pixmappaint and arsd.pixmaprecorder were added.

## 11.0
### 11.0

Released: Planned for May 2023, actually out August 2023.

Expand Down Expand Up @@ -61,7 +64,7 @@ Also:

Note that dub currently gives a warning when you do `dub test` about there being no import paths. Ignore this, it is meaningless.

### Diagnostics
#### Diagnostics

```
lld-link: error: undefined symbol: _MsgWaitForMultipleObjectsEx@20
Expand All @@ -78,7 +81,7 @@ lld-link: error: undefined symbol: _D4arsd4core21AsyncOperationRequest5startMFZv

Generally, any symbol that starts with `_D4arsd4core` indicates a missing `core.d` in the build. Make sure you have it downloaded and included.

### Still coming
#### Still coming

11.0 focused on getting breaking changes in before the deadline. Some additive features that had to be deferred will be coming in 11.1 and beyond, including, but not limited to:

Expand All @@ -93,23 +96,23 @@ Generally, any symbol that starts with `_D4arsd4core` indicates a missing `core.
* more dox
* i should prolly rewrite the script.d parser someday but maybe that will be a 12.0 thing

## 10.0
### 10.0

Released: May 2021

minigui 2.0 came out with deprecations on some event properties, moved style properties, and various other changes. See http://arsd-official.dpldocs.info/arsd.minigui.html#history for details.

database.d now considers null strings as NULL when inserting/updating. before it would consider it '' to the database. Empty strings are still ''.

## 9.0
### 9.0

Released: December 2020

simpledisplay's OperatingSystemFont, which is also used by terminalemulator.d (which is used by terminal.d's -version=TerminalDirectToEmulator function) would previously only load X Core Fonts. It now prefers TrueType fonts via Xft. This loads potentially different fonts and the sizes are interpreted differently, so you may need to adjust your preferences there. To restore previous behavior, prefix your font name strings with "core:".

http2.d's "connection refused" handler used to throw an exception for any pending connection. Now it instead just sets that connection to `aborted` and carries on with other ones. When you are doing a request, be sure to check `response.code`. It may be < 100 if connection refused and other errors. You should already have been checking the http response code, but now some things that were exceptions are now codes, so it is even more important to check this properly.

## Prehistory:
### Prehistory:

8.0 Released: June 2020

Expand All @@ -131,13 +134,13 @@ Joined github: July 2011

Started project on my website: 2008

## Credits
### Credits

Thanks go to Nick Sabalausky, Trass3r, Stanislav Blinov, ketmar, maartenvd, and many others over the years for input and patches.

Several of the modules are also ports of other C code, see the comments in those files for their original authors.

# Conventions
## Conventions

Many http-based functions in the lib also support unix sockets as an alternative to tcp.

Expand Down