Yes, the Go Library will be discontinued. And there will be several changes more. But hey, don’t panic. 😄 Reason behind it is, that the Go Library has grown too much over time. And sadly all the contained packages cover very different and independent areas. So as a result I already migrated the former Go Library Cells into the GoCells and the Go Library Web into the GoREST project. Additionally GoCouch already directly has been started as own project as well currently the Redis client moves into GoRedis.
This bugfix release for the Tideland Go Library affects three packages. The first one is only a small documentation typo in gjp, nothing worth this release. But the second one is in logger. Here I had a test logger as backend in the tests. This now became helpful in other tests too. So I moved it together with helpful methods for testing as TestLogger into the public package itself. The TestLogger embeds the standard Logger interface but also provides
Sadly needed to release a fix short time after the version 4.24.0 of the Tideland Go Library. We’ve detected troubles of the gjp parsing and processing documents containing empty arrays. Funnily fixing this bug led to a better internal design. 😄 More about the project at PROJECTS → Go Library.
Short time after the version 4.23.0 the 4.24.0 has been released. It’s a nice mix of different package extensions. The first one extends and fixes the audit test package. So Assertion now provides WaitTested() to run a user defined test function after receiving data on a signal channel out of a goroutine. So far only equality has been testable. Additionally Assertion now knows SetFailable() to pass the testing.T in a testing.
The new version 4.23.0 contains two major changes. First is the new package gjp, an acronym for Generic JSON Parser. Reason for it is the fact, that sometimes JSON documents aren’t very good representable by nested Go structures. Here Go allows to parse documents into empty interfaces. But these are inconvenient to handle too. The GJP encapsulates this way of parsing and provides access by pathes. Think of the following document parsed with myDoc, err := gjp.