- Bugfix #38 Add
MonadRec
constraint toput
functions.
- Development: purs v0.15.7, node-streams-aff v5.0.0, assorted improvements.
- Add doc comments from the
.proto
messages and enums to the generated.purs
code. - Improved dev environment for purescript-language-server and ide-purescript
with
PURS_IDE_SOURCES
. - Use
spago2nix_nativeBuildInputs
.
- Nix flake. With one-step spago2nix.
- Upgrade dependencies.
- Delete
mkUint8Array
. Upstreamed this to purescript-arraybuffer. - Delete
manyArray
,parseMaybe
,parseEither
,parseExceptT
. Upstreamed these to purescript-parsing. - Refactor
manyLength
. Get rid of the FFI, and a slight speedup in the benchmarks. - Delete
Runtime.positionZero
.
- Change the values of
UnknownBits64
andUnknownBits32
toBytes
. - Upgrade int64
- PureScript v0.15.0
- Protobuf v3.21.0
- Replace text-encoding dependency with web-encoding. Consequently we require Node.js ≥ v11.
- Replace longs dependency with int64.
- Remove the only NPM dependency: longs.js.
- Rework the async I/O in the protoc plugin.
Now the codegen Nix derivation is working properly.
Reorganized the spago
files so that programs which import generated code
can use spago.dhall
for the minimum necessary dependencies instead
of spago-library.dhall
.
Reorganized the PureScript modules so that all modules except Library
are now explicity Internal
modules.
Upgraded to PureScript 0.14.3.
For byte fields we’re now using the DataBuff
type
from arraybuffer-builder v2.1.0 which allows us to avoid array copies,
and so may speed up encoding and decoding in some cases.
Created a Protobuf.Prelude
module to eliminate many import warnings
in the generated code.
The Bytes
field type was formerly a wrapper for ArrayBuffer
, and now
it is a wrapper for DataBuff
, which may be either ArrayBuffer
or DataView
.
This changes the API and will require some changes in dependent code.
Fixed a bug which sometimes incorrectly errored with “index out of bounds” when decoding packed repeated fields of double, float, fixed32, or sfixed32.
Fixed a bug which would cause a compilation failure in generated code for enums with negative values.
Large (×1000) speedup for decoding packed repeated fields of
- double
- float
- fixed32
- fixed64
- sfixed32
- sfixed64
Upgraded from Protobuf v3.14.0 to v3.15.8.
Now supporting proto3 field presence.
Upgraded from Protobuf v3.9.2 to v3.14.0.
To conform with v3.14.0, we’ve added a new type class Default
for
awareness of Protobuf
default values.
In the code generator, when protoc
hands us nonsense descriptors, then
report the error instead of generating uncompilable code.
Export Library.manyLength
, it’s generally useful.
Improve Protobuf.Runtime.manyLength
for stack-safety in the case of
packed repeated fields.
Newtype Protobuf.Library.Bytes
wrapper for ArrayBuffer
, so that all
messages can have Eq
and Show
instances.
Nix default.nix
derivation for including the code generation step as
part another derivation.
Preserve unknown fields, so now all Google binary-wire-format proto3 conformance tests pass.
Added parsing labels so that parsing failure messages include a path to the protobuf definition in which the failure occurred.
First release