summaryrefslogtreecommitdiff
path: root/NEWS.rst
blob: 907b40e065f23da67118882874a8edc893c56abf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
Version history
===============

.. py:currentmodule:: happybase


HappyBase 0.8
-------------

Release date: *not yet released*

* Add (and default to) '0.96' compatibility mode in :py:class:`Connection`.

* Add support for retrieving sorted columns, which is possible with the HBase
  0.96 Thrift API. This feature uses a new `sorted_columns` argument to
  :py:meth:`Table.scan`. An ```OrderedDict`` implementation is required for this
  feature; with Python 2.7 this is available from the standard library, but for
  Python 2.6 a separate ```ordereddict``` pacakge has to be installed from PyPI.
  (`issue #39 <https://github.com/wbolster/happybase/issues/39>`_)

* The `batch_size` argument to :py:meth:`Table.scan` is no longer propagated to
  `Scan.setBatching()` at the Java side (inside the Thrift server). To influence
  the `Scan.setBatching()` (which may split rows into partial rows) a new
  `scan_batching` argument to :py:meth:`Table.scan` has been added. See `issue
  #54 <https://github.com/wbolster/happybase/issues/54>`_, `issue #56
  <https://github.com/wbolster/happybase/issues/56>`_, and the HBase docs for
  `Scan.setBatching()` for more details.


HappyBase 0.7
-------------

Release date: 2013-11-06

* Added a `wal` argument to various data manipulation methods on the
  :py:class:`Table` and :py:class:`Batch` classes to determine whether to write
  the mutation to the Write-Ahead Log (WAL). (`issue #36
  <https://github.com/wbolster/happybase/issues/36>`_)

* Pass batch_size to underlying Thrift Scan instance (`issue #38
  <https://github.com/wbolster/happybase/issues/38>`_).

* Expose server name and port in :py:meth:`Table.regions` (recent HBase versions
  only) (`issue #37 <https://github.com/wbolster/happybase/issues/37>`_).

* Regenerated bundled Thrift API modules using a recent upstream Thrift API
  definition. This is required to expose newly added API.


HappyBase 0.6
-------------

Release date: 2013-06-12

* Rewrote exception handling in connection pool. Exception handling is now a lot
  cleaner and does not introduce cyclic references anymore. (`issue #25
  <https://github.com/wbolster/happybase/issues/25>`_).

* Regenerated bundled Thrift code using Thrift 0.9.0 with the new-style classes
  flag (`issue #27 <https://github.com/wbolster/happybase/issues/27>`_).


HappyBase 0.5
-------------

Release date: 2013-05-24

* Added a thread-safe connection pool (:py:class:`ConnectionPool`) to keep
  connections open and share them between threads (`issue #21
  <https://github.com/wbolster/happybase/issues/21>`_).

* The :py:meth:`Connection.delete_table` method now features an optional
  `disable` parameter to make deleting enabled tables easier.

* The debug log message emitted by :py:meth:`Table.scan` when closing a scanner
  now includes both the number of rows returned to the calling code, and also
  the number of rows actually fetched from the server. If scanners are not
  completely iterated over (e.g. because of a 'break' statement in the for loop
  for the scanner), these numbers may differ. If this happens often, and the
  differences are big, this may be a hint that the `batch_size` parameter to
  :py:meth:`Table.scan()` is not optimal for your application.

* Increased Thrift dependency to at least 0.8. Older versions are no longer
  available from PyPI. HappyBase should not be used with obsoleted Thrift
  versions.

* The :py:class:`Connection` constructor now features an optional `timeout`
  parameter to to specify the timeout to use for the Thrift socket (`issue #15
  <https://github.com/wbolster/happybase/issues/15>`_)

* The `timestamp` argument to various methods now also accepts `long` values in
  addition to `int` values. This fixes problems with large timestamp values on
  32-bit systems. (`issue #23
  <https://github.com/wbolster/happybase/issues/23>`_).

* In some corner cases exceptions were raised during interpreter shutdown while
  closing any remaining open connections. (`issue #18
  <https://github.com/wbolster/happybase/issues/18>`_)


HappyBase 0.4
-------------

Release date: 2012-07-11

* Add an optional `table_prefix_separator` argument to the
  :py:class:`Connection` constructor, to specify the prefix used for the
  `table_prefix` argument (`issue #3
  <https://github.com/wbolster/happybase/issues/3>`_)
* Add support for framed Thrift transports using a new optional `transport`
  argument to :py:class:`Connection` (`issue #6
  <https://github.com/wbolster/happybase/issues/6>`_)
* Add the Apache license conditions in the :doc:`license statement <license>`
  (for the included HBase parts)
* Documentation improvements


HappyBase 0.3
-------------

Release date: 2012-05-25

New features:

* Improved compatibility with HBase 0.90.x

  * In earlier versions, using :py:meth:`Table.scan` in combination with HBase
    0.90.x often resulted in crashes, caused by incompatibilities in the
    underlying Thrift protocol.
  * A new `compat` flag to the :py:class:`Connection` constructor has been
    added to enable compatibility with HBase 0.90.x.
  * Note that the :py:meth:`Table.scan` API has a few limitations when used
    with HBase 0.90.x.

* The `row_prefix` argument to :py:meth:`Table.scan` can now be used together
  with `filter` and `timestamp` arguments.

Other changes:

* Lower Thrift dependency to 0.6
* The `setup.py` script no longer installs the tests
* Documentation improvements


HappyBase 0.2
-------------

Release date: 2012-05-22

* Fix package installation, so that ``pip install happybase`` works as expected
  (`issue #1 <https://github.com/wbolster/happybase/issues/1>`_)
* Various small documentation improvements


HappyBase 0.1
-------------

Release date: 2012-05-20

* Initial release