Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

undefined symbol "_allow_severity" in tcp_wrappers #295

Closed
breiter opened this issue Oct 5, 2015 · 4 comments
Closed

undefined symbol "_allow_severity" in tcp_wrappers #295

breiter opened this issue Oct 5, 2015 · 4 comments
Assignees

Comments

@breiter
Copy link

breiter commented Oct 5, 2015

I have installed stunnel on OS X 10.11 with pkgin using pkgsrc-2015Q2 and get an error whenever I try to invoke the binary. The problem is that the dependency tcp_wrappers has an undefined symbol _allow_severtiy.

The issue seems to be similar to or the same as gnats-3522 NetBSD problem report which had the same error when OpenSSH was compiled TCPWrappers support on NetBSD.

Duplicate of #260.

Steps to Reproduce

$ uname -a
Darwin asgard 15.0.0 Darwin Kernel Version 15.0.0: Wed Aug 26 16:57:32 PDT 2015; root:xnu-3247.1.106~1/RELEASE_X86_64 x86_64
$ sudo tar -xzvf bootstrap-2015Q2-x86_64.tar.gz -C /
x ./opt/pkg/
x ./opt/pkg/.pkgdb/
x ./opt/pkg/.pkgdb.refcount/
x ./opt/pkg/bin/
...

$ PATH=/opt/pkg/sbin:/opt/pkg/bin:$PATH
$ sudo pkgin -y update
Database needs to be updated.
reading local summary...
processing local summary...
updating database: 100%
pkg_summary.bz2                     100% 1779KB 889.6KB/s   1.0MB/s   00:02    
processing remote summary (http://pkgsrc.joyent.com/packages/Darwin/2015Q2/x86_64/All)...
updating database: 100%
$ sudo pkgin install stunnel
calculating dependencies... done.

nothing to upgrade.
4 packages to be installed (15M to download, 56M to install):

user-darwin-20130712 tcp_wrappers-7.6.4 perl-5.22.0 stunnel-5.17nb1

proceed ? [Y/n] 
downloading packages...
user-darwin-20130712.tgz            100% 4008     3.9KB/s   3.9KB/s   00:00    
tcp_wrappers-7.6.4.tgz              100%   83KB  82.6KB/s  13.6KB/s   00:01    
perl-5.22.0.tgz                     100%   15MB 804.4KB/s 812.8KB/s   00:19    
stunnel-5.17nb1.tgz                 100%  178KB 178.0KB/s  61.0KB/s   00:01    
installing packages...
installing user-darwin-20130712...
installing tcp_wrappers-7.6.4...
installing perl-5.22.0...
installing stunnel-5.17nb1...
stunnel-5.17nb1: copying /opt/pkg/share/examples/stunnel/stunnel.conf-sample to /opt/pkg/etc/stunnel/stunnel.conf
===========================================================================
The following files should be created for stunnel-5.17nb1:

    /etc/rc.d/stunnel (m=0755)
        [/opt/pkg/share/examples/rc.d/stunnel]

===========================================================================
===========================================================================
$NetBSD: MESSAGE,v 1.1 2008/05/27 11:51:32 tnn Exp $

If you are updating from an stunnel version earlier than 4.24, you should
be aware that the binaries have moved from /opt/pkg/sbin
to /opt/pkg/bin .
===========================================================================
pkg_install warnings: 0, errors: 0
reading local summary...
processing local summary...
updating database: 100%
marking stunnel-5.17nb1 as non auto-removable
$ stunnel --version
dyld: Symbol not found: _allow_severity
  Referenced from: /opt/pkg/lib/libwrap.7.dylib
  Expected in: flat namespace
 in /opt/pkg/lib/libwrap.7.dylib
Trace/BPT trap: 5
$
@breiter
Copy link
Author

breiter commented Oct 5, 2015

The macports version of libwrap.7.dylib does have extra symbols, including _allow_severity and works correctly.

pkgsrc

$ nm -gU /opt/pkg/lib/libwrap.7.dylib 
0000000000002ef0 T _clean_exit
0000000000003c40 T _dot_quad_addr
0000000000005684 S _dry_run
0000000000002ab0 T _eval_client
0000000000002960 T _eval_hostaddr
0000000000002a00 T _eval_hostinfo
00000000000029b0 T _eval_hostname
0000000000002b20 T _eval_server
0000000000002900 T _eval_user
0000000000003650 T _fix_fgets
00000000000036c0 T _fix_getpeername
0000000000002f20 T _fix_options
0000000000000d10 T _hosts_access
0000000000005680 S _hosts_access_verbose
0000000000005400 D _hosts_allow_table
0000000000002b90 T _hosts_ctl
0000000000005408 D _hosts_deny_table
0000000000003700 T _my_strtok
0000000000003ca0 T _numeric_addr
00000000000055f0 D _paranoid
0000000000004150 T _percent_m
0000000000002c50 T _percent_x
00000000000016d0 T _process_options
0000000000002c10 T _refuse
0000000000003790 T _request_init
0000000000003aa0 T _request_set
0000000000005410 D _resident
0000000000002560 T _rfc931
00000000000055e4 D _rfc931_timeout
0000000000005650 D _sccsid
0000000000002460 T _shell_cmd
0000000000003df0 T _skip_ipv6_addrs
0000000000003110 T _sock_host
0000000000003530 T _sock_hostaddr
00000000000032f0 T _sock_hostname
0000000000003580 T _sockgen_simplify
0000000000003c20 T _split_at
0000000000005690 S _tcpd_buf
0000000000005728 S _tcpd_context
0000000000003d90 T _tcpd_gethostbyname
0000000000004020 T _tcpd_jump
0000000000003ee0 T _tcpd_warn
00000000000055e8 D _unknown
0000000000003b50 T _xgets

MacPorts

$ nm -gU /opt/local/lib/libwrap.7.dylib 
00000000000056bc D _allow_severity
0000000000002dd0 T _clean_exit
00000000000056c0 D _deny_severity
00000000000039d0 T _dot_quad_addr
00000000000056d4 S _dry_run
0000000000002980 T _eval_client
0000000000002860 T _eval_hostaddr
0000000000002900 T _eval_hostinfo
00000000000028b0 T _eval_hostname
00000000000029f0 T _eval_server
0000000000002800 T _eval_user
0000000000002e00 T _fix_options
0000000000000a30 T _hosts_access
00000000000056d0 S _hosts_access_verbose
0000000000005440 D _hosts_allow_table
0000000000002a60 T _hosts_ctl
0000000000005448 D _hosts_deny_table
0000000000003fd0 T _main
0000000000003a30 T _numeric_addr
0000000000005634 D _paranoid
0000000000003ee0 T _percent_m
0000000000002b20 T _percent_x
0000000000001420 T _process_options
0000000000002ae0 T _refuse
0000000000003530 T _request_init
0000000000003840 T _request_set
0000000000005450 D _resident
0000000000002420 T _rfc931
0000000000005628 D _rfc931_timeout
0000000000005690 D _sccsid
0000000000002320 T _shell_cmd
0000000000003b80 T _skip_ipv6_addrs
0000000000003000 T _sock_host
00000000000031d0 T _sock_hostaddr
0000000000003220 T _sock_hostname
0000000000003460 T _sockgen_simplify
00000000000039b0 T _split_at
00000000000056f0 S _tcpd_buf
00000000000056e0 S _tcpd_context
0000000000003b20 T _tcpd_gethostbyname
0000000000003db0 T _tcpd_jump
0000000000003c70 T _tcpd_warn
000000000000562c D _unknown
00000000000038f0 T _xgets

@jperkin
Copy link
Collaborator

jperkin commented Oct 6, 2015

The 2015Q3 packages for x86_64 are now ready and available from https://pkgsrc.joyent.com/install-on-osx/ and it seems like this is fixed to me. Could you try stunnel from 2015Q3 and see if it works for you?

Not entirely sure why it's broken in 2015Q2, the package itself should be providing those definitions, but if 2015Q3 fixes it then I'm just going to close this as there won't be any further Q2 builds.

Thanks.

@jperkin jperkin self-assigned this Oct 6, 2015
@breiter
Copy link
Author

breiter commented Oct 6, 2015

Yes. tcp_wrappers package dylib seems to be OK in 2015Q3.

$ which stunnel
/opt/pkg/bin/stunnel
$ stunnel --version
[ ] Cron started
[ ] Clients allowed=125
[.] stunnel 5.20 on x86_64-apple-darwin13 platform
[.] Compiled/running with OpenSSL 1.0.2d 9 Jul 2015
[.] Threading:PTHREAD Sockets:POLL,IPv6 TLS:ENGINE,FIPS,OCSP,PSK,SNI Auth:LIBWRAP
[ ] errno: (*__error())
[.] Reading configuration from file --version
[!] Cannot open configuration file
[.]  
[.] Syntax:
[.] stunnel [<filename>] ] -fd <n> | -help | -version | -sockets
[.]     <filename>  - use specified config file
[.]     -fd <n>     - read the config file from a file descriptor
[.]     -help       - get config file help
[.]     -version    - display version and defaults
[.]     -sockets    - display default socket options

@jperkin
Copy link
Collaborator

jperkin commented Oct 6, 2015

Great, thanks! I'll close this one now.

@jperkin jperkin closed this as completed Oct 6, 2015
jperkin pushed a commit that referenced this issue Dec 14, 2015
## 1.8.1

  * Change license to MIT, thanks to all the patient contributors who gave
    their permissions.

## 1.8.0

  * add SSHKit::Backend::ConnectionPool#close_connections
    [PR #285](capistrano/sshkit#285)
    @akm
  * Clean up rubocop lint warnings
    [PR #275](capistrano/sshkit#275)
    @cshaffer
    * Prepend unused parameter names with an underscore
    * Prefer “safe assignment in condition”
    * Disambiguate regexp literals with parens
    * Prefer `sprintf` over `String#%`
    * No longer shadow `caller_line` variable in `DeprecationLogger`
    * Rescue `StandardError` instead of `Exception`
    * Remove useless `private` access modifier in `TestAbstract`
    * Disambiguate block operator with parens
    * Disambiguate between grouped expression and method params
    * Remove assertion in `TestHost#test_assert_hosts_compare_equal` that compares something with itself
  * Export environment variables and execute command in a subshell.
    [PR #273](capistrano/sshkit#273)
    @kuon
  * Introduce `log_command_start`, `log_command_data`, `log_command_exit` methods on `Formatter`
    [PR #257](capistrano/sshkit#257)
    @robd
    * Deprecate `@stdout` and `@stderr` accessors on `Command`
  * Add support for deprecation logging options.
    [README](README.md#deprecation-warnings),
    [PR #258](capistrano/sshkit#258)
    @robd
  * Quote environment variable values.
    [PR #250](capistrano/sshkit#250)
    @Sinjo - Chris Sinjakli
  * Simplified formatter hierarchy.
    [PR #248](capistrano/sshkit#248)
    @robd
    * `SimpleText` formatter now extends `Pretty`, rather than duplicating.
  * Hide ANSI color escape sequences when outputting to a file.
    [README](README.md#output-colors),
    [Issue #245](capistrano/sshkit#245),
    [PR #246](capistrano/sshkit#246)
    @robd
    * Now only color the output if it is associated with a tty,
      or the `SSHKIT_COLOR` environment variable is set.
  * Removed broken support for assigning an `IO` to the `output` config option.
    [Issue #243](capistrano/sshkit#243),
    [PR #244](capistrano/sshkit#244)
    @robd
    * Use `SSHKit.config.output = SSHKit::Formatter::SimpleText.new($stdin)` instead
  * Added support for `:interaction_handler` option on commands.
    [PR #234](capistrano/sshkit#234),
    [PR #242](capistrano/sshkit#242)
    @robd
  * Removed partially supported `TRACE` log level.
    [2aa7890](capistrano/sshkit@2aa7890)
    @robd
  * Add support for the `:strip` option to the `capture` method and strip by default on the `Local` backend.
    [PR #239](capistrano/sshkit#239),
    [PR #249](capistrano/sshkit#249)
    @robd
    * The `Local` backend now strips by default to be consistent with the `Netssh` one.
    * This reverses change [7d15a9a](capistrano/sshkit@7d15a9a) to the `Local` capture API to remove stripping by default.
    * If you require the raw, unstripped output, pass the `strip: false` option: `capture(:ls, strip: false)`
  * Simplified backend hierarchy.
    [PR #235](capistrano/sshkit#235),
    [PR #237](capistrano/sshkit#237)
    @robd
    * Moved duplicate implementations of `make`, `rake`, `test`, `capture`, `background` on to `Abstract` backend.
    * Backend implementations now only need to implement `execute_command`, `upload!` and `download!`
    * Removed `Printer` from backend hierarchy for `Local` and `Netssh` backends (they now just extend `Abstract`)
    * Removed unused `Net::SSH:LogLevelShim`
  * Removed dependency on the `colorize` gem. SSHKit now implements its own ANSI color logic, with no external dependencies. Note that SSHKit now only supports the `:bold` or plain modes. Other modes will be gracefully ignored. [#263](capistrano/sshkit#263)
  * New API for setting the formatter: `use_format`. This differs from `format=` in that it accepts options or arguments that will be passed to the formatter's constructor. The `format=` syntax will be deprecated in a future release. [#295](capistrano/sshkit#295)
  * SSHKit now immediately raises a `NameError` if you try to set a formatter that does not exist. [#295](capistrano/sshkit#295)
jperkin pushed a commit that referenced this issue Dec 14, 2015
## 1.8.1

  * Change license to MIT, thanks to all the patient contributors who gave
    their permissions.

## 1.8.0

  * add SSHKit::Backend::ConnectionPool#close_connections
    [PR #285](capistrano/sshkit#285)
    @akm
  * Clean up rubocop lint warnings
    [PR #275](capistrano/sshkit#275)
    @cshaffer
    * Prepend unused parameter names with an underscore
    * Prefer “safe assignment in condition”
    * Disambiguate regexp literals with parens
    * Prefer `sprintf` over `String#%`
    * No longer shadow `caller_line` variable in `DeprecationLogger`
    * Rescue `StandardError` instead of `Exception`
    * Remove useless `private` access modifier in `TestAbstract`
    * Disambiguate block operator with parens
    * Disambiguate between grouped expression and method params
    * Remove assertion in `TestHost#test_assert_hosts_compare_equal` that compares something with itself
  * Export environment variables and execute command in a subshell.
    [PR #273](capistrano/sshkit#273)
    @kuon
  * Introduce `log_command_start`, `log_command_data`, `log_command_exit` methods on `Formatter`
    [PR #257](capistrano/sshkit#257)
    @robd
    * Deprecate `@stdout` and `@stderr` accessors on `Command`
  * Add support for deprecation logging options.
    [README](README.md#deprecation-warnings),
    [PR #258](capistrano/sshkit#258)
    @robd
  * Quote environment variable values.
    [PR #250](capistrano/sshkit#250)
    @Sinjo - Chris Sinjakli
  * Simplified formatter hierarchy.
    [PR #248](capistrano/sshkit#248)
    @robd
    * `SimpleText` formatter now extends `Pretty`, rather than duplicating.
  * Hide ANSI color escape sequences when outputting to a file.
    [README](README.md#output-colors),
    [Issue #245](capistrano/sshkit#245),
    [PR #246](capistrano/sshkit#246)
    @robd
    * Now only color the output if it is associated with a tty,
      or the `SSHKIT_COLOR` environment variable is set.
  * Removed broken support for assigning an `IO` to the `output` config option.
    [Issue #243](capistrano/sshkit#243),
    [PR #244](capistrano/sshkit#244)
    @robd
    * Use `SSHKit.config.output = SSHKit::Formatter::SimpleText.new($stdin)` instead
  * Added support for `:interaction_handler` option on commands.
    [PR #234](capistrano/sshkit#234),
    [PR #242](capistrano/sshkit#242)
    @robd
  * Removed partially supported `TRACE` log level.
    [2aa7890](capistrano/sshkit@2aa7890)
    @robd
  * Add support for the `:strip` option to the `capture` method and strip by default on the `Local` backend.
    [PR #239](capistrano/sshkit#239),
    [PR #249](capistrano/sshkit#249)
    @robd
    * The `Local` backend now strips by default to be consistent with the `Netssh` one.
    * This reverses change [7d15a9a](capistrano/sshkit@7d15a9a) to the `Local` capture API to remove stripping by default.
    * If you require the raw, unstripped output, pass the `strip: false` option: `capture(:ls, strip: false)`
  * Simplified backend hierarchy.
    [PR #235](capistrano/sshkit#235),
    [PR #237](capistrano/sshkit#237)
    @robd
    * Moved duplicate implementations of `make`, `rake`, `test`, `capture`, `background` on to `Abstract` backend.
    * Backend implementations now only need to implement `execute_command`, `upload!` and `download!`
    * Removed `Printer` from backend hierarchy for `Local` and `Netssh` backends (they now just extend `Abstract`)
    * Removed unused `Net::SSH:LogLevelShim`
  * Removed dependency on the `colorize` gem. SSHKit now implements its own ANSI color logic, with no external dependencies. Note that SSHKit now only supports the `:bold` or plain modes. Other modes will be gracefully ignored. [#263](capistrano/sshkit#263)
  * New API for setting the formatter: `use_format`. This differs from `format=` in that it accepts options or arguments that will be passed to the formatter's constructor. The `format=` syntax will be deprecated in a future release. [#295](capistrano/sshkit#295)
  * SSHKit now immediately raises a `NameError` if you try to set a formatter that does not exist. [#295](capistrano/sshkit#295)
jperkin pushed a commit that referenced this issue Feb 14, 2016
Upstream changes (from CHANGES.md):

## 1.0.2 (2016-01-15)

* [#295](httprb/http#295):
  Fix redirect following when used with persistent mode.
  ([@ixti])
jperkin pushed a commit that referenced this issue Jun 7, 2016
0.13.0	2016-04-24

 IMPROVEMENTS

  * Support `ssh://` URLs in get_transport_and_path_from_url().
    (Jelmer Vernooij, #402)

  * Support missing empty line after headers in Git commits and tags.
    (Nicolas Dandrimont, #413)

  * Fix `dulwich.porcelain.status` when used in empty trees.
    (Jelmer Vernooij, #415)

  * Return copies of objects in MemoryObjectStore rather than
    references, making the behaviour more consistent with that of
    DiskObjectStore. (Félix Mattrat, Jelmer Vernooij)

  * Fix ``dulwich.web`` on Python3. (#295, Jonas Haag)

 CHANGES

  * Drop support for Python 2.6.

  * Fix python3 client web support. (Jelmer Vernooij)

 BUG FIXES

  * Fix hang on Gzip decompression. (Jonas Haag)

  * Don't rely on working tell() and seek() methods
    on wsgi.input. (Jonas Haag)

  * Support fastexport/fastimport functionality on python3 with newer
    versions of fastimport (>= 0.9.5). (Jelmer Vernooij, Félix Mattrat)

0.12.0	2015-12-13

 IMPROVEMENTS

  * Add a `dulwich.archive` module that can create tarballs.
    Based on code from Jonas Haag in klaus.

  * Add a `dulwich.reflog` module for reading and writing reflogs.
    (Jelmer Vernooij)

  * Fix handling of ambiguous refs in `parse_ref` to make
    it match the behaviour described in https://git-scm.com/docs/gitrevisions.
    (Chris Bunney)

  * Support Python3 in C modules. (Lele Gaifax)

 BUG FIXES

  * Simplify handling of SSH command invocation.
    Fixes quoting of paths. Thanks, Thomas Liebetraut. (#384)

  * Fix inconsistent handling of trailing slashes for DictRefsContainer. (#383)

  * Add hack to support thin packs duing fetch(), albeit while requiring the
    entire pack file to be loaded into memory. (jsbain)

 CHANGES

  * This will be the last release to support Python 2.6.
jperkin pushed a commit that referenced this issue Jul 17, 2016
- Fix incorrectly reporting files containing disabled formatting as
  being formatted.
- Fix incorrect handling of quoted arguments in the options file (#321).
- Fix error in identifying an enum return type as an enumeration
  (#322, 323).
- Fix error in identifying an enum argument as an enumeration (#327).
- Fix recognition of Qt keywords when used as variables in C++ (#329).
- Fix recognition of a pointer in a C++ cast (#316).
- Fix removing trailing whitespace after a changed pointer or
  reference cast.

- Add new bracket style option "style=vtk" (#155).
- Add new option "indent-preproc-block" to indent blocks of preprocessor
  directives (#21, #114, #229, #242, #294).
- Add new option, "dry-run", to run AStyle without updating the files
  (#184, #285).
- Add new options, "html" (-!") and "html=###", to display the HTML help
  documentation in the default browser.
- Add tags "*INDENT-OFF*" and "*INDENT_ON*" to disable formatting of
  source code blocks (#2, #47, #55, #78, #110, #176).
- Add tag *NOPAD* to disable selected formatting on a single line.
- Add '__attribute__ ((visibility ("default")))' to Linux exported functions.
- Remove option "style=ansi" and make it depreciated (#146).
- Remove fix for broken 'case' statements from release 2.02.1, Nov 21, 2011.
- Improve Korean translation (#256).
- Change shared libraries to include the version number as part of the
  file name (#264)
- Change "help" display to stdout to allow piping and redirection (#63).
- Change "version" display to stdout.
- Change headers to include foreach, forever, Q_FOREACH, and Q_FOREVER
  (#98, #154).
- Change compiler definition ASTYLE_NO_VCX (no Visual Studio exports) to
  ASTYLE_NO_EXPORTS.
- Change shared library error handler argument from "char*" to "const char*".
- Fix not recognizing noexcept, interrupt, and autoreleasepool as
  pre-command headers (#225, #259).
- Fix formatting of C++11 uniform initializer brackets (#253, #257,
  #260, #284).
- Fix to not automatically space pad C++11 uniform initializer
  brackets (#275).
- Fix formatting of enums with leading commas (#159, #179, #270).
- Fix formatting of logical && operator in class initializers (#290).
- Fix flagging a 'const' variable as a 'const' method (#275).
- Fix piping and redirection adding an extra character to the output
  (#245, #252, #305).
- Fix "indent-modifiers" to attach class access modifiers to Horstmann
  style brackets.
- Fix ASFormatter to correctly recognize the end of a C++ raw string
  literal (#261).
- Fix to recognize C++11 "enum class" as an enum (#303).
- Fix indent of C++11 "noexecpt" statements within a class (#260, #304).
- Fix not resetting templateDepth when a template was not found (#295).
- Fix formatting of multiplication in a block paren (#144).
- Fix whitespace padding when formatting an rvalue references (#297).
- Fix to recognize an rvalue reference without a name (#265).
- Fix to not identify an operator overload method as a calculation (#296).
- Fix concatenating multiplication with a pointer dereference (#291).
- Fix recognition of a pointer dereference following a question mark (#213).
- Fix extra space after a trailing reference type (#300).
- Fix _asm blocks not being identified as a block opener and the
  variable not cleared on exit (#163).
- Fix indentation of line comments before a "class" opening bracket.
- Fix indentation of line comments before a "namespace" opening bracket.
- Fix isBracketType() method to correctly process a NULL_TYPE.
- Fix unpad-paren to recognize additional variables (#43, #132, #143).
- Fix indentation of C# "let" statements.
- Fix a few omissions with "fill-empty-lines".
- Fix file read to read 64K blocks of data.
- Refactor to un-obfuscate (clarify) the code, and improve design and
  decomposition::
    - Extract class Utf8_16 from ASConsole.
    - Replace Linux dependency on iconv with a Utf8_16 class for ASLibrary.
    - Move global "using" statements to the astyle namespace in astyle.h
      and ASLocalizer.h.
    - Move shared library declarations from astyle.h to astyle_main.h.
    - Move indentable macros from ASEnhancer to ASResource and create
      static pairs.
    - Simplify ASBeautifier procedure to identify the colon (:) type.
    - Major refactoring in ASBeautifier to create separate variables for
      an enum, a class statement and a class initializer.
    - This was needed to fix the processing of C++11 uniform
      initializers in a class initializer.
    - Minor changes to ASFormatter and ASBeautifier based on results of
      the Clang analyzer.
    - Change several methods in astyle_main to "const".
jperkin pushed a commit that referenced this issue Jan 16, 2017
Version 0.34
------------

Released on 2016-12-21.

Bug fixes:

* `#398 <https://github.com/Kozea/WeasyPrint/issues/398>`_:
  Honor the presentational_hints option for PDFs.
* `#399 <https://github.com/Kozea/WeasyPrint/pull/399>`_:
  Avoid CairoSVG-2.0.0rc* on Python 2.
* `#396 <https://github.com/Kozea/WeasyPrint/issues/396>`_:
  Correctly close files open by mkstemp.
* `#403 <https://github.com/Kozea/WeasyPrint/issues/403>`_:
  Cast the number of columns into int.
* Fix multi-page multi-columns and add related tests.


Version 0.33
------------

Released on 2016-11-28.

New features:

* `#393 <https://github.com/Kozea/WeasyPrint/issues/393>`_:
  Add tests on MacOS.
* `#370 <https://github.com/Kozea/WeasyPrint/issues/370>`_:
  Enable @font-face on MacOS.

Bug fixes:

* `#389 <https://github.com/Kozea/WeasyPrint/issues/389>`_:
  Always update resume_at when splitting lines.
* `#394 <https://github.com/Kozea/WeasyPrint/issues/394>`_:
  Don't build universal wheels.
* `#388 <https://github.com/Kozea/WeasyPrint/issues/388>`_:
  Fix logic when finishing block formatting context.


Version 0.32
------------

Released on 2016-11-17.

New features:

* `#28 <https://github.com/Kozea/WeasyPrint/issues/28>`_:
  Support @font-face on Linux.
* Support CSS fonts level 3 almost entirely, including OpenType features.
* `#253 <https://github.com/Kozea/WeasyPrint/issues/253>`_:
  Support presentational hints (optional).
* Support break-after, break-before and break-inside for pages and columns.
* `#384 <https://github.com/Kozea/WeasyPrint/issues/384>`_:
  Major performance boost.

Bux fixes:

* `#368 <https://github.com/Kozea/WeasyPrint/issues/368>`_:
  Respect white-space for shrink-to-fit.
* `#382 <https://github.com/Kozea/WeasyPrint/issues/382>`_:
  Fix the preferred width for column groups.
* Handle relative boxes in column-layout boxes.

Documentation:

* Add more and more documentation about Windows installation.
* `#355 <https://github.com/Kozea/WeasyPrint/issues/355>`_:
  Add fonts requirements for tests.


Version 0.31
------------

Released on 2016-08-28.

New features:

* `#124 <https://github.com/Kozea/WeasyPrint/issues/124>`_:
  Add MIME sniffing for images.
* `#60 <https://github.com/Kozea/WeasyPrint/issues/60>`_:
  CSS Multi-column Layout.
* `#197 <https://github.com/Kozea/WeasyPrint/pull/197>`_:
  Add hyphens at line breaks activated by a soft hyphen.

Bux fixes:

* `#132 <https://github.com/Kozea/WeasyPrint/pull/132>`_:
  Fix Python 3 compatibility on Windows.

Documentation:

* `#329 <https://github.com/Kozea/WeasyPrint/issues/329>`_:
  Add documentation about installation on Windows.


Version 0.30
------------

Released on 2016-07-18.

WeasyPrint now depends on html5lib-0.999999999.

Bux fixes:

* Fix Acid2
* `#325 <https://github.com/Kozea/WeasyPrint/issues/325>`_:
  Cutting lines is broken in page margin boxes.
* `#334 <https://github.com/Kozea/WeasyPrint/issues/334>`_:
  Newest html5lib 0.999999999 breaks rendering.


Version 0.29
------------

Released on 2016-06-17.

Bug fixes:

* `#263 <https://github.com/Kozea/WeasyPrint/pull/263>`_:
  Don't crash with floats with percents in positions.
* `#323 <https://github.com/Kozea/WeasyPrint/pull/323>`_:
  Fix CairoSVG 2.0 pre-release dependency in Python 2.x.


Version 0.28
------------

Released on 2016-05-16.

Bug fixes:

* `#189 <https://github.com/Kozea/WeasyPrint/issues/189>`_:
  ``white-space: nowrap`` still wraps on hyphens
* `#305 <https://github.com/Kozea/WeasyPrint/issues/305>`_:
  Fix crashes on some tables
* Don't crash when transform matrix isn't invertible
* Don't crash when rendering ratio-only SVG images
* Fix margins and borders on some tables


Version 0.27
------------

Released on 2016-04-08.

New features:

* `#295 <https://github.com/Kozea/WeasyPrint/pull/295>`_:
  Support the 'rem' unit.
* `#299 <https://github.com/Kozea/WeasyPrint/pull/299>`_:
  Enhance the support of SVG images.

Bug fixes:

* `#307 <https://github.com/Kozea/WeasyPrint/issues/307>`_:
  Fix the layout of cells larger than their tables.

Documentation:

* The website is now on GitHub Pages, the documentation is on Read the Docs.
* `#297 <https://github.com/Kozea/WeasyPrint/issues/297>`_:
  Rewrite the CSS chapter of the documentation.
jperkin pushed a commit that referenced this issue Jan 23, 2017
This upgrade fixes compatibility with new lxml.

Upstream changelog
==================
2.3.1

_This is a micro release and I have very little time on my hands right now sorry_

    Fix crash with no values when the print_values_position param is set (thanks @cristen)

2.3.0

    New call API: chart = Line(fill=True); chart.add('title', [1, 3, 12]); chart.render() can now be replaced with Line(fill=True)(1, 3, 12, title='title').render()
    Drop python 2.6 support

2.2.3

    Fix bar static value positioning (#315)
    Add stroke_opacity style (#321)
    Remove useless js in sparklines. (#312)

2.2.2

    Add classes option.
    Handle ellipsis in list type configs to auto-extend parent. (Viva python3)

2.2.0

    Support interruptions in line charts (thanks @piotrmaslanka #300)
    Fix confidence interval reactiveness (thanks @chartique #296)
    Add horizontal line charts (thanks @chartique #301)
    There is now a formatter config option to format values as specified. The formatter callable may or may not take chart, serie and index as argument. The default value formatting is now chart dependent and is value_formatter for most graph but could be a combination of value_formatter and x_value_formatter for dual charts.
    The human_readable option has been removed. Now you have to use the pygal.formatters.human_readable formatter (value_formatter=human_readable instead of human_readable=True)
    New chart type: SolidGauge (thanks @chartique #295)
    Fix range option for some Charts (#297 #298)
    Fix timezones for DateTimeLine for python 2 (#306, #302)
    Set default uri protocol to https (should fix a lot of "no tooltips" bugs).

2.1.1

    Import scipy as a last resort in stats.py (should workaround bugs like #294 if scipy is installed but not used)

2.1.0

    Bar print value positioning with print_values_position. Can be top, center or bottom (thanks @chartique #291) ci doc
    Confidence intervals (thanks @chartique #292) data doc

2.0.12

    Use custom xml_declaration avoiding conflict with processing instructions

2.0.11

    lxml 3.5 compatibility (#282)

2.0.10

    Fix transposable_node in case all attributes are not there. (thanks @yobuntu).

2.0.9

    Add dynamic_print_values to show print_values on legend hover. (#279)
    Fix unparse_color for python 3.5+ compatibility (thanks @felixonmars, @sjourdois)
    Process major labels as labels. (#263)
    Fix labels rotation > 180 (#257)
    Fix secondary axis
    Don't forget secondary series in table rendering (#260)
    Add defs config option to allow adding gradients and patterns.

2.0.8

    Fix value overwrite in map. (#275)

2.0.7

    Fixing to checks breaking rendering of DateTimeLine and TimeDeltaLine (#264) (thanks @mmrose)
    Fix render_in_browser. (#266) (#268) (thanks @waixwong)

2.0.6

    Avoid x label formatting when label is a string

2.0.5

    Fix x label formatting

2.0.4

    Fix map coloration

2.0.3

    Fix label adaptation. (#256)
    Fix wrong radar truncation. (#255)

2.0.2

    Fix view box differently to avoid getting a null height on huge numbers. (#254)
    Fix broken font_family default
    Fix non namespaced svg (without embed) javascript by adding uuid in config object. (config is in window.pygal now).

2.0.1

    Fix the missing title on x_labels with labels.
    Auto cast to str x labels in non dual charts (#178)
    Add print_labels option to print label too. (#197)
    Add value_label_font_family and value_label_font_size style options for print_labels.
    Default print_zeroes to True
    (Re)Add xlink in desc to show on tooltip
    Activate element on tooltip hovering. (#106)
    Fix radar axis behaviour (#247)
    Add tooltip support in metadata to add a title (#249).
    Take config class options in account too.

2.0.0

    Rework the ghost mechanism to come back to a more object oriented behavior, storing all state in a state object which is created on every render. (#161)
    Refactor maps
    Add world continents
    Add swiss cantons map (thanks @sergedroz)
    Add inverse_y_axis options to reverse graph (#24)
    Fix DateTimeLine time data loss (#193)
    Fix no data for graphs with only zeroes (#148)
    Support value formatter for pie graphs (#218) (thanks @never-eat-yellow-snow)
    Add new Box plot modes and outliers and set extremes as default (#226 #121 #149) (thanks @djezar)
    Add secondary_range option to set range for secondary values. (#203)
    Maps are now plugins, they are removed from pygal core and moved to packages (pygal_maps_world, pygal_maps_fr, pygal_maps_ch, ...) (#225)
    Dot now supports negative values
    Fix dot with log scale (#201)
    Fix y_labels behaviour for lines
    Fix x_labels and y_labels behaviour for xy like
    Improve gauge a bit
    Finally allow call chains on add
    Transform min_scale and max_scale as options
    mode option has been renamed to a less generic name: box_mode
    fix stack_from_top for stacked lines
    Add flake8 test to py.test in tox
    Remove stroke style in style and set it as a global / serie configuration.
    Fix None values in tables
    Fix timezones in DateTimeLine
    Rename in Style foreground_light as foreground_strong
    Rename in Style foreground_dark as foreground_subtle
    Add a render_data_uri method (#237)
    Move font_size config to style
    Add font_family for various elements in style
    Add googlefont:font support for style fonts
    Add tooltip_fancy_mode to revert to old tooltips
    Add auto print_value color + a configurable value_colors list in style
    Add guide_stroke_dasharray and guide_stroke_dasharray in style to customize guides (#242) (thanks @cbergmiller)
    Refactor label processing in a _compute_x_labels and _compute_y_labels method. Handle both string and numbers for all charts. Create a Dual base chart for dual axis charts. (#236)
    Better js integration in maps. Use the normal tooltip.
jperkin pushed a commit that referenced this issue Mar 20, 2017
v0.8.1							2017/02/22

* This release fixes an issue with I18n.transliterate and Chinese
  characters. See #362 for more information.

v0.8.0							2017/01/31

Notable changes

* You can now set I18n.cache_key_digest to determine how cache keys are
  calculated. If you were seeing issues where the same value stored in a cache
  produced a different key, then this fix will interest you. For more
  information, see #285.

* You can now override translate_format in I18n::Backend classes to customize
  how localize will perform. See #347 (comment) for more details.

* You can now interpolate the value of a key inside another key. See #300 for
  more information.

* The exists? method was added to the fallback backend, to match other backend
  implementations - #326

* Added N_ to GetText::Helpers - #121

* Added a :default option for I18n.localize - #251

Bug fixes

* Reverted a commit which made it so that the great documentation for
  I18n.translate wasn't made visible through a yard documentation
  generation. - bc926eb

* I18n.MissingTranslation.new can now be called with two arguments. It will no
  longer raise a "TypeError: can't dup NilClass" exception - #295

* I18n's Hash#slice method no longer fails if the hash does not have the
  specified key - #289

* I18n::Backend::Metadata will now no longer attempt to set
  @translation_metadata on frozen objects - #305

* Added missing many rule to pl translation rules - #346

* Calling I18n.t(:foo, default: nil) Or I18n.t(:foo, default: false) will now
  return nil or false, rather than returning a missing translation exception -
  #144

* Setting I18n.load_path via I18n.load_path= will now reset the
  @@available_locales_set setting. - #348 & #173

* The subclasses of Hash when calling Hash#slice are maintained - #250

* Fixed I18n.interpolate behaviour when it was passed an
  ActiveSupport::SafeBuffer object - #216
jperkin pushed a commit that referenced this issue Mar 20, 2017
## 2.0.7 (2017-03-19)

* Do not modify BasicObject during template compilation on ruby 2.0+ (#309, jeremyevans)

## 2.0.6 (2017-01-26)

* Add support for LiveScript (#286, @Announcement Jacob Francis Powers)
* Add support for Sigil (#302, winebarrel)
* Add support for Erubi (#308, jeremyevans)
* Add support for options in Liquid (#298, #299, laCour)
* Always sort locals by strings (#307, jeremyevans)

* Fix test warnings (#305, amatsuda)
* Fix indentation (#293, yui-knk)
* Use SVG badges in README (#294, vasinov)
* Fix typo and trailing space (#295, #296, karloescota)

## 2.0.5 (2016-06-02)

* Add support for reST using Pandoc (#284, mfenner)
* Make lazy loading thread-safe; remove warning (judofyr)

## 2.0.4 (2016-05-16)

* Fix regression in BuilderTemplate (#283, judofyr)

## 2.0.3 (2016-05-12)

* Add Pandoc support (#276, jmuheim)
* Add CommonMark support (#282, raphink)
* Add TypeScript support (#278, nghitran)
* Work with frozen string literal (#274, jeremyevans)
* Add MIME type for Babel (#273, SaitoWu)

## 2.0.2 (2016-01-06)

* Pass options to Redcarpet (#250, hughbien)
* Haml: Improve error message on frozen self (judofyr)
* Add basic support for Babel (judofyr)
* Add support for .litcoffee (#243, judofyr, mr-vinn)
* Document Tilt::Cache (#266, tommay)
* Sort local keys for better caching (#257, jeremyevans)
* Add more CSV options (#256, Juanmcuello)
* Add Prawn template (kematzy)
* Improve cache-miss performance in Tilt::Cache (#251, tommay)
* Add man page (#241, josephholsten)
* Support YAML/JSON data in bin/tilt (#241, josephholsten)

## 2.0.1 (2014-03-21)

* Fix Tilt::Mapping bug in Ruby 2.1.0 (9589652c569760298f2647f7a0f9ed4f85129f20)
* Fix `tilt --list` (#223, Achrome)
* Fix circular require (#221, amarshall)

## 2.0.0 (2013-11-30)

* Support Pathname in Template#new (#219, kabturek)
* Add Mapping#templates_for (judofyr)
* Support old-style #register (judofyr)
* Add Handlebars as external template engine (#204, judofyr, jimothyGator)
* Add org-ruby as external template engine (#207, judofyr, minad)
* Documentation typo (#208, elgalu)

## 2.0.0.beta1 (2013-07-16)

* Documentation typo (#202, chip)
* Use YARD for documentation (#189, judofyr)
* Add Slim as an external template engine (judofyr)
* Add Tilt.templates_for (#121, judofyr)
* Add Tilt.current_template (#151, judofyr)
* Avoid loading all files in tilt.rb (#160, #187, judofyr)
* Implement lazily required templates classes (#178, #187, judofyr)
* Move #allows_script and default_mime_type to metadata (#187, judofyr)
* Introduce Tilt::Mapping (#187, judofyr)
* Make template compilation thread-safe (#191, judofyr)
jperkin pushed a commit that referenced this issue Apr 10, 2017
v1.10

    Issue #295: use calloc() directly instead of PyObject_Malloc()+memset()
    to handle ffi.new() with a default allocator. Speeds up
    ffi.new(large-array) where most of the time you never touch
    most of the array.
    Some OS/X build fixes (“only with Xcode but without CLT”).
    Improve a couple of error messages: when getting mismatched
    versions of cffi and its backend; and when calling functions
    which cannot be called with libffi because an argument is a
    struct that is “too complicated” (and not a struct pointer,
    which always works).
    Add support for some unusual compilers (non-msvc, non-gcc,
    non-icc, non-clang)
    Implemented the remaining cases for ffi.from_buffer. Now all
    buffer/memoryview objects can be passed. The one remaining check
    is against passing unicode strings in Python 2. (They support
    the buffer interface, but that gives the raw bytes behind the
    UTF16/UCS4 storage, which is most of the times not what you
    expect. In Python 3 this has been fixed and the unicode strings
    don’t support the memoryview interface any more.)
    The C type _Bool or bool now converts to a Python boolean when
    reading, instead of the content of the byte as an integer. The
    potential incompatibility here is what occurs if the byte
    contains a value different from 0 and 1. Previously, it would
    just return it; with this change, CFFI raises an exception in
    this case. But this case means “undefined behavior” in C; if
    you really have to interface with a library relying on this,
    don’t use bool in the CFFI side. Also, it is still valid to use
    a byte string as initializer for a bool[], but now it must only
    contain \x00 or \x01. As an aside, ffi.string() no longer works
    on bool[] (but it never made much sense, as this function stops
    at the first zero).
    ffi.buffer is now the name of cffi’s buffer type, and ffi.buffer()
    works like before but is the constructor of that type.
    ffi.addressof(lib, "name") now works also in in-line mode, not
    only in out-of-line mode. This is useful for taking the address
    of global variables.
    Issue #255: cdata objects of a primitive type (integers, floats,
    char) are now compared and ordered by value. For example, <cdata
    'int' 42> compares equal to 42 and <cdata 'char' b'A'> compares
    equal to b'A'. Unlike C, <cdata 'int' -1> does not compare equal
    to ffi.cast("unsigned int", -1): it compares smaller, because
    -1 < 4294967295.
    PyPy: ffi.new() and ffi.new_allocator()() did not record “memory
    pressure”, causing the GC to run too infrequently if you call
    ffi.new() very often and/or with large arrays. Fixed in PyPy
    5.7.
    Support in ffi.cdef() for numeric expressions with + or -.
    Assumes that there is no overflow; it should be fixed first
    before we add more general support for arbitrary arithmetic on
    constants.
jperkin pushed a commit that referenced this issue Jun 13, 2017
## 2017-04-18 (2.1.0)
 * Allow passing of `decimal_class` option to specify a class as which to parse
   JSON float numbers.
## 2017-03-23 (2.0.4)
 * Raise exception for incomplete unicode surrogates/character escape
   sequences. This problem was reported by Daniel Gollahon (dgollahon).
 * Fix arbitrary heap exposure problem. This problem was reported by Ahmad
   Sherif (ahmadsherif).

## 2017-01-12 (2.0.3)
 * Set `required_ruby_version` to 1.9
 * Some small fixes

## 2016-07-26 (2.0.2)
  * Specify `required_ruby_version` for json\_pure.
  * Fix issue #295 failure when parsing frozen strings.

## 2016-07-01 (2.0.1)
  * Fix problem when requiring json\_pure and Parser constant was defined top
    level.
  * Add `RB_GC_GUARD` to avoid possible GC problem via Pete Johns.
  * Store `current_nesting` on stack by Aaron Patterson.

## 2015-09-11 (2.0.0)
  * Now complies to newest JSON RFC 7159.
  * Implements compatibiliy to ruby 2.4 integer unification.
  * Drops support for old rubies whose life has ended, that is rubies < 2.0.
    Also see https://www.ruby-lang.org/en/news/2014/07/01/eol-for-1-8-7-and-1-9-2/
  * There were still some mentions of dual GPL licensing in the source, but JSON
    has just the Ruby license that itself includes an explicit dual-licensing
    clause that allows covered software to be distributed under the terms of
    the Simplified BSD License instead for all ruby versions >= 1.9.3. This is
    however a GPL compatible license according to the Free Software Foundation.
    I changed these mentions to be consistent with the Ruby license setting in
    the gemspec files which were already correct now.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants