Releases: qri-io/starlib
v0.5.0
❗ version 0.5.0 breaks the APIs of math
, time
, and json
.
After a large community effort, we've successfully moved two packages from starlib into go-starlark:
- math: google/starlark-go#357
- time: google/starlark-go#327
Both of these packages have had a great deal of vetting & improvement in the process of migrating. While this does introduce many breaking changes for both packages, both packages have better stability & performance characteristics.
Moving forward, we'll try to follow the pattern of developing & testing packages here, and for those deemed worthy, move them up into go-starlark. Once a package lands there, we'll switch starlib to being a strict import-and-document-only, which effectively locks their API. Keeping package APIs matched to go-starlark will cut down on drift, benefitting the broader starlark ecosystem. We're currently working on doing the same with the re
/ regexp package.
In the same vein, we've switched to the go-starlark json
module, which adds another breaking API change for this release.
chore(release): release v0.4.2
v0.4.2
v0.4.2 (2020-06-29)
This release brings a number of enhancements to the time
, re
, and golang-side utility packages. It also introduces two new packages: encoding/yaml
and hash
. Here's the docs for the two new packages:
yaml
yaml provides functions for working with yaml data
Functions
dumps(obj) string
serialize obj to a yaml string
parameters:
name | type | description |
---|---|---|
obj |
object |
input object |
loads(source) object
read a source yaml string to a starlark object
parameters:
name | type | description |
---|---|---|
source |
string |
input string of yaml data |
hash
hash defines hash primitives for starlark.
Functions
md5(string) string
returns an md5 hash for a string
sha1(string) string
returns an sha1 hash for a string
sha256(string) string
returns an sha256 hash for a string
Bug Fixes
- time: unix() and unix_nano() returns 0 for epoch (c50ebc2)
Features
- customType: Added support for custom type and fixed bugs (#49) (c32c667), closes #48
- encoding/yaml: encoding yaml package based on gopkg.in/yaml.v2 (68e22bc)
- hash: add hash module (686ae7b)
- re: add compile function to regex package (6fe15cd)
- starlib: util.Marshal extended compatibility and tests (a310f83)
- time: Add fromtimestamp method (4e7be49)
- time: Add in_location and format methods (316e7aa)
- time: Add methods hours(), minutes(), etc to duration (f374e23)
- time: Add unix and unix_nano methods (7c32cb7)
v0.4.1
v0.4.0
In preparation for go 1.13, in which go.mod
files and go modules are the primary way to handle go dependencies, we are going to do an official release of all our modules. This will be version v0.4.0 of starlib
. That said, this release also includes a new package for working with HTML:
new beautiful soup-like HTML package
Our html
package is difficult to use, and we plan to deprecate it in a future release. In it's place we've introduced bsoup
, a new package that implements parts of the beautiful soup 4 api. It's much easier use, and will be familiar to anyone coming from the world of python.