Skip to content

Releases: vbauerster/getparty

v1.20.1

27 Nov 04:55
Compare
Choose a tag to compare

Changelog

  • 1eca108 go get -u
  • b5a9df5 decrement globTry regardless of bar init state
  • 4d20bff increment globTry regardless of bar init state
  • b04a5f6 make sure spinner is one space indented
  • 737c6e1 never init bar inside StatusServiceUnavailable case
  • 0e16f3b initBar: check if bar initialized
  • 6827bea first print to p.progress then bar.Abort
  • 3fa0030 drop bar if not going to retry and there is error
  • dbaf1ad Revert "Run: don't require args param"

v1.20

16 Oct 12:35
Compare
Choose a tag to compare

Changelog

  • df3bbfe go get -u
  • 0ba2d92 sync.Once is not needed
  • 718b01e peak: ewma value adjustment
  • e4b9d41 drop max retry bar synchronously
  • 26fdf9c inc/dec globTry if only bar is initialized
  • 07d73e7 dlogger already ends with space
  • 39ea45d drop bar on max retry error
  • 23aad47 ignore OnAbort decorators
  • 6001a78 peak ignore stat.Aborted
  • a3c6d5f WCSync isn't necessary when fallback to spinner
  • aff5693 WCSync concatenating bar
  • a8c1933 comment for future self
  • c6a56af always debug what's bar total
  • 999e89c session.dropSkipped if only dumping state
  • e60efa6 let single bar print a new line above
  • 92972b3 onceTotalCancel
  • e89c2dd let total bar print a new line above
  • acc0a83 print initial get error directly to progress output
  • 73d25b4 change part's debug logger prefix
  • 62485a4 suppress bar while flashing error message
  • 66e8042 avoid indirection drop falshMessage
  • 1fe9c68 cutCode
  • 5fdd5f8 retry on http.StatusServiceUnavailable
  • c69c197 flashErr
  • 91e2cd0 println once
  • 9b61176 Revert "println in error cases"
  • 75e9768 println in error cases
  • e50c09a explicit session.dropSkipped
  • 5e1b0cf mutate session if only it's going to be dumped
  • 27c6583 better name for trace: makeSessionHandler
  • d2c1f06 trace: println in each branch
  • 3fd35e3 trace: if with else
  • 28bf0b1 session.dropSkipped
  • 93e7c78 stateSave once inside recover
  • 03fff04 return before progress init if parts == 0
  • 312df86 SetRefill after StatusPartialContent only
  • d4a1ab1 init bar early if written != 0
  • 8a93963 check for &bar.initialized
  • 87d0d97 check for &bar.initialized
  • bc59d3e set p.Stop before initBar at StatusOK case
  • b978ddf init bar after http status is known
  • cbb1aff refactoring session.concatenateParts
  • d1c90d7 drop skipped parts if any before session dump
  • e6aec35 Revert "do not filter out skip parts"
  • e396c3a return early if options.Parts == 0
  • 56fe98b init bar at StatusPartialContent and StatusOK cases
  • 8ccbb50 don't init bar right before exit
  • c6c2a42 refactoring http.StatusOK case
  • 04eaed0 peak.EwmaUpdate: post Add
  • 1080699 show peak decorator on abort
  • 9e9fc50 logSummary outside of trace func
  • 9a50b60 discard cmd.Out if quiet
  • da0ecee cancel total bar on any skip part
  • 3f0d4f6 do not filter out skip parts
  • 2da4bba part.download defer refactoring
  • 85ceddd initBar: handle error while adding part'a bar
  • 694281f don't check stat of written == 0 part
  • 9391e71 Run: don't require args param
  • db5f921 Exit: check for cmd.dlogger
  • 435bbcd name is inferred from the command name
  • 12fe65c bugfix: setup loggers after flags parse
  • 7188275 trace: don't check for quiet option
  • 3b658ec recover and panic on panic
  • a3f0814 panic on positive written on http.StatusOK
  • 26a31ae panic on invalid response status ordering
  • fde268a follow: change log prefix on StatusCode != StatusOK
  • 902ad8e return nop tracer on parts == 0
  • 582dda8 show avg and peak on complete and on abort
  • 3e6a391 sync send on msg.final
  • d635f4c make sure final message gets printed
  • db0090c relinquish parser
  • f9771de ownership passed so relinquish pointers
  • e9e20ab refactoring: store tls.Config in Cmd structure
  • 65e72bc match number of append decorators on total bar
  • 73a487f refactoring readCaCerts
  • 3e3b890 go get -u
  • 38b78c3 Merge pull request #26 from nwoodmsft/systemcertpool
  • 80475a0 Use System Cert Pool as base when appending custom certs
  • 0247b59 total bar with meta funcs
  • 1b6b945 comply with Decor interface changes
  • 48caf8b go get -u
  • 3dc02ff initBar: var barBuilder BarFillerBuilder
  • fa8248b a bit longer flash message time
  • 9f792dc check if bar is initialized inside AfterFunc only
  • 4c19cea fixup! refactoring: initBar bar on 0 attempt
  • 656bea7 refactoring: call bar.Abort asynchronously
  • 2967656 refactoring: initBar bar on 0 attempt
  • ec8fa3b refactoring: swap and cond
  • 5b1159e refactoring: apply settings for total bar
  • f765302 refactoring: swap or cond
  • 9e4ee07 refactoring: set bar DecoratorAverageAdjust
  • 6b56990 refactoring: initBar
  • b38d0b6 refactoring: single defer

v1.19.4

17 May 05:39
Compare
Choose a tag to compare

Changelog

  • 5db50c8 go get -u
  • 83c178c refactoring: decrement count on final message
  • 93bf13c refactoring: send flash message by value
  • 39b0224 refactoring: count flash message without slice
  • 5743ee0 refactoring: message.msg to message.str
  • 5b8ec50 refactoring: pass limit to newFlashDecorator
  • 3156fcd refactoring: flashDecorator Decor
  • 394d201 refactoring: a bit dry with switch and fallthrough
  • 5188dcf reset timeout if written at least bufSize
  • e11f3e2 cancel local ctx on final message flush
  • 2e7fd29 bugfix: abort bar on unexpected http status
  • 3742eea explicit --user-agent overrides session's value
  • fae7e56 User-Agent update for chrome and firefox
  • 6e23019 return early from defer
  • 91c560c return early from defer
  • e28536b always bar.flash unexpected http status
  • 7aeccaf reset p.Written in defer
  • ff96f80 don't set statusPartialContent in case of http.StatusOK
  • 173236c release workflow: release against 'stable' go
  • 6be12e3 build workflow: build agains 'stable' and 'oldstable' go

v1.19.3

29 Apr 14:26
Compare
Choose a tag to compare

Changelog

  • 872e39b release workflow: update setup-go to v4
  • 0f39fe8 update setup-go to v4 and use its caching by default
  • 0edc980 getState: don't parse url if there are no cookies
  • 09316b3 refactoring: checkFileExist to isOutputFileExist
  • 42451bf refactoring: session.SuggestedFileName to session.OutputFileName
  • 944cdbc refactoring local vars inside getState func
  • c3e24b8 parseCookies func
  • e6b3190 always release with latest go
  • 7ba2ada goreleaser release --clean
  • 6d7bef2 goreleaser-action@v4
  • f5c4f50 2023

v1.19.2

15 Apr 10:42
Compare
Choose a tag to compare

Changelog

  • d03642e go get -u
  • e736bde bestMirror: start after wg1.Wait
  • 1317684 prefer error
  • aefd151 panic if server reports status ok after successful partial content
  • eb56aa6 make sure to not concat parts if size check do not pass
  • 5fb1ecc don't cahce total written

v1.19.1

17 Mar 09:03
Compare
Choose a tag to compare

Changelog

  • 91be24b indicate get retry with 'Get:R0d' so it's similar to progress bar
  • 770e1c2 same width log error prefix
  • f63e2d0 else isn't needed
  • 599522a short circuit on io.ErrUnexpectedEOF and n == 0
  • 41c3cb2 close fparts on error path
  • 1c8bea9 check if adding concat bar is error
  • 4462dab let io.ReadFull end with io.EOF
  • 242f433 bugfix: don't shadow cancel it's used by time.AfterFunc
  • aef1308 correct go sem versions
  • 7185ac5 build go-version: 1.19 and 1.20
  • 23aa92e relase go-version: 1.20
  • d2c8a6d drop rm-dist, it's deprecated

v1.19

11 Mar 12:16
Compare
Choose a tag to compare

Changelog

  • 2076961 go get -u
  • 4aa2bbc speed limit fraction by 50
  • fe7dae3 return HttpError as value
  • 52f85ed check and close body if redirect
  • 9b54407 user friendly error
  • c79b2c3 debug log total sleep
  • 987204c interrupt sleep if parent ctx canceled
  • 74776cf retry only when parent ctx err is nil
  • c95fb6c readLines: trim quoted urls
  • fef179f return HttpError as value
  • 0416294 a bit descriptive panic messages
  • c8c52b7 refactoring cmd.orCtxErr: eitherError(...error) error
  • ac58244 p.download: sleep only if sleep != 0
  • 89fb450 handle os.Stat unexpected error
  • d0bccea orCtxErr(error) error
  • e58f712 check for debug opt isn't necessary
  • 08efa72 init loggers before any err return
  • 5d5512d check for os.ErrNotExist explicitly
  • c10f504 const all header names used
  • 8828076 dumpState: isResumable checked at call site
  • 0929c4d makeMsgHandler: return nop if quiet set
  • 2739007 logSummary: warn about not resumable session
  • 0b7500e logSummary: log remaining on its own line
  • 3253610 refactoring session.logSummary
  • c39bc98 refactoring cmd.logError
  • dad791a prefix logger
  • 3f845d0 refactoring: session.checkFileExist cmd.overwriteIfConfirmed
  • 4d3515f initial timer.Stop isn't necessary
  • 4873121 refactoring copy loop
  • d57ee48 Usage: add speed limit
  • c7302eb option long: speed-limit
  • 3f3e54e userAgents: chrome and firefox version bump
  • 675aa5b go get -u
  • 42d04f6 final message sync without done chan
  • 8321edf check ctx.Err before removing existing file
  • a608dc5 refactoring flashDecorator
  • fd2fb10 don't count backoff wait time as p.Elapsed
  • 3ba5adb follow: timeout as time.Duration
  • ca74d7c pass timeout and sleep as time.Duration
  • ba542ab calculate sleep dur before part initialization
  • 9c041a9 refactoring: speed limit
  • d0c0995 backoff RetryWithContext
  • 3d25b1f case http.StatusPartialContent
  • af4c243 drop unnecessary exit error check
  • 26feb36 timer expired debug log
  • 0c4b9f7 bar refill debug log
  • b48c307 Revert "don't count initial get as retry"
  • 4f5c36c GET (x/x) after first error
  • 95ebbbe ShutdownListener interface fix
  • 2dfa0e9 mpb v8.2.0
  • d46d2b6 interface impl assertions
  • 2f2a55a peak ewma 15
  • 50ba0c2 don't count initial get as retry
  • d20cc82 separate error and retry logs
  • 36fae07 handle context errors
  • e9874e1 lock global r/w cache and check if AppendCertsFromPEM returns ok

v1.18.5

15 Jan 08:19
Compare
Choose a tag to compare

Changelog

  • 4dc3d50 2023
  • 3d85f41 go get -u
  • db9a474 ewma peak weight 18
  • fc000b5 msgCh buffer len 4 is ok
  • 7946701 peak decor: set bool isn't required
  • 22b2929 peak decor: sync.Once isn't required
  • e2f4497 follow and further download share same RoundTripper
  • 1b53527 README cmd -h update
  • 33954c6 bestMirror: try to start all goroutines fairly
  • d4c3015 initialize pooled transport only if parts > 0
  • 6705796 best mirror check doesn't need pooled transport
  • aac7f8b mention that --header can be specified more than once
  • a35748a debug print all req headers
  • a3407ad makeReqPatcher: some nil checks
  • 60eea17 override req.Host if set by header option
  • 4cf01db refactoring: attach *http.Client into Part struct
  • c79362c bestMirror require *http.Transport
  • e3a1d49 getTransport: cache caCerts
  • 7d7f734 bestMirror: jar isn't required, cookie set via ReqPatcher
  • 58a859a comment: log.Logger optimizes for io.Discard
  • 3838b9f refactoring: Wrap ErrMaxRetry
  • 9636f0b refactoring: follow: separate defers
  • 1e74f70 refactoring: use http.CookieJar in bestMirror
  • 2cab723 getState: prefer http.CookieJar interface as param
  • 15ef6e0 refactoring: getState needs no named returns
  • d50cb13 check sums with tmpSession
  • cc19250 refactoring: argsSession, tmpSession
  • 6fda526 refactoring: rawURL
  • a0c85bb refactoring: setJarCookies
  • 2682206 always setCookies from deserialized session
  • 3ce61ba refactoring: inline makeReqPatcher
  • 5b9de95 refactoring: setCookies returns error
  • 6897fe1 refactoring: strings.Cut istead of strings.SplitN
  • 7079329 refactoring: inline helper funcs used in getState only
  • 054afa5 refactoring: cmd.getState
  • 754185a Overwrite existing file on enter. Capital Y in [Y/n] denotes that.
  • a818064 don't re-throw panic, instead shutdown gracefully
  • fe8ab19 mark skipped part as done
  • 8dadae8 refactoring: userInfo to userinfo
  • 661194f refactoring: checkPartsSize to checkSize
  • 4919873 parts are filtered before checkSize, so part.Skip check is redundant here
  • 39be904 refactoring: attach *url.Userinfo into Cmd struct
  • 5879f5f don't call session.writeSummary explicitly when parts == 0
  • dc5e1ca checkSums operate on dreferenced Session
  • 9c45eb6 filter parts after session deserialization
  • 425f5e6 cosmetics: total bar as 'Total(x/x)'
  • 2db525e cosmetics: total bar as 'Total (x/x)'
  • b40831a cosmetics: follow logs 'Get (x/x)'
  • 6eb0952 log follow error to user

v1.18.4

29 Nov 14:27
Compare
Choose a tag to compare

Changelog

  • 9ba841b don't print timeout inside AfterFunc, it's potential data race
  • ca25547 refactoring: drop ctxTimeout var
  • 445ea59 change globTry on first retry only
  • a4e3856 don't touch transport.TLSHandshakeTimeout
  • 00fa9f0 bestMirror: respect ctx timeout option
  • 210615c move maxTimeout const
  • 1ee00e1 follow: increase ctx timeout on retry
  • 942744b defer bar.Abort directly
  • 5154031 concatenateParts: return early if session isn't resumable
  • 8f76a3d const maxTimeout = 180
  • b1e3c34 backoff v0.1.0
  • 9ab9af7 backoff update
  • b2a928c StoreUint32 is ok as globTry used as bool
  • 17369ac refactoring: part timeout
  • 8952d4c follow logs quoted url
  • bdaeae3 refactoring: cmd trace
  • 9c4e8d3 makeTotalWriter doesn't need 'written' param
  • 8eef949 cache session totalWritten
  • 14ad559 set refill on total bar
  • 9b6a237 consice expected errors
  • 0790af8 makeTotalWriter: check s.Elapsed
  • 21008f6 pass barInitDone to makeBar
  • ba13341 total bar as proxy writer
  • 5647896 incr partsDone only if part is done
  • 8d7eb86 set current/refill inside makeBar
  • 57f6671 follow GET(%d/%d)
  • 4faa339 Merge pull request #24 from xiahuaijia/master
  • e0914cd Fix checking for HTTP server error status codes
  • d7481dc fix session name print

v1.18.3

20 Oct 10:57
Compare
Choose a tag to compare

Changelog