There is an ABI break, and the API is changing enough that it's too
hard to figure out if not bumping API is safe. This is unfortunately
a big change and all of the geospatial world is going to have to cope.
5.0.0 Release Notes
-------------------
This version of PROJ introduces some significant extensions and
improvements to (primarily) the geodetic functionality of the system.
The main driver for introducing the new features is the emergence of
dynamic reference frames, the increasing use of high accuracy GNSS,
and the related growing demand for accurate coordinate
transformations. While older versions of PROJ included some geodetic
functionality, the new framework lays the foundation for turning PROJ
into a generic geospatial coordinate transformation engine.
[see upstream NEWS]
UPDATES
-------
o Introduced new API in proj.h.
- The new API is orthogonal to the existing proj_api.h API and the
internally used projects.h API.
- The new API adds the ability to transform spatiotemporal (4D)
coordinates.
- Functions in the new API use the "proj_" namespace.
- Data types in the new API use the "PJ_" namespace, with a few
historic exceptions such as XY, XYZ, LP and LPZ.
o Introduced the concept of "transformation pipelines" that makes it
possible to do complex geodetic transformations of spatiotemporal
coordinates by daisy chaining simple coordinate operations.
o Introduced cct, the Coordinate Conversion and Transformation
application.
o Introduced gie, the Geospatial Integrity Investigation Environment.
- Selftest invoked by -C flag in proj has been removed
- Ported approx. 1300 built-in selftests to gie format
- Ported approx. 1000 tests from the gigs test framework
- Added approx. 200 new tests
o Adopted terminology from the OGC/ISO-19100 geospatial standards
series. Key definitions are:
- At the most generic level, a *coordinate operation* is a change
of coordinates, based on a one-to-one relationship, from one
coordinate reference system to another.
- A *transformation* is a coordinate operation in which the two
coordinate reference systems are based on different datums, e.g.
a change from a global reference frame to a regional frame.
- A *conversion* is a coordinate operation in which both
coordinate reference systems are based on the same datum,
e.g. change of units of coordinates.
- A *projection* is a coordinate conversion from an ellipsoidal
coordinate system to a plane. Although projections are simply
conversions according to the standard, they are treated as
separate entities in PROJ as they make up the vast majority
of operations in the library.
o New operations:
- The pipeline operator (pipeline)
- Transformations:
+ Helmert transform (helmert)
+ Horner real and complex polynomial evaluation (horner)
+ Horizontal gridshift (hgridshift)
+ Vertical gridshift (vgridshift)
+ Molodensky transform (molodensky)
+ Kinematic gridshift with deformation model (deformation)
- Conversions:
+ Unit conversion (unitconvert)
+ Axis swap (axisswap)
- Projections:
+ Central Conic projection (ccon)
o Significant documentation updates, including
- Overhaul of the structure of the documentation
- A better introduction to the use of PROJ
- A complete reference to the new proj.h API
- a complete rewrite of the section on geodesic calculations
- Figures for all projections
o New "free format" option for operation definitions, which
permits separating tokens by whitespace when specifying key/value-
pairs, e.g. "proj = merc lat_0 = 45".
o Added metadata to init-files that can be read with the
proj_init_info() function in the new proj.h API.
o Added ITRF2000, ITRF2008 and ITRF2014 init-files with ITRF
transformation parameters, including plate motion model
parameters.
o Added ellipsoid parameters for GSK2011, PZ90 and "danish". The
latter is similar to the already supported andrae ellipsoid,
but has a slightly different semimajor axis.
o Added Copenhagen prime meridian.
o Updated EPSG database to version 9.2.0.
o Geodesic library updated to version 1.49.2-c.
o Support for analytical partial derivatives has been removed.
o Improved performance in Winkel Tripel and Aitoff.
o Introduced pj_has_inverse() function to proj_api.h. Checks if an
operation has an inverse. Use this instead of checking whether
P->inv exists, since that can no longer be relied on.
o ABI version number updated to 13:0:0.
o Removed support for Windows CE.
o Removed the VB6 COM interface.
BUG FIXES
------------
[various]
DEPRECATIONS
------------
[see upstream NEWS]
This release adds the path of the xkbcomp executable to the pkgconfig
data, allowing the X server to find the right binary regardless of
where its (the X servers) $prefix is pointed. Without this the X server
will guess that xkbcomp is configured for the same prefix; since the
default prefix is /usr/local, and your distribution certainly did not
install xkbcomp there, 'make check' and 'ninja dist' for the X server
build would fail because Xvfb would not start.
xkbcomp itself has no functional changes in this release.
This release updates the specifications and protocol headers for DRI3
and Present to 1.2, and fixes several spelling and grammar errors in
the specification texts.
the location of the patch is here:
https://gist.github.com/steleto/7d03ea70a3b1d6dbd3ad9cc9424b0112#file-pkgsrc_kicad-4-0-7-patch
Hopefull to fix PR/52996, but not checked on the paticular NetBSD release.
Only checked on 8.99.12 so far.
-----------------------------------------------------------
KiCad 4.0.7 Stable Release
2017-08-28
The KiCad project is proud to announce the latest stable
release of KiCad. The 4.0.7 stable version contains critical
bug fixes and other minor improvements since the last
release. It also includes improved footprint, symbol, and 3D
model libraries, translations, and documentation. The stable
release version 4.0.7 is made from the stable 4.0 branch with
bug fixes cherry picked from the development branch of
KiCad. KiCad binaries are available or will be available in
the near future for download for Windows, OSX and Linux, see
the download page for guidance.
http://kicad-pcb.org/post/release-4.0.7/
KiCad 4.0.6 Stable Release
2017-03-07
The KiCad project is proud to announce the latest stable
release of KiCad. The 4.0.6 stable version contains critical
bug fixes and other minor improvements since the last
release. One other notable change was the replacement of the
Avhttp library with the libcurl library when building the
GitHub plugin. This should allow Linux distributions that are
not compatible with the OpenSSL library license to distribute
KiCad with the GitHub plugin enabled.
http://kicad-pcb.org/post/release-4.0.6/
KiCad 4.0.5 Stable Release
2016-12-18
The KiCad project is proud to announce a new stable release of
KiCad. The 4.0.5 stable version contains critical bug fixes
and version string improvements since the last release. The
stable release version 4.0.5 is made from the stable 4.0
branch with bug fixes cherry picked from the development
branch of KiCad. KiCad binaries are available or will be
available in the near future for download for Windows, OSX and
Linux, see the download page for guidance.
http://kicad-pcb.org/post/release-4.0.5/
- Fix a session-management bug that could cause an authentication error
while connected to MongoDB 3.6+ and iterating a cursor
- Permit the $gleStats modifier with mongoc_collection_aggregate.
- Fixes a regression from 5.1.11 that prevented Passenger from
compiling on FreeBSD in some cases.
- Fixes a bounds issue in printing an error message that could occur
in some cases when spawning a child process fails.
- Fixes a regression from 5.2.0 which prevented setting the max pool
idle time to 0.
- Warns if using an incompatible compiler on macOS < 10.13.
- No longer uses Security Framework on macOS 10.13+. This will prevent
further keychain warnings from appropriately compiled Passengers.
- Fixes warning on macOS about /proc/self access (excluded some code
that was intended only for Linux).
- `passenger-install-nginx-module` now downloads the preferred Nginx
version via https.
- [Apache] Fixes a regression from 5.2.0 that caused a crash on
startup when no top-level ServerName is set.
- [Enterprise] Adds support for using RAM-based pricing on Heroku.
- Fixed bug when using Model.alias() when the model defined a
particular database schema.
- Added SchemaManager.create_foreign_key API to simplify adding
constraints when dealing with circular foreign-key relationships.
- Improved implementation of Migrator.add_foreign_key_constraint so
that it can be used with Postgresql (in addition to MySQL).
- Added PickleField to the playhouse.fields module. Docs.
- Fixed bug in implementation of CompressedField when using Python 3.
- Added KeyValue API in playhouse.kv module. Docs.
- More test cases for joining on sub-selects or common table
expressions.
Small patch release to fix the worst bugs in v2.3.0. v2.3.1 is coming in about a month with a lot more changes.
* CVE-2017-15130: TLS SNI config lookups may lead to excessive
memory usage, causing imap-login/pop3-login VSZ limit to be reached
and the process restarted. This happens only if Dovecot config has
local_name { } or local { } configuration blocks and attacker uses
randomly generated SNI servernames.
* CVE-2017-14461: Parsing invalid email addresses may cause a crash or
leak memory contents to attacker. For example, these memory contents
might contain parts of an email from another user if the same imap
process is reused for multiple users. First discovered by Aleksandar
Nikolic of Cisco Talos. Independently also discovered by "flxflndy"
via HackerOne.
* CVE-2017-15132: Aborted SASL authentication leaks memory in login
process.
* Linux: Core dumping is no longer enabled by default via
PR_SET_DUMPABLE, because this may allow attackers to bypass
chroot/group restrictions. Found by cPanel Security Team. Nowadays
core dumps can be safely enabled by using "sysctl -w
fs.suid_dumpable=2". If the old behaviour is wanted, it can still be
enabled by setting:
import_environment=$import_environment PR_SET_DUMPABLE=1
- imap-login with SSL/TLS connections may end up in infinite loop
3.23.0:
[designspaceLib] Added an optional lib element to the designspace as a whole, as well as to the instance elements, to store arbitrary data in a property list dictionary, similar to the UFO’s lib. Added an optional font attribute to the SourceDescriptor, to allow operating on in-memory font objects.
[cffLib] Fixed issue with lazy-loading of attributes when attempting to set the CFF TopDict.Encoding.
[ttx] Fixed regression introduced in 3.22.0 that affected the split tables -s option.
[feaLib] Added IncludedFeaNotFound custom exception subclass, raised when an included feature file cannot be found.
[otTables] Changed VarIdxMap to use glyph names internally instead of glyph indexes. The old ttx dumps of HVAR/VVAR tables that contain indexes can still be imported.
[varLib] Implemented VarStore optimizer.
[subset] Implemented pruning of GDEF VarStore, HVAR and MVAR.
[sfnt] Restore backward compatiblity with numFonts attribute of SFNTReader object.
[merge] Initial support for merging LangSysRecords.
[ttCollection] don’t seek(0) when writing to possibly unseekable strems.
[subset] Keep all --name-IDs from 0 to 6 by default.
[cffLib] Added width module to calculate optimal CFF default and nominal glyph widths.
[varLib] Don’t fail if STAT already in the master fonts
c-ares version 1.14.0:
Changes:
android: Introduce new ares_library_init_android() call for Oreo support
Bug fixes:
Fix patch for CVE-2017-1000381 to not be overly aggressive
win32: Preserve DNS server order returned by Windows when sorting and exclude DNS servers in legacy subnets
win32: Support most recent Visual Studio 2017
gethostbyaddr should fail with ECANCELLED not ENOTFOUND when ares_cancel is called
win32: Exclude legacy ipv6 subnets
android: Applications compiled for Oreo can no longer use __system_property_get and must use Java calls to retrieve DNS servers
win32: Force use of ANSI functions
CMake minimum version is now 3.1
ares_gethostbyname.3: fix callback status values
docs: Document WSAStartup requirement
Fix a typo in init_by_resolv_conf
Android JNI code leaks local references in some cases
Force using the ANSI versions of WinAPI functions
v1.11.5
* Issue 357_: fix ffi.emit_python_code() which generated a buggy
Python file if you are using a struct with an anonymous union
field or vice-versa.
* Windows: ffi.dlopen() should now handle unicode filenames.
* ABI mode: implemented ffi.dlclose() for the in-line case (it used
to be present only in the out-of-line case).
* Fixed a corner case for setup.py install --record=xx --root=yy
with an out-of-line ABI module. Also fixed Issue 345_.
* More hacks on Windows for running CFFI's own setup.py.
* Issue 358_: in embedding, to protect against (the rare case of)
Python initialization from several threads in parallel, we have to use
a spin-lock. On CPython 3 it is worse because it might spin-lock for
a long time (execution of Py_InitializeEx()). Sadly, recent
changes to CPython make that solution needed on CPython 2 too.
* CPython 3 on Windows: we no longer compile with Py_LIMITED_API
by default because such modules cannot be used with virtualenv.
Issue 350_ mentions a workaround if you still want that and are not
concerned about virtualenv: pass a define_macros=[("Py_LIMITED_API",
None)] to the ffibuilder.set_source() call.
In some case, cert8.db/key3.db/secmod.db in MDB format
from Mozilla Products causes crash on opening XML-based document.
Use LibreOffice own NSS database.
XML and PDF signing with X.509 certificate is not tested.
Changes since 4.3.6
!- Plugged a socket descriptor leak in OMAPI, that can occur when there is
data pending to be written to an OMAPI connection, when the connection
is closed by the reader.
[ISc-Bugs #46767]
! Corrected an issue where large sized 'X/x' format options were causing
option handling logic to overwrite memory when expanding them to human
readable form. Reported by Felix Wilhelm, Google Security Team.
[ISC-Bugs #47139]
CVE: CVE-2018-5732
! Option reference count was not correctly decremented in error path
when parsing buffer for options. Reported by Felix Wilhelm, Google
Security Team.
[ISC-Bugs #47140]
CVE: CVE-2018-5733