This is a collection of modules that I've released over the years. Most of them stand alone, or have just one or two dependencies in here, so you don't have to download this whole repo.
d
Go to file
Adam D. Ruppe e0c4e2bba3 opl3 emulation for old school midi 2020-12-25 10:05:28 -05:00
minigui_addons fixes 2020-04-18 21:33:41 -04:00
LICENSE this stuff is mostly boost licensed 2011-12-15 15:53:50 -05:00
README.md http HEAD 2020-12-07 09:41:43 -05:00
apng.d wip 2020-11-24 17:42:09 -05:00
archive.d more stuff 2020-03-16 17:13:55 -04:00
argon2.d wip 2020-11-24 17:42:09 -05:00
arsd.ddoc fixes 2015-09-19 17:07:53 -04:00
audio.d more welcome docs 2019-12-06 23:23:59 -05:00
blendish.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
bmp.d bug fixes and hack to read corrupted files 2020-12-23 21:32:59 -05:00
cgi.d fix broken right click on embedded term 2020-12-17 09:11:43 -05:00
characterencodings.d fix compile 2019-01-12 08:57:05 -05:00
cidr.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
color.d sundry bugfixes 2020-11-08 09:34:12 -05:00
com.d beginning of ole auto array 2019-12-21 21:45:24 -05:00
comhelpers.d more cool stuff from working on windows today 2019-12-19 23:36:33 -05:00
csv.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
curl.d jawesome 2020-09-07 22:32:53 -04:00
database.d basic header docs of all public modules 2019-12-06 23:03:19 -05:00
database_generation.d test makefile, workaround dmd regression, hack support for gdc project-wide 2019-10-18 12:57:29 -04:00
dbus.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
dds.d new dmd deprecation (ugh) 2018-02-26 19:50:25 -05:00
declarativeloader.d fixes 2020-04-18 21:33:41 -04:00
dom.d make pretty string slightly prettier 2020-10-15 22:52:42 -04:00
dub.json experimental hybrid config 2020-09-28 11:07:27 -04:00
email.d some relays only support email so strip when sending there 2020-10-29 14:47:06 -04:00
engine.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
english.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
eventloop.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
exception.d selector bugs 2016-02-27 13:20:02 -05:00
game.d catchup 2020-10-05 12:51:25 -04:00
gamehelpers.d cool stuff 2020-05-08 22:27:30 -04:00
gpio.d new gpio module, experimental 2020-05-11 20:45:13 -04:00
hmac.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
html.d gdc compat 2020-02-17 20:09:47 -05:00
htmltotext.d forgot to forward 2020-01-13 18:08:17 -05:00
htmlwidget.d jawesome 2020-09-07 22:32:53 -04:00
http.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
http2.d fix broken right click on embedded term 2020-12-17 09:11:43 -05:00
image.d svg support in image.d 2020-08-18 17:54:43 -04:00
jni.d note changes to v15 2020-10-09 08:47:33 -04:00
joystick.d lots of stuff 2020-06-15 10:46:51 -04:00
jpeg.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
jpg.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
jsvar.d suck less by allowing new A.b 2020-12-19 21:38:36 -05:00
libeay32.dll libssh2 binding (minimal) 2015-05-12 21:35:51 -04:00
libssh2.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
libssh2.dll libssh2 binding (minimal) 2015-05-12 21:35:51 -04:00
libssh2.lib libssh2 binding (minimal) 2015-05-12 21:35:51 -04:00
mangle.d clean house 2019-12-06 22:07:26 -05:00
midi.d lots of stuff 2020-06-15 10:46:51 -04:00
minigui.d fix broken right click on embedded term 2020-12-17 09:11:43 -05:00
minigui_xml.d fixes 2018-11-23 19:57:22 -05:00
mp3.d lots of stuff 2020-06-15 10:46:51 -04:00
mssql.d scope issue fix thanks to Юрий Кудинов 2020-07-02 09:39:52 -04:00
mvd.d fixes 2020-04-18 21:33:41 -04:00
mysql.d fix close bug 2020-11-03 10:08:33 -05:00
nanovega.d add opengl 3+ helpers 2020-08-25 22:24:25 -04:00
nukedopl3.d opl3 emulation for old school midi 2020-12-25 10:05:28 -05:00
oauth.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
package.d broken links 2019-12-07 11:45:27 -05:00
pcx.d new dmd deprecation (ugh) 2018-02-26 19:50:25 -05:00
png.d a few annotations 2020-11-22 15:48:44 -05:00
postgres.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
querygenerator.d Documentation improvements. 2013-01-12 15:08:49 +01:00
reggaefile.d try to make reggae work 2019-12-19 10:17:42 -05:00
rpc.d omg so much scary stuff 2020-01-01 11:51:20 -05:00
rss.d Document.fromUrl improvement 2019-12-06 20:01:54 -05:00
rtud.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
screen.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
script.d test fail omg 2020-12-19 21:54:31 -05:00
sha.d lol oops 2019-12-06 23:12:13 -05:00
simpleaudio.d opl3 emulation for old school midi 2020-12-25 10:05:28 -05:00
simpledisplay.d warpMouse and vsync on windows 2020-12-22 21:49:26 -05:00
sqlite.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
sslsocket.d more clean 2019-12-06 22:10:25 -05:00
stb_truetype.d more clean 2019-12-06 22:10:25 -05:00
svg.d maor dox 2020-02-20 13:37:14 -05:00
targa.d new dmd deprecation (ugh) 2018-02-26 19:50:25 -05:00
terminal.d fix broken right click on embedded term 2020-12-17 09:11:43 -05:00
terminalemulator.d fix broken right click on embedded term 2020-12-17 09:11:43 -05:00
ttf.d catchup 2020-04-27 14:57:29 -04:00
vorbis.d lol cast 2020-09-09 12:31:16 -04:00
wav.d lots of stuff 2020-06-15 10:46:51 -04:00
web.d basic header docs of all public modules 2019-12-06 22:57:49 -05:00
web.d.php Merge branch 'master' of https://github.com/eskimor/misc-stuff-including-D-programming-language-web-stuff 2012-11-26 15:55:35 -05:00
webtemplate.d jawesome 2020-09-07 22:32:53 -04:00
webview.d updates 2019-12-16 16:31:07 -05:00
wmutil.d fixup webfreaks PR 2018-03-08 17:22:41 -05:00
xwindows.d BREAKING CHANGE: add package to simpledisplay and terminal 2016-04-07 14:57:33 -04:00

README.md

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, destructionator@gmail.com 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. 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.

I have a patreon and my (almost) weekly blog you can check out if you'd like to financially support this work or see the updates and tips I write about.

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.

9.0

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.

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

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

With cgi.d, use

--host unix:/path/here

or, on Linux:

--host abstract:/path/here

after compiling with -version=embedded_httpd_thread to serve http on the given socket. (abstract: does a unix socket in the Linux-specific abstract namespace).

With http2.d, use

Uri("http://whatever_host/path?args").viaUnixSocket("/path/here")

any time you are constructing a client. Note that navigateTo may lose the unix socket unless you specify it again.