Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tags: thecoshman/http

Tags

v2.4.0

Toggle v2.4.0's commit message

Verified

This tag was signed with the committer’s verified signature.
Chewing up a tar-ball again

Fixed:
  * If-Modified-Since: truncating away the sub-second part
    (2781288)
    (d24e13f)
    (#170)
  * -d/--webdav documentation not saying what it does well
    (060943d)

New:
  h -A/--archives that allows downloading whole directory trees directly
    + Use with curl -H 'Accept: application/tar' (or /x-tar)
                    -H 'Accept: application/zip' (or /x-zip-compressed)
    + or by clicking the tar/zip buttons on generated indices
  * POST text/plain vendor=http as an extension point
    + archive=yes-i-really-want-one + (type=tar OR type=zip)
    + if these don't all match then this decays to a 501 like any other POST
    (124976d)
    (5874473)
    (4406236)
    (9d0c68f)
    (972e1d8)
    (c946ca7)
    (0aeebaa)
    (44b33ec)

Internal:
  * Deduplicate MIME types in build.rs
    (5748780)
ihr time dependency replaced with chrono
    (f093c18)
    (c38561c)
    (ddaa61f)
    (2781288)
    (d24e13f)
    (#170)
  h Transfer-Encoding: chunked implementation restored
    (124976d)
  * ctrlc dependency 3.1 -> 3.5
    (16d5596)

v2.3.1

Toggle v2.3.1's commit message

Verified

This tag was signed with the committer’s verified signature.
You don't cuddle me enough to do your litigating

Fixed:
  * Temporary directories not being cleaned up on SIGTERM/SIGHUP
    like they are on SIGINT
    (af3dbb2)
    (#176)
  * Builds on current nightly
    (3a35de1)
  * Slew of warn(mismatched_lifetime_syntaxes) on current nightly
    (7da7633)
  * --encoded-prune not accepting s suffix
    (592c611)
  * ^C (&c.) being ignored if it happened /during/ pruning
    (028f4b8)

Changed:
  h base64 version from 0.10 to 0.22
    + embedded icons in generated responses no longer have base64 = padding
      (this saves 8 bytes per and seems to not affect functionality at all)
  * brotli version from 6.0  to 8.0
    (f5da738)
    (7be0e75)

Internal:
  * Some non-awful clippy lints applied
    (26c77f0)
  * mem::replace() -> mem::take() where possible
    (d3cf0f2)
  * Only depend on libc on non-windows
    (2427e14)
  * Startup logging flattened out a bit
    (96b9bd1)

v2.3.0

Toggle v2.3.0's commit message

Verified

This tag was signed with the committer’s verified signature.
Doing so much blow that I can't close my eyelids

Fixed:
  * HEAD returning Content-Length: 0 always
    (7feffdc)
    (#173)

New:
  * --404 FALLBACK-FILE to reply with FALLBACK-FILE as a body for GET 404s
    (4b31b1f)
    (#159)

v2.2.1

Toggle v2.2.1's commit message

Verified

This tag was signed with the committer’s verified signature.
Razor blade to my tongue

Fixed:
  * Compilation error on new rustc by updating traitobject in hyper
    (396eb59)
    (@Sympatron) (#154) (#171)

New:
  * @Sympatron in authors list
    (fb37da2)

Internal:
  * Travis left-overs removed
    (9acbb35)
    (#169)

v2.2.0

Toggle v2.2.0's commit message

Verified

This tag was signed with the committer’s verified signature.
Starting to remember when my essence wasn't smothered

Fixed:
  * 401 Unauthorised responses being truncated
    (81158ed)
  * Arch package link in README
    (577cb6b)
    (@bjorn) (#166)
  * Innocuous JS error in generated index with -w but not -d
    (a1bf496)
  * WebDAV PROPFIND filenames not being %-escaped
    (81c89db)

New:
  * Cargo.toml profile.release.lto = true
    (ac286b7)
    (#165)
  * @bjorn & @ideless in authors list
    (662b1dc)
    (255fdcc)
  * Upload progress for each file in generated indices with -w
    (68ff7f7)
    (38f4c9f)
    (a1bf496)
    (@ideless) (#168)

Internal:
  * Vendored hyper warnings on new rustc fixed
    (8e20c4d)
    (ef17e5d)

v2.1.0

Toggle v2.1.0's commit message

Verified

This tag was signed with the committer’s verified signature.
Death couldn't stiffen you

Fixed:
  * Is-file-text evaluation reading infinite amounts of data into RAM
    to find the first new-line (now up to 2k (LINE_MAX))
    (0d30c31)
    (2b6a90f)
  * Display of filenames with initial/consecutive/final whitespace
  * Generated-index renaming thereof
    (d585419)
    (Reported-by: @rozbrajaczpoziomow)

New:
  * -D/--convenient-webdav that allows MKCOL/MOVE only,
    allowing interactively making directories and renaming
    (987cd1a)
    (f5faae4)
    (#163)

Internal:
  * Single-trivial-use itertools dependency removed
    (0c90235)

v2.0.2

Toggle v2.0.2's commit message

Verified

This tag was signed with the committer’s verified signature.
Feels like he plugged into a socket when you touch 'em

Fixed:
  * Builds on i386 Linux
    (99cb61a)

New:
  * Documentation for installing (mainly) on Windows
    to work around cargo bugs
    (rust-lang/cargo#14001)
    (5b589cf)
    (40c7434)

Internal:
  * Drop rand dependency
    (c68a6de)

v2.0.1

Toggle v2.0.1's commit message

Verified

This tag was signed with the committer’s verified signature.
Ain't a thang for me, pain then glory

Fixed:
  * Installations via cargo install --git
    (rust-lang/cargo#14001)
    (152f4d7)

v2.0.0

Toggle v2.0.0's commit message

Verified

This tag was signed with the committer’s verified signature.
Temporary thug exchange the same story

BREAKING:
  * id=s of files (#-anchors) in directory listings changed to be
    the filename but tr " _, rather than filename but tr . _ (and "s unescaped!)
  * id=parent_dir changed to id=..
    (54634cf)
    (523f91c)
  * No longer updateable from crates.io; update with
      cargo install -f --git https://github.com/thecoshman/http
    (#160 (comment))
    (e451dd3)
    (269dc9b)

Fixed:
  * Blockdev size detexion on musl/*BSD/&c.
    (9e6fcd1)
    (be7de13)
    (bc41cb4)
    (875baea)
    (448f96f)
    (#155) (#157) (#158)
  * Truncated-at-100-entries directory uploads on Chromium
    (37bbea4)
  * MacOS marking all files as WebDAV executable
    (7e368b8)
  * Potentially hitting NAME_MAX when deciding on temporary directory
    (d151f6e)
    (62027be)
  * Potentially using path of removed file for cached-as-incompressible files
    (a6514ef)
  * Temporary file for uploads not being removed
    (2d973a9)
    (cdee6b3)
  * All CPUs going 100% for a few seconds on Ctrl-C on Win32 sometimes
    (c297271)
  * /'s index with -wd first directory having full-width instead of square icons
    (9586e2f)
  * Max (11) brotli encoding strength reduced to 9 (11 takes 50s to encode 11M!)
    (ec93678)
  * PROPFIND of <Win32LastAccessTime> returning <Win32FileAttributes>
    with <Win32LastAccessTime>'s data
    (23cd2b6)
  * -m only taking UTF-8 data even though it's for paths
    (5c36161)
  i Closed range requests reading the whole response body into a buffer
    (c72479e)
    (3df48fe)
  * PROPFIND Depth: infinity panicking when encountering non-directories
    (6dc1c8e)
  * Don't require the current extension to be UTF-8 when encoding a file
    (db03ce3)
  * Localising stamps in 1000-file directory on Android 14 Browser.apk (Chrome):
    8+s -> ~200ms
    (solution by @the-eater)
    (https://cijber.social/@eater/112506297971225464)
    (d1898e3)
  * Double-click-to-select text in web UI rename box
    (f945289)
  * " unescaped in listing href=s, making them unnavigable
    (044a31c)
  * If encoded file was removed from temp dir, re-encode it instead of panicking
    (0478dd7)
  * Clicking on the Manage column of Create directory submitting an empty MKCOL
    (26e36cc)
  h hyper RUSTSEC-2021-0078: potential desync with Content-Length: +123
    (d9fc08a)
    (#140)
  h hyper RUSTSEC-2021-0079: potential desync with Transfer-Encoding: chunked
    (a3ae6fc)
    (#140)
  h traitobject RUSTSEC-2020-0027: reliance on fat pointer representation
    (4b22b6a)
    (#140)
  * background-color in directory listing adapted to potential dark theme
    (332d737)
  * Files called file_upload and new_directory potentially interfering
    with directory listing controls
    (548cfe1)
    (ea94cc8)
  * Add id=.. in mobile listing
    (523f91c)

Changed:
  * Double-iteration over directory uploads removed
    (6662d10)
  * Don't-try-to-encode extension list updated
    (d6ac96f)
    (466ca66)
  * ETag generator is also used to cache file hashes (=> file not read twice)
    (2e414a1)
  i Always fully 1M-buffer file I/O (used to be 8k)
    (e717b31)
    (0584eda)
    (13e1b5a)
    (7c6d768)
  * Also remove the top-level temporary directory (but ignore error)
    (93ef182)
  h Start threads on demand, up to the limit, then decay on inactivity
    (wait 5*threadnum seconds before exit), but keep 1,
    rather than always having nproc*8
    (e2426c1)
    (bbc1955)
    (d7ae221)
    (0c63fc6)
    (0af886b)
  * Re-compressed favicon.png (1460B) now used as the favicon inlined in indices
    instead of a 15k(!+base64) ICO
    (5fbd4f1)
    (c81df16)
  h Never-used bzip2 encoding removed (+ asking for zstd encoding is alloc-free)
    (51064cc)
    (0876b9b)
  * PUT symlink isolation is the same as with GET's (returns 404, doesn't read)
    (e25906f)
  * Useless HTML attributes in generated responses removed
    (22d5924)
  * Rename UI suggested filename no longer includes trailing / for directories
    (f945289)
  * Replaced <meta name="application-name" content="http">
           & <meta name="author" content="http developers">
    with <meta name="generator" content="http ${VERSION}">
    (56b2e93)
  * Mobile directory listings simplified and reduced by 17% in size
    (73f3a95)
    (5a7304d)
    (46a21e2)
    (487af01)
    (e76e92f)
    (99538ed)
    (325cb51)
    (6eceb96)
    (4a41b3d)
  * Desktop directory listings only allow tabbing to /one/ link per row
    (ce6c5f9)
  * Desktop directory listings have "Create directory" colspan=3
    (9a79f6d)
    (93d2fe0)

New:
  * Return ETag and honour If-None-Match/If-Modified-Since for GETs
    (75c6f07)
  * Live read-out of outstanding requests when uploading from generated index
    (4cac7c5)
  * Invent X-Last-Modified: millis-since-epoch header to set mtime on PUT files
  * Accept X-OC-MTime: seconds-since-epoch     header (Android Totalcmd-WebDAV)
    (a59b521)
    (e47669d)
    (d3f4e8c)
    (bbed9e8)
  * Actually handle PROPPATCH at all, and allow changing:
    + Win32{Creation,Last{Access,Modified}}Time  (Windows client)
    + executable                                 (davfs2)
    (248d439)
    (6df27cc)
    (2a4889f)
    (98d12fc)
    (aaa9ded)
  i Limits on size    of encoded files with --encoded-{filesystem,generated} 20M
  i Limits on max age of encoded files with --encoded-prune 1d
    (64f121f)
    (7419e7a)
    (e1bb29b)
    (f472c1f)
    (a419540)
  * -Q/--quiet-time to remove [%F %T] prefix in log
    (58898a8)
  * If PUTted file doesn't already exist, copy it directly from the request body
    (e95600f)
    (7558ad3)
  * Accept (ignore) renaming to current name in web UI
    (f945289)
    (afe106a)
  * Return 503 Service Unavailable with an intelligible error
    instead of panicking on PUT errors
  * Display these in the web UI
    (41d6ff8)
  * "confirm" (green tick) icon
    (45b68f2)
  * Linked-to files in directory listing (like #asdf) highlighted
    (7338d06)
  * Mention of Debian repository in README
    (269dc9b)

Internal:
  * Needless Borrow::borrow() call removed
    (1cf4b72)
    (report: [email protected])
  * Literalise mime types instead of parsing
    (c594ca3)
    (a81e456)
    (c8c5ffb)
    (efdedca)
    (7e4f7f6)
  * Don't check if temporary directory exists before trying to delete
    (a6292ca)
  * Useless lazy_static and regex dependencies killed
    (1927f70)
    (76e9458)
    (9e3e1cf)
    (07b1830)
    (a65b272)
    (45b4a98)
  * Run-time parsing of do-not-encode list replaced with a codegenned function
    (also kills unicase)
    (8b1d70b)
    (a464061)
  * Assets and indices are pre-parsed in build.rs before embedding
    (also kills base64 and lazysort) (+ initial whitespace trimmed from HTMLs)
    (b982429)
    (3ebfe11)
    (4f8ab96)
    (a865809)
    (de4f880)
    (5d1677d)
    (91f11f3)
    (d944b46)
    (ca1e2c8)
    (4d687dd)
    (930abd9)
  h Cache allowed methods instead of reallocating every time
    (9e75edb)
    (381597a)
    (b2439b4)
    (d0318e7)
  * Vendored: iron 0.6.1 (with typemap, plugin, and log deps deleted)
    (e822746)
    (4cfb895)
    (677c007)
  i Removed automatic annoying Content-Type muddling in iron
    (6b7cbd8)
    (22d8872)
  * Static Ctrl-C handler Condvar
    (3037879)
    (501825b)
  * Don't allocate URL path if not necessary, and escape it at most once
    (054d96c)
    (c5c7b25)
    (cec73d9)
  * Vendored: hyper 0.10.16
    (with client component, some server body types,
     and log and env_logger dependencies deleted)
    (b726638)
    (a9bca0a)
    (5c99cea)
    (ee3343e)
    (666a3ac)
    (d10bfe1)
    (4dc92ee)
    (a35e050)
    (0f7301e)
  h Hash encoded-data caches by Encoding(Type) directly instead of String repr;
    this also makes us stop distinguishing x-gzip from gzip
    (2659e7b)
    (2d5023c)
  h Don't require reallocating Server header contents
    (248ea51)
  h Don't require allocating RangeUnits in Accept-Ranges header
    (52d2796)
  h Use SmallVec for most common case of 1 Content-Encoding
    (49a56c4)
  h Don't reallocate custom --header names
    (2aec32f)
    (c5e3ee4)
  h Don't allocate for COPY/MKCOL/MOVE/PROPFIND/PROPPATCH/LOCK WebDAV requests
    (689fe43)
  * Don't clone headers for TRACE
    (c78d921)
  h language-tags dependency removed
    (25ba250)
  * .. + 1 => ..=
    (e3b93c2)
  * os-str-generic dependency removed
    (6cc5a25)
    (754e835)
  * Recompress rename icon (206 -> 192 bytes)
    (e677f0f)
  * Vendored: rfsapi 0.2.0
    (abc575a)
    (41ae0f9)
 ir Header parsing takes Cow<'static, [u8]> instead of Vec<u8>
    (b266e11)
  h Use VecMap as backing store for Header's PtrMap instead of HashMap
    (dcd24ed)
  * Free unused bits of Options
    (c7c30c6)
  * Don't allocate file length or 404 description as string
    (f7c8189)
    (5f8517a)
  * Assess file size once, from opened file, for opened ranges
    (f2477fb)
  * Don't reallocate Range header value
    (39b2246)
  * Use the same buffer for recursive PROPFINDs
    (1643340)
  * Produce address indents with {:w$} instead of Spaces(w) writing ' ' w times
    (dff8874)
    (d48d06c)
  * Don't allocate in AddressWriter
    (a23ede0)
  * Don't allocate human-readable size
    (0626391)
  * date.js replaced with standard JS Date manipulation
    (f710d87)
    (6cdc752)
  * All document onload => DOMContentLoaded
    (6b69a1c)
  * In a similar vein, move the click event listeners to onclick (perf)
    (f945289)
    (f534ea4)
  * Don't reallocate each filename twice to replace & and < in index
    (d52b5d0)
  * Re-save embedded-in-EXE favicon.ico (15k -> 2k)
    (cf902c1)
  * Flatten Error to just be a String, instead of three with auto-ingification
  * Detect EADDRINUSE explicitly when trying new ports,
    rather than guessing from the I/O error stringification
    (fa101ba)
  * Ignore RUSTSEC-2021-0145: we don't use a custom allocator
  * Ignore cargo-audit's "unmaintained" warnings
  * Ignore RUSTSEC-2020-0071: we do not setenv ever
  * Ignore RUSTSEC-2022-0022: our version of hyper never uses uninitialized()
    (25d01fd)
    (d7a3d2c)
    (60f0726)
    (c5b4966)
    (#140)
  * Desktop directory listing simplified (inlined style, useless <div>)
    (daf471f)

i: affects vendored iron; h: affects vendored hyper; r: affects vendored rfsapi

v1.13.2

Toggle v1.13.2's commit message

Verified

This tag was signed with the committer’s verified signature.
God save the quing

Fixed:
  * Specifiable-multiple-times flags-with-arguments (--gen-path-auth, &c.)
    completely breaking argument parsing, now compliant with XCU USG
    (b3a007b)
  * See Other misdocumented as 302 (it's 303) in manual
    (b112acc)