Link [ pkgsrc | NetBSD | pkgsrc git mirror | PR fulltext-search | netbsd commit viewer ]


   
        usage: [branch:branch] [user:user] [path[@revision]] keyword [... [-excludekeyword [...]]] (e.g. branch:MAIN pkgtools/pkg)




switch to index mode

recent branches: MAIN (2h)  pkgsrc-2024Q1 (14d)  pkgsrc-2023Q4 (42d)  pkgsrc-2023Q2 (74d)  pkgsrc-2023Q3 (154d) 

2024-05-12 22:23:25 UTC Now

2016-08-07 11:44:43 UTC MAIN commitmail json YAML

2016-08-07 11:33:39 UTC MAIN commitmail json YAML

2016-08-07 11:31:58 UTC MAIN commitmail json YAML

2016-08-07 11:28:50 UTC MAIN commitmail json YAML

2016-08-07 11:26:52 UTC MAIN commitmail json YAML

2016-08-07 11:24:24 UTC MAIN commitmail json YAML

2016-08-07 11:22:03 UTC MAIN commitmail json YAML

2016-08-07 11:19:59 UTC MAIN commitmail json YAML

2016-08-07 11:15:46 UTC MAIN commitmail json YAML

2016-08-07 11:13:19 UTC MAIN commitmail json YAML

2016-08-07 11:11:45 UTC MAIN commitmail json YAML

2016-08-07 11:09:32 UTC MAIN commitmail json YAML

2016-08-07 11:05:43 UTC MAIN commitmail json YAML

2016-08-07 11:02:11 UTC MAIN commitmail json YAML

2016-08-07 10:57:57 UTC MAIN commitmail json YAML

2016-08-07 10:54:52 UTC MAIN commitmail json YAML

2016-08-07 10:51:20 UTC MAIN commitmail json YAML

Update to 2016.41616
  Adjust for tex-graphics-def

(markd)

2016-08-07 10:44:36 UTC MAIN commitmail json YAML

Updated devel/p5-MouseX-Getopt to 0.37

(wen)

2016-08-07 10:43:39 UTC MAIN commitmail json YAML

Update to 0.37

Upstream changes:
0.37 2016-07-13T03:23:39Z
  * Cope with GLD output changes in version 0.100 (#10, by pghmcfc)

(wen)

2016-08-07 10:38:40 UTC MAIN commitmail json YAML

Updated geography/py-obspy to 1.0.2

(wen)

2016-08-07 10:38:00 UTC MAIN commitmail json YAML

2016-08-07 10:36:44 UTC MAIN commitmail json YAML

Update to 1.0.2

Upstream changes:
1.0.2: (doi: 10.5281/zenodo.49636)
- obspy.core:
  * Added workaround for numpy issue where many FFTs of various lengths fill
    a cache that never gets cleared, effectively creating a memory leak
    (see #1424).
  * Trace.filter and Stream.filter don't work on masked arrays anymore because
    it produced unpredictable results due to the un-initialized data-chunk.
    The uninitialized masked gap is now also initialized to np.nan in case
    of floating point data which and a consistent fill value in case of
    integer data. (see #1363)
- obspy.clients.fdsn:
  * Fixing issue with location codes potentially resulting in unwanted data
    to be requested. (see #1422)
  * Included low-gain seismometers in default channel filters in
    mass-downloader, also included non-oriented channels by default
    (see #1373).
- obspy.db:
  * Fixed a bug in obspy-indexer command line script (see #1369,
    command line script was not working, probably since 0.10.0)
- obspy.imaging:
  * Fixed a bug that leads to pressure/tension color blending when plotting
    semi-transparent DC beachball patches (i.e. with "alpha" not equal to 1,
    see #1464)
  * Fixed a bug when plotting non-DC beachball patches without fill colors
    (i.e. with "nofill=True", see #1464)
  * Fix arbitrary units in waveform section plot's offset axis, making it
    possible to add customizations to the plot afterwards (see #1382, see
    #1383)
- obspy.io.ascii:
  * Fixed a bug that lead to wrong header information in output files when
    writing non-integer sampling rate data to SLIST or TSPAIR formats
    (see #1447)
- obspy.io.cmtsolution:
  * Make sure newer CMTSOLUTION files can also be read (see #1479).
- obspy.io.gse2:
  * Fixed a bug that could lead to network code not present in GSE2 output
    (see #1448)
- obspy.io.mseed:
  * Fixed a bug in obspy-mseed-recordanalyzer (see #1386)
- obspy.io.nlloc:
  * Use geographic coordinates from the NonLinLoc Hypocenter-Phase file if
    no custom coordinate converter is provided. (see #1390)
  * Fix reading NonLinLoc Hypocenter-Phase files with more than one
    hypocenter in it. (see #1480)
  * Fix reading NonLinLoc Hypocenter-Phase files with unicode characters in
    them. (see #1483)
- obspy.io.quakeml:
  * Fixed issue with improperly raised warnings when the same file is read
    twice. (#1376)
  * Fix writing empty network/station/channel codes in WaveformStreamID
    objects to QuakeML. (see #1483)
- obspy.io.sac:
  * Try to set SAC distances (dist, az, baz, gcarc) on read, if "lcalda" is
    true.  If "dist" header is found, distances aren't calculated.
  * SACTrace class returns header values as native Python types instead of
    NumPy types.
  * SACTrace.iqual is no longer accepts enumerated string values, but
    arbitrary integer values. (see #1472)
  * SACTrace.read now replaces non-ASCII and null-termination characters in
    string headers with whitespace unless the "debug_strings=True" flag is
    used. (see #1432)
- obspy.io.stationxml:
  * Always set the number attribute for poles and zeros. (see #1481)
- obspy.signal:
  * PPSD.plot(): fix plotting of percentiles, mode and mean and setting
    period limits when using "xaxis_frequency=True" (see #1406, #1416)
  * Work around a bug in SciPy that results in wrong results for bandpass
    filter when using Nyquist frequency (or higher) as high corner of the
    passband (see #1451)
- obspy.taup:
  * Fixing path for Pn. (see #1392)

(wen)

2016-08-07 10:32:06 UTC MAIN commitmail json YAML

2016-08-07 10:17:53 UTC MAIN commitmail json YAML

2016-08-07 10:12:58 UTC MAIN commitmail json YAML

email style fix

(nros)

2016-08-07 10:10:30 UTC MAIN commitmail json YAML

Add tex-graphics-def{,-doc}

(markd)

2016-08-07 10:09:19 UTC MAIN commitmail json YAML

Initial import tex-graphics-def{,-doc} 2016

This bundle is a combined distribution consisting of dvips.def,
pdftex.def, luatex.def, xetex.def, dvipdfmx.def, and
dvisvgm.def driver option files for the LaTeX graphics and
color packages. It is hoped that by combining their source
repositories at https://github.com/latex3/graphics-def it will
be easier to coordinate updates.

(markd)

2016-08-07 09:35:08 UTC MAIN commitmail json YAML

Updated devel/p5-MetaCPAN-Client to 1.022003

(wen)

2016-08-07 09:34:12 UTC MAIN commitmail json YAML

Update to 1.022003
Update DEPENDS

Upstream changes:
1.022003    06.08.16
            * Fixed a warning in $file->pod (Mickey)

1.022002    06.08.16
            * Added LWP::Protocol::https as test dependency (Mickey)

1.022001    05.08.16
            * check user provided UA for 'get' and 'post' methods (Mickey)
            * document updates (Mickey)

1.022000    04.08.16
            * Rework type checking - enforce expected types, inc.
              single-valued array-ref unwrapping; doesn't break
              types that are expected to be array-refs (Mickey)

1.021000    27.07.16
            * Fix result values in v1 - single valued arrayref in ES
              result will be turned to a scalar (Mickey)

(wen)

2016-08-07 09:13:57 UTC MAIN commitmail json YAML

Added devel/p5-Ref-Util version 0.020

(wen)

2016-08-07 09:09:42 UTC MAIN commitmail json YAML

Update some texlive packages to latest versions.
Precise changes unknown
Updated print/tex-amsmath(,-doc} to 2.15d
Updated print/tex-caption(,-doc} to 20160522
Updated print/tex-csplain to 2016.41764
Updated print/tex-csquotes(,-doc} to 5.1h
Updated print/tex-datatool(,-doc} to 2.27
Updated print/tex-dvips(,-doc} to 2016.41704
Updated print/tex-etex-pkg(,-doc} to 2.7
Updated print/tex-glossaries(,-doc} to 4.25
Updated print/tex-hyperref(,-doc} to 6.83q
Updated print/tex-koma-script to 3.21
Updated print/tex-latex(,-doc} to 2016.41765
Updated print/tex-lollipop(,-doc} to 1.07
Updated print/tex-luatex85(,-doc} to 1.4
Updated print/tex-marginnote(,-doc} to 1.2
Updated print/tex-media9(,-doc} to 0.69
Updated print/tex-minted(,-doc} to 2.4
Updated print/tex-musixtex(,-doc} to 1.23
Updated print/tex-oberdiek(,-doc} to 2016.41346
Updated print/tex-pdfcomment(,-doc} to 2.4
Updated print/tex-ptex-base(,-doc} to 0.0.2016.41420
Updated print/tex-readarray(,-doc} to 1.3
Updated print/tex-showlabels(,-doc} to 1.8
Updated print/tex-sttools(,-doc} to 1.9
Updated print/tex-tex4ht(,-doc} to 2016.41726
Updated print/tex-texinfo to 5.1.41792
Updated print/tex-textpos(,-doc} to 1.8
Updated print/tex-tools(,-doc} to 2016.41688
Updated print/tex-toptesi(,-doc} to 5.92
Updated print/tex-unicode-data(,-doc} to 1.5
Updated print/tex-updmap-map to 2016.41585

(markd)

2016-08-07 09:07:20 UTC MAIN commitmail json YAML

Add p5-Ref-Util

(wen)

2016-08-07 09:05:50 UTC MAIN commitmail json YAML

Import Ref-Util-0.020 as devel/p5-Ref-Util.

Ref::Util introduces several functions to help identify references
in a faster and smarter way.

(wen)

2016-08-07 09:01:09 UTC MAIN commitmail json YAML

2016-08-07 07:19:05 UTC MAIN commitmail json YAML

Add tex-fonts-tlwg-doc

(markd)

2016-08-07 07:17:37 UTC MAIN commitmail json YAML

Update some texlive packages to latest versions.
Precise changes unknown
Updated fonts/tex-academicons{,-doc} to 1.7.2
Updated fonts/tex-cs to 2016.41553
Updated fonts/tex-erewhon{,-doc} to 1.06
Updated fonts/tex-fbb{,-doc} to 1.11
Updated fonts/tex-fontawesome{,-doc} to 4.6.3.2
Updated fonts/tex-fonts-tlwg to 0.6.3
Added fonts/tex-fonts-tlwg-doc version 0.6.3
Updated fonts/tex-glyphlist to 2016
Updated fonts/tex-japanese-otf{,-doc} to 1.7b6.41546
Updated fonts/tex-luaotfload{,-doc} to 2.7.3
Updated fonts/tex-oldstandard{,-doc} to 2.2
Updated fonts/tex-xcharter{,-doc} to 1.078a

(markd)

2016-08-07 06:56:57 UTC MAIN commitmail json YAML

Updated devel/p5-IO-Prompt to 0.997003

(wen)

2016-08-07 06:55:33 UTC MAIN commitmail json YAML

Update to 0.997003

Upstream changes:
0.997003  Wed Aug 19 10:47:34 2015

    - Removed dependencies check for /dev/tty because it was
      messing up smoke testing (thanks, Jarkko!)

(wen)

2016-08-07 06:30:09 UTC MAIN commitmail json YAML

Updated devel/p5-CPAN-Meta-Check to 0.013

(wen)

2016-08-07 06:29:18 UTC MAIN commitmail json YAML

Update to 0.013

Upstream changes:
0.013    2016-07-20 22:26:07+02:00 Europe/Amsterdam
          Make tests more resilient against dev versions of dependencies

(wen)

2016-08-07 06:26:52 UTC MAIN commitmail json YAML

Updated devel/p5-Config-IniFiles to 2.93

(wen)

2016-08-07 06:26:10 UTC MAIN commitmail json YAML

Update to 2.93

Upstream changes:
2.93        2016-07-24
    * Add [MetaJSON] and META.json to the distribution.
        - Pull-request by Kent Fredric - thanks!
            - https://bitbucket.org/shlomif/perl-config-inifiles/pull-requests/5/ship-metajson-with-metajson/diff

(wen)

2016-08-07 06:23:05 UTC MAIN commitmail json YAML

Updated devel/p5-Class-Base to 0.08

(wen)

2016-08-07 06:21:49 UTC MAIN commitmail json YAML

Update to 0.08

Upstream changes:
0.08 2016.07.25
    Fix release (hopefully)

0.07 2016.07.25
    BUILD_REQUIRES vs TEST_REQUIRES  (Kent Fredric)

(wen)

2016-08-07 04:44:41 UTC MAIN commitmail json YAML

Updated time/p5-DateTime to 1.36

(wen)

2016-08-07 04:38:53 UTC MAIN commitmail json YAML

Update to 1.36

Upstream changes:
1.36  2016-08-06

- Require namespace::autoclean 0.19.

(wen)

2016-08-07 01:25:41 UTC MAIN commitmail json YAML

these options does not exist
--disable-elf-dynstr-gc
--disable-installer
--disable-javaxpcom
--disable-mochitest
--disable-pedantic
--enable-canvas
--enable-crypto
--enable-mathml
--enable-pango
--enable-svg
--with-system-ply
you can see it:
cd /usr/pkgsrc/www/firefox/work/firefox-48.0
./configure --help

(szptvlfn)

2016-08-06 21:38:45 UTC MAIN commitmail json YAML

2016-08-06 15:56:50 UTC MAIN commitmail json YAML

SunOS needs c99 and at the same time add option for 'fftw' enabling the use
of the Discrete Fourier Transforms library.

(richard)

2016-08-06 15:03:52 UTC MAIN commitmail json YAML

Updated devel/cmocka to 1.0.1

(mef)

2016-08-06 15:03:30 UTC MAIN commitmail json YAML

Updated devel/cmocka to 1.0.1
-----------------------------
Thu Mar 12 2015 Andreas Schneider <asn@cryptomilk.org>
    * cmocka: version 1.0.1
    * Added a macro for assert_ptr_equal().
    * Fixed test_realloc() if 0 size is passed.
    * Fixed objects packaging bug.
    * Fixed building with newer gcc versions.

(mef)

2016-08-06 14:45:31 UTC MAIN commitmail json YAML

Updated security/p5-Module-Signature to 0.80

(mef)

2016-08-06 14:45:16 UTC MAIN commitmail json YAML

Updated security/p5-Module-Signature to 0.80
--------------------------------------------
ChangeLog unknown for this version

(mef)

2016-08-06 13:03:56 UTC MAIN commitmail json YAML

Updated math/octave to 4.0.3

(prlw1)

2016-08-06 13:03:35 UTC MAIN commitmail json YAML

Update octave to 4.0.3

XXX installs lib/charset.alias - is this a problem?

Bugs Fixed in GNU Octave 4.0.3

* doc: clarify differences between atan and atan2 (bug #48178)
* doc: delete mention of unsupported syntax for looping over structs
  (bug #48064)
* ver.m: return empty struct for unknown package (bug #48235).
* Update gnulib subrepo for texinfo formatting fixes (bug #48001)
* Fix typos in Java conversion of 32 and 64 bit integers (bug #48107)
* Create valid gnuplot commands even for single-entry colormaps
  (bug #48083).
* orderfields.m: Remove trailing bracket in docstring (bug #48063).
* Don't overly restrict options passed to Java jvm (bug #39063).
* Write integers with correct byte order on big-endian systems
  (bug #47434)
* doc: Document syntax for specifying color when using Tex
  interpreter (bug #47907).
* Round quantized pixel values before writing uintN images (bug #47746)
* Fix popen2 error on Windows when child writes to stderr (bug #43036)
* it_IT.ts: Correct Italian translation of "col:" (bug #47857).
* avoid crash in audiowrite argument processing (bug #47875)
* make __magick_read__ a built-in function (bug #41699)
* sortrows.m: Improve docstring (bug #47844).
* doc: Fix typo in exec docstring.
* Use correct URL for Online Documentation (bug #47835).
* Fix autoscale affecting legend axes objects (bug #47765).
* configure.ac: Remove AC_CHECK_FUNC for pipe now that gnulib::pipe used.
* doc: fix on manual the syntax to empty elements from cell array.
* octave.texi: Set document encoding to UTF-8.
* Enable the pipe function on Windows (bug #47614)
* avoid mulitple definitions of static function-scope vars (bug #47372)
* Array-sym.cc: Delete obsolete file.
* Initialize variable to stop unstable results for lgamma (bug #47524).
* call openmp function at initialization (bug #47372)
* macros.texi: Colorized links for PDF files with Texinfo 6.x.

(prlw1)

2016-08-06 12:41:36 UTC MAIN commitmail json YAML

add patches to XSAs 178 and 180 from upstream
add an initialization for a pointer where the compiler doesn't
recognize it being assigned by posix_memalign (trivial compile fix)

(spz)

2016-08-06 11:58:07 UTC MAIN commitmail json YAML

Updated mail/p5-Catalyst-View-Email to 0.36

(wen)

2016-08-06 11:55:35 UTC MAIN commitmail json YAML

2016-08-06 11:49:24 UTC MAIN commitmail json YAML

mention 7.1.x goodness, asynchronous signal handling

(jdolecek)

2016-08-06 11:49:06 UTC MAIN commitmail json YAML

Updated devel/protobuf to 3.0.0
Updated devel/py-protobuf to 3.0.0

(kamil)

2016-08-06 11:45:24 UTC MAIN commitmail json YAML

Upgrade py-protobuf from 2.6.1 to 3.0.0

This version is backward compatible with proto2.

Upstream changelog:

Version 3.0.0

This change log summarizes all the changes since the last stable release
(v2.6.1). See the last section about changes since v3.0.0-beta-4.
Proto3

    Introduced Protocol Buffers language version 3 (aka proto3).

    When protocol buffers was initially open sourced it implemented Protocol
    Buffers language version 2 (aka proto2), which is why the version number
    started from v2.0.0. From v3.0.0, a new language version (proto3) is
    introduced while the old version (proto2) will continue to be supported.

    The main intent of introducing proto3 is to clean up protobuf before pushing
    the language as the foundation of Google's new API platform. In proto3, the
    language is simplified, both for ease of use and to make it available in a
    wider range of programming languages. At the same time a few features are
    added to better support common idioms found in APIs.

    The following are the main new features in language version 3:
        Removal of field presence logic for primitive value fields, removal of required fields, and removal of default values. This makes proto3 significantly easier to implement with open struct representations, as in languages like Android Java, Objective C, or Go.
        Removal of unknown fields.
        Removal of extensions, which are instead replaced by a new standard type called Any.
        Fix semantics for unknown enum values.
        Addition of maps (back-ported to proto2)
        Addition of a small set of standard types for representation of time, dynamic data, etc (back-ported to proto2)
        A well-defined encoding in JSON as an alternative to binary proto encoding.

    A new notion "syntax" is introduced to specify whether a .proto file
    uses proto2 or proto3:

    // foo.proto
    syntax = "proto3";
    message Bar {...}

    If omitted, the protocol buffer compiler generates a warning and "proto2" is
    used as the default. This warning will be turned into an error in a future
    release.

    We recommend that new Protocol Buffers users use proto3. However, we do not
    generally recommend that existing users migrate from proto2 from proto3 due
    to API incompatibility, and we will continue to support proto2 for a long
    time.

    Other significant changes in proto3.
    Explicit "optional" keyword are disallowed in proto3 syntax, as fields are optional by default; required fields are no longer supported.
    Removed non-zero default values and field presence logic for non-message fields. e.g. has_xxx() methods are removed; primitive fields set to default values (0 for numeric fields, empty for string/bytes fields) will be skipped during serialization.
    Group fields are no longer supported in proto3 syntax.
    Changed repeated primitive fields to use packed serialization by default in proto3 (implemented for C++, Java, Python in this release). The user can still disable packed serialization by setting packed to false for now.
    Added well-known type protos (any.proto, empty.proto, timestamp.proto, duration.proto, etc.). Users can import and use these protos just like regular proto files. Additional runtime support are available for each language.

    Proto3 JSON is supported in several languages (fully supported in C++, Java,
    Python and C# partially supported in Ruby). The JSON spec is defined in the
    proto3 language guide:

    https://developers.google.com/protocol-buffers/docs/proto3#json

    We will publish a more detailed spec to define the exact behavior of
    proto3-conformant JSON serializers and parsers. Until then, do not rely
    on specific behaviors of the implementation if s not documented in
    the above spec.
    Proto3 enforces strict UTF-8 checking. Parsing will fail if a string field contains non UTF-8 data.

General

    Introduced new language implementations (C#, JavaScript, Ruby, Objective-C) to proto3.

    Added support for map fields (implemented in both proto2 and proto3).
    Map fields can be declared using the following syntax:

    message Foo {
      map<string, string> values = 1;
    }

    The data of a map field is stored in memory as an unordered map and
    can be accessed through generated accessors.

    Added a "reserved" keyword in both proto2 and proto3 syntax. Users can use
    this keyword to declare reserved field numbers and names to prevent them
    from being reused by other fields in the same message.

    To reserve field numbers, add a reserved declaration in your message:

    message TestMessage {
      reserved 2, 15, 9 to 11, 3;
    }

    This reserves field numbers 2, 3, 9, 10, 11 and 15. If a user uses any of
    these as field numbers, the protocol buffer compiler will report an error.

    Field names can also be reserved:

    message TestMessage {
      reserved "foo", "bar";
    }

    Added a deterministic serialization API (currently available in C++). The deterministic serialization guarantees that given a binary, equal messages will be serialized to the same bytes. This allows applications like MapReduce to group equal messages based on the serialized bytes. The deterministic serialization is, however, NOT canonical across languages; it is also unstable across different builds with schema changes due to unknown fields. Users who need canonical serialization, e.g. persistent storage in a canonical form, fingerprinting, etc, should define their own canonicalization specification and implement the serializer using reflection APIs rather than relying on this API.
    Added a new field option "json_name". By default proto field names are converted to "lowerCamelCase" in proto3 JSON format. This option can be used to override this behavior and specify a different JSON name for the field.
    Added conformance tests to ensure implementations are following proto3 JSON specification.

C++

    Added arena allocation support (for both proto2 and proto3).

    Profiling shows memory allocation and deallocation constitutes a significant
    fraction of CPU-time spent in protobuf code and arena allocation is a
    technique introduced to reduce this cost. With arena allocation, new
    objects are allocated from a large piece of preallocated memory and
    deallocation of these objects is almost free. Early adoption shows 20% to
    50% improvement in some Google binaries.

    To enable arena support, add the following option to your .proto file:

    option cc_enable_arenas = true;

    The protocol buffer compiler will generate additional code to make the generated
    message classes work with arenas. This does not change the existing API
    of protobuf messages and does not affect wire format. Your existing code
    should continue to work after adding this option. In the future we will
    make this option enabled by default.

    To actually take advantage of arena allocation, you need to use the arena
    APIs when creating messages. A quick example of using the arena API:

    {
      google::protobuf::Arena arena;
      // Allocate a protobuf message in the arena.
      MyMessage* message = Arena::CreateMessage<MyMessage>(&arena);
      // All submessages will be allocated in the same arena.
      if (!message->ParseFromString(data)) {
        // Deal with malformed input data.
      }
      // Must not delete the message here. It will be deleted automatically
      // when the arena is destroyed.
    }

    Currently arena allocation does not work with map fields. Enabling arenas in a .proto
    file containing map fields will result in compile errors in the generated
    code. This will be addressed in a future release.

    Added runtime support for the Any type. To use Any in your proto file, first
    import the definition of Any:

    // foo.proto
    import "google/protobuf/any.proto";
    message Foo {
      google.protobuf.Any any_field = 1;
    }
    message Bar {
      int32 value = 1;
    }

    Then in C++ you can access the Any field using PackFrom()/UnpackTo()
    methods:

    Foo foo;
    Bar bar = ...;
    foo.mutable_any_field()->PackFrom(bar);
    ...
    if (foo.any_field().IsType<Bar>()) {
      foo.any_field().UnpackTo(&bar);
      ...
    }

    In text format, the entries of a map field will be sorted by key.

    Introduced new utility functions/classes in the google/protobuf/util
    directory:
        MessageDifferencer: compare two proto messages and report their differences.
        JsonUtil: support converting protobuf binary format to/from JSON.
        TimeUtil: utility functions to work with well-known types Timestamp and Duration.
        FieldMaskUtil: utility functions to work with FieldMask.

    Introduced a deterministic serialization API in
    CodedOutputStream::SetSerializationDeterministic(bool). See the notes about
    deterministic serialization in the General section.

Java

    Introduced a new util package that will be distributed as a separate
    artifact in maven. It contains:
        JsonFormat: convert proto messages to/from JSON.
        Timestamps/Durations: utility functions to work with Timestamp and Duration.
        FieldMaskUtil: utility functions to work with FieldMask.

    Introduced an ExperimentalApi annotation. Annotated APIs are experimental
    and are subject to change in a backward incompatible way in future releases.
    Introduced zero-copy serialization as an ExperimentalApi
        Introduction of the ByteOutput interface. This is similar to OutputStream but provides semantics for lazy writing (i.e. no immediate copy required) of fields that are considered to be immutable.
        ByteString now supports writing to a ByteOutput, which will directly expose the internals of the ByteString (i.e. byte[] or ByteBuffer) to the ByteOutput without copying.
        CodedOutputStream now supports writing to a ByteOutput. ByteString instances that are too large to fit in the internal buffer will be (lazily) written to the ByteOutput directly.
        This allows applications using large ByteString fields to avoid duplication of these fields entirely. Such an application can supply a ByteOutput that chains together the chunks received from CodedOutputStream before forwarding them onto the IO system.

    Other related changes to CodedOutputStream
        Additional use of sun.misc.Unsafe where possible to perform fast access to byte[] and ByteBuffer values and avoiding unnecessary range checking.
        ByteBuffer-backed CodedOutputStream now writes directly to the ByteBuffer rather than to an intermediate array.

    Performance optimizations for String fields serialization.
    The static PARSER in each generated message is deprecated, and it will be removed in a future release. A static parser() getter is generated for each message type instead.
    File option "java_generate_equals_and_hash" is now deprecated. equals() and hashCode() methods are generated by default.

Python

    Python has received several updates, most notably support for proto3
    semantics in any .proto file that declares syntax="proto3".
    Messages declared in proto3 files no longer represent field presence
    for scalar fields (number, enums, booleans, or strings). You can
    no longer call HasField() for such fields, and they are serialized
    based on whether they have a non-zero/empty/false value.

    One other notable change is in the C++-accelerated implementation.
    Descriptor objects (which describe the protobuf schema and allow
    reflection over it) are no longer duplicated between the Python
    and C++ layers. The Python descriptors are now simple wrappers
    around the C++ descriptors. This change should significantly
    reduce the memory usage of programs that use a lot of message
    types.

    Added map support.
        maps now have a dict-like interface (msg.map_field[key] = value)
        existing code that modifies maps via the repeated field interface will need to be updated.

    Added proto3 JSON format utility. It includes support for all field types and a few well-known types.
    Added runtime support for Any, Timestamp, Duration and FieldMask.
    "[ ]" is now accepted for repeated scalar fields in text format parser.
    Removed legacy Python 2.5 support.
    Moved to a single Python 2.x/3.x-compatible codebase

Ruby

    We have added proto3 support for Ruby via a native C/JRuby extension.

    For the moment we only support proto3. Proto2 support is planned, but not
    yet implemented. Proto3 JSON is supported, but the special JSON mappings
    for the well-known types are not yet implemented.

    The Ruby extension itself is included in the ruby/ directory, and details on
    building and installing the extension are in ruby/README.md. The extension
    is also be published as a Ruby gem. Code generator support is included as
    part of protoc with the --ruby_out flag.

    The Ruby extension implements a user-friendly DSL to define message types
    (also generated by the code generator from .proto files). Once a message
    type is defined, the user may create instances of the message that behave in
    ways idiomatic to Ruby. For example:
        Message fields are present as ordinary Ruby properties (getter method foo and setter method foo=).
        Repeated field elements are stored in a container that acts like a native Ruby array, and map elements are stored in a container that acts like a native Ruby hashmap.
        The usual well-known methods, such as #to_s, #dup, and the like, are present.

    Unlike several existing third-party Ruby extensions for protobuf, this
    extension is built on a "strongly-typed" philosophy: message fields and
    array/map containers will throw exceptions eagerly when values of the
    incorrect type are inserted.

    See ruby/README.md for details.

Objective-C

    Objective-C includes a code generator and a native objective-c runtime
    library. By --objc_ to protoc, the code generator will generate
    a header(.pbobjc.h) and an implementation file(.pbobjc.m) for each proto
    file.

    In this first release, the generated interface provides: enums, messages,
    field support(single, repeated, map, oneof), proto2 and proto3 syntax
    support, parsing and serialization. s compatible with ARC and non-ARC
    usage. In addition, users can access it via the swift bridging header.

C#

    C# support is derived from the project at https://github.com/jskeet/protobuf-csharp-port, which is now in maintenance mode.
    The primary differences between the previous project and the proto3 version are that message types are now mutable, and the codegen is integrated in protoc
    There are two NuGet packages: Google.Protobuf (the support library) and Google.Protobuf.Tools (containing protoc)
    Target platforms now .NET 4.5, selected portable subsets and .NET Core.
    Null values are used to represent "no value" for message type fields, and for wrapper types such as Int32Value which map to C# nullable value types.
    Proto3 semantics supported; proto2 files are prohibited for C# codegen.
    Enum values are PascalCased, and if there's a prefix which matches the name of the enum, that is removed (so an enum COLOR with a value COLOR_LIGHT_GRAY would generate a value of just LightGray).

JavaScript

    Added proto2/proto3 support for JavaScript. The runtime is written in pure JavaScript and works in browsers and in Node.js. To generate JavaScript code for your proto, invoke protoc with "--js_out". See js/README.md for more build instructions.
    JavaScript has support for binary protobuf format, but not proto3 JSON. There is also no support for reflection, since the code size impacts from this are often not the right choice for the browser.
    There is support for both CommonJS imports and Closure goog.require().

Lite

    Supported Proto3 lite-runtime in Java for mobile platforms.
    A new "lite" generator parameter was introduced in the protoc for C++ for
    Proto3 syntax messages. Example usage:

    ./protoc --cpp_out=lite:$OUTPUT_PATH foo.proto

    The protoc will treat the current input and all the transitive dependencies
    as LITE. The same generator parameter must be used to generate the
    dependencies.

    In Proto3 syntax files, "optimized_for=LITE_RUNTIME" is no longer supported.

    For Java, --javalite_out code generator is supported as a separate compiler
    plugin in a separate branch.

    Performance optimizations for Java Lite runtime on Android:
    - Reduced allocations
    - Reduced method overhead after ProGuarding
    - Reduced code size after ProGuarding
    Java Lite protos now implement deep equals/hashCode/toString

Compatibility Notice

    v3.0.0 is the first API stable release of the v3.x series. We do not expect any future API breaking changes.
    For C++, Java Lite and Objective-C, source level compatibility is guaranteed. Upgrading from v3.0.0 to newer minor version releases will be source compatible. For example, if your code compiles against protobuf v3.0.0, it will continue to compile after you upgrade protobuf library to v3.1.0.
    For other languages, both source level compatibility and binary level compatibility are guaranteed. For example, if you have a Java binary built against protobuf v3.0.0. After switching the protobuf runtime binary to v3.1.0, your built binary should continue to work.
    Compatibility is only guaranteed for documented API and documented behaviors. If you are using undocumented API (e.g., use anything in the C++ internal namespace), it can be broken by minor version releases in an undetermined manner.

Changes since v3.0.0-beta-4
Ruby

    When you assign a string field a.string_, we now call #encode(UTF-8) on the string and freeze the copy. This saves you from needing to ensure the string is already encoded as UTF-8. It also prevents you from mutating the string after it has been assigned (this is how we ensure it stays valid UTF-8).
    The generated file for foo.proto is now foo_pb.rb instead of just foo.rb. This makes it easier to see which imports/requires are from protobuf generated code, and also prevents conflicts with any foo.rb file you might have written directly in Ruby. It is a backward-incompatible change: you will need to update all of your require statements.
    For package names like foo_bar, we now translate this to the Ruby module FooBar. This is more idiomatic Ruby than what we used to do (Foo_bar).

JavaScript

    Scalar fields like numbers and boolean now return defaults instead of undefined or null when they are unset. You can test for presence explicitly by calling hasFoo(), which we now generate for scalar fields in proto2.

Java Lite

    Java Lite is now implemented as a separate plugin, maintained in the javalite branch. Both lite runtime and protoc artifacts will be available in Maven.

C#

    Target platforms now .NET 4.5, selected portable subsets and .NET Core.
    legacy_enum_values option is no longer supported.

Version 3.0.0-beta-4
General

    Added a deterministic serialization API for C++. The deterministic serialization guarantees that given a binary, equal messages will be serialized to the same bytes. This allows applications like MapReduce to group equal messages based on the serialized bytes. The deterministic serialization is, however, NOT canonical across languages; it is also unstable across different builds with schema changes due to unknown fields. Users who need canonical serialization, e.g. persistent storage in a canonical form, fingerprinting, etc, should define their own canonicalization specification and implement the serializer using reflection APIs rather than relying on this API.

    Added OneofOptions. You can now define custom options for oneof groups.

    import "google/protobuf/descriptor.proto";
    extend google.protobuf.OneofOptions {
      optional int32 my_oneof_extension = 12345;
    }
    message Foo {
      oneof oneof_group {
        (my_oneof_extension) = 54321;
        ...
      }
    }

C++ (beta)

    Introduced a deterministic serialization API in CodedOutputStream::SetSerializationDeterministic(bool). See the notes about deterministic serialization in the General section.
    Added google::protobuf::Map::swap() to swap two map fields.
    Fixed a memory leak when calling Reflection::ReleaseMessage() on a message allocated on arena.
    Improved error reporting when parsing text format protos.
    JSON
        Added a new parser option to ignore unknown fields when parsing JSON.
        Added convenient methods for message to/from JSON conversion.
    Various performance optimizations.

Java (beta)

    File option "java_generate_equals_and_hash" is now deprecated. equals() and hashCode() methods are generated by default.
    Added a new JSON printer option "omittingInsignificantWhitespace" to produce a more compact JSON output. The printer will pretty-print by default.
    Updated Java runtime to be compatible with 2.5.0/2.6.1 generated protos.

Python (beta)

    Added support to pretty print Any messages in text format.
    Added a flag to ignore unknown fields when parsing JSON.
    Bugfix: "@type" field of a JSON Any message is now correctly put before other fields.

Objective-C (beta)

    Updated the code to support compiling with more compiler warnings enabled. (Issue 1616)
    Exposing more detailed errors for parsing failures. (PR 1623)
    Small (breaking) change to the naming of some methods on the support classes for map<>. There were collisions with the system provided KVO support, so the names were changed to avoid those issues. (PR 1699)
    Fixed for proper Swift bridging of error handling during parsing. (PR 1712)
    Complete support for generating sources that will go into a Framework and depend on generated sources from other Frameworks. (Issue 1457)

C# (beta)

    RepeatedField optimizations.
    Support for .NET Core.
    Minor bug fixes.
    Ability to format a single value in JsonFormatter (advanced usage only).
    Modifications to attributes applied to generated code.

Javascript (alpha)

    Maps now have a real map API instead of being treated as repeated fields.
    Well-known types are now provided in the google-protobuf package, and the code generator knows to require() them from that package.
    Bugfix: non-canonical varints are correctly decoded.

Ruby (alpha)

    Accessors for oneof fields now return default values instead of nil.

Java Lite

    Java lite support is removed from protocol compiler. It will be supported as a protocol compiler plugin in a separate code branch.

Protocol Buffers v3.0.0-beta-3.1

@TeBoring TeBoring released this on 14 Jun

Fix iOS framework.

Version 3.0.0-beta-3
General

    Supported Proto3 lite-runtime in C++/Java for mobile platforms.
    Any type now supports APIs to specify prefixes other than type.googleapis.com
    Removed javanano_use_deprecated_package option; Nano will always has its own ".nano" package.

C++ (Beta)

    Improved hash maps.
        Improved hash maps comments. In particular, please note that equal hash maps will not necessarily have the same iteration order and serialization.
        Added a new hash maps implementation that will become the default in a later release.
    Arenas
        Several inlined methods in Arena were moved to out-of-line to improve build performance and code size.
        Added SpaceAllocatedAndUsed() to report both space used and allocated
        Added convenient class UnsafeArenaAllocatedRepeatedPtrFieldBackInserter
    Any
        Allow custom type URL prefixes in Any packing.
        TextFormat now expand the Any type rather than printing bytes.
    Performance optimizations and various bug fixes.

Java (Beta)

    Introduced an ExperimentalApi annotation. Annotated APIs are experimental and are subject to change in a backward incompatible way in future releases.
    Introduced zero-copy serialization as an ExperimentalApi
        Introduction of the ByteOutput interface. This is similar to OutputStream but provides semantics for lazy writing (i.e. no immediate copy required) of fields that are considered to be immutable.
        ByteString now supports writing to a ByteOutput, which will directly expose the internals of the ByteString (i.e. byte[] or ByteBuffer) to the ByteOutput without copying.
        CodedOutputStream now supports writing to a ByteOutput. ByteString instances that are too large to fit in the internal buffer will be (lazily) written to the ByteOutput directly.
        This allows applications using large ByteString fields to avoid duplication of these fields entirely. Such an application can supply a ByteOutput that chains together the chunks received from CodedOutputStream before forwarding them onto the IO system.
    Other related changes to CodedOutputStream
        Additional use of sun.misc.Unsafe where possible to perform fast access to byte[] and ByteBuffer values and avoiding unnecessary range checking.
        ByteBuffer-backed CodedOutputStream now writes directly to the ByteBuffer rather than to an intermediate array.
    Improved lite-runtime.
        Lite protos now implement deep equals/hashCode/toString
        Significantly improved the performance of Builder#mergeFrom() and Builder#mergeDelimitedFrom()
    Various bug fixes and small feature enhancement.
        Fixed stack overflow when in hashCode() for infinite recursive oneofs.
        Fixed the lazy field parsing in lite to merge rather than overwrite.
        TextFormat now supports reporting line/column numbers on errors.
        Updated to add appropriate @Override for better compiler errors.

Python (Beta)

    Added JSON format for Any, Struct, Value and ListValue
    "[ ]" is now accepted for both repeated scalar fields and repeated message fields in text format parser.
    Numerical field name is now supported in text format.
    Added DiscardUnknownFields API for python protobuf message.

Objective-C (Beta)

    Proto comments now come over as HeaderDoc comments in the generated sources so Xcode can pick them up and display them.
    The library headers have been updated to use HeaderDoc comments so Xcode can pick them up and display them.
    The per message and per field overhead in both generated code and runtime object sizes was reduced.
    Generated code now include deprecated annotations when the proto file included them.

C# (Beta)

In general: some changes are breaking, which require regenerating messages.
Most user-written code will not be impacted except for the renaming of enum
values.

    Allow custom type URL prefixes in Any packing, and ignore them when unpacking
    protoc is now in a separate NuGet package (Google.Protobuf.Tools)
    New option: internal_access to generate internal classes
    Enum values are now PascalCased, and if there's a prefix which matches the name of the enum, that is removed (so an enum COLOR with a value COLOR_BLUE would generate a value of just Blue). An option (legacy_enum_values) is temporarily available to disable this, but the option will be removed for GA.
    json_name option is now honored
    If group tags are encountered when parsing, they are validated more thoroughly (although we don't support actual groups)
    NuGet dependencies are better specified
    Breaking: Preconditions is renamed to ProtoPreconditions
    Breaking: GeneratedCodeInfo is renamed to GeneratedClrTypeInfo
    JsonFormatter now allows writing to a TextWriter
    New interface, ICustomDiagnosticMessage to allow more compact representations from ToString
    CodedInputStream and CodedOutputStream now implement IDisposable, which simply disposes of the streams they were constructed with
    Map fields no longer support null values (in line with other languages)
    Improvements in JSON formatting and parsing

Javascript (Alpha)

    Better support for "bytes" fields: bytes fields can be read as either a base64 string or UInt8Array (in environments where TypedArray is supported).
    New support for CommonJS imports. This should make it easier to use the JavaScript support in Node.js and tools like WebPack. See js/README.md for more information.
    Some significant internal refactoring to simplify and modularize the code.

Ruby (Alpha)

    JSON serialization now properly uses camelCased names, with a runtime option that will preserve original names from .proto files instead.
    Well-known types are now included in the distribution.
    Release now includes binary gems for Windows, Mac, and Linux instead of just source gems.
    Bugfix for serializing oneofs.

C++/Java Lite (Alpha)

A new "lite" generator parameter was introduced in the protoc for C++ and
Java for Proto3 syntax messages. Example usage:

./protoc --cpp_out=lite:$OUTPUT_PATH foo.proto

The protoc will treat the current input and all the transitive dependencies
as LITE. The same generator parameter must be used to generate the
dependencies.

In Proto3 syntax files, "optimized_for=LITE_RUNTIME" is no longer supported.

Version 3.0.0-beta-2
General

    Introduced a new language implementation: JavaScript.
    Added a new field option "json_name". By default proto field names are converted to "lowerCamelCase" in proto3 JSON format. This option can be used to override this behavior and specify a different JSON name for the field.
    Added conformance tests to ensure implementations are following proto3 JSON specification.

C++ (Beta)

    Various bug fixes and improvements to the JSON support utility:
        Duplicate map keys in JSON are now rejected (i.e., translation will fail).
        Fixed wire-format for google.protobuf.Value/ListValue.
        Fixed precision loss when converting google.protobuf.Timestamp.
        Fixed a bug when parsing invalid UTF-8 code points.
        Fixed a memory leak.
        Reduced call stack usage.

Java (Beta)

    Cleaned up some unused methods on CodedOutputStream.
    Presized lists for packed fields during parsing in the lite runtime to reduce allocations and improve performance.
    Improved the performance of unknown fields in the lite runtime.
    Introduced UnsafeByteStrings to support zero-copy ByteString creation.
    Various bug fixes and improvements to the JSON support utility:
        Fixed a thread-safety bug.
        Added a new  to JsonFormat.
        Added a new  to JsonFormat.
        Updated the JSON utility to comply with proto3 JSON specification.

Python (Beta)

    Added proto3 JSON format utility. It includes support for all field types and a few well-known types except for Any and Struct.
    Added runtime support for Any, Timestamp, Duration and FieldMask.
    "[ ]" is now accepted for repeated scalar fields in text format parser.

Objective-C (Beta)

    Various bug-fixes and code tweaks to pass more strict compiler warnings.
    Now has conformance test coverage and is passing all tests.

C# (Beta)

    Various bug-fixes.
    Code generation: Files generated in directories based on namespace.
    Code generation: Include comments from .proto files in XML doc comments (naively)
    Code generation: Change organization/naming of "reflection class" (access to file descriptor)
    Code generation and library: Add Parser property to MessageDescriptor, and introduce a non-generic parser type.
    Library: Added TypeRegistry to support JSON parsing/formatting of Any.
    Library: Added Any.Pack/Unpack support.
    Library: Implemented JSON parsing.

Javascript (Alpha)

    Added proto3 support for JavaScript. The runtime is written in pure JavaScript and works in browsers and in Node.js. To generate JavaScript code for your proto, invoke protoc with "--js_out". See js/README.md for more build instructions.

Version 3.0.0-beta-1
Supported languages

    C++/Java/Python/Ruby/Nano/Objective-C/C#

About Beta

    This is the first beta release of protobuf v3.0.0. Not all languages have reached beta stage. Languages not marked as beta are still in alpha (i.e., be prepared for API breaking changes).

General

    Proto3 JSON is supported in several languages (fully supported in C++
    and Java, partially supported in Ruby/C#). The JSON spec is defined in
    the proto3 language guide:

    https://developers.google.com/protocol-buffers/docs/proto3#json

    We will publish a more detailed spec to define the exact behavior of
    proto3-conformant JSON serializers and parsers. Until then, do not rely
    on specific behaviors of the implementation if s not documented in
    the above spec. More specifically, the behavior is not yet finalized for
    the following:
        Parsing invalid JSON input (e.g., input with trailing commas).
        Non-camelCase names in JSON input.
        The same field appears multiple times in JSON input.
        JSON arrays  values.
        The message has unknown fields.

    Proto3 now enforces strict UTF-8 checking. Parsing will fail if a string
    field contains non UTF-8 data.

C++ (Beta)

    Introduced new utility functions/classes in the google/protobuf/util
    directory:
        MessageDifferencer: compare two proto messages and report their differences.
        JsonUtil: support converting protobuf binary format to/from JSON.
        TimeUtil: utility functions to work with well-known types Timestamp and Duration.
        FieldMaskUtil: utility functions to work with FieldMask.

    Performance optimization of arena construction and destruction.
    Bug fixes for arena and maps support.
    Changed to use cmake for Windows Visual Studio builds.
    Added Bazel support.

Java (Beta)

    Introduced a new util package that will be distributed as a separate
    artifact in maven. It contains:
        JsonFormat: convert proto messages to/from JSON.
        TimeUtil: utility functions to work with Timestamp and Duration.
        FieldMaskUtil: utility functions to work with FieldMask.

    The static PARSER in each generated message is deprecated, and it will
    be removed in a future release. A static parser() getter is generated
    for each message type instead.
    Performance optimizations for String fields serialization.
    Performance optimizations for Lite runtime on Android:
        Reduced allocations
        Reduced method overhead after ProGuarding
        Reduced code size after ProGuarding

Python (Alpha)

    Removed legacy Python 2.5 support.
    Moved to a single Python 2.x/3.x-compatible codebase, instead of using 2to3.
    Fixed build/tests on Python 2.6, 2.7, 3.3, and 3.4.
        Pure-Python works on all four.
        Python/C++ implementation works on all but 3.4, due to changes in the Python/C++ API in 3.4.
    Some preliminary work has been done to allow for multiple DescriptorPools with Python/C++.

Ruby (Alpha)

    Many bugfixes:
        fixed parsing/serialization of bytes, sint, sfixed types
        other parser bugfixes
        fixed memory leak affecting Ruby 2.2

JavaNano (Alpha)

    JavaNano generated code now will be put in a nano package by default to avoid conflicts with Java generated code.

Objective-C (Alpha)

    Added non-null markup to ObjC library. Requires SDK 8.4+ to build.
    Many bugfixes:
        Removed the class/enum filter.
        Renamed some internal types to avoid conflicts with the well-known types protos.
        Added missing support for parsing repeated primitive fields in packed or unpacked forms.
        Added *Count for repeated and map<> fields to avoid auto-create when checking for them being set.

C# (Alpha)

    Namespace changed to Google.Protobuf (and NuGet package will be named correspondingly).
    Target platforms now .NET 4.5 and selected portable subsets only.
    Removed lite runtime.
    Reimplementation to use mutable message types.
    Null references used to represent "no value" for message type fields.
    Proto3 semantics supported; proto2 files are prohibited for C# codegen. Most proto3 features supported:
        JSON formatting (a.k.a. serialization to JSON), including well-known types (except for Any).
        Wrapper types mapped to nullable value types (or string/ByteString allowing nullability). JSON parsing is not supported yet.
        maps
        oneof
        enum unknown value preservation

Version 3.0.0-alpha-3 (C++/Java/Python/Ruby/JavaNano/Objective-C/C#)
General

    Introduced two new language implementations (Objective-C, C#) to proto3.
    Explicit "optional" keyword are disallowed in proto3 syntax, as fields are optional by default.
    Group fields are no longer supported in proto3 syntax.
    Changed repeated primitive fields to use packed serialization by default in proto3 (implemented for C++, Java, Python in this release). The user can still disable packed serialization by setting packed to false for now.
    Added well-known type protos (any.proto, empty.proto, timestamp.proto, duration.proto, etc.). Users can import and use these protos just like regular proto files. Addtional runtime support will be added for them in future releases (in the form of utility helper functions, or having them replaced by language specific types in generated code).

    Added a "reserved" keyword in both proto2 and proto3 syntax. User can use
    this keyword to declare reserved field numbers and names to prevent them
    from being reused by other fields in the same message.

    To reserve field numbers, add a reserved declaration in your message:

    message TestMessage {
      reserved 2, 15, 9 to 11, 3;
    }

    This reserves field numbers 2, 3, 9, 10, 11 and 15. If a user uses any of
    these as field numbers, the protocol buffer compiler will report an error.

    Field names can also be reserved:

    message TestMessage {
      reserved "foo", "bar";
    }

    Various bug fixes since 3.0.0-alpha-2

Objective-C

    Objective-C includes a code generator and a native objective-c runtime
    library. By --objc_ to protoc, the code generator will generate
    a header(.pbobjc.h) and an implementation file(.pbobjc.m) for each proto
    file.

    In this first release, the generated interface provides: enums, messages,
    field support(single, repeated, map, oneof), proto2 and proto3 syntax
    support, parsing and serialization. s compatible with ARC and non-ARC
    usage. Besides, user can also access it via the swift bridging header.

    See objectivec/README.md for details.

C#

    C# protobufs are based on project https://github.com/jskeet/protobuf-csharp-port. The original project was frozen and all the new development will happen here.
    Codegen plugin for C# was completely rewritten to C++ and is now an intergral part of protoc.
    Some refactorings and cleanup has been applied to the C# runtime library.

    Only proto2 is supported in C# at the moment, proto3 support is in
    progress and will likely bring significant breaking changes to the API.

    See csharp/README.md for details.

C++

    Added runtime support for Any type. To use Any in your proto file, first
    import the definition of Any:

    // foo.proto
    import "google/protobuf/any.proto";
    message Foo {
      google.protobuf.Any any_field = 1;
    }
    message Bar {
      int32 value = 1;
    }

    Then in C++ you can access the Any field using PackFrom()/UnpackTo()
    methods:

    Foo foo;
    Bar bar = ...;
    foo.mutable_any_field()->PackFrom(bar);
    ...
    if (foo.any_field().IsType<Bar>()) {
      foo.any_field().UnpackTo(&bar);
      ...
    }

    In text format, entries of a map field will be sorted by key.

Java

    Continued optimizations on the lite runtime to improve performance for Android.

Python

    Added map support.
        maps now have a dict-like interface (msg.map_field[key] = value)
        existing code that modifies maps via the repeated field interface will need to be updated.

Ruby

    Improvements to RepeatedField's emulation of the Ruby Array API.
    Various speedups and internal cleanups.

Version 3.0.0-alpha-2 (C++/Java/Python/Ruby/JavaNano)
General

    Introduced Protocol Buffers language version 3 (aka proto3).

    When protobuf was initially opensourced it implemented Protocol Buffers
    language version 2 (aka proto2), which is why the version number
    started from v2.0.0. From v3.0.0, a new language version (proto3) is
    introduced while the old version (proto2) will continue to be supported.

    The main intent of introducing proto3 is to clean up protobuf before
    pushing the language as the foundation of Google's new API platform.
    In proto3, the language is simplified, both for ease of use and to
    make it available in a wider range of programming languages. At the
    same time a few features are added to better support common idioms
    found in APIs.

    The following are the main new features in language version 3:
        Removal of field presence logic for primitive value fields, removal of required fields, and removal of default values. This makes proto3 significantly easier to implement with open struct representations, as in languages like Android Java, Objective C, or Go.
        Removal of unknown fields.
        Removal of extensions, which are instead replaced by a new standard type called Any.
        Fix semantics for unknown enum values.
        Addition of maps.
        Addition of a small set of standard types for representation of time, dynamic data, etc.
        A well-defined encoding in JSON as an alternative to binary proto encoding.

    This release (v3.0.0-alpha-2) includes partial proto3 support for C++,
    Java, Python, Ruby and JavaNano. Items 6 (well-known types) and 7
    (JSON format) in the above feature list are not implemented.

    A new notion "syntax" is introduced to specify whether a .proto file
    uses proto2 or proto3:

    // foo.proto
    syntax = "proto3";
    message Bar {...}

    If omitted, the protocol compiler will generate a warning and "proto2" will
    be used as the default. This warning will be turned into an error in a
    future release.

    We recommend that new Protocol Buffers users use proto3. However, we do not
    generally recommend that existing users migrate from proto2 from proto3 due
    to API incompatibility, and we will continue to support proto2 for a long
    time.

    Added support for map fields (implemented in proto2 and proto3 C++/Java/JavaNano and proto3 Ruby).

    Map fields can be declared using the following syntax:

    message Foo {
      map<string, string> values = 1;
    }

    Data of a map field will be stored in memory as an unordered map and it
    can be accessed through generated accessors.

C++

    Added arena allocation support (for both proto2 and proto3).

    Profiling shows memory allocation and deallocation constitutes a significant
    fraction of CPU-time spent in protobuf code and arena allocation is a
    technique introduced to reduce this cost. With arena allocation, new
    objects will be allocated from a large piece of preallocated memory and
    deallocation of these objects is almost free. Early adoption shows 20% to
    50% improvement in some Google binaries.

    To enable arena support, add the following option to your .proto file:

    option cc_enable_arenas = true;

    Protocol compiler will generate additional code to make the generated
    message classes work with arenas. This does not change the existing API
    of protobuf messages and does not affect wire format. Your existing code
    should continue to work after adding this option. In the future we will
    make this option enabled by default.

    To actually take advantage of arena allocation, you need to use the arena
    APIs when creating messages. A quick example of using the arena API:

    {
      google::protobuf::Arena arena;
      // Allocate a protobuf message in the arena.
      MyMessage* message = Arena::CreateMessage<MyMessage>(&arena);
      // All submessages will be allocated in the same arena.
      if (!message->ParseFromString(data)) {
        // Deal with malformed input data.
      }
      // Must not delete the message here. It will be deleted automatically
      // when the arena is destroyed.
    }

    Currently arena does not work with map fields. Enabling arena in a .proto
    file containing map fields will result in compile errors in the generated
    code. This will be addressed in a future release.

Python

    Python has received several updates, most notably support for proto3
    semantics in any .proto file that declares syntax="proto3".
    Messages declared in proto3 files no longer represent field presence
    for scalar fields (number, enums, booleans, or strings). You can
    no longer call HasField() for such fields, and they are serialized
    based on whether they have a non-zero/empty/false value.

    One other notable change is in the C++-accelerated implementation.
    Descriptor objects (which describe the protobuf schema and allow
    reflection over it) are no longer duplicated between the Python
    and C++ layers. The Python descriptors are now simple wrappers
    around the C++ descriptors. This change should significantly
    reduce the memory usage of programs that use a lot of message
    types.

Ruby

    We have added proto3 support for Ruby via a native C extension.

    The Ruby extension itself is included in the ruby/ directory, and details on
    building and installing the extension are in ruby/README.md. The extension
    will also be published as a Ruby gem. Code generator support is included as
    part of protoc with the --ruby_out flag.

    The Ruby extension implements a user-friendly DSL to define message types
    (also generated by the code generator from .proto files). Once a message
    type is defined, the user may create instances of the message that behave in
    ways idiomatic to Ruby. For example:
        Message fields are present as ordinary Ruby properties (getter method foo and setter method foo=).
        Repeated field elements are stored in a container that acts like a native Ruby array, and map elements are stored in a container that acts like a native Ruby hashmap.
        The usual well-known methods, such as #to_s, #dup, and the like, are present.

    Unlike several existing third-party Ruby extensions for protobuf, this
    extension is built on a "strongly-typed" philosophy: message fields and
    array/map containers will throw exceptions eagerly when values of the
    incorrect type are inserted.

    See ruby/README.md for details.

JavaNano

    JavaNano is a special code generator and runtime library designed especially
    for resource-restricted systems, like Android. It is very resource-friendly
    in both the amount of code and the runtime overhead. Here is an an overview
    of JavaNano features compared with the official Java protobuf:
        No descriptors or message builders.
        All messages are mutable; fields are public Java fields.
        For optional fields only, encapsulation behind setter/getter/hazzer/ clearer functions is opt-in, which provide proper 'has' state support.
        For proto2, if not opted in, has state (field presence) is not available. Serialization outputs all fields not equal to their defaults. The behavior is consistent with proto3 semantics.
        Required fields (proto2 only) are always serialized.
        Enum constants are integers; protection against invalid values only when parsing from the wire.
        Enum constants can be generated into container interfaces bearing the enum's name (so the referencing code is in Java style).
        CodedInputByteBufferNano can only take byte.
        Similarly CodedOutputByteBufferNano can only write to byte[].
        Repeated fields are in arrays, not ArrayList or Vector. Null array elements are allowed and silently ignored.
        Full support for serializing/deserializing repeated packed fields.
        Support extensions (in proto2).
        Unset messages/groups are null, not an immutable empty default instance.
        toByteArray(...) and mergeFrom(...) are now static functions of MessageNano.
        The 'bytes' type translates to the Java type byte[].

    See javanano/README.txt for details.

Version 3.0.0-alpha-1 (C++/Java)
General

    Introduced Protocol Buffers language version 3 (aka proto3).

    When protobuf was initially opensourced it implemented Protocol Buffers
    language version 2 (aka proto2), which is why the version number
    started from v2.0.0. From v3.0.0, a new language version (proto3) is
    introduced while the old version (proto2) will continue to be supported.

    The main intent of introducing proto3 is to clean up protobuf before
    pushing the language as the foundation of Google's new API platform.
    In proto3, the language is simplified, both for ease of use and to
    make it available in a wider range of programming languages. At the
    same time a few features are added to better support common idioms
    found in APIs.

    The following are the main new features in language version 3:
        Removal of field presence logic for primitive value fields, removal of required fields, and removal of default values. This makes proto3 significantly easier to implement with open struct representations, as in languages like Android Java, Objective C, or Go.
        Removal of unknown fields.
        Removal of extensions, which are instead replaced by a new standard type called Any.
        Fix semantics for unknown enum values.
        Addition of maps.
        Addition of a small set of standard types for representation of time, dynamic data, etc.
        A well-defined encoding in JSON as an alternative to binary proto encoding.

    This release (v3.0.0-alpha-1) includes partial proto3 support for C++ and
    Java. Items 6 (well-known types) and 7 (JSON format) in the above feature
    list are not impelmented.

    A new notion "syntax" is introduced to specify whether a .proto file
    uses proto2 or proto3:

    // foo.proto
    syntax = "proto3";
    message Bar {...}

    If omitted, the protocol compiler will generate a warning and "proto2" will
    be used as the default. This warning will be turned into an error in a
    future release.

    We recommend that new Protocol Buffers users use proto3. However, we do not
    generally recommend that existing users migrate from proto2 from proto3 due
    to API incompatibility, and we will continue to support proto2 for a long
    time.

    Added support for map fields (implemented in C++/Java for both proto2 and
    proto3).

    Map fields can be declared using the following syntax:

    message Foo {
      map<string, string> values = 1;
    }

    Data of a map field will be stored in memory as an unordered map and it
    can be accessed through generated accessors.

C++

    Added arena allocation support (for both proto2 and proto3).

    Profiling shows memory allocation and deallocation constitutes a significant
    fraction of CPU-time spent in protobuf code and arena allocation is a
    technique introduced to reduce this cost. With arena allocation, new
    objects will be allocated from a large piece of preallocated memory and
    deallocation of these objects is almost free. Early adoption shows 20% to
    50% improvement in some Google binaries.

    To enable arena support, add the following option to your .proto file:

    option cc_enable_arenas = true;

    Protocol compiler will generate additional code to make the generated
    message classes work with arenas. This does not change the existing API
    of protobuf messages and does not affect wire format. Your existing code
    should continue to work after adding this option. In the future we will
    make this option enabled by default.

    To actually take advantage of arena allocation, you need to use the arena
    APIs when creating messages. A quick example of using the arena API:

    {
      google::protobuf::Arena arena;
      // Allocate a protobuf message in the arena.
      MyMessage* message = Arena::CreateMessage<MyMessage>(&arena);
      // All submessages will be allocated in the same arena.
      if (!message->ParseFromString(data)) {
        // Deal with malformed input data.
      }
      // Must not delete the message here. It will be deleted automatically
      // when the arena is destroyed.
    }

    Currently arena does not work with map fields. Enabling arena in a .proto
    file containing map fields will result in compile errors in the generated
    code. This will be addressed in a future release.

(kamil)

2016-08-06 11:43:08 UTC MAIN commitmail json YAML

Updated lang/php71 to 7.1.0beta2

(jdolecek)

2016-08-06 11:40:14 UTC MAIN commitmail json YAML

Upgrade protobuf from 2.6.1 to 3.0.0

This version is backward compatible with proto2.

Upstream changelog:

Version 3.0.0

This change log summarizes all the changes since the last stable release
(v2.6.1). See the last section about changes since v3.0.0-beta-4.
Proto3

    Introduced Protocol Buffers language version 3 (aka proto3).

    When protocol buffers was initially open sourced it implemented Protocol
    Buffers language version 2 (aka proto2), which is why the version number
    started from v2.0.0. From v3.0.0, a new language version (proto3) is
    introduced while the old version (proto2) will continue to be supported.

    The main intent of introducing proto3 is to clean up protobuf before pushing
    the language as the foundation of Google's new API platform. In proto3, the
    language is simplified, both for ease of use and to make it available in a
    wider range of programming languages. At the same time a few features are
    added to better support common idioms found in APIs.

    The following are the main new features in language version 3:
        Removal of field presence logic for primitive value fields, removal of required fields, and removal of default values. This makes proto3 significantly easier to implement with open struct representations, as in languages like Android Java, Objective C, or Go.
        Removal of unknown fields.
        Removal of extensions, which are instead replaced by a new standard type called Any.
        Fix semantics for unknown enum values.
        Addition of maps (back-ported to proto2)
        Addition of a small set of standard types for representation of time, dynamic data, etc (back-ported to proto2)
        A well-defined encoding in JSON as an alternative to binary proto encoding.

    A new notion "syntax" is introduced to specify whether a .proto file
    uses proto2 or proto3:

    // foo.proto
    syntax = "proto3";
    message Bar {...}

    If omitted, the protocol buffer compiler generates a warning and "proto2" is
    used as the default. This warning will be turned into an error in a future
    release.

    We recommend that new Protocol Buffers users use proto3. However, we do not
    generally recommend that existing users migrate from proto2 from proto3 due
    to API incompatibility, and we will continue to support proto2 for a long
    time.

    Other significant changes in proto3.
    Explicit "optional" keyword are disallowed in proto3 syntax, as fields are optional by default; required fields are no longer supported.
    Removed non-zero default values and field presence logic for non-message fields. e.g. has_xxx() methods are removed; primitive fields set to default values (0 for numeric fields, empty for string/bytes fields) will be skipped during serialization.
    Group fields are no longer supported in proto3 syntax.
    Changed repeated primitive fields to use packed serialization by default in proto3 (implemented for C++, Java, Python in this release). The user can still disable packed serialization by setting packed to false for now.
    Added well-known type protos (any.proto, empty.proto, timestamp.proto, duration.proto, etc.). Users can import and use these protos just like regular proto files. Additional runtime support are available for each language.

    Proto3 JSON is supported in several languages (fully supported in C++, Java,
    Python and C# partially supported in Ruby). The JSON spec is defined in the
    proto3 language guide:

    https://developers.google.com/protocol-buffers/docs/proto3#json

    We will publish a more detailed spec to define the exact behavior of
    proto3-conformant JSON serializers and parsers. Until then, do not rely
    on specific behaviors of the implementation if s not documented in
    the above spec.
    Proto3 enforces strict UTF-8 checking. Parsing will fail if a string field contains non UTF-8 data.

General

    Introduced new language implementations (C#, JavaScript, Ruby, Objective-C) to proto3.

    Added support for map fields (implemented in both proto2 and proto3).
    Map fields can be declared using the following syntax:

    message Foo {
      map<string, string> values = 1;
    }

    The data of a map field is stored in memory as an unordered map and
    can be accessed through generated accessors.

    Added a "reserved" keyword in both proto2 and proto3 syntax. Users can use
    this keyword to declare reserved field numbers and names to prevent them
    from being reused by other fields in the same message.

    To reserve field numbers, add a reserved declaration in your message:

    message TestMessage {
      reserved 2, 15, 9 to 11, 3;
    }

    This reserves field numbers 2, 3, 9, 10, 11 and 15. If a user uses any of
    these as field numbers, the protocol buffer compiler will report an error.

    Field names can also be reserved:

    message TestMessage {
      reserved "foo", "bar";
    }

    Added a deterministic serialization API (currently available in C++). The deterministic serialization guarantees that given a binary, equal messages will be serialized to the same bytes. This allows applications like MapReduce to group equal messages based on the serialized bytes. The deterministic serialization is, however, NOT canonical across languages; it is also unstable across different builds with schema changes due to unknown fields. Users who need canonical serialization, e.g. persistent storage in a canonical form, fingerprinting, etc, should define their own canonicalization specification and implement the serializer using reflection APIs rather than relying on this API.
    Added a new field option "json_name". By default proto field names are converted to "lowerCamelCase" in proto3 JSON format. This option can be used to override this behavior and specify a different JSON name for the field.
    Added conformance tests to ensure implementations are following proto3 JSON specification.

C++

    Added arena allocation support (for both proto2 and proto3).

    Profiling shows memory allocation and deallocation constitutes a significant
    fraction of CPU-time spent in protobuf code and arena allocation is a
    technique introduced to reduce this cost. With arena allocation, new
    objects are allocated from a large piece of preallocated memory and
    deallocation of these objects is almost free. Early adoption shows 20% to
    50% improvement in some Google binaries.

    To enable arena support, add the following option to your .proto file:

    option cc_enable_arenas = true;

    The protocol buffer compiler will generate additional code to make the generated
    message classes work with arenas. This does not change the existing API
    of protobuf messages and does not affect wire format. Your existing code
    should continue to work after adding this option. In the future we will
    make this option enabled by default.

    To actually take advantage of arena allocation, you need to use the arena
    APIs when creating messages. A quick example of using the arena API:

    {
      google::protobuf::Arena arena;
      // Allocate a protobuf message in the arena.
      MyMessage* message = Arena::CreateMessage<MyMessage>(&arena);
      // All submessages will be allocated in the same arena.
      if (!message->ParseFromString(data)) {
        // Deal with malformed input data.
      }
      // Must not delete the message here. It will be deleted automatically
      // when the arena is destroyed.
    }

    Currently arena allocation does not work with map fields. Enabling arenas in a .proto
    file containing map fields will result in compile errors in the generated
    code. This will be addressed in a future release.

    Added runtime support for the Any type. To use Any in your proto file, first
    import the definition of Any:

    // foo.proto
    import "google/protobuf/any.proto";
    message Foo {
      google.protobuf.Any any_field = 1;
    }
    message Bar {
      int32 value = 1;
    }

    Then in C++ you can access the Any field using PackFrom()/UnpackTo()
    methods:

    Foo foo;
    Bar bar = ...;
    foo.mutable_any_field()->PackFrom(bar);
    ...
    if (foo.any_field().IsType<Bar>()) {
      foo.any_field().UnpackTo(&bar);
      ...
    }

    In text format, the entries of a map field will be sorted by key.

    Introduced new utility functions/classes in the google/protobuf/util
    directory:
        MessageDifferencer: compare two proto messages and report their differences.
        JsonUtil: support converting protobuf binary format to/from JSON.
        TimeUtil: utility functions to work with well-known types Timestamp and Duration.
        FieldMaskUtil: utility functions to work with FieldMask.

    Introduced a deterministic serialization API in
    CodedOutputStream::SetSerializationDeterministic(bool). See the notes about
    deterministic serialization in the General section.

Java

    Introduced a new util package that will be distributed as a separate
    artifact in maven. It contains:
        JsonFormat: convert proto messages to/from JSON.
        Timestamps/Durations: utility functions to work with Timestamp and Duration.
        FieldMaskUtil: utility functions to work with FieldMask.

    Introduced an ExperimentalApi annotation. Annotated APIs are experimental
    and are subject to change in a backward incompatible way in future releases.
    Introduced zero-copy serialization as an ExperimentalApi
        Introduction of the ByteOutput interface. This is similar to OutputStream but provides semantics for lazy writing (i.e. no immediate copy required) of fields that are considered to be immutable.
        ByteString now supports writing to a ByteOutput, which will directly expose the internals of the ByteString (i.e. byte[] or ByteBuffer) to the ByteOutput without copying.
        CodedOutputStream now supports writing to a ByteOutput. ByteString instances that are too large to fit in the internal buffer will be (lazily) written to the ByteOutput directly.
        This allows applications using large ByteString fields to avoid duplication of these fields entirely. Such an application can supply a ByteOutput that chains together the chunks received from CodedOutputStream before forwarding them onto the IO system.

    Other related changes to CodedOutputStream
        Additional use of sun.misc.Unsafe where possible to perform fast access to byte[] and ByteBuffer values and avoiding unnecessary range checking.
        ByteBuffer-backed CodedOutputStream now writes directly to the ByteBuffer rather than to an intermediate array.

    Performance optimizations for String fields serialization.
    The static PARSER in each generated message is deprecated, and it will be removed in a future release. A static parser() getter is generated for each message type instead.
    File option "java_generate_equals_and_hash" is now deprecated. equals() and hashCode() methods are generated by default.

Python

    Python has received several updates, most notably support for proto3
    semantics in any .proto file that declares syntax="proto3".
    Messages declared in proto3 files no longer represent field presence
    for scalar fields (number, enums, booleans, or strings). You can
    no longer call HasField() for such fields, and they are serialized
    based on whether they have a non-zero/empty/false value.

    One other notable change is in the C++-accelerated implementation.
    Descriptor objects (which describe the protobuf schema and allow
    reflection over it) are no longer duplicated between the Python
    and C++ layers. The Python descriptors are now simple wrappers
    around the C++ descriptors. This change should significantly
    reduce the memory usage of programs that use a lot of message
    types.

    Added map support.
        maps now have a dict-like interface (msg.map_field[key] = value)
        existing code that modifies maps via the repeated field interface will need to be updated.

    Added proto3 JSON format utility. It includes support for all field types and a few well-known types.
    Added runtime support for Any, Timestamp, Duration and FieldMask.
    "[ ]" is now accepted for repeated scalar fields in text format parser.
    Removed legacy Python 2.5 support.
    Moved to a single Python 2.x/3.x-compatible codebase

Ruby

    We have added proto3 support for Ruby via a native C/JRuby extension.

    For the moment we only support proto3. Proto2 support is planned, but not
    yet implemented. Proto3 JSON is supported, but the special JSON mappings
    for the well-known types are not yet implemented.

    The Ruby extension itself is included in the ruby/ directory, and details on
    building and installing the extension are in ruby/README.md. The extension
    is also be published as a Ruby gem. Code generator support is included as
    part of protoc with the --ruby_out flag.

    The Ruby extension implements a user-friendly DSL to define message types
    (also generated by the code generator from .proto files). Once a message
    type is defined, the user may create instances of the message that behave in
    ways idiomatic to Ruby. For example:
        Message fields are present as ordinary Ruby properties (getter method foo and setter method foo=).
        Repeated field elements are stored in a container that acts like a native Ruby array, and map elements are stored in a container that acts like a native Ruby hashmap.
        The usual well-known methods, such as #to_s, #dup, and the like, are present.

    Unlike several existing third-party Ruby extensions for protobuf, this
    extension is built on a "strongly-typed" philosophy: message fields and
    array/map containers will throw exceptions eagerly when values of the
    incorrect type are inserted.

    See ruby/README.md for details.

Objective-C

    Objective-C includes a code generator and a native objective-c runtime
    library. By --objc_ to protoc, the code generator will generate
    a header(.pbobjc.h) and an implementation file(.pbobjc.m) for each proto
    file.

    In this first release, the generated interface provides: enums, messages,
    field support(single, repeated, map, oneof), proto2 and proto3 syntax
    support, parsing and serialization. s compatible with ARC and non-ARC
    usage. In addition, users can access it via the swift bridging header.

C#

    C# support is derived from the project at https://github.com/jskeet/protobuf-csharp-port, which is now in maintenance mode.
    The primary differences between the previous project and the proto3 version are that message types are now mutable, and the codegen is integrated in protoc
    There are two NuGet packages: Google.Protobuf (the support library) and Google.Protobuf.Tools (containing protoc)
    Target platforms now .NET 4.5, selected portable subsets and .NET Core.
    Null values are used to represent "no value" for message type fields, and for wrapper types such as Int32Value which map to C# nullable value types.
    Proto3 semantics supported; proto2 files are prohibited for C# codegen.
    Enum values are PascalCased, and if there's a prefix which matches the name of the enum, that is removed (so an enum COLOR with a value COLOR_LIGHT_GRAY would generate a value of just LightGray).

JavaScript

    Added proto2/proto3 support for JavaScript. The runtime is written in pure JavaScript and works in browsers and in Node.js. To generate JavaScript code for your proto, invoke protoc with "--js_out". See js/README.md for more build instructions.
    JavaScript has support for binary protobuf format, but not proto3 JSON. There is also no support for reflection, since the code size impacts from this are often not the right choice for the browser.
    There is support for both CommonJS imports and Closure goog.require().

Lite

    Supported Proto3 lite-runtime in Java for mobile platforms.
    A new "lite" generator parameter was introduced in the protoc for C++ for
    Proto3 syntax messages. Example usage:

    ./protoc --cpp_out=lite:$OUTPUT_PATH foo.proto

    The protoc will treat the current input and all the transitive dependencies
    as LITE. The same generator parameter must be used to generate the
    dependencies.

    In Proto3 syntax files, "optimized_for=LITE_RUNTIME" is no longer supported.

    For Java, --javalite_out code generator is supported as a separate compiler
    plugin in a separate branch.

    Performance optimizations for Java Lite runtime on Android:
    - Reduced allocations
    - Reduced method overhead after ProGuarding
    - Reduced code size after ProGuarding
    Java Lite protos now implement deep equals/hashCode/toString

Compatibility Notice

    v3.0.0 is the first API stable release of the v3.x series. We do not expect any future API breaking changes.
    For C++, Java Lite and Objective-C, source level compatibility is guaranteed. Upgrading from v3.0.0 to newer minor version releases will be source compatible. For example, if your code compiles against protobuf v3.0.0, it will continue to compile after you upgrade protobuf library to v3.1.0.
    For other languages, both source level compatibility and binary level compatibility are guaranteed. For example, if you have a Java binary built against protobuf v3.0.0. After switching the protobuf runtime binary to v3.1.0, your built binary should continue to work.
    Compatibility is only guaranteed for documented API and documented behaviors. If you are using undocumented API (e.g., use anything in the C++ internal namespace), it can be broken by minor version releases in an undetermined manner.

Changes since v3.0.0-beta-4
Ruby

    When you assign a string field a.string_, we now call #encode(UTF-8) on the string and freeze the copy. This saves you from needing to ensure the string is already encoded as UTF-8. It also prevents you from mutating the string after it has been assigned (this is how we ensure it stays valid UTF-8).
    The generated file for foo.proto is now foo_pb.rb instead of just foo.rb. This makes it easier to see which imports/requires are from protobuf generated code, and also prevents conflicts with any foo.rb file you might have written directly in Ruby. It is a backward-incompatible change: you will need to update all of your require statements.
    For package names like foo_bar, we now translate this to the Ruby module FooBar. This is more idiomatic Ruby than what we used to do (Foo_bar).

JavaScript

    Scalar fields like numbers and boolean now return defaults instead of undefined or null when they are unset. You can test for presence explicitly by calling hasFoo(), which we now generate for scalar fields in proto2.

Java Lite

    Java Lite is now implemented as a separate plugin, maintained in the javalite branch. Both lite runtime and protoc artifacts will be available in Maven.

C#

    Target platforms now .NET 4.5, selected portable subsets and .NET Core.
    legacy_enum_values option is no longer supported.

Version 3.0.0-beta-4
General

    Added a deterministic serialization API for C++. The deterministic serialization guarantees that given a binary, equal messages will be serialized to the same bytes. This allows applications like MapReduce to group equal messages based on the serialized bytes. The deterministic serialization is, however, NOT canonical across languages; it is also unstable across different builds with schema changes due to unknown fields. Users who need canonical serialization, e.g. persistent storage in a canonical form, fingerprinting, etc, should define their own canonicalization specification and implement the serializer using reflection APIs rather than relying on this API.

    Added OneofOptions. You can now define custom options for oneof groups.

    import "google/protobuf/descriptor.proto";
    extend google.protobuf.OneofOptions {
      optional int32 my_oneof_extension = 12345;
    }
    message Foo {
      oneof oneof_group {
        (my_oneof_extension) = 54321;
        ...
      }
    }

C++ (beta)

    Introduced a deterministic serialization API in CodedOutputStream::SetSerializationDeterministic(bool). See the notes about deterministic serialization in the General section.
    Added google::protobuf::Map::swap() to swap two map fields.
    Fixed a memory leak when calling Reflection::ReleaseMessage() on a message allocated on arena.
    Improved error reporting when parsing text format protos.
    JSON
        Added a new parser option to ignore unknown fields when parsing JSON.
        Added convenient methods for message to/from JSON conversion.
    Various performance optimizations.

Java (beta)

    File option "java_generate_equals_and_hash" is now deprecated. equals() and hashCode() methods are generated by default.
    Added a new JSON printer option "omittingInsignificantWhitespace" to produce a more compact JSON output. The printer will pretty-print by default.
    Updated Java runtime to be compatible with 2.5.0/2.6.1 generated protos.

Python (beta)

    Added support to pretty print Any messages in text format.
    Added a flag to ignore unknown fields when parsing JSON.
    Bugfix: "@type" field of a JSON Any message is now correctly put before other fields.

Objective-C (beta)

    Updated the code to support compiling with more compiler warnings enabled. (Issue 1616)
    Exposing more detailed errors for parsing failures. (PR 1623)
    Small (breaking) change to the naming of some methods on the support classes for map<>. There were collisions with the system provided KVO support, so the names were changed to avoid those issues. (PR 1699)
    Fixed for proper Swift bridging of error handling during parsing. (PR 1712)
    Complete support for generating sources that will go into a Framework and depend on generated sources from other Frameworks. (Issue 1457)

C# (beta)

    RepeatedField optimizations.
    Support for .NET Core.
    Minor bug fixes.
    Ability to format a single value in JsonFormatter (advanced usage only).
    Modifications to attributes applied to generated code.

Javascript (alpha)

    Maps now have a real map API instead of being treated as repeated fields.
    Well-known types are now provided in the google-protobuf package, and the code generator knows to require() them from that package.
    Bugfix: non-canonical varints are correctly decoded.

Ruby (alpha)

    Accessors for oneof fields now return default values instead of nil.

Java Lite

    Java lite support is removed from protocol compiler. It will be supported as a protocol compiler plugin in a separate code branch.

Protocol Buffers v3.0.0-beta-3.1

@TeBoring TeBoring released this on 14 Jun

Fix iOS framework.

Version 3.0.0-beta-3
General

    Supported Proto3 lite-runtime in C++/Java for mobile platforms.
    Any type now supports APIs to specify prefixes other than type.googleapis.com
    Removed javanano_use_deprecated_package option; Nano will always has its own ".nano" package.

C++ (Beta)

    Improved hash maps.
        Improved hash maps comments. In particular, please note that equal hash maps will not necessarily have the same iteration order and serialization.
        Added a new hash maps implementation that will become the default in a later release.
    Arenas
        Several inlined methods in Arena were moved to out-of-line to improve build performance and code size.
        Added SpaceAllocatedAndUsed() to report both space used and allocated
        Added convenient class UnsafeArenaAllocatedRepeatedPtrFieldBackInserter
    Any
        Allow custom type URL prefixes in Any packing.
        TextFormat now expand the Any type rather than printing bytes.
    Performance optimizations and various bug fixes.

Java (Beta)

    Introduced an ExperimentalApi annotation. Annotated APIs are experimental and are subject to change in a backward incompatible way in future releases.
    Introduced zero-copy serialization as an ExperimentalApi
        Introduction of the ByteOutput interface. This is similar to OutputStream but provides semantics for lazy writing (i.e. no immediate copy required) of fields that are considered to be immutable.
        ByteString now supports writing to a ByteOutput, which will directly expose the internals of the ByteString (i.e. byte[] or ByteBuffer) to the ByteOutput without copying.
        CodedOutputStream now supports writing to a ByteOutput. ByteString instances that are too large to fit in the internal buffer will be (lazily) written to the ByteOutput directly.
        This allows applications using large ByteString fields to avoid duplication of these fields entirely. Such an application can supply a ByteOutput that chains together the chunks received from CodedOutputStream before forwarding them onto the IO system.
    Other related changes to CodedOutputStream
        Additional use of sun.misc.Unsafe where possible to perform fast access to byte[] and ByteBuffer values and avoiding unnecessary range checking.
        ByteBuffer-backed CodedOutputStream now writes directly to the ByteBuffer rather than to an intermediate array.
    Improved lite-runtime.
        Lite protos now implement deep equals/hashCode/toString
        Significantly improved the performance of Builder#mergeFrom() and Builder#mergeDelimitedFrom()
    Various bug fixes and small feature enhancement.
        Fixed stack overflow when in hashCode() for infinite recursive oneofs.
        Fixed the lazy field parsing in lite to merge rather than overwrite.
        TextFormat now supports reporting line/column numbers on errors.
        Updated to add appropriate @Override for better compiler errors.

Python (Beta)

    Added JSON format for Any, Struct, Value and ListValue
    "[ ]" is now accepted for both repeated scalar fields and repeated message fields in text format parser.
    Numerical field name is now supported in text format.
    Added DiscardUnknownFields API for python protobuf message.

Objective-C (Beta)

    Proto comments now come over as HeaderDoc comments in the generated sources so Xcode can pick them up and display them.
    The library headers have been updated to use HeaderDoc comments so Xcode can pick them up and display them.
    The per message and per field overhead in both generated code and runtime object sizes was reduced.
    Generated code now include deprecated annotations when the proto file included them.

C# (Beta)

In general: some changes are breaking, which require regenerating messages.
Most user-written code will not be impacted except for the renaming of enum
values.

    Allow custom type URL prefixes in Any packing, and ignore them when unpacking
    protoc is now in a separate NuGet package (Google.Protobuf.Tools)
    New option: internal_access to generate internal classes
    Enum values are now PascalCased, and if there's a prefix which matches the name of the enum, that is removed (so an enum COLOR with a value COLOR_BLUE would generate a value of just Blue). An option (legacy_enum_values) is temporarily available to disable this, but the option will be removed for GA.
    json_name option is now honored
    If group tags are encountered when parsing, they are validated more thoroughly (although we don't support actual groups)
    NuGet dependencies are better specified
    Breaking: Preconditions is renamed to ProtoPreconditions
    Breaking: GeneratedCodeInfo is renamed to GeneratedClrTypeInfo
    JsonFormatter now allows writing to a TextWriter
    New interface, ICustomDiagnosticMessage to allow more compact representations from ToString
    CodedInputStream and CodedOutputStream now implement IDisposable, which simply disposes of the streams they were constructed with
    Map fields no longer support null values (in line with other languages)
    Improvements in JSON formatting and parsing

Javascript (Alpha)

    Better support for "bytes" fields: bytes fields can be read as either a base64 string or UInt8Array (in environments where TypedArray is supported).
    New support for CommonJS imports. This should make it easier to use the JavaScript support in Node.js and tools like WebPack. See js/README.md for more information.
    Some significant internal refactoring to simplify and modularize the code.

Ruby (Alpha)

    JSON serialization now properly uses camelCased names, with a runtime option that will preserve original names from .proto files instead.
    Well-known types are now included in the distribution.
    Release now includes binary gems for Windows, Mac, and Linux instead of just source gems.
    Bugfix for serializing oneofs.

C++/Java Lite (Alpha)

A new "lite" generator parameter was introduced in the protoc for C++ and
Java for Proto3 syntax messages. Example usage:

./protoc --cpp_out=lite:$OUTPUT_PATH foo.proto

The protoc will treat the current input and all the transitive dependencies
as LITE. The same generator parameter must be used to generate the
dependencies.

In Proto3 syntax files, "optimized_for=LITE_RUNTIME" is no longer supported.

Version 3.0.0-beta-2
General

    Introduced a new language implementation: JavaScript.
    Added a new field option "json_name". By default proto field names are converted to "lowerCamelCase" in proto3 JSON format. This option can be used to override this behavior and specify a different JSON name for the field.
    Added conformance tests to ensure implementations are following proto3 JSON specification.

C++ (Beta)

    Various bug fixes and improvements to the JSON support utility:
        Duplicate map keys in JSON are now rejected (i.e., translation will fail).
        Fixed wire-format for google.protobuf.Value/ListValue.
        Fixed precision loss when converting google.protobuf.Timestamp.
        Fixed a bug when parsing invalid UTF-8 code points.
        Fixed a memory leak.
        Reduced call stack usage.

Java (Beta)

    Cleaned up some unused methods on CodedOutputStream.
    Presized lists for packed fields during parsing in the lite runtime to reduce allocations and improve performance.
    Improved the performance of unknown fields in the lite runtime.
    Introduced UnsafeByteStrings to support zero-copy ByteString creation.
    Various bug fixes and improvements to the JSON support utility:
        Fixed a thread-safety bug.
        Added a new  to JsonFormat.
        Added a new  to JsonFormat.
        Updated the JSON utility to comply with proto3 JSON specification.

Python (Beta)

    Added proto3 JSON format utility. It includes support for all field types and a few well-known types except for Any and Struct.
    Added runtime support for Any, Timestamp, Duration and FieldMask.
    "[ ]" is now accepted for repeated scalar fields in text format parser.

Objective-C (Beta)

    Various bug-fixes and code tweaks to pass more strict compiler warnings.
    Now has conformance test coverage and is passing all tests.

C# (Beta)

    Various bug-fixes.
    Code generation: Files generated in directories based on namespace.
    Code generation: Include comments from .proto files in XML doc comments (naively)
    Code generation: Change organization/naming of "reflection class" (access to file descriptor)
    Code generation and library: Add Parser property to MessageDescriptor, and introduce a non-generic parser type.
    Library: Added TypeRegistry to support JSON parsing/formatting of Any.
    Library: Added Any.Pack/Unpack support.
    Library: Implemented JSON parsing.

Javascript (Alpha)

    Added proto3 support for JavaScript. The runtime is written in pure JavaScript and works in browsers and in Node.js. To generate JavaScript code for your proto, invoke protoc with "--js_out". See js/README.md for more build instructions.

Version 3.0.0-beta-1
Supported languages

    C++/Java/Python/Ruby/Nano/Objective-C/C#

About Beta

    This is the first beta release of protobuf v3.0.0. Not all languages have reached beta stage. Languages not marked as beta are still in alpha (i.e., be prepared for API breaking changes).

General

    Proto3 JSON is supported in several languages (fully supported in C++
    and Java, partially supported in Ruby/C#). The JSON spec is defined in
    the proto3 language guide:

    https://developers.google.com/protocol-buffers/docs/proto3#json

    We will publish a more detailed spec to define the exact behavior of
    proto3-conformant JSON serializers and parsers. Until then, do not rely
    on specific behaviors of the implementation if s not documented in
    the above spec. More specifically, the behavior is not yet finalized for
    the following:
        Parsing invalid JSON input (e.g., input with trailing commas).
        Non-camelCase names in JSON input.
        The same field appears multiple times in JSON input.
        JSON arrays  values.
        The message has unknown fields.

    Proto3 now enforces strict UTF-8 checking. Parsing will fail if a string
    field contains non UTF-8 data.

C++ (Beta)

    Introduced new utility functions/classes in the google/protobuf/util
    directory:
        MessageDifferencer: compare two proto messages and report their differences.
        JsonUtil: support converting protobuf binary format to/from JSON.
        TimeUtil: utility functions to work with well-known types Timestamp and Duration.
        FieldMaskUtil: utility functions to work with FieldMask.

    Performance optimization of arena construction and destruction.
    Bug fixes for arena and maps support.
    Changed to use cmake for Windows Visual Studio builds.
    Added Bazel support.

Java (Beta)

    Introduced a new util package that will be distributed as a separate
    artifact in maven. It contains:
        JsonFormat: convert proto messages to/from JSON.
        TimeUtil: utility functions to work with Timestamp and Duration.
        FieldMaskUtil: utility functions to work with FieldMask.

    The static PARSER in each generated message is deprecated, and it will
    be removed in a future release. A static parser() getter is generated
    for each message type instead.
    Performance optimizations for String fields serialization.
    Performance optimizations for Lite runtime on Android:
        Reduced allocations
        Reduced method overhead after ProGuarding
        Reduced code size after ProGuarding

Python (Alpha)

    Removed legacy Python 2.5 support.
    Moved to a single Python 2.x/3.x-compatible codebase, instead of using 2to3.
    Fixed build/tests on Python 2.6, 2.7, 3.3, and 3.4.
        Pure-Python works on all four.
        Python/C++ implementation works on all but 3.4, due to changes in the Python/C++ API in 3.4.
    Some preliminary work has been done to allow for multiple DescriptorPools with Python/C++.

Ruby (Alpha)

    Many bugfixes:
        fixed parsing/serialization of bytes, sint, sfixed types
        other parser bugfixes
        fixed memory leak affecting Ruby 2.2

JavaNano (Alpha)

    JavaNano generated code now will be put in a nano package by default to avoid conflicts with Java generated code.

Objective-C (Alpha)

    Added non-null markup to ObjC library. Requires SDK 8.4+ to build.
    Many bugfixes:
        Removed the class/enum filter.
        Renamed some internal types to avoid conflicts with the well-known types protos.
        Added missing support for parsing repeated primitive fields in packed or unpacked forms.
        Added *Count for repeated and map<> fields to avoid auto-create when checking for them being set.

C# (Alpha)

    Namespace changed to Google.Protobuf (and NuGet package will be named correspondingly).
    Target platforms now .NET 4.5 and selected portable subsets only.
    Removed lite runtime.
    Reimplementation to use mutable message types.
    Null references used to represent "no value" for message type fields.
    Proto3 semantics supported; proto2 files are prohibited for C# codegen. Most proto3 features supported:
        JSON formatting (a.k.a. serialization to JSON), including well-known types (except for Any).
        Wrapper types mapped to nullable value types (or string/ByteString allowing nullability). JSON parsing is not supported yet.
        maps
        oneof
        enum unknown value preservation

Version 3.0.0-alpha-3 (C++/Java/Python/Ruby/JavaNano/Objective-C/C#)
General

    Introduced two new language implementations (Objective-C, C#) to proto3.
    Explicit "optional" keyword are disallowed in proto3 syntax, as fields are optional by default.
    Group fields are no longer supported in proto3 syntax.
    Changed repeated primitive fields to use packed serialization by default in proto3 (implemented for C++, Java, Python in this release). The user can still disable packed serialization by setting packed to false for now.
    Added well-known type protos (any.proto, empty.proto, timestamp.proto, duration.proto, etc.). Users can import and use these protos just like regular proto files. Addtional runtime support will be added for them in future releases (in the form of utility helper functions, or having them replaced by language specific types in generated code).

    Added a "reserved" keyword in both proto2 and proto3 syntax. User can use
    this keyword to declare reserved field numbers and names to prevent them
    from being reused by other fields in the same message.

    To reserve field numbers, add a reserved declaration in your message:

    message TestMessage {
      reserved 2, 15, 9 to 11, 3;
    }

    This reserves field numbers 2, 3, 9, 10, 11 and 15. If a user uses any of
    these as field numbers, the protocol buffer compiler will report an error.

    Field names can also be reserved:

    message TestMessage {
      reserved "foo", "bar";
    }

    Various bug fixes since 3.0.0-alpha-2

Objective-C

    Objective-C includes a code generator and a native objective-c runtime
    library. By --objc_ to protoc, the code generator will generate
    a header(.pbobjc.h) and an implementation file(.pbobjc.m) for each proto
    file.

    In this first release, the generated interface provides: enums, messages,
    field support(single, repeated, map, oneof), proto2 and proto3 syntax
    support, parsing and serialization. s compatible with ARC and non-ARC
    usage. Besides, user can also access it via the swift bridging header.

    See objectivec/README.md for details.

C#

    C# protobufs are based on project https://github.com/jskeet/protobuf-csharp-port. The original project was frozen and all the new development will happen here.
    Codegen plugin for C# was completely rewritten to C++ and is now an intergral part of protoc.
    Some refactorings and cleanup has been applied to the C# runtime library.

    Only proto2 is supported in C# at the moment, proto3 support is in
    progress and will likely bring significant breaking changes to the API.

    See csharp/README.md for details.

C++

    Added runtime support for Any type. To use Any in your proto file, first
    import the definition of Any:

    // foo.proto
    import "google/protobuf/any.proto";
    message Foo {
      google.protobuf.Any any_field = 1;
    }
    message Bar {
      int32 value = 1;
    }

    Then in C++ you can access the Any field using PackFrom()/UnpackTo()
    methods:

    Foo foo;
    Bar bar = ...;
    foo.mutable_any_field()->PackFrom(bar);
    ...
    if (foo.any_field().IsType<Bar>()) {
      foo.any_field().UnpackTo(&bar);
      ...
    }

    In text format, entries of a map field will be sorted by key.

Java

    Continued optimizations on the lite runtime to improve performance for Android.

Python

    Added map support.
        maps now have a dict-like interface (msg.map_field[key] = value)
        existing code that modifies maps via the repeated field interface will need to be updated.

Ruby

    Improvements to RepeatedField's emulation of the Ruby Array API.
    Various speedups and internal cleanups.

Version 3.0.0-alpha-2 (C++/Java/Python/Ruby/JavaNano)
General

    Introduced Protocol Buffers language version 3 (aka proto3).

    When protobuf was initially opensourced it implemented Protocol Buffers
    language version 2 (aka proto2), which is why the version number
    started from v2.0.0. From v3.0.0, a new language version (proto3) is
    introduced while the old version (proto2) will continue to be supported.

    The main intent of introducing proto3 is to clean up protobuf before
    pushing the language as the foundation of Google's new API platform.
    In proto3, the language is simplified, both for ease of use and to
    make it available in a wider range of programming languages. At the
    same time a few features are added to better support common idioms
    found in APIs.

    The following are the main new features in language version 3:
        Removal of field presence logic for primitive value fields, removal of required fields, and removal of default values. This makes proto3 significantly easier to implement with open struct representations, as in languages like Android Java, Objective C, or Go.
        Removal of unknown fields.
        Removal of extensions, which are instead replaced by a new standard type called Any.
        Fix semantics for unknown enum values.
        Addition of maps.
        Addition of a small set of standard types for representation of time, dynamic data, etc.
        A well-defined encoding in JSON as an alternative to binary proto encoding.

    This release (v3.0.0-alpha-2) includes partial proto3 support for C++,
    Java, Python, Ruby and JavaNano. Items 6 (well-known types) and 7
    (JSON format) in the above feature list are not implemented.

    A new notion "syntax" is introduced to specify whether a .proto file
    uses proto2 or proto3:

    // foo.proto
    syntax = "proto3";
    message Bar {...}

    If omitted, the protocol compiler will generate a warning and "proto2" will
    be used as the default. This warning will be turned into an error in a
    future release.

    We recommend that new Protocol Buffers users use proto3. However, we do not
    generally recommend that existing users migrate from proto2 from proto3 due
    to API incompatibility, and we will continue to support proto2 for a long
    time.

    Added support for map fields (implemented in proto2 and proto3 C++/Java/JavaNano and proto3 Ruby).

    Map fields can be declared using the following syntax:

    message Foo {
      map<string, string> values = 1;
    }

    Data of a map field will be stored in memory as an unordered map and it
    can be accessed through generated accessors.

C++

    Added arena allocation support (for both proto2 and proto3).

    Profiling shows memory allocation and deallocation constitutes a significant
    fraction of CPU-time spent in protobuf code and arena allocation is a
    technique introduced to reduce this cost. With arena allocation, new
    objects will be allocated from a large piece of preallocated memory and
    deallocation of these objects is almost free. Early adoption shows 20% to
    50% improvement in some Google binaries.

    To enable arena support, add the following option to your .proto file:

    option cc_enable_arenas = true;

    Protocol compiler will generate additional code to make the generated
    message classes work with arenas. This does not change the existing API
    of protobuf messages and does not affect wire format. Your existing code
    should continue to work after adding this option. In the future we will
    make this option enabled by default.

    To actually take advantage of arena allocation, you need to use the arena
    APIs when creating messages. A quick example of using the arena API:

    {
      google::protobuf::Arena arena;
      // Allocate a protobuf message in the arena.
      MyMessage* message = Arena::CreateMessage<MyMessage>(&arena);
      // All submessages will be allocated in the same arena.
      if (!message->ParseFromString(data)) {
        // Deal with malformed input data.
      }
      // Must not delete the message here. It will be deleted automatically
      // when the arena is destroyed.
    }

    Currently arena does not work with map fields. Enabling arena in a .proto
    file containing map fields will result in compile errors in the generated
    code. This will be addressed in a future release.

Python

    Python has received several updates, most notably support for proto3
    semantics in any .proto file that declares syntax="proto3".
    Messages declared in proto3 files no longer represent field presence
    for scalar fields (number, enums, booleans, or strings). You can
    no longer call HasField() for such fields, and they are serialized
    based on whether they have a non-zero/empty/false value.

    One other notable change is in the C++-accelerated implementation.
    Descriptor objects (which describe the protobuf schema and allow
    reflection over it) are no longer duplicated between the Python
    and C++ layers. The Python descriptors are now simple wrappers
    around the C++ descriptors. This change should significantly
    reduce the memory usage of programs that use a lot of message
    types.

Ruby

    We have added proto3 support for Ruby via a native C extension.

    The Ruby extension itself is included in the ruby/ directory, and details on
    building and installing the extension are in ruby/README.md. The extension
    will also be published as a Ruby gem. Code generator support is included as
    part of protoc with the --ruby_out flag.

    The Ruby extension implements a user-friendly DSL to define message types
    (also generated by the code generator from .proto files). Once a message
    type is defined, the user may create instances of the message that behave in
    ways idiomatic to Ruby. For example:
        Message fields are present as ordinary Ruby properties (getter method foo and setter method foo=).
        Repeated field elements are stored in a container that acts like a native Ruby array, and map elements are stored in a container that acts like a native Ruby hashmap.
        The usual well-known methods, such as #to_s, #dup, and the like, are present.

    Unlike several existing third-party Ruby extensions for protobuf, this
    extension is built on a "strongly-typed" philosophy: message fields and
    array/map containers will throw exceptions eagerly when values of the
    incorrect type are inserted.

    See ruby/README.md for details.

JavaNano

    JavaNano is a special code generator and runtime library designed especially
    for resource-restricted systems, like Android. It is very resource-friendly
    in both the amount of code and the runtime overhead. Here is an an overview
    of JavaNano features compared with the official Java protobuf:
        No descriptors or message builders.
        All messages are mutable; fields are public Java fields.
        For optional fields only, encapsulation behind setter/getter/hazzer/ clearer functions is opt-in, which provide proper 'has' state support.
        For proto2, if not opted in, has state (field presence) is not available. Serialization outputs all fields not equal to their defaults. The behavior is consistent with proto3 semantics.
        Required fields (proto2 only) are always serialized.
        Enum constants are integers; protection against invalid values only when parsing from the wire.
        Enum constants can be generated into container interfaces bearing the enum's name (so the referencing code is in Java style).
        CodedInputByteBufferNano can only take byte.
        Similarly CodedOutputByteBufferNano can only write to byte[].
        Repeated fields are in arrays, not ArrayList or Vector. Null array elements are allowed and silently ignored.
        Full support for serializing/deserializing repeated packed fields.
        Support extensions (in proto2).
        Unset messages/groups are null, not an immutable empty default instance.
        toByteArray(...) and mergeFrom(...) are now static functions of MessageNano.
        The 'bytes' type translates to the Java type byte[].

    See javanano/README.txt for details.

Version 3.0.0-alpha-1 (C++/Java)
General

    Introduced Protocol Buffers language version 3 (aka proto3).

    When protobuf was initially opensourced it implemented Protocol Buffers
    language version 2 (aka proto2), which is why the version number
    started from v2.0.0. From v3.0.0, a new language version (proto3) is
    introduced while the old version (proto2) will continue to be supported.

    The main intent of introducing proto3 is to clean up protobuf before
    pushing the language as the foundation of Google's new API platform.
    In proto3, the language is simplified, both for ease of use and to
    make it available in a wider range of programming languages. At the
    same time a few features are added to better support common idioms
    found in APIs.

    The following are the main new features in language version 3:
        Removal of field presence logic for primitive value fields, removal of required fields, and removal of default values. This makes proto3 significantly easier to implement with open struct representations, as in languages like Android Java, Objective C, or Go.
        Removal of unknown fields.
        Removal of extensions, which are instead replaced by a new standard type called Any.
        Fix semantics for unknown enum values.
        Addition of maps.
        Addition of a small set of standard types for representation of time, dynamic data, etc.
        A well-defined encoding in JSON as an alternative to binary proto encoding.

    This release (v3.0.0-alpha-1) includes partial proto3 support for C++ and
    Java. Items 6 (well-known types) and 7 (JSON format) in the above feature
    list are not impelmented.

    A new notion "syntax" is introduced to specify whether a .proto file
    uses proto2 or proto3:

    // foo.proto
    syntax = "proto3";
    message Bar {...}

    If omitted, the protocol compiler will generate a warning and "proto2" will
    be used as the default. This warning will be turned into an error in a
    future release.

    We recommend that new Protocol Buffers users use proto3. However, we do not
    generally recommend that existing users migrate from proto2 from proto3 due
    to API incompatibility, and we will continue to support proto2 for a long
    time.

    Added support for map fields (implemented in C++/Java for both proto2 and
    proto3).

    Map fields can be declared using the following syntax:

    message Foo {
      map<string, string> values = 1;
    }

    Data of a map field will be stored in memory as an unordered map and it
    can be accessed through generated accessors.

C++

    Added arena allocation support (for both proto2 and proto3).

    Profiling shows memory allocation and deallocation constitutes a significant
    fraction of CPU-time spent in protobuf code and arena allocation is a
    technique introduced to reduce this cost. With arena allocation, new
    objects will be allocated from a large piece of preallocated memory and
    deallocation of these objects is almost free. Early adoption shows 20% to
    50% improvement in some Google binaries.

    To enable arena support, add the following option to your .proto file:

    option cc_enable_arenas = true;

    Protocol compiler will generate additional code to make the generated
    message classes work with arenas. This does not change the existing API
    of protobuf messages and does not affect wire format. Your existing code
    should continue to work after adding this option. In the future we will
    make this option enabled by default.

    To actually take advantage of arena allocation, you need to use the arena
    APIs when creating messages. A quick example of using the arena API:

    {
      google::protobuf::Arena arena;
      // Allocate a protobuf message in the arena.
      MyMessage* message = Arena::CreateMessage<MyMessage>(&arena);
      // All submessages will be allocated in the same arena.
      if (!message->ParseFromString(data)) {
        // Deal with malformed input data.
      }
      // Must not delete the message here. It will be deleted automatically
      // when the arena is destroyed.
    }

    Currently arena does not work with map fields. Enabling arena in a .proto
    file containing map fields will result in compile errors in the generated
    code. This will be addressed in a future release.

(kamil)

2016-08-06 11:32:14 UTC MAIN commitmail json YAML

Update php71 to 7.1.0beta2. List of changes is not available.

(jdolecek)

2016-08-06 11:20:21 UTC MAIN commitmail json YAML

Updated time/p5-DateTime to 1.35

(wen)

2016-08-06 11:18:08 UTC MAIN commitmail json YAML

Update to 1.35

Upstream changes:
1.35  2016-08-05

- Use namespace::autoclean in all packages which import anything. Without
  cleaning the namespace, DateTime ends up with "methods" like try and catch
  (from Try::Tiny), which can lead to very confusing bugs. Reported by Mischa
  Schwieger. RT #115983.

(wen)

2016-08-06 10:10:10 UTC MAIN commitmail json YAML

2016-08-06 09:40:07 UTC MAIN commitmail json YAML

Updated www/p5-Mojolicious to 7.01

(wen)

2016-08-06 09:37:05 UTC MAIN commitmail json YAML

Update to 7.01

Upstream changes:
7.01  2016-08-01
  - Improved support for systemd.
  - Fixed a bug in Mojo::Server::Prefork where PID files would not contain a
    newline character.

(wen)

2016-08-06 08:48:24 UTC MAIN commitmail json YAML

2016-08-06 08:47:51 UTC MAIN commitmail json YAML

2016-08-06 08:46:59 UTC MAIN commitmail json YAML

Update to 48.0

* OSS audio support may not work. I will revisit later

Changelog:
New:
    Roar for moar protection against harmful downloads! We've got your back

    Process separation (e10s) is enabled for some of you. Like it? Let us know and we'll roll it out to more.

    Add-ons that have not been verified and signed by Mozilla will not load

    GNU/Linux fans: Get better Canvas performance with speedy Skia support. Try saying that three times fast

    WebRTC embetterments:
        Delay-agnostic AEC enabled
        Full duplex for GNU/Linux enabled
        ICE Restart & Update is supported
        Cloning of MediaStream and MediaStreamTrack is now supported

    Searching for something already in your bookmarks or open tabs? We added super smart icons to let you know

    Windows folks: Tab (move buttons) and Shift+F10 (pop-up menus) now behave as they should in Firefox customization mode

    The media parser has been redeveloped using the Rust programming language

    Windows 7 systems without Platform Update can now use D3D11 WARP

Fixed:
    Various security fixes

    Heyo, Jabra & Logitech C920 webcam users. We fixed those pesky WebRTC bugs causing frequency distortions. Buh-bye, squeaky voice!

    Improved step debugging on last line of functions

Changed:
    Starting with the Firefox version 49 release, so long to support for 10.6, 10.7 and 10.8. Now we can focus on where most Mac users are: 10.9. Don't forget to upgrade!

    After version 48, SSE2 CPU extensions are going to be required on Windows

    Au revoir to Windows Remote Access Service modem Autodial

Developer:
    WebExtensions support is now considered as stable

    Workers can now use the Web Crypto API

    Want to move absolute & fixed positioned elements? (Who doesn't, right?) Now you can with our geometry editor.

    The memory tool now has a tree map view for your debugging pleasure. It's a little bit of "boo" and a whole lot of "ya."

    We're putting the spotlight on the background. Now you can debug WebExtensions background content scripts and background pages

    Content Security Policy (CSP) is now enforced for WebExtensions. (Who's down with CSP?)

    Old and busted: Error Console. New hotness: Browser Console for your debugging pleasure.

    Add-on development just got easier because you can reload them from about:debugging — because we're all about debugging.

    This theme is hot, hot, hot! Say hi to the Firebug theme for Developer Tools.

    Expand network requests from the console panel to view request details in line, so you can see things in context

Fixed in Firefox 48:
    2016-84 Information disclosure through Resource Timing API during page navigation
    2016-83 Spoofing attack through text injection into internal error pages
    2016-82 Addressbar spoofing with right-to-left characters on Firefox for Android
    2016-81 Information disclosure and local file manipulation through drag and drop
    2016-80 Same-origin policy violation using local HTML file and saved shortcut file
    2016-79 Use-after-free when applying SVG effects
    2016-78 Type confusion in display transformation
    2016-77 Buffer overflow in ClearKey Content Decryption Module (CDM) during video playback
    2016-76 Scripts on marquee tag can execute in sandboxed iframes
    2016-75 Integer overflow in WebSockets during data buffering
    2016-74 Form input type change from password to text can store plain text password in session restore file
    2016-73 Use-after-free in service workers with nested sync events
    2016-72 Use-after-free in DTLS during WebRTC session shutdown
    2016-71 Crash in incremental garbage collection in JavaScript
    2016-70 Use-after-free when using alt key and toplevel menus
    2016-69 Arbitrary file manipulation by local user through Mozilla updater and callback application path parameter
    2016-68 Out-of-bounds read during XML parsing in Expat library
    2016-67 Stack underflow during 2D graphics rendering
    2016-66 Location bar spoofing via data URLs with malformed/invalid mediatypes
    2016-65 Cairo rendering crash due to memory allocation issue with FFmpeg 0.10
    2016-64 Buffer overflow rendering SVG with bidirectional content
    2016-63 Favicon network connection can persist when page is closed
    2016-62 Miscellaneous memory safety hazards (rv:48.0 / rv:45.3)

(ryoon)

2016-08-06 01:40:50 UTC MAIN commitmail json YAML

Updated security/p5-Net-OpenSSH to 0.73

(mef)

2016-08-06 01:40:34 UTC MAIN commitmail json YAML

Updated security/p5-Net-OpenSSH to 0.73
--------------------------------------
0.73  Jun 10, 2016
        - Some old perl versions doesn't like Errno constant subs
          being called without parents. Add them.

0.72  Jun 9, 2016
        - Rerelease as stable.

0.71_03  Mar 16, 2016
        - Improve shell detection code.
        - Use a timeout to kill external commands not returning
          control.
        - improve ksh version checking in tests (bug report by jtzako
          via PerlMonks)

0.71_02  Mar 11, 2016
        - Lighten master socket checks in async mode in order to avoid
          blocking and setting custom signal handlers which can
          interfere with event-programming frameworks (bug report by
          Doug Hoyte).

0.71_01  Jan 20, 2016
        - Add entry on the documentation about how to integrate the
          module with event-oriented programming frameworks (bug
          report by Doug Hoyte, #gh17)
        - Use an adaptative delaying algorithm while waiting for the
          multiplexing socket to pop up (bug report by Doug Hoyte,
          #gh17).
        - Improve SIGCHLD handling and interoperability with other
          modules setting custom handlers (bug report by Doug Hoyte,
          #gh16).

(mef)

2016-08-05 23:34:34 UTC MAIN commitmail json YAML

Updated security/p5-Net-DNS-SEC to 1.02

(mef)

2016-08-05 23:34:18 UTC MAIN commitmail json YAML

(pkgsrc)
- Drop patch-Makefile.PL, see below at 1.01 Feature item.
(Upsteam)
- Updated devel/p5-Net-DNS-SEC 0.22 to 1.02
-----------------------------------------
**** 1.02 September 16, 2015
Fix:    Bug in t/10-keyset.t raises exception in Net::DNS

**** 1.01 August 3, 2015
Feature
        The RRs previously implemented in Net::DNS::SEC are now
        integrated with Net::DNS.

Fix: rt.cpan.org #105808
        Version test for Pod::Test is broken

Fix: rt.cpan.org #105698
        Net-DNS 1.01 conflicts with Net-DNS-SEC 0.22

(mef)

2016-08-05 23:10:52 UTC MAIN commitmail json YAML

Updated security/p5-Digest-SHA to 5.96

(mef)

2016-08-05 23:10:37 UTC MAIN commitmail json YAML

Updated security/p5-Digest-SHA to 5.96
--------------------------------------
5.96  Wed Jul 27 20:04:34 MST 2016
        - prevented shasum from possibly running malicious code
                -- remove '.' from @INC before module loading
                -- ref. rt.cpan.org #116513
        - namespace cleanup (ref. rt.cpan.org #105371 and #105372)
        - minor code and documentation tweaks

(mef)

2016-08-05 23:06:06 UTC MAIN commitmail json YAML

Updated devel/p5-Proc-PID-File to 1.28

(mef)

2016-08-05 23:04:35 UTC MAIN commitmail json YAML

Updated devel/p5-Proc-PID-File to 1.28
--------------------------------------
1.28 2016/07/28 Dmitri Tikhonov <dmitri@cpan.org>
    - Fix long-standing sysopen argument precedence bug, closing
      RT#62380 and RT#102536.
    - Fixes to POD and Makefile.PL from David Steinbrunner -- thanks!

(mef)

2016-08-05 22:56:20 UTC MAIN commitmail json YAML

Updated devel/p5-Config-General to 2.63

(mef)

2016-08-05 22:55:47 UTC MAIN commitmail json YAML

Updated to devel/p5-Config-General to 2.63
------------------------------------------
2.63  - fix for rt.cpan.org#116340: do only consider a backslash
        as meta escape char, but not if it appears on it's own,
        as it happens on windows platforms. Thanks to for finding
        and tracking it down.

(mef)

2016-08-05 22:50:14 UTC MAIN commitmail json YAML

Updated devel/p5-Sub-Uplevel to 0.2600

(mef)

2016-08-05 22:49:57 UTC MAIN commitmail json YAML

Updated to devel/p5-Sub-Uplevel to 0.2600
-----------------------------------------
0.2600    2016-08-05 10:46:37-04:00 America/New_York
    - No changes from 0.2501-TRIAL

0.2501    2016-07-29 16:18:45-04:00 America/New_York (TRIAL RELEASE)
    [~Internal~]
    - Optimized calls to caller()

(mef)

2016-08-05 22:45:13 UTC MAIN commitmail json YAML

Updated devel/p5-NEXT to 0.67

(mef)

2016-08-05 22:44:32 UTC MAIN commitmail json YAML

Updated devel/p5-NEXT to 0.67
-----------------------------
0.67 2016-07-30 NEILB
    - Changed class names in SYNOPSIS from A, B, C, D to P, Q, R, S.
      This is avoid potential clash with core B:: namespace. RT#9734
      I didn't change the later examples in the doc, as I think they're ok.
    - Added mentions of next::method in the core "mro" module.
    - Changed all mentions of "NEXT.pm" in the doc to C<NEXT>.

0.66 2016-07-28 NEILB
    - split the "package EVERY" statement across two lines to hide it
      from PAUSE and help with resolving a permissions conflict with "Every".
    - Added prereqs, license type, and min perl version to dist metadata
    - Added github repo to dist metadata
    - Fixed pod error reported in RT#49984 and RT#100587,
      and rogue trailing spaces in pod, RT#64923

0.65_01 2016-07-20 NEILB
    - split the "package EVERY" statement across two lines to hide it
      from PAUSE and help with resolving a permissions conflict with "Every".
    - Added prereqs, license type, and min perl version to dist metadata
    - Added github repo to dist metadata
    - Fixed pod error reported in RT#49984 and RT#100587,
      and rogue trailing spaces in pod, RT#64923

(mef)

2016-08-05 22:38:37 UTC MAIN commitmail json YAML

Updated devel/p5-ExtUtils-MakeMaker to 7.20

(mef)

2016-08-05 22:38:22 UTC MAIN commitmail json YAML

Updated devel/p5-ExtUtils-MakeMaker to 7.20
-------------------------------------------
7.20  Fri Aug  5 09:39:56 BST 2016
    Bug fixes:
    - CVE-2016-1238: avoid loading VMS::Feature from the default .
    - Restore ordering issue involving OTHERLDFLAGS
    - prevent EUMM::Locale from warning with old Win32.pm
    - Fix test warnings in MM_Unix.pm when in core
    - Check for ascii locale using normalized name
    - Cygwin: avoid libperl.dll.dll.a
    - Fix basic.t tests on Win32 in core

    Test fixes:
    - Skip subdirscomplex test on VMS

    Doc fixes:
    - fix typos and add subdirs text to MakeMaker.pm
    - added examples for running tests in subdirs

(mef)

2016-08-05 16:20:29 UTC MAIN commitmail json YAML

Updated net/mikutter to 3.4.2

(tsutsui)

2016-08-05 16:19:46 UTC MAIN commitmail json YAML

Update mikutter to 3.4.2.

Upstream changes:

* update po files
* zh_TW
* tweet thread was opened when quoted "retweeted with comment" was clicked
  regardless of settings
* README was too old lol
* support new picture service
* irasutoya
* report detailed errors on failure of invoking external browser
* report detailed errors during configuring fragments

(tsutsui)

2016-08-05 15:59:32 UTC MAIN commitmail json YAML

Updated devel/ruby-delayer-deferred to 1.0.4

(tsutsui)

2016-08-05 15:58:32 UTC MAIN commitmail json YAML

Update ruby-delayer-deferred to 1.0.4.

- Handle exception in thread properly.

(tsutsui)

2016-08-05 08:29:01 UTC MAIN commitmail json YAML

7.1.0beta1 is also smaller than 7.1 -- fix pattern.

(wiz)

2016-08-04 22:38:10 UTC MAIN commitmail json YAML

Explicitly pass path to krb5 implementation to be used.

Fixes case where heimdal is default, but mit-krb5 is also installed.

(wiz)

2016-08-04 20:22:19 UTC MAIN commitmail json YAML

2016-08-04 19:28:23 UTC MAIN commitmail json YAML

Updated net/syncthing to 0.14.3

(gdt)

2016-08-04 19:28:03 UTC MAIN commitmail json YAML

Update to 0.14.3 and rearrange GOPATH and build layout

Update to 0.14.3; this is a new major version with an incompatible
protocol.  It has been tested with syncthing-android 0.8.1.

Redo build layout, so that the sources are placed at the path
recommended by upstream.  Reduce the number of symlinks used to get go
building to work.

Upstream changes:

v0.14.3: 3 bugfixes
v0.14.2: 1 bugfix
v0.14.1: 1 bugfix and
  This release includes "delta indexes", a backwards compatible protocol
  enhancement. Prior to delta indexes being implemented, full index
  information was exchanged at every connection start. With delta
  indexes, only index information that has changed since last contact is
  transferred. Delta indexes are enabled automatically between 0.14.1+
  devices.
v0.14.0: many bugfixes and
  This is a new major release, incompatible with Syncthing v0.13 and
  earlier.  This release introduces a new, extensible sync protocol
  and corresponding changes to local discovery and the database.  The
  sync protocol, local discovery protocol and database format is now
  based on protocol buffers.

(gdt)

2016-08-04 18:16:37 UTC MAIN commitmail json YAML

Updated net/youtube-dl to 20160801

(leot)

2016-08-04 18:15:49 UTC MAIN commitmail json YAML

Update net/youtube-dl to 20160801

Changes:
version 2016.08.01

Fixed/improved extractors
- [yandexmusic:track] Adapt to changes in track location JSON (#10193)
- [bloomberg] Support another form of player (#10187)
- [limelight] Skip DRM protected videos
- [safari] Relax regular expressions for URL matching (#10202)
- [cwtv] Add support for cwtvpr.com (#10196)

version 2016.07.30

Fixed/improved extractors
- [twitch:clips] Sort formats
- [tv2] Use m3u8_native
- [tv2:article] Fix video detection (#10188)
- rtve (#10076)
- [dailymotion:playlist] Optimize download archive processing (#10180)

version 2016.07.28

Fixed/improved extractors
- shared (#10170)
- soundcloud (#10179)
- twitch (#9767)

version 2016.07.26.2

Fixed/improved extractors
- smotri
- camdemy
- mtv
- comedycentral
- cmt
- cbc
- mgtv
- orf

version 2016.07.24

New extractors
- arkena (#8682)
- lcp (#8682)

Fixed/improved extractors
- facebook (#10151)
- dailymail
- telegraaf
- dcn
- onet
- tvp

Miscellaneous
- Support $Time$ in DASH manifests

version 2016.07.22

New extractors
- odatv (#9285)

Fixed/improved extractors
- bbc
- youjizz (#10131)
- youtube (#10140)
- pornhub (#10138)
- eporner (#10139)

(leot)

2016-08-04 17:03:41 UTC MAIN commitmail json YAML

2016-08-04 16:46:37 UTC MAIN commitmail json YAML

Updated audio/pulseaudio to 9.0

(ryoon)

2016-08-04 16:45:56 UTC MAIN commitmail json YAML

Update to 9.0

Changelog:
PulseAudio 9.0

Changes at a glance:

* Automatic routing improvements
* Beamforming and various other new features in the WebRTC echo canceller
* Various improvements in module-role-cork and module-role-ducking
* LFE remixing disabled by default
* memfd-backed shared memory transport
* Support for sample rates up to 384 kHz
* webrtc-audio-processing dependency minimum version bumped to 0.2
* Changed the C standard from C99 to C11.

Detailed change log:

  http://www.freedesktop.org/wiki/Software/PulseAudio/Notes/9.0

Contributors

  Ahmed S. Darwish
  Alexander E. Patrakov
  Arun Raghavan
  Barun Kumar Singh
  David Henningsson
  Deepak Srivastava
  Gabor Kelemen
  Georg Chini
  Jeremy Huddleston Sequoia
  Jonathan Perkin
  Juho Hämäläinen
  Jungsup Lee
  Kamil Rytarowski
  Marcin Lewandowski
  Milo Casagrande
  Muhammet Kara
  Nazar Mokrynskyi
  Peter Meerwald
  Piotr DrÄ…g
  Sachin Kumar Chauhan
  Sangchul Lee
  Tanu Kaskinen
  YunQiang Su

(ryoon)

2016-08-04 16:15:14 UTC MAIN commitmail json YAML

update php-mongo DESCR with notice about this being superseded

(jdolecek)

2016-08-04 16:06:10 UTC MAIN commitmail json YAML

php-mongodb 1.1.8 added, remove from suggested updates

(jdolecek)

2016-08-04 16:05:31 UTC MAIN commitmail json YAML

Added databases/php-mongodb version 1.1.8

(jdolecek)

2016-08-04 16:05:01 UTC MAIN commitmail json YAML

2016-08-04 16:03:53 UTC MAIN commitmail json YAML

Add php-mongodb 1.1.8

The purpose of this driver is to provide exceptionally thin glue
between MongoDB and PHP, implementing only fundemental and
performance-critical components necessary to build a fully-functional
MongoDB driver.

Countrary to php-mongo, mongodb one supports php 7.x as well as 5.5.x/5.6.x

(jdolecek)

2016-08-04 15:34:10 UTC MAIN commitmail json YAML

Added math/php-stats version 2.0.3

(jdolecek)

2016-08-04 15:33:48 UTC MAIN commitmail json YAML

2016-08-04 15:33:20 UTC MAIN commitmail json YAML

Add php-stats 2.0.3 - PHP extension that provides few dozens of functions useful for statistical computations

(jdolecek)

2016-08-04 15:26:50 UTC MAIN commitmail json YAML

php-mongo is at 1.6.14, remove from list of suggested updates

(jdolecek)

2016-08-04 14:30:08 UTC MAIN commitmail json YAML

PR/51360: handle ${X11BASE}/lib/pkgconfig.

bump PKGREVISION.

(nonaka)

2016-08-04 14:18:15 UTC MAIN commitmail json YAML

2016-08-04 14:11:31 UTC MAIN commitmail json YAML

fixup my login in the last change entry

(jdolecek)

2016-08-04 14:10:33 UTC MAIN commitmail json YAML

Added lang/php71 version 7.1.0beta1

(jdolecek)

2016-08-04 14:09:31 UTC MAIN commitmail json YAML

2016-08-04 14:09:03 UTC MAIN commitmail json YAML

Add php 7.1.0beta1

PHP 7.1.x builds upon 7.0.x, adding new features (so far)

* Iterable type.
* HTTP/2 Server Push Support in ext/curl & other ext/curl improvements
* Fix inconsistent behavior in $this variable
* Square bracket syntax for array destructuring assignment
* Create closure from callable
* More precise float values
* Asynchronous Signal Handling (without ticks) in ext/pcntl.
* Additional Context in pcntl_signal Handler

NOTE: this is BETA, not suitable for production environment

(jdolecek)

2016-08-04 14:05:36 UTC MAIN commitmail json YAML

php-apcu was updated to 5.1.5 and php-xdebug to 2.4.0, remove from suggested updates

(jdolecek)

2016-08-04 14:01:52 UTC MAIN commitmail json YAML

2016-08-04 14:01:28 UTC MAIN commitmail json YAML

2016-08-04 13:17:03 UTC MAIN commitmail json YAML

Updated security/opensc to 0.16.0

(mef)

2016-08-04 13:08:25 UTC MAIN commitmail json YAML

Updated security/opensc to 0.16.0
--------------------------------
New in 0.16.0; 2016-05-15
* build
    link OpenSSL in static
    option: enable PKCS11 thread locking
* configuration
    use one configuration file for all systems
* tools:
    package revision as version
  ** pkcs11-tool
      keygen mechanism in pkcs11 tools
      write GOST public key
      fix CKA_SENSITIVE attribute of public keys
  ** opensc-explorer:
      added command find_tags
      allow ASN.1 decoding if the file seems incomplete
  ** pkcs15-tool:
      handle record-based files when doing file caching
      option to prine raw data
  ** sc-hsm-tool:
      status info support for SmartCard-HSM V2.0
  ** doc: some missing options are documented, added documentation
      for gid tool
* minidriver:
  support for ECC
  Windows x509 enrollment
  first implementation of CardDeleteContainer
  MD logs controlled by register and environment variable
* reader-pcsc
  fixed unreleased locks with pcsc-lite
  honour PC/SC pt 10 dwMaxAPDUDataSize
  added call back for getting vendor/product id
  restrict access to card handles after fork
  SCardGetAttrib is used to initialize reader's metadata
  by default only short APDUs supported
* pkcs11
  no slot reserved for hot plug
  no more slot created 'per-applications'
  atomic operation (TODO: expand)
  export all C_* symbols
  metadata initialized from package info
  fix registering pkcs11 mechanisms multiple times
  sloppy initialization for C_GetSlotInfo
* pkcs15
  cache of on-card files extended to application paths
  configuration option to enable/disable application
  make file cache dir configurable
  in key info data type introduced 'auxiliary data' -- container
      for the non-pkc15 data.
* OpenPGP
  support for Gnuk -- USB cryptographic token for GNU Privacy Guard
  build without OpenSSL
  implemented 'erase card'
  additional manufacturers
* MyEID
  support for 521 bit ECC keys
  ATRs for the new cards
* sc-hsm
  read/write support in minidriver
* rtecp
  delete keys
* GemSafeV1
  support for European Patent Office smart card
  sign with SHA256
* Gids
  first support for Gids smart card
* dnie
* Feitian PKI card
  new ATRs
* IsoApplet
  (fixes)
* starcos
  initial support for STARCOS 3.4 (German D-Trust cards)
* macosx
  install tokend to /Library/Security/ instead /System/Library/Security/
  fixed locking issue in pcsc reader
* PIV
  allow using of cards where default application in not PIV
  support for the Yubikey NEO
* italian-CNS
  italian-cns reg file for minidriver

(mef)

2016-08-04 13:00:19 UTC MAIN commitmail json YAML

update also default PHP version in the comment

(jdolecek)

2016-08-04 10:24:41 UTC MAIN commitmail json YAML

Updated www/py-django to 1.9.9; databases/mysql55 to 5.5.51; databases/mysql56 to 5.6.32

(adam)

2016-08-04 10:09:46 UTC MAIN commitmail json YAML

Changes 5.5.51:
Bugs Fixed

Replication: When using statement-based or mixed binary logging format with --read-only=ON, it was not possible to modify temporary tables.

MySQL Server upgrades performed using RPM packages failed when upgrading from MySQL 5.1 Community to MySQL 5.5 Community or MySQL 5.1 Commercial to MySQL 5.5 Commercial.

A buffer overflow in the regex library was fixed.

Certain arguments to NAME_CONST() could cause a server exit.

Installing MySQL from a yum or zypper repository resulted in /var/log/mysqld.log being created with incorrect user and group permissions.

If a stored function updated a view for which the view table had a trigger defined that updated another table, it could fail and report an error that an existing table did not exist.

If an INSTALL PLUGIN statement contained invalid UTF-8 characters in the shared library name, it caused the server to hang (or to raise an assertion in debug builds).

For multibyte character sets, LOAD DATA could fail to allocate space correctly and ignore input rows as a result.

(adam)

2016-08-04 10:09:08 UTC MAIN commitmail json YAML

Changes 5.6.32:
Bugs Fixed

InnoDB: Full-text search auxiliary tables could be dropped by one session while being access by another.

InnoDB: Selecting full-text index information schema tables for a deleted table caused a segmentation fault.

InnoDB: Rollback of a full-text index synchronization operation raised an assertion. The rollback operation attempted to acquire a mutex still held by the background synchronization thread.

InnoDB: Setting innodb_monitor_enable to all did not enable all counters.

Replication: After issuing a PURGE BINARY LOGS statement, if the binary log index file was not available, for example because it had been opened by another application such as MEB, the server could stop unexpectedly. Although this situation was rare, the handling has been made more robust to avoid unexpected halts and more informative errors are provided.

Replication: When using row-based replication and InnoDB, replication slaves reverted to using an older locking scheme when a transaction had already acquired an AUTOINC lock related to a LOAD FILE or INSERT ... SELECT type of statement, reducing replication slave performance. The fix ensures that sql_command is set correctly for any of the DML events such as WRITE_ROWS_EVENT, UPDATE_EVENT, and DELETE_EVENT.

Replication: A MySQL version 5.5 slave does not have a server_uuid and replication identified servers by their server_id. Starting from MySQL version 5.6, replication masters detected a zombie dump thread based only on a slave's server_uuid value, under the assumption that each slave has a unique UUID. Connecting a MySQL 5.5 slave to a MySQL 5.6 and later master meant that the master was unable to detect zombie dump threads that were created to serve slaves running versions older than MySQL 5.6. The fix ensures that a master now first checks if a slave has a server_uuid set. If it is set, zombie dump thread detection happens based on the slave's UUID. If a slave's server_uuid is not set, zombie dump thread detection happens based on server_id.

Replication: With slave_skip_errors enabled there were still special cases when slave errors were not being correctly ignored. For example:

When opening and locking a table failed.

When field conversions failed on a server running row-based replication.

In these cases the error was considered critical and it was not respecting the state of slave_skip_errors. The fix ensures that with slave_skip_errors enabled, all errors reported during applying a transaction are correctly handled. This means that in such a set up, upon receiving an error with the log_warnings option set to greater than 1, if the error can be ignored then the warning is printed into the error log and the server continues as it does in the case of other ignored errors.

Replication: When using statement-based or mixed binary logging format with --read-only=ON, it was not possible to modify temporary tables.

MySQL Server upgrades performed using RPM packages failed when upgrading from MySQL 5.5 Community to MySQL 5.6 Community or MySQL 5.5 Commercial to MySQL 5.6 Commercial.

The code for reading character set information from Performance Schema statement events tables (for example, events_statements_current) did not prevent simultaneous writing to that information. As a result, the SQL query text character set could be invalid, which could result in a server exit. Now an invalid character set causes SQL_TEXT column truncation.

A buffer overflow in the regex library was fixed.

Certain arguments to NAME_CONST() could cause a server exit.

For unit-testing with the MySQL test suite, the make unit-test command is no longer available. The ctest program should be used instead. See Unit Tests Added to Main Test Runs.

ST_Distance() could raise an assertion for NULL return values.

With the query cache enabled, executing a prepared statement with CURSOR_TYPE_READ_ONLY and then again with CURSOR_TYPE_NO_CURSOR caused the server to return an error.

mysql_real_connect() was not thread-safe when invoked with the MYSQL_READ_DEFAULT_FILE or MYSQL_READ_DEFAULT_GROUP option enabled.

Installing MySQL from a yum or zypper repository resulted in /var/log/mysqld.log being created with incorrect user and group permissions.

If a stored function updated a view for which the view table had a trigger defined that updated another table, it could fail and report an error that an existing table did not exist.

If an INSTALL PLUGIN statement contained invalid UTF-8 characters in the shared library name, it caused the server to hang (or to raise an assertion in debug builds).

For multibyte character sets, LOAD DATA could fail to allocate space correctly and ignore input rows as a result.

(adam)

2016-08-04 08:23:11 UTC MAIN commitmail json YAML

Changes 1.9.9:
Bugfixes:
* Fixed invalid HTML in template postmortem on the debug page
* Fixed some GIS database function crashes on MySQL 5.7

(adam)

2016-08-04 06:22:20 UTC MAIN commitmail json YAML

+ firefox-48.0.

(wiz)

2016-08-04 06:05:18 UTC MAIN commitmail json YAML

Updated graphics/png to 1.6.24

(wiz)

2016-08-04 06:05:08 UTC MAIN commitmail json YAML

Updated png to 1.6.24.

Version 1.6.24beta01 [June 11, 2016]
  Avoid potential overflow of the PNG_IMAGE_SIZE macro.  This macro
    is not used within libpng, but is used in some of the examples.

Version 1.6.24beta02 [June 23, 2016]
  Correct filter heuristic overflow handling. This was broken when the
    write filter code was moved out-of-line; if there is a single filter and
    the heuristic sum overflows the calculation of the filtered line is not
    completed.  In versions prior to 1.6 the code was duplicated in-line
    and the check not performed, so the filter operation completed; however,
    in the multi-filter case where the sum is performed the 'none' filter would
    be selected if all the sums overflowed, even if it wasn't in the filter
    list.  The fix to the first problem is simply to provide PNG_SIZE_MAX as
    the current lmins sum value; this means the sum can never exceed it and
    overflows silently.  A reasonable compiler that does choose to inline
    the code will simply eliminate the sum check.
  The fix to the second problem is to use high precision arithmetic (this is
    implemented in 1.7), however a simple safe fix here is to chose the lowest
    numbered filter in the list from png_set_filter (this only works if the
    first problem is also fixed) (John Bowler).
  Use a more efficient absolute value calculation on SSE2 (Matthieu Darbois).
  Fixed the case where PNG_IMAGE_BUFFER_SIZE can overflow in the application
    as a result of the application using an increased 'row_stride'; previously
    png_image_finish_read only checked for overflow on the base calculation of
    components.  (I.e. it checked for overflow of a 32-bit number on the total
    number of pixel components in the output format, not the possibly padded row
    length and not the number of bytes, which for linear formats is twice the
    number of components.)
  MSVC does not like '-(unsigned)', so replaced it with 0U-(unsigned)
  MSVC does not like (uInt) = -(unsigned) (i.e. as an initializer), unless
    the conversion is explicitly invoked by a cast.
  Put the SKIP definition in the correct place. It needs to come after the
    png.h include (see all the other .c files in contrib/libtests) because it
    depends on PNG_LIBPNG_VER.
  Removed the three compile warning options from the individual project
    files into the zlib.props globals.  It increases the warning level from 4
    to All and adds a list of the warnings that need to be turned off.  This is
    semi-documentary; the intent is to tell libpng users which warnings have
    been examined and judged non-fixable at present.  The warning about
    structure padding is fixable, but it would be a signficant change (moving
    structure members around).

Version 1.6.24beta03 [July 4, 2016]
  Optimized absolute value calculation in filter selection, similar to
    code in the PAETH decoder in pngrutil.c. Build with PNG_USE_ABS to
    use this.
  Added pngcp to the build together with a pngcp.dfa configuration test.
  Added high resolution timing to pngcp.
  Added "Common linking failures" section to INSTALL.
  Relocated misplaced #endif in png.c sRGB profile checking.
  Fixed two Coverity issues in pngcp.c.

Version 1.6.24beta04 [July 8, 2016]
  Avoid filter-selection heuristic sum calculations in cases where only one
    filter is a candidate for selection. This trades off code size (added
    private png_setup_*_row_only() functions) for speed.

Version 1.6.24beta05 [July 13, 2016]
  Fixed some indentation to comply with our coding style.
  Added contrib/tools/reindent.

Version 1.6.24beta06 [July 18, 2016]
  Fixed more indentation to comply with our coding style.
  Eliminated unnecessary tests of boolean png_isaligned() vs 0.

Version 1.6.24rc01 [July 25, 2016]
  No changes.

Version 1.6.24rc02 [August 1, 2016]
  Conditionally compile SSE2 headers in contrib/intel/intel_sse.patch
  Conditionally compile png_decompress_chunk().

Version 1.6.24rc03 [August 2, 2016]
  Conditionally compile ARM_NEON headers in pngpriv.h
  Updated contrib/intel/intel_sse.patch

Version 1.6.24[August 4, 2016]
  No changes.

(wiz)

2016-08-04 00:06:11 UTC MAIN commitmail json YAML

Updated graphics/py-matplotlib to 1.5.2

(kamil)

2016-08-04 00:04:19 UTC MAIN commitmail json YAML

Upgrade py-matplotlib to 1.5.2

pkgsrc changes:
- add test target (Ran 5205 tests in 362.603s OK (KNOWNFAIL=468, SKIP=15))
- drop merged patches
- rediff setup.py patch (it got renamed)

upstream changes:
REL: v1.5.2
Final planned release for the 1.5.x series.

REL: v1.5.1
First bug fix release for 1.5.x series.

REL: v1.5.0
This release of matplotlib has several major new features:
    Auto-redraw using the object-oriented API.
    Most plotting functions now support labeled data API.
    Color cycling has extended to all style properties.
    Four new perceptually uniform color maps, including the soon-to-be default 'viridis'.
    More included style sheets.
    Many small plotting improvements.
    Proposed new framework for managing the GUI toolbar and tools.

REL: v1.4.3
This is the last planned bug-fix release in the 1.4 series.

Many bugs are fixed including:

    fixing drawing of edge-only markers in AGG
    fix run-away memory usage when using %inline or saving with a tight bounding box with QuadMesh artists
    improvements to wx and tk gui backends

Additionally the webagg and nbagg backends were brought closer to
feature parity with the desktop backends with the addition of keyboard
and scroll events thanks to Steven Silvester.

REL: v1.4.2
Minor bug-fix release for 1.4 series
    regenerated pyplot.py

REL: v1.4.1
Bug-fix release for the 1.4 series.

    reverts the changes to interactive plotting so ion will work as before in all cases
    fixed boxplot regressions
    fixes for finding freetype and libpng
    sundry unicode fixes (looking up user folders, importing seaborn/pandas/networkx with macosx backend)
    nbagg works with python 3 + new font awesome
    fixed saving dialogue in QT5

REL: v1.4.0
This release has contributions from ~170 authors
(http://matplotlib.org/users/github_stats.html).

This release contains many bug fixes as will as a number of new
features. For the full list see
http://matplotlib.org/users/whats_new.html#new-in-matplotlib-1-4.
Some highlights are:

    style module : experimental package to make managing the style of matplotlib figures easier
    nbagg : interactive figures in ipython notebooks backed by the AGG renderer
    full python 3 support (including cairo backends)
    Qt5 support (for python 3 only)
    violin plots and 3D quiver plots (projects done for a course at University of Toronto, Scarborough)
    improved box plot interface

(kamil)

2016-08-03 23:42:51 UTC MAIN commitmail json YAML

Updated graphics/py-matplotlib-gtk2 to 1.5.2

(kamil)

2016-08-03 23:41:48 UTC MAIN commitmail json YAML

Upgrade py-matplotlib-gtk2 to 1.5.2

pkgsrc changes:
- add test target (Ran 5205 tests in 362.603s OK (KNOWNFAIL=468, SKIP=15))

upstream changes:
REL: v1.5.2
Final planned release for the 1.5.x series.

REL: v1.5.1
First bug fix release for 1.5.x series.

REL: v1.5.0
This release of matplotlib has several major new features:
    Auto-redraw using the object-oriented API.
    Most plotting functions now support labeled data API.
    Color cycling has extended to all style properties.
    Four new perceptually uniform color maps, including the soon-to-be default 'viridis'.
    More included style sheets.
    Many small plotting improvements.
    Proposed new framework for managing the GUI toolbar and tools.

REL: v1.4.3
This is the last planned bug-fix release in the 1.4 series.

Many bugs are fixed including:

    fixing drawing of edge-only markers in AGG
    fix run-away memory usage when using %inline or saving with a tight bounding box with QuadMesh artists
    improvements to wx and tk gui backends

Additionally the webagg and nbagg backends were brought closer to
feature parity with the desktop backends with the addition of keyboard
and scroll events thanks to Steven Silvester.

REL: v1.4.2
Minor bug-fix release for 1.4 series
    regenerated pyplot.py

REL: v1.4.1
Bug-fix release for the 1.4 series.

    reverts the changes to interactive plotting so ion will work as before in all cases
    fixed boxplot regressions
    fixes for finding freetype and libpng
    sundry unicode fixes (looking up user folders, importing seaborn/pandas/networkx with macosx backend)
    nbagg works with python 3 + new font awesome
    fixed saving dialogue in QT5

REL: v1.4.0
This release has contributions from ~170 authors
(http://matplotlib.org/users/github_stats.html).

This release contains many bug fixes as will as a number of new
features. For the full list see
http://matplotlib.org/users/whats_new.html#new-in-matplotlib-1-4.
Some highlights are:

    style module : experimental package to make managing the style of matplotlib figures easier
    nbagg : interactive figures in ipython notebooks backed by the AGG renderer
    full python 3 support (including cairo backends)
    Qt5 support (for python 3 only)
    violin plots and 3D quiver plots (projects done for a course at University of Toronto, Scarborough)
    improved box plot interface

(kamil)

2016-08-03 23:25:25 UTC MAIN commitmail json YAML

Updated graphics/py-matplotlib-tk to 1.5.2

(kamil)

2016-08-03 23:22:14 UTC MAIN commitmail json YAML

Upgrade py-matplotlib-tk to 1.5.2

pkgsrc changes:
- add test target (Ran 5205 tests in 362.603s OK (KNOWNFAIL=468, SKIP=15))

upstream changes:
REL: v1.5.2
Final planned release for the 1.5.x series.

REL: v1.5.1
First bug fix release for 1.5.x series.

REL: v1.5.0
This release of matplotlib has several major new features:
    Auto-redraw using the object-oriented API.
    Most plotting functions now support labeled data API.
    Color cycling has extended to all style properties.
    Four new perceptually uniform color maps, including the soon-to-be default 'viridis'.
    More included style sheets.
    Many small plotting improvements.
    Proposed new framework for managing the GUI toolbar and tools.

REL: v1.4.3
This is the last planned bug-fix release in the 1.4 series.

Many bugs are fixed including:

    fixing drawing of edge-only markers in AGG
    fix run-away memory usage when using %inline or saving with a tight bounding box with QuadMesh artists
    improvements to wx and tk gui backends

Additionally the webagg and nbagg backends were brought closer to
feature parity with the desktop backends with the addition of keyboard
and scroll events thanks to Steven Silvester.

REL: v1.4.2
Minor bug-fix release for 1.4 series
    regenerated pyplot.py

REL: v1.4.1
Bug-fix release for the 1.4 series.

    reverts the changes to interactive plotting so ion will work as before in all cases
    fixed boxplot regressions
    fixes for finding freetype and libpng
    sundry unicode fixes (looking up user folders, importing seaborn/pandas/networkx with macosx backend)
    nbagg works with python 3 + new font awesome
    fixed saving dialogue in QT5

REL: v1.4.0
This release has contributions from ~170 authors
(http://matplotlib.org/users/github_stats.html).

This release contains many bug fixes as will as a number of new
features. For the full list see
http://matplotlib.org/users/whats_new.html#new-in-matplotlib-1-4.
Some highlights are:

    style module : experimental package to make managing the style of matplotlib figures easier
    nbagg : interactive figures in ipython notebooks backed by the AGG renderer
    full python 3 support (including cairo backends)
    Qt5 support (for python 3 only)
    violin plots and 3D quiver plots (projects done for a course at University of Toronto, Scarborough)
    improved box plot interface

(kamil)

2016-08-03 20:13:19 UTC MAIN commitmail json YAML

2016-08-03 15:53:38 UTC MAIN commitmail json YAML

According to Brad King, cmake developer, who kindly reviewed our patches:

The SIZEOF_VOID_P macro is defined by code in CMakeLists.txt using
the value of CMAKE_SIZEOF_VOID_P.  The former is a C++ preprocessor
macro.  The latter is only visible in CMake code.

(prlw1)

2016-08-03 15:34:01 UTC MAIN commitmail json YAML

Note remove of www/php-zendopcache package.

(taca)

2016-08-03 15:33:29 UTC MAIN commitmail json YAML

According to https://github.com/zendtech/ZendOptimizerPlus, PHP 5.5
and later should be use bundled opcache (devel/php-opcache) instead of
Zend Opcache.

So remove this package for now.

(taca)

2016-08-03 15:32:00 UTC MAIN commitmail json YAML

Remove php-zendopcache.

(taca)

2016-08-03 15:30:35 UTC MAIN commitmail json YAML

2016-08-03 15:03:15 UTC MAIN commitmail json YAML

Updated lang/guile to 1.8.8nb8

(wiz)

2016-08-03 15:03:03 UTC MAIN commitmail json YAML

Switch installation prefix to ${PREFIX}/guile/1.8 in preparation for
making guile20 the default guile.

Untested except for compilation.

As proposed on tech-pkg.

(wiz)

2016-08-03 12:51:46 UTC MAIN commitmail json YAML

Updated sysutils/logrotate to 3.10.0

(nils)

2016-08-03 12:49:36 UTC MAIN commitmail json YAML

Updated to version 3.10.0. Changelog :
3.9.2 -> 3.10.0 :
- Legacy Makefile renamed to Makefile.legacy, will be removed eventually.
- Fix 'make dist' and 'make distcheck' to produce a usable release tarball.
- Fix 'olddir' usage with wildcard in the middle of path in the pattern
  definition when the pattern did not match any log file.
- Remove half-rotated files when rotation of particular log file is skipped
  because of an error during copy or compression.

It's not in the official changelog, but compilation errors also have been
fixed for NetBSD, so patches/patch-config.c is not necessary anymore.

(nils)

2016-08-03 12:31:28 UTC MAIN commitmail json YAML

Update DESCR.

(wiz)

2016-08-03 12:07:17 UTC MAIN commitmail json YAML

All sun4* machines are sparcs, not just sun4u.
(64bit check is separate)

Allow building for Solaris/sun4v.

from Joerg Clausen in pkg/51337

(maya)

2016-08-03 12:06:47 UTC MAIN commitmail json YAML

All sun4* machines are sparcs, not just sun4u.
(64bit check is separate)

Allow building for Solaris/sun4v.

from Joerg Clausen in pkg/51337

(maya)

2016-08-03 12:06:15 UTC MAIN commitmail json YAML

All sun4* machines are sparcs, not just sun4u.
(64bit check is separate)

Allow building for Solaris/sun4v.

from Joerg Clausen in pkg/51337

(maya)

2016-08-03 11:06:50 UTC MAIN commitmail json YAML

Fix unresolvable dependency.

(wiz)

2016-08-03 10:59:00 UTC MAIN commitmail json YAML

Removed missing 'used by'

(adam)

2016-08-03 10:31:45 UTC MAIN commitmail json YAML

Updated textproc/groff to 1.22.3nb4

(leot)

2016-08-03 10:31:28 UTC MAIN commitmail json YAML

Instead of using find(1) in font/devpdf/Makefile.sub just use grep(1) following
what upstream does (`-maxdepth' option can be problematic on some platforms).

Should fix pkg/51332 reported by Hiroshi Hakoyama

>From <maya>

(leot)

2016-08-03 10:23:40 UTC MAIN commitmail json YAML

2016-08-03 09:07:39 UTC MAIN commitmail json YAML

Mention other llvm packages in pkgsrc to update.

(wiz)

2016-08-03 09:06:54 UTC MAIN commitmail json YAML

Updated lang/libunwind to 3.8.1

(wiz)

2016-08-03 09:06:44 UTC MAIN commitmail json YAML

Updated libunwind to 3.8.1.

Another part of llvm-3.8.1.

(wiz)

2016-08-03 09:05:58 UTC MAIN commitmail json YAML

Updated security/p5-Net-SSLeay to 1.77

(wiz)

2016-08-03 09:05:48 UTC MAIN commitmail json YAML

Updated p5-Net-SSLeay to 1.77.

1.77 2016-08-01
Fixed incorrect size to memset in tlsext_ticket_key_cb_invoke.

1.76 2016-07-31
Replaced bzero with memset. Bzero not present on windows.

(wiz)

2016-08-03 09:02:02 UTC MAIN commitmail json YAML

Updated archivers/p5-Archive-Zip to 1.58

(wiz)

2016-08-03 09:01:52 UTC MAIN commitmail json YAML

Updated p5-Archive-Zip to 1.58.

1.58 Tue 2 Aug 2016
    - avoid relying on . being in @INC [github/karenetheridge]
    - update MANIFEST.SKIP [github/haarg]

(wiz)

2016-08-03 08:59:23 UTC MAIN commitmail json YAML

+ p5-Archive-Zip-1.58, p5-Net-SSLeay-1.77.

(wiz)

2016-08-03 08:58:02 UTC MAIN commitmail json YAML

Updated www/curl to 7.50.1

(wiz)

2016-08-03 08:57:51 UTC MAIN commitmail json YAML

Updated curl to 7.50.1.

Bugfixes:

    TLS: switch off SSL session id when client cert is used
    TLS: only reuse connections with the same client cert
    curl_multi_cleanup: clear connection pointer for easy handles
    include the CURLINFO_HTTP_VERSION man page into the release tarball
    include the http2-server.pl script in the release tarball
    test558: fix test by stripping file paths from FD lines
    spnego: Corrected miss-placed * in Curl_auth_spnego_cleanup() declaration
    tests: Fix for http/2 feature
    cmake: Fix for schannel support
    curl.h: make public types void * again
    win32: fix a potential memory leak in Curl_load_library
    travis: fix OSX build by re-installing libtool
    mbedtls: Fix debug function name

(wiz)

2016-08-03 08:50:36 UTC MAIN commitmail json YAML

Updated print/mupdf to 1.9anb3

(leot)

2016-08-03 08:50:17 UTC MAIN commitmail json YAML

Fix possible heap corruption (via upstream bug 696954).

Bump PKGREVISION

(leot)

2016-08-03 04:20:44 UTC MAIN commitmail json YAML

Updated sysutils/dmidecode to 3.0.

(msaitoh)

2016-08-03 04:18:33 UTC MAIN commitmail json YAML

Update dmidecode to 3.0.
Change MAINTAINER from shattered@ to msaitoh@. OK'ed by shattered.

CHANGES from 2.1.2:
2015-09-03  Jean Delvare  <jdelvare@suse.de>

* version.h: Set version to 3.0.

2015-08-04  Tyler Bell  <tyler.bell@hp.com>

* dmioem.c: Decode HP-specific DMI type 233
* dmioem.c: Refactored HP-specific types 209 and 221 to use common code
* dmioem.c: Documented spec for HP-specific types 209, 221 and 233

2015-05-21  Jean Delvare  <jdelvare@suse.de>

* dmidecode.c: Fix up invalid DMI type 34 structure length.
* dmioem.c: Decode HP-specific DMI types 212 and 219.
* dmioem.c: Move function is_printable to dmidecode.c.

2015-05-13  Jean Delvare  <jdelvare@suse.de>

* dmidecode.c: Add support for SMBIOS3 EFI table.
* dmidecode.c: Fix warnings about comparison between signed and
  unsigned integers.
* util.c: Fix warnings about unused labels when building without
  -DUSE_MMAP.
* dmioem.c: Strip spaces at the end of vendor names.
* dmioem.c: Decode Acer-specific DMI type 170.

2015-05-12  Jean Delvare  <jdelvare@suse.de>

* dmidecode.c: Remove extra blank line after hidden DMI type 40
  structure.

2015-05-04  Jean Delvare  <jdelvare@suse.de>

* dmidecode.c: Move table decoding to a separate function.
* dmidecode.c: Simplify function dmi_table_dump.
* dmidecode.c: Display types 41 and 42 in quiet mode too.
* dmidecode.c: Get OEM vendor from System Information (DMI type 1).

2015-04-28  Jean Delvare  <jdelvare@suse.de>

* dmidecode.h, dmiopt.h: Fix sparse errors.
* biosdecode.c, dmiopt.c, ownership.c, vpdopt.c: Fix sparse warnings.
* util.c: Fix sparse warning.

2015-04-27  Jean Delvare  <jdelvare@suse.de>

* dmidecode.c: Fix --dump-bin when reading from sysfs.

2015-04-27  Jean Delvare  <jdelvare@suse.de>

Update to support SMBIOS specification version 3.0.0.

* dmidecode.c: Add support for the new _SM3_ 64-bit entry point
  defined in the SMBIOS specification version 3.0.0, including
  support of 64-bit addresses and 32-bit table lengths.
* dmidecode.c: Add 3 new chassis types (DMI type 3).
* dmidecode.c: Add 4 new processor families (DMI type 4).
* dmidecode.c: Add 4 new Intel socket types (DMI type 4).
* dmidecode.c: Add 13 new slot types (DMI type 9).
* dmidecode.c: Add 4 new memory device types (DMI type 17).
* dmidecode.c: Add support for processors with more than 255 cores
  or threads (DMI type 4).
* dmidecode.c: Stop decoding v3 tables at End-of-Table marker.

2015-04-21  Roy Franz  <roy.franz@linaro.org>

* util.c, util.h: Add utility function read_file, which reads an
  entire binary file into a buffer.
* dmidecode.c: Add passing of flags parameter to dmi_table.
* dmidecode.c: Add reading of SMBIOS tables from sysfs.
* dmidecode.c, dmiopt.c, dmiopt.h: Add --no-sysfs option to disable
  use of sysfs.
* dmidecode.8: Document the changes above.

2015-04-20  Jean Delvare  <jdelvare@suse.de>

* biosdecode.c: Add support for the _SM3_ entry point, as defined in
  the SMBIOS 3.0.0 specification.

2014-11-14  Jean Delvare  <jdelvare@suse.de>

* man/dmidecode.8: Add a note about DMI strings available from sysfs
  on Linux.

2014-10-13  Jean Delvare  <jdelvare@suse.de>

* dmidecode.c: Add support for DDR4 (DMI type 17). Patch from Tomohiro
  Kimura. The value was taken from preliminary SMBIOS specification
  version 3.0.0d.
  This fixes Savannah bug #43370:
  https://savannah.nongnu.org/bugs/?43370

2014-07-11  Jean Delvare  <jdelvare@suse.de>

* dmidecode.c: Decode the CPUID of recent AMD processors (DMI type 4).

2014-03-20  Jean Delvare  <jdelvare@suse.de>

* dmidecode.c: Let legacy_decode be quiet in dump mode too.
* dmidecode.c: Skip the SMBIOS version comparison in quiet mode.
  Patch from Jens Rosenboom.

2014-02-25  Jean Delvare  <jdelvare@suse.de>

* dmidecode.c: Fix spacing of memory module voltage attributes
  (DMI type 17).

2014-01-13  Jean Delvare  <jdelvare@suse.de>

* dmidecode.c: Decode ID of PCI Express 3 slots (DMI type 9).
  This fixes Savannah bug #40178:
  https://savannah.nongnu.org/bugs/?40178

2014-01-13  Jean Delvare  <jdelvare@suse.de>

* LICENSE: Update to the latest upstream version. Amongst other
  things, this fixes the FSF address.

2013-04-24  Jean Delvare  <jdelvare@suse.de>

* dmidecode.c: Strip trailing zeroes from memory voltage values
  (DMI type 17).
* dmidecode.c: Fix support for new processor upgrade types (DMI
  type 4) and new memory device type (DMI type 17.)

(msaitoh)

2016-08-02 23:35:46 UTC MAIN commitmail json YAML

Use github framework properly so PR 51386 can be avoided in the future.

(wiz)

2016-08-02 23:34:08 UTC MAIN commitmail json YAML

Updated devel/py-tortoisehg to 3.9

(wiz)

2016-08-02 23:33:57 UTC MAIN commitmail json YAML

Updated py-tortoisehg to 3.9.

TortoiseHg 3.9

TortoiseHg 3.9 is a quarterly feature release, with many improvements to performance on large repositories, and security improvements in Mercurial 3.9. See https://www.mercurial-scm.org/wiki/SecureConnections

Bugs Fixes

    merge: fix missing separator in merge preview output (fixes #4526)
    repofilter: do not emit branchChanged if original branch is restored
    repowatcher: compare st_size and st_ctime to detect changes
    repowidget: add status bar to LightRepoWindow (fixes #4553)
    run: load template functions from extensions (fixes #4515)
    wconfig: patch iniparse to allow :suboption in name

Improvements

    commit: focus on commit message after branch operation (fixes #4442)
    filedata: pass in existing copy information to diff
    fileview: change shortcut keys of parent toggle actions to free Ctrl+n
    icons: doubles the icon sizes on Linux on retina displays (fixes #4493)
    init: relabel "Add special files" to avoid confusion with "hg add" (fixes #4513)
    repofilter: improve branch drop-down performance
    repomodel: new graph layout algorithm for large repositories
    status: reuse working context in WctxModel
    sync: add widget to select minimum TLS protocol
    workbench: add actions to switch tabs by Ctrl+n key (closes #3543)
    workbench: add shortcut to toggle visibility of task tab

Installer

    updates to mercurial_keyring, evolve, hgsubversion, and hg-git

(wiz)

2016-08-02 23:30:39 UTC MAIN commitmail json YAML

Updated devel/py-mercurial to 3.9

(wiz)

2016-08-02 23:30:29 UTC MAIN commitmail json YAML

Updated py-mercurial to 3.9.

Features

    ui.textwidth can now be set to define width of help text
    separate() template function added
    ui.rollback can be set to false to disable the hg rollback command
    fail-<command> hooks now run when a command fails
    experimental.graphstyle.* config options to control styling of graphs in console
    experimental.histedit.autoverb allows histedit lines beginning with "verb!" to be interpreted as histedit actions
    [hostsecurity] config section for defining advanced per-host security settings
    ability to define the SHA-256 and SHA-512 hashes of pinned server certificates
    ability to define CA certificates on a per-host basis
    ability to define the minimum TLS protocol version on a global or per-host basis
    sort() revset can now perform topological sorts using the topo option
    hgweb can now render JSON for filelog, filerevision, summary, and search web commands
    [paths] entries can now define a pushrev sub-option to control which revisions to push by default
    The experimental 'journal' extension was added, allowing users to view the previous positions of bookmarks and the working copy

Improvements

This release includes many improvements, including (but not limited to):

    performance of hg diff has been improved
    chg now detects more changes to the configuration and execution environment
    SSL/TLS code has been significantly refactored and now is consistent across all consumers (HTTPS, SMTPS)
    performance improvements to server communication (particularly for the largefiles and remotefilelog extensions)
    connections to servers whose certificate authority (CA) is unknown are now refused even if no CA certificates are available
    (see SecureConnections for details)
    fingerprints of server certificates are now printed using SHA-256 instead of SHA-1
    reads and writes to certain files is now robust and avoids more race conditions and edge cases (see ExactCacheValidationPlan)
    performance improvements to certain revsets
    cloning will no longer prompt for a password multiple times when cloning from a server that requires a password
    annotate view in hgweb now groups lines into blocks depending on their revision and highlights lines for the current revision
    hgweb now displays extra information and also navigation links in popups for each line in annotate view

(wiz)

2016-08-02 23:25:27 UTC MAIN commitmail json YAML

Update some comments.

(wiz)

2016-08-02 23:24:39 UTC MAIN commitmail json YAML

Add comment explaining how to work around two of the three test failures.

(wiz)

2016-08-02 23:14:21 UTC MAIN commitmail json YAML

Added devel/py-freezegun version 0.3.7

(wiz)

2016-08-02 23:14:08 UTC MAIN commitmail json YAML

+ py-freezegun

(wiz)

2016-08-02 23:13:51 UTC MAIN commitmail json YAML

Import py-freezegun-0.3.7 as devel/py-freezegun.

FreezeGun is a library that allows your python tests to travel
through time by mocking the datetime module.

(wiz)

2016-08-02 22:44:27 UTC MAIN commitmail json YAML

Updated net/php-baikal to 0.4.5

(wiz)

2016-08-02 22:44:02 UTC MAIN commitmail json YAML

Updated php56-baikal to 0.4.5.

0.4.5 (2016-05-28)
------------------

* #552: PHP 7.0.7 introduced a sublte BC break that caused Baikal to error.
* Upgraded sabre/dav, which fixes CardDAV performance problems.
* Ships with sabre/dav 3.1.4

(wiz)

2016-08-02 22:39:32 UTC MAIN commitmail json YAML

Updated lang/libLLVM to 3.8.1

(wiz)

2016-08-02 22:39:21 UTC MAIN commitmail json YAML

Update libLLVM to 3.8.1.

We have too many llvm packages; and too many not sharing infrastructure.

(wiz)

2016-08-02 20:14:44 UTC MAIN commitmail json YAML

Build didn't find SIZE_MAX (on 7.99.35/amd64).
Not exactly sure why, but it was repeatable, so add a patch that makes
sure SIZE_MAX is defined.

(wiz)

2016-08-02 20:07:43 UTC MAIN commitmail json YAML

Added misc/todoman version 1.6.3

(wiz)

2016-08-02 20:07:32 UTC MAIN commitmail json YAML

2016-08-02 20:07:20 UTC MAIN commitmail json YAML

Import todoman-1.6.3 as misc/todoman.

Todoman is a simple, standards-based, CLI todo (aka: task) manager.
Todos are stored into icalendar files, which means you can sync
them via CalDAV using, for example, vdirsyncer.

(wiz)

2016-08-02 18:59:01 UTC MAIN commitmail json YAML

Update print/hplip to 3.16.7.

(schnoebe)

2016-08-02 18:57:36 UTC MAIN commitmail json YAML

Update to 3.16.7:

Change log:

Added Support for the Following New Printers:

- HP  Officejet Pro 8730
- HP Officejet Pro 8210 Printer
- HP Pagewide P55250
- HP Pagewide MFP P57750
- HP Pagewide Color 556
- HP Pagewide Color MFP 586
- HP Pagewide Color flow MFP 586
- HP DeskJet Ink Advantage Ultra 5730 All-in-One Printer
- HP Color Laserjet MFP M377 fnw

(schnoebe)

2016-08-02 18:41:17 UTC MAIN commitmail json YAML

Updated graphics/gd to 2.2.3

(adam)

2016-08-02 18:29:21 UTC MAIN commitmail json YAML

We welcome the 2.2.3 release around a month after 2.2.2 (we are getting consistent). Another important milestone in the GD 2.2 series.

Security related fixes: This flaw is caused by loading data from external sources (file, custom ctx, etc) and are hard to validate before calling libgd APIs:
* fix php bug 72339, Integer Overflow in _gd2GetHeader (CVE-2016-5766)
* bug 247, A read out-of-bands was found in the parsing of TGA files (CVE-2016-6132)
* also bug 247, Buffer over-read issue when parsing crafted TGA file (CVE-2016-6214)
* bug 248, fix Out-Of-Bounds Read in read_image_tga

Using application provided parameters, in these cases invalid data causes the issues:
* Integer overflow error within _gdContributionsAlloc() (CVE-2016-6207)
* fix php bug 72494, invalid color index not handled, can lead to crash ( CVE-2016-6128)
* improve color check for CropThreshold

Important update:
* gdImageCopyResampled has been improved. Better handling of images with alpha channel, also brings libgd in sync with php's bundled gd.

(adam)

2016-08-02 17:39:46 UTC MAIN commitmail json YAML

Updated www/h2o to 2.0.2

(schmonz)

2016-08-02 17:39:41 UTC MAIN commitmail json YAML

Update to 2.0.2. From the changelog:

- [fastcgi] setenv should displace HTTP headers
  #996 (Kazuho Oku)
- [http2] fix buffer overrun
  #972 (Frederik Deweerdt)
- [misc] fix build error when libuv is not found
  #1008 (nextgenthemes)
- [misc] fix assertion failure when YAML alias and merge is used in
  certain way
  #1011 (Kazuho Oku)
- [fastcgi] fix internal server error when PHP returns a huge header
  #958 (Kazuho Oku)
- [http2] recognize link header containing multiple links
  #950 (Frederik Deweerdt)
- [libh2o] fix resource leaks upon startup failure
  #936 (David CARLIER)
- [libh2o] do not require linking to libbrotli externally
  #941 (Kazuho Oku)
- [core][breaking change] do not automatically append `/` to path-level
  configuration
  #820 (Kazuho Oku)
- [core] support `<<` in configuration file
  #786 (Kazuho Oku)
- [core] configurable server: header
  #877 (Frederik Deweerdt)
- [core] add directive for customizing the path of temporary buffer files
  #911 (Kazuho Oku)
- [core] fix crash when receiving SIGTERM during start-up
  #878 (Frederik Deweerdt)
- [core] spawn the configured number of DNS client threads
  #880 (Sean McArthur)
- [access-log] add directive for logging protocol-specific values
  #801 (Kazuho Oku)
- [access-log][fastcgi][mruby] per-request environment variables
  #868 (Kazuho Oku)
- [access-log] fix memory leak during start-up
  #864 (Frederik Deweerdt)
- [compress] on-the-fly compression using brotli, as well as
  directives to tune the compression parameters
  #802, #924 (Kazuho Oku, Frederik Deweerdt)
- [compress][expires] refrain from setting redundant `cache-control` tokens
  #846 (Kazuho Oku)
- [file] `file.file` directive for mapping specific file
  #822 (Kazuho Oku)
- [file] `send-compress` directive (renamed from `send-gzip`) to support
  pre-compressed files using brotli
  #802 (Kazuho Oku)
- [file] cache open failures
  #836 (Kazuho Oku)
- [http2] support for nopush attribute in the link rel=preload header
  #863 (Satoh Hiroh)
- [http2] support for push after delegation
  #866 (Kazuho Oku)
- [http2] ignore push indications made by a pushed response
  #897 (Kazuho Oku)
- [http2] accept `capacity-bits` attribute of the `http2-casper`
  configuration directive
  #882 (Satoh Hiroh)
- [http2] avoid memcpy during HPACK huffman encoding
  #749 (Kazuho Oku)
- [http2] fix potential stall when http2-max-concurrent-requests-per-
  connection is set to a small number
  #912 (Kazuho Oku)
- [http2] refuse push a single resource more than once
  #903 (Kazuho Oku)
- [http2] fix assertion failure when receiving more data than expected
  during upgrade
  #922 (Frederik Deweerdt)
- [mruby] add $H2O_ROOT/share/h2o/mruby to the default load path
  #851 (Kazuho Oku)
- [proxy] add support for HTTPS
  #875 (Kazuho Oku)
- [proxy] add an configuration option to pass through `x-forwarded-
  proto` request header
  #883 (Kazuho Oku)
- [proxy] log error when upstream connection is unexpectedly closed
  #895 (Frederik Deweerdt)
- [ssl] update libressl to 2.2.7
  #898 (Kazuho Oku)
- [ssl] support ECDH curves other than P-256
  #841 (Kazuho Oku)
- [ssl] add support for text-based memcache protocol
  #854 (Kazuho Oku)
- [ssl] fix memory leak when using TLS resumption with the memcached backend
  #856 (Kazuho Oku)
- [ssl] fix "undefined subroutine" error in the OCSP updater
  #872 (Masayuki Matsuki)
- [ssl] cap the number of OCSP updaters running concurrently
  #891 (Kazuho Oku)
- [ssl] fix use-after-free when using session resumption with memcached backend
  #923 (Frederik Deweerdt)
- [libh2o] add API for obtaining the socket descriptor
  #886 (Frederik Deweerdt)
- [libh2o] add API to selectively disable automated I/O on reads and writes
  #890 (Frederik Deweerdt)
- [libh2o] bugfix: h2o_mem_swap swaps only the first 256 bytes
  #924 (Frederik Deweerdt)
- [status] introduce the status handler
  #848 (Kazuho Oku)
- [misc] install examples
  #850 (James Rouzier)
- [security fix][http2] fix use-after-free on premature connection close
  (CVE-2016-4817)
  #920 (Frederik Deweerdt)
- [core] fix SIGBUS when temporary disk space is full
  #910 (Kazuho Oku)
- [mruby] do not drop `link` header
  #913 (Kazuho Oku)
- [mruby] fix memory leak during initialization
  #906 (Frederik Deweerdt)
- [mruby] fix race condition in mruby regex handler
  #908 (Kazuho Oku)
- [libh2o] fix crash in h2o_url_stringify
  #918 (Kazuho OKu)

(schmonz)

2016-08-02 16:56:32 UTC MAIN commitmail json YAML

Check the right options name. From Edgar Fuss.

(dholland)

2016-08-02 13:57:59 UTC MAIN commitmail json YAML

2016-08-02 13:57:48 UTC MAIN commitmail json YAML

Update audio/cmus to 2.7.1.

Major new features:

- conditionals in format strings, with syntax %{?CONDITION?A[?B]}
- sndio output plugin (OpenBSD)
- VTX (libayemu) input plugin
- optional mouse support (:set mouse=true to enable)

Notable changes:

- lots of new formatting options:
  - format_treewin
  - format_treewin_artist
  - format_trackwin_album
  - format_statusline
- play count support (%X or %{play_count} in format strings)
- Bash completion support for cmus and cmus-remote
- support for CMUS_SOCKET environment variable
- format_print remote command
- pwd command
- auto_expand_albums option is split into
  - auto_expand_albums_follow
  - auto_expand_albums_search
  - auto_expand_albums_selcur

(jperkin)

2016-08-02 10:14:46 UTC MAIN commitmail json YAML

Fix build, this package now needs py-cython and egg.mk

(jperkin)

2016-08-02 09:11:36 UTC MAIN commitmail json YAML

Added misc/py-ansi version 0.1.3

(wiz)

2016-08-02 09:11:06 UTC MAIN commitmail json YAML

2016-08-02 09:08:09 UTC MAIN commitmail json YAML

Import py-ansi-0.1.3 as misc/py-ansi.

Various ANSI escape codes, used in moving the cursor in a text
console or rendering coloured text.

(wiz)