You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

438 lines
7.0 KiB

8 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
7 years ago
7 years ago
8 years ago
8 years ago
  1. # Changelog
  2. ## 0.9.0
  3. *June 24th, 2018*
  4. BREAKING:
  5. - [events, pubsub] Removed - moved to github.com/tendermint/tendermint
  6. - [merkle] Use 20-bytes of SHA256 instead of RIPEMD160. NOTE: this package is
  7. moving to github.com/tendermint/go-crypto !
  8. - [common] Remove gogoproto from KVPair types
  9. - [common] Error simplification, #220
  10. FEATURES:
  11. - [db/remotedb] New DB type using an external CLevelDB process via
  12. GRPC
  13. - [autofile] logjack command for piping stdin to a rotating file
  14. - [bech32] New package. NOTE: should move out of here - it's just two small
  15. functions
  16. - [common] ColoredBytes([]byte) string for printing mixed ascii and bytes
  17. - [db] DebugDB uses ColoredBytes()
  18. ## 0.8.4
  19. *June 5, 2018*
  20. IMPROVEMENTS:
  21. - [autofile] Flush on Stop; Close() method to Flush and close file
  22. ## 0.8.3
  23. *May 21, 2018*
  24. FEATURES:
  25. - [common] ASCIITrim()
  26. ## 0.8.2 (April 23rd, 2018)
  27. FEATURES:
  28. - [pubsub] TagMap, NewTagMap
  29. - [merkle] SimpleProofsFromMap()
  30. - [common] IsASCIIText()
  31. - [common] PrefixEndBytes // e.g. increment or nil
  32. - [common] BitArray.MarshalJSON/.UnmarshalJSON
  33. - [common] BitArray uses 'x' not 'X' for String() and above.
  34. - [db] DebugDB shows better colorized output
  35. BUG FIXES:
  36. - [common] Fix TestParallelAbort nondeterministic failure #201/#202
  37. - [db] PrefixDB Iterator/ReverseIterator fixes
  38. - [db] DebugDB fixes
  39. ## 0.8.1 (April 5th, 2018)
  40. FEATURES:
  41. - [common] Error.Error() includes cause
  42. - [common] IsEmpty() for 0 length
  43. ## 0.8.0 (April 4th, 2018)
  44. BREAKING:
  45. - [merkle] `PutVarint->PutUvarint` in encodeByteSlice
  46. - [db] batch.WriteSync()
  47. - [common] Refactored and fixed `Parallel` function
  48. - [common] Refactored `Rand` functionality
  49. - [common] Remove unused `Right/LeftPadString` functions
  50. - [common] Remove StackError, introduce Error interface (to replace use of pkg/errors)
  51. FEATURES:
  52. - [db] NewPrefixDB for a DB with all keys prefixed
  53. - [db] NewDebugDB prints everything during operation
  54. - [common] SplitAndTrim func
  55. - [common] rand.Float64(), rand.Int63n(n), rand.Int31n(n) and global equivalents
  56. - [common] HexBytes Format()
  57. BUG FIXES:
  58. - [pubsub] Fix unsubscribing
  59. - [cli] Return config errors
  60. - [common] Fix WriteFileAtomic Windows bug
  61. ## 0.7.1 (March 22, 2018)
  62. IMPROVEMENTS:
  63. - glide -> dep
  64. BUG FIXES:
  65. - [common] Fix panic in NewBitArray for negative bits
  66. - [common] Fix and simplify WriteFileAtomic so it cleans up properly
  67. ## 0.7.0 (February 20, 2018)
  68. BREAKING:
  69. - [db] Major API upgrade. See `db/types.go`.
  70. - [common] added `Quit() <-chan struct{}` to Service interface.
  71. The returned channel is closed when service is stopped.
  72. - [common] Remove HTTP functions
  73. - [common] Heap.Push takes an `int`, new Heap.PushComparable takes the comparable.
  74. - [logger] Removed. Use `log`
  75. - [merkle] Major API updade - uses cmn.KVPairs.
  76. - [cli] WriteDemoConfig -> WriteConfigValues
  77. - [all] Remove go-wire dependency!
  78. FEATURES:
  79. - [db] New FSDB that uses the filesystem directly
  80. - [common] HexBytes
  81. - [common] KVPair and KI64Pair (protobuf based key-value pair objects)
  82. IMPROVEMENTS:
  83. - [clist] add WaitChan() to CList, NextWaitChan() and PrevWaitChan()
  84. to CElement. These can be used instead of blocking `*Wait()` methods
  85. if you need to be able to send quit signal and not block forever
  86. - [common] IsHex handles 0x-prefix
  87. BUG FIXES:
  88. - [common] BitArray check for nil arguments
  89. - [common] Fix memory leak in RepeatTimer
  90. ## 0.6.0 (December 29, 2017)
  91. BREAKING:
  92. - [cli] remove --root
  93. - [pubsub] add String() method to Query interface
  94. IMPROVEMENTS:
  95. - [common] use a thread-safe and well seeded non-crypto rng
  96. BUG FIXES
  97. - [clist] fix misuse of wait group
  98. - [common] introduce Ticker interface and logicalTicker for better testing of timers
  99. ## 0.5.0 (December 5, 2017)
  100. BREAKING:
  101. - [common] replace Service#Start, Service#Stop first return value (bool) with an
  102. error (ErrAlreadyStarted, ErrAlreadyStopped)
  103. - [common] replace Service#Reset first return value (bool) with an error
  104. - [process] removed
  105. FEATURES:
  106. - [common] IntInSlice and StringInSlice functions
  107. - [pubsub/query] introduce `Condition` struct, expose `Operator`, and add `query.Conditions()`
  108. ## 0.4.1 (November 27, 2017)
  109. FEATURES:
  110. - [common] `Keys()` method on `CMap`
  111. IMPROVEMENTS:
  112. - [log] complex types now encoded as "%+v" by default if `String()` method is undefined (previously resulted in error)
  113. - [log] logger logs its own errors
  114. BUG FIXES:
  115. - [common] fixed `Kill()` to build on Windows (Windows does not have `syscall.Kill`)
  116. ## 0.4.0 (October 26, 2017)
  117. BREAKING:
  118. - [common] GoPath is now a function
  119. - [db] `DB` and `Iterator` interfaces have new methods to better support iteration
  120. FEATURES:
  121. - [autofile] `Read([]byte)` and `Write([]byte)` methods on `Group` to support binary WAL
  122. - [common] `Kill()` sends SIGTERM to the current process
  123. IMPROVEMENTS:
  124. - comments and linting
  125. BUG FIXES:
  126. - [events] fix allocation error prefixing cache with 1000 empty events
  127. ## 0.3.2 (October 2, 2017)
  128. BUG FIXES:
  129. - [autofile] fix AutoFile.Sync() to open file if it's been closed
  130. - [db] fix MemDb.Close() to not empty the database (ie. its just a noop)
  131. ## 0.3.1 (September 22, 2017)
  132. BUG FIXES:
  133. - [common] fix WriteFileAtomic to not use /tmp, which can be on another device
  134. ## 0.3.0 (September 22, 2017)
  135. BREAKING CHANGES:
  136. - [log] logger functions no longer returns an error
  137. - [common] NewBaseService takes the new logger
  138. - [cli] RunCaptureWithArgs now captures stderr and stdout
  139. - +func RunCaptureWithArgs(cmd Executable, args []string, env map[string]string) (stdout, stderr string, err error)
  140. - -func RunCaptureWithArgs(cmd Executable, args []string, env map[string]string) (output string, err error)
  141. FEATURES:
  142. - [common] various common HTTP functionality
  143. - [common] Date range parsing from string (ex. "2015-12-31:2017-12-31")
  144. - [common] ProtocolAndAddress function
  145. - [pubsub] New package for publish-subscribe with more advanced filtering
  146. BUG FIXES:
  147. - [common] fix atomicity of WriteFileAtomic by calling fsync
  148. - [db] fix memDb iteration index out of range
  149. - [autofile] fix Flush by calling fsync
  150. ## 0.2.2 (June 16, 2017)
  151. FEATURES:
  152. - [common] IsHex and StripHex for handling `0x` prefixed hex strings
  153. - [log] NewTracingLogger returns a logger that output error traces, ala `github.com/pkg/errors`
  154. IMPROVEMENTS:
  155. - [cli] Error handling for tests
  156. - [cli] Support dashes in ENV variables
  157. BUG FIXES:
  158. - [flowrate] Fix non-deterministic test failures
  159. ## 0.2.1 (June 2, 2017)
  160. FEATURES:
  161. - [cli] Log level parsing moved here from tendermint repo
  162. ## 0.2.0 (May 18, 2017)
  163. BREAKING CHANGES:
  164. - [common] NewBaseService takes the new logger
  165. FEATURES:
  166. - [cli] New library to standardize building command line tools
  167. - [log] New logging library
  168. BUG FIXES:
  169. - [autofile] Close file before rotating
  170. ## 0.1.0 (May 1, 2017)
  171. Initial release, combines what were previously independent repos:
  172. - go-autofile
  173. - go-clist
  174. - go-common
  175. - go-db
  176. - go-events
  177. - go-flowrate
  178. - go-logger
  179. - go-merkle
  180. - go-process