Repository: bmatsuo/lmdb-go (c)

Issue:
lmdbscan: stabilize API and move out of exp/
The lmdbscan API hasn't changed in a long time. There is an open question regarding its usage (#18). But anything coming out of that issue should be backwards compatible.

People really should be using the package. I'm a little worried that no one is using it primarily because it is under exp/.

I need anyone who has backward incompatible suggestions for exp/lmdbscan to bring them up soon. No real deadline, but at some point I will move things and incompatible changes will not happen in the foreseeable future.

Pull request:
lmdbscan: move package out of the exp/ sub directory for stabilization
Closes #72

The warning about the move has been around since v1.7.0-dev (#72). The
v1.7.0 release provides a stable point before the move for people who
cannot switch immediately.

Patch:
diff --git a/README.md b/README.md
index 16fe1b8..b7ba046 100644
--- a/README.md
+++ b/README.md
@@ -22,20 +22,16 @@ import "github.com/bmatsuo/lmdb-go/lmdb"
 
 Core bindings allowing low-level access to LMDB.
 
-####exp/lmdbscan [![GoDoc](https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbscan?status.svg)](https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbscan) [![unstable](https://img.shields.io/badge/stability-unstable-yellow.svg)](#user-content-versioning-and-stability) [![GoCover](http://gocover.io/_badge/github.com/bmatsuo/lmdb-go/exp/lmdbscan)](http://gocover.io/github.com/bmatsuo/lmdb-go/exp/lmdbscan)
+####exp/lmdbscan [![GoDoc](https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbscan?status.svg)](https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbscan) [![stable](https://img.shields.io/badge/stability-stable-brightgreen.svg)](#user-content-versioning-and-stability) [![GoCover](http://gocover.io/_badge/github.com/bmatsuo/lmdb-go/exp/lmdbscan)](http://gocover.io/github.com/bmatsuo/lmdb-go/exp/lmdbscan)
 
 ```go
-import "github.com/bmatsuo/lmdb-go/exp/lmdbscan"
+import "github.com/bmatsuo/lmdb-go/lmdbscan"
 ```
 
 A utility package for scanning database ranges. The API is inspired by
 [bufio.Scanner](https://godoc.org/bufio#Scanner) and the python cursor
 [implementation](https://lmdb.readthedocs.org/en/release/#cursor-class).
 
-The **lmdbscan** package is unstable. The API is properly scoped and adequately
-tested.  And no features that exist now will be removed without notice and a
-similar substitute.  See the versioning documentation for more information.
-
 ####exp/lmdbsync [![GoDoc](https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbsync?status.svg)](https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbsync) [![experimental](https://img.shields.io/badge/stability-experimental-red.svg)](#user-content-versioning-and-stability) [![GoCover](http://gocover.io/_badge/github.com/bmatsuo/lmdb-go/exp/lmdbsync)](http://gocover.io/github.com/bmatsuo/lmdb-go/exp/lmdbsync)
 
 
diff --git a/cmd/lmdb_stat/main.go b/cmd/lmdb_stat/main.go
index a115741..72a4319 100644
--- a/cmd/lmdb_stat/main.go
+++ b/cmd/lmdb_stat/main.go
@@ -22,9 +22,9 @@ import (
 	"strings"
 	"unsafe"
 
-	"github.com/bmatsuo/lmdb-go/exp/lmdbscan"
 	"github.com/bmatsuo/lmdb-go/internal/lmdbcmd"
 	"github.com/bmatsuo/lmdb-go/lmdb"
+	"github.com/bmatsuo/lmdb-go/lmdbscan"
 )
 
 func main() {
diff --git a/exp/cmd/lmdb_cat/main.go b/exp/cmd/lmdb_cat/main.go
index c42536d..fdd6e32 100644
--- a/exp/cmd/lmdb_cat/main.go
+++ b/exp/cmd/lmdb_cat/main.go
@@ -10,10 +10,10 @@ import (
 	"os"
 	"strings"
 
-	"github.com/bmatsuo/lmdb-go/exp/lmdbscan"
 	"github.com/bmatsuo/lmdb-go/exp/lmdbsync"
 	"github.com/bmatsuo/lmdb-go/internal/lmdbcmd"
 	"github.com/bmatsuo/lmdb-go/lmdb"
+	"github.com/bmatsuo/lmdb-go/lmdbscan"
 )
 
 func main() {
diff --git a/exp/lmdbscan/scanner.go b/lmdbscan/scanner.go
similarity index 98%
rename from exp/lmdbscan/scanner.go
rename to lmdbscan/scanner.go
index 676e863..4bef615 100644
--- a/exp/lmdbscan/scanner.go
+++ b/lmdbscan/scanner.go
@@ -1,6 +1,5 @@
 /*
 Package lmdbscan provides a wrapper for lmdb.Cursor to simplify iteration.
-This package is experimental and it's API may change.
 */
 package lmdbscan
 


Test patch:
diff --git a/exp/lmdbscan/example_test.go b/lmdbscan/example_test.go
similarity index 98%
rename from exp/lmdbscan/example_test.go
rename to lmdbscan/example_test.go
index b08e0dd..d58cd87 100644
--- a/exp/lmdbscan/example_test.go
+++ b/lmdbscan/example_test.go
@@ -4,8 +4,8 @@ import (
 	"bytes"
 	"log"
 
-	"github.com/bmatsuo/lmdb-go/exp/lmdbscan"
 	"github.com/bmatsuo/lmdb-go/lmdb"
+	"github.com/bmatsuo/lmdb-go/lmdbscan"
 )
 
 var env *lmdb.Env