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.

144 lines
4.4 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

Change Log
==========
## Version 1.6.0
_2015-08-25_
* New: `BufferedSource.indexOf(ByteString)` searches a source for the next
occurrence of a byte string.
* Fix: Recover from unexpected `AssertionError` thrown on Android 4.2.2 and
earlier when asynchronously closing a socket.
## Version 1.5.0
_2015-06-19_
* Sockets streams now throw `SocketTimeoutException`. This builds on new
extension point in `AsyncTimeout` to customize the exception when a timeout
occurs.
* New: `ByteString` now implements `Comparable`. The comparison sorts bytes as
unsigned: {@code ff} sorts after {@code 00}.
## Version 1.4.0
_2015-05-16_
* **Timeout exception changed.** Previously `Timeout.throwIfReached()` would
throw `InterruptedIOException` on thread interruption, and `IOException` if
the deadline was reached. Now it throws `InterruptedIOException` in both
cases.
* Fix: throw `EOFException` when attempting to read digits from an empty
source. Previously this would crash with an unchecked exception.
* New: APIs to read and write UTF-8 code points without allocating strings.
* New: `BufferedSink` can now write substrings directly, potentially saving an
allocation for some callers.
* New: `ForwardingTimeout` class.
## Version 1.3.0
_2015-03-16_
* New: Read and write signed decimal and unsigned hexadecimal values in
`BufferedSource` and `BufferedSink`. Unlike the alternatives, these methods
dont do any memory allocations!
* New: Segment sharing. This improves the runtime of operations like
`Buffer.clone()` and `Buffer.copyTo()` by sharing underlying segments between
buffers.
* New: `Buffer.snapshot()` returns an immutable snapshot of a buffer as a
`ByteString`. This builds on segment sharing so that snapshots are shallow,
immutable copies.
* New: `ByteString.rangeEquals()`.
* New: `ByteString.md5()` and `ByteString.sha256()`.
* New: `ByteString.base64Url()` returns URL-safe Base64. The existing
decoding method has been extended to support URL-safe Base64 input.
* New: `ByteString.substring()` returns a prefix, infix, or suffix.
* New: `Sink` now implements `java.io.Flushable`.
* Fix: `Buffer.write(Source, long)` now always writes fully. The previous
behavior would return as soon as any data had been written; this was
inconsistent with all other _write()_ methods in the API.
* Fix: don't leak empty segments in DeflaterSink and InflaterSource. (This was
unlikely to cause problems in practice.)
## Version 1.2.0
_2014-12-30_
* Fix: `Okio.buffer()` _always_ buffers for better predictability.
* Fix: Provide context when `readUtf8LineStrict()` throws.
* Fix: Buffers do not call through the `Source` on zero-byte writes.
## Version 1.1.0
_2014-12-11_
* Do UTF-8 encoding natively for a performance increase, particularly on Android.
* New APIs: `BufferedSink.emit()`, `BufferedSource.request()` and `BufferedSink.indexOfElement()`.
* Fixed a performance bug in `Buffer.indexOf()`
## Version 1.0.1
_2014-08-08_
* Added `read(byte[])`, `read(byte[], offset, byteCount)`, and
`void readFully(byte[])` to `BufferedSource`.
* Refined declared checked exceptions on `Buffer` methods.
## Version 1.0.0
_2014-05-23_
* Bumped release version. No other changes!
## Version 0.9.0
_2014-05-03_
* Use 0 as a sentinel for no timeout.
* Make AsyncTimeout public.
* Remove checked exception from Buffer.readByteArray.
## Version 0.8.0
_2014-04-24_
* Eagerly verify preconditions on public APIs.
* Quick return on Buffer instance equivalence.
* Add delegate types for Sink and Source.
* Small changes to the way deadlines are managed.
* Add append variant of Okio.sink for File.
* Methods to exhaust BufferedSource to byte[] and ByteString.
## Version 0.7.0
_2014-04-18_
* Don't use getters in timeout.
* Use the watchdog to interrupt sockets that have reached deadlines.
* Add java.io and java.nio file source/sink helpers.
## Version 0.6.1
_2014-04-17_
* Methods to read a buffered source fully in UTF-8 or supplied charset.
* API to read a byte[] directly.
* New methods to move all data from a source to a sink.
* Fix a bug on input stream exhaustion.
## Version 0.6.0
_2014-04-15_
* Make ByteString serializable.
* New API: `ByteString.of(byte[] data, int offset, int byteCount)`
* New API: stream-based copy, write, and read helpers.
## Version 0.5.0
_2014-04-08_
* Initial public release.
* Imported from OkHttp.