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.

340 lines
4.6 KiB

8 years ago
7 years ago
8 years ago
7 years ago
7 years ago
8 years ago
8 years ago
  1. # Changelog
  2. ## 0.7.0 (TBD)
  3. BREAKING:
  4. - [db] Major API upgrade. See `db/types.go`.
  5. - [common] added `Quit() <-chan struct{}` to Service interface.
  6. The returned channel is closed when service is stopped.
  7. - [common] Remove HTTP functions
  8. - [common] Heap.Push takes an `int`, new Heap.PushComparable takes the comparable.
  9. - [logger] Removed. Use `log`
  10. - [merkle] Major API updade - uses cmn.KVPairs.
  11. - [cli] WriteDemoConfig -> WriteConfigValues
  12. - [all] Remove go-wire dependency!
  13. FEATURES:
  14. - [db] New FSDB that uses the filesystem directly
  15. - [common] HexBytes
  16. - [common] KVPair and KI64Pair (protobuf based key-value pair objects)
  17. IMPROVEMENTS:
  18. - [clist] add WaitChan() to CList, NextWaitChan() and PrevWaitChan()
  19. to CElement. These can be used instead of blocking `*Wait()` methods
  20. if you need to be able to send quit signal and not block forever
  21. - [common] IsHex handles 0x-prefix
  22. BUG FIXES:
  23. - [common] BitArray check for nil arguments
  24. - [common] Fix memory leak in RepeatTimer
  25. ## 0.6.0 (December 29, 2017)
  26. BREAKING:
  27. - [cli] remove --root
  28. - [pubsub] add String() method to Query interface
  29. IMPROVEMENTS:
  30. - [common] use a thread-safe and well seeded non-crypto rng
  31. BUG FIXES
  32. - [clist] fix misuse of wait group
  33. - [common] introduce Ticker interface and logicalTicker for better testing of timers
  34. ## 0.5.0 (December 5, 2017)
  35. BREAKING:
  36. - [common] replace Service#Start, Service#Stop first return value (bool) with an
  37. error (ErrAlreadyStarted, ErrAlreadyStopped)
  38. - [common] replace Service#Reset first return value (bool) with an error
  39. - [process] removed
  40. FEATURES:
  41. - [common] IntInSlice and StringInSlice functions
  42. - [pubsub/query] introduce `Condition` struct, expose `Operator`, and add `query.Conditions()`
  43. ## 0.4.1 (November 27, 2017)
  44. FEATURES:
  45. - [common] `Keys()` method on `CMap`
  46. IMPROVEMENTS:
  47. - [log] complex types now encoded as "%+v" by default if `String()` method is undefined (previously resulted in error)
  48. - [log] logger logs its own errors
  49. BUG FIXES:
  50. - [common] fixed `Kill()` to build on Windows (Windows does not have `syscall.Kill`)
  51. ## 0.4.0 (October 26, 2017)
  52. BREAKING:
  53. - [common] GoPath is now a function
  54. - [db] `DB` and `Iterator` interfaces have new methods to better support iteration
  55. FEATURES:
  56. - [autofile] `Read([]byte)` and `Write([]byte)` methods on `Group` to support binary WAL
  57. - [common] `Kill()` sends SIGTERM to the current process
  58. IMPROVEMENTS:
  59. - comments and linting
  60. BUG FIXES:
  61. - [events] fix allocation error prefixing cache with 1000 empty events
  62. ## 0.3.2 (October 2, 2017)
  63. BUG FIXES:
  64. - [autofile] fix AutoFile.Sync() to open file if it's been closed
  65. - [db] fix MemDb.Close() to not empty the database (ie. its just a noop)
  66. ## 0.3.1 (September 22, 2017)
  67. BUG FIXES:
  68. - [common] fix WriteFileAtomic to not use /tmp, which can be on another device
  69. ## 0.3.0 (September 22, 2017)
  70. BREAKING CHANGES:
  71. - [log] logger functions no longer returns an error
  72. - [common] NewBaseService takes the new logger
  73. - [cli] RunCaptureWithArgs now captures stderr and stdout
  74. - +func RunCaptureWithArgs(cmd Executable, args []string, env map[string]string) (stdout, stderr string, err error)
  75. - -func RunCaptureWithArgs(cmd Executable, args []string, env map[string]string) (output string, err error)
  76. FEATURES:
  77. - [common] various common HTTP functionality
  78. - [common] Date range parsing from string (ex. "2015-12-31:2017-12-31")
  79. - [common] ProtocolAndAddress function
  80. - [pubsub] New package for publish-subscribe with more advanced filtering
  81. BUG FIXES:
  82. - [common] fix atomicity of WriteFileAtomic by calling fsync
  83. - [db] fix memDb iteration index out of range
  84. - [autofile] fix Flush by calling fsync
  85. ## 0.2.2 (June 16, 2017)
  86. FEATURES:
  87. - [common] IsHex and StripHex for handling `0x` prefixed hex strings
  88. - [log] NewTracingLogger returns a logger that output error traces, ala `github.com/pkg/errors`
  89. IMPROVEMENTS:
  90. - [cli] Error handling for tests
  91. - [cli] Support dashes in ENV variables
  92. BUG FIXES:
  93. - [flowrate] Fix non-deterministic test failures
  94. ## 0.2.1 (June 2, 2017)
  95. FEATURES:
  96. - [cli] Log level parsing moved here from tendermint repo
  97. ## 0.2.0 (May 18, 2017)
  98. BREAKING CHANGES:
  99. - [common] NewBaseService takes the new logger
  100. FEATURES:
  101. - [cli] New library to standardize building command line tools
  102. - [log] New logging library
  103. BUG FIXES:
  104. - [autofile] Close file before rotating
  105. ## 0.1.0 (May 1, 2017)
  106. Initial release, combines what were previously independent repos:
  107. - go-autofile
  108. - go-clist
  109. - go-common
  110. - go-db
  111. - go-events
  112. - go-flowrate
  113. - go-logger
  114. - go-merkle
  115. - go-process