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

2014Q4 samba4 problems #255

Open
RSully opened this issue Apr 1, 2015 · 3 comments
Open

2014Q4 samba4 problems #255

RSully opened this issue Apr 1, 2015 · 3 comments

Comments

@RSully
Copy link

RSully commented Apr 1, 2015

I spun up a base-64-lts zone (c02a2044-c1bd-11e4-bd8c-dfc1db8b0182) on the current build of SmartOS and ran the following:

pkgin -y update
pkgin -y upgrade
pkgin -y install samba4

Based on the message I saw at the end of installation I figured any setup would be as easy as modifying /opt/local/etc/samba/smb.conf and running svcadm enable -r svc:/pkgsrc/samba4:default. A couple problems I've ran into:

  • It looks like the command is actually svcadm enable -r svc:/pkgsrc/samba4:smbd.
  • It looks like it is looking for the config file at /opt/local/etc/smb.conf instead.
  • Out of the box logging gives me errors such as "Unable to open new log file '/usr/local/samba/var/log.$client: No such file or directory".

Let me know if there is any more info I can provide or if there is a newer image or version I should be using.

@wiedi
Copy link

wiedi commented Apr 1, 2015

I see why the first two happen: the samba4 pkg from wip uses the files from samba:

FILESDIR=       ${PKGDIR}/../../net/samba/files

So it picks up the samba 3 SMF manifest.

For issues 1 it is then missing SMF_INSTANCES= smbd nmbd in its makefile (if samba 4 also has these services, i've not checked).
But issue 2 sounds like it deserves its own manifest anyway.

@drscream
Copy link

drscream commented Apr 1, 2015

I can confirm the issue with samba4. The manifest is wrong or maybe the package isn't build correctly to detect the config file in /opt/local/samba/ (smb.conf). A simple workaround would be to modify the manifest to and specify the config file directly.

<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<service_bundle type='manifest' name='export'>
  <service name='pkgsrc/samba4' type='service' version='0'>
    <dependency name='fs-root' grouping='require_all' restart_on='none' type='service'>
      <service_fmri value='svc:/system/filesystem/root'/>
    </dependency>
    <dependency name='network-service' grouping='require_all' restart_on='none' type='service'>
      <service_fmri value='svc:/network/service'/>
    </dependency>
    <instance name='nmbd' enabled='true'>
      <exec_method name='start' type='method' exec='/opt/local/sbin/nmbd -D -s /opt/local/etc/samba/smb.conf' timeout_seconds='0'/>
      <exec_method name='stop' type='method' exec=':kill' timeout_seconds='30'/>
      <exec_method name='refresh' type='method' exec=':kill -HUP' timeout_seconds='0'/>
      <template>
        <common_name>
          <loctext xml:lang='C'>Samba NetBIOS name server</loctext>
        </common_name>
        <documentation>
          <manpage title='nmbd' section='8' manpath='man'/>
        </documentation>
      </template>
    </instance>
    <instance name='smbd' enabled='true'>
      <exec_method name='start' type='method' exec='/opt/local/sbin/smbd -D -s /opt/local/etc/samba/smb.conf' timeout_seconds='0'/>
      <exec_method name='stop' type='method' exec=':kill' timeout_seconds='30'/>
      <exec_method name='refresh' type='method' exec=':kill -HUP' timeout_seconds='0'/>
      <template>
        <common_name>
          <loctext xml:lang='C'>Samba SMB/CIFS services</loctext>
        </common_name>
        <documentation>
          <manpage title='smbd' section='8' manpath='man'/>
        </documentation>
      </template>
    </instance>
    <stability value='Unstable'/>
  </service>
</service_bundle>

@RSully
Copy link
Author

RSully commented Apr 1, 2015

I am also seeing "Unable to open printcap file /etc/printcap for read!". In my [global] (I have load printers = no, if that has any relation).

(For the moment I simply symlink'd the conf file as a workaround to get samba4 to enable)

jperkin pushed a commit that referenced this issue Apr 16, 2015
Release 2.5.6
=============

Bugs fixed
----------

- Detection of the R version during setup on Win8 (issues #255 and #258)

- Segmentation fault when converting :mod:`pandas` :class:`Series` with
  elements of type object (issue #264)

- The default converter from Python (non-rpy2) objects to rinterface-level
  objects was producing robjects-level objects whenever the input was of
  type :class:`list` (discovered while fixing issue #264)

- Implemented suggested fix for issue with unlinking files on Windows
  (issue #191)

- Testing rpy2 in the absence of ipython no longer stops with an error
  (issue #266)


Release 2.5.5
=============

Bugs fixed
----------

- Crash (segfault) when querying an R object in an R environment triggers an
  error (symbol exists, but associated values resolves to an error - issue #251)

- Change in the signature of `rcall` was not updated in the documentation
  (issue #259)

- Minor update to the documentation (issue #257)


Release 2.5.4
=============

Bugs fixed
----------

- Filter PNG files on size, preventing empty files causing trouble to be
  ipython notebook rendering of graphics later on (slight modification of
  the pull request #39)

- Fix installation left unresolved with rpy2-2.5.3 (issue #248)

- Possible segfault with Python 3.4 (issue #249)


Release 2.5.3
=============

Changes
-------

- `setup.py` has `install_requires` in addition to `requires` in the hope to
   fix the missing dependency with Python 2 (:mod:`singledispatch` is required
   but not installed).

Bugs fixed
----------

- Extracting configuration information from should now work when R is emitting a warning (issue #247)

- On OS X the library discovery step can yield nothing (see issue #246). A tentative fix is to issue
  a warning and keep moving.


Release 2.5.2
=============

Bugs fixed
----------

- String representation of :class:`robjects.R` (issue #238)

- Check during `build_ext` if unsupported version of R (pull request #32)

- HTMl display of columns of factors in a DataFrame (issue #236)

- HTML display of factors (issue #242)


Release 2.5.1
=============

Bugs fixed
----------

- Require singledispatch if Python 3.3 (issue #232)

- Fixed bug when R spits out a warning when asked configuration information (issue #233)

- Restored printing of compilation information when running `setup.py`

- Fixed installation issue on some systems (issue #234)

- Workaround obscure failure message from unittest if Python < 3.4 and
  :mod:`singledispatch` cannot be imported (issue #235)


Release 2.5.0
=============

New features
------------

- Experimental alternative way to preserve R objects from garbage collection.
  This can be activated with `rinterface.initr(r_preservehash=True)` (default
  is `False`.

- :class:`GGPlot` object getting a method :meth:`save`
  mirroring R's `ggplot2::ggsave()`.

- The conversion system is now using generics/single dispatch.

- New module :mod:`rpy2.ipython.html` with HTML display for rpy2 objects

- [Experimental] New function :func:`robjects.methods.rs4instance_factory`
  to type RS4 objects with more specificity.

Changes
-------

- The script `setup.py` was rewritten for clarity and ease of maintenance.
  Now it only uses `setuptools`.


Release 2.4.4
=============

Bugs fixed
----------

- Use `input` rather than `raw_input` in the default console callback
  with Python 3 (fixes issue #222)

- Issues with conversions, pandas, and rmagic (fixes issue #218 and more)


Release 2.4.3
=============

Bugs fixed
----------

- `geom_raster` was missing from `rpy2.robjects.lib.ggplot2` (pull request #30)

- Fixed issue with SVG rendering in ipython notebook (issue #217)

- Regression with `rx2()` introduced with new conversion (issue #219)

- Fixed documentation (missing `import`) (issue #213)


Release 2.4.2
=============

Bugs fixed
----------

- Assigning an R `DataFrame` into an environment was failing if
  the conversion for Pandas was activated. (Issue #207)


Release 2.4.1
=============

Bugs fixed
----------

- :meth:`rpy2.ipython` fixed spurious output to notebook cells.



Release 2.4.0
=============

Changes
-------

- Conversion system slightly changed, with the optional
  conversions for :mod:`numpy` and :mod:`pandas` modified
  accordingly. The changes should only matter if using
  third-party conversion functions.

- The Python 3 version is now a first class citizen. `2to3`
  is no longer used, and the code base is made directly
  compatible with Python. This lowers significantly the
  installation time with Python 3
  (which matters when developping rpy2).

- The default options to initialize R (`rpy2.rinterface.initoptions') are no longer
  `('rpy2', '--quiet', '--vanilla', '--no-save')` but now
  `('rpy2', '--quiet', '--no-save')`.

- :class:`robjects.vectors.ListVector` can be instanciated from
  any objects with a method `items()` with the expectation that the method
  returns an iterable of (name, value) tuples, or even be an iterable
  of (name, value) tuples.

New features
------------

- For instances of :class:`rpy2.robjects.Function`,
  the `__doc__` is now a property fetching information
  about the parameters in the R signature.

- Convenience function :func:`rpy2.robjects.packages.data`
  to extract the datasets in an R pacakges

- :mod:`ipython`'s `rmagic` is now part of :mod:`rpy`. To use, `%load_ext
  rpy2.ipython` from within IPython.

- new method :meth:`rpy2.rinterface.SexpEnvironment.keys`, returnings
  the names in the environment as a tuple of Python strings.

- convenience class :class:`robjects.packages.InstalledPackages`, with a companion function
  :func:`robjects.packages.isinstalled`.

- new class :class:`rinterface.SexpSymbol` to represent R symbols

Bugs fixed
----------

- :meth:`rpy2.rinterface.Sexp.do_slot` was crashing when
  the parameter was an empty string (PR #155)



Release 2.3.10
==============

Bugs fixed
----------

- `setup.py build` was broken when new R compiled with OpenMP (Issue #183)

Release 2.3.9
=============

- Changes in pandas 0.13.0 broke the rpy2 conversion layer (Issue #173)


Release 2.3.8
=============

Bugs fixed
----------

- Crash with R-3.0.2. Changes in R-3.0.2's C API coupled to a strange behaviour
  with R promises caused the problem. (PR #150)


Release 2.3.7
=============

Bugs fixed
----------

- ggplot2's "guides" were missing

- ggplot2's "theme_classic" was missing (PR #143)

- ggplot2's "element_rect" was missing (PR #144)

- :func:`rpy2.interactive.packages` was broken (PR #142)


Release 2.3.6
=============

Bugs fixed
----------

- Several reports of segfault on OS X (since rpy2-2.3.1 - PR #109)

- More fixes in converting `DataFrames` with dates from `pandas`


Relase 2.3.5
============

Bugs fixed
----------

- Missing mapping to ggplot2's `scale_shape_discrete` function

- Better handling of dates in Pandas

- Constructor for POSIXct improved (and fixed)

Changes
-------

- The attribute :attr:`rclass` is no longer read-only and can be set
  (since R allows it)

- Importing the module :mod:`rpy2.interactive` no longer activates
  event processing by default (triggering concurrency errors
  when used with ipython).

New features
------------

- New module :mod:`rpy2.interactive.ipython` (so far plotting
  automatically a ggplot2 figure in the iPython's console)

- It is now possible to set the :attr:`rclass`.


Relase 2.3.4
============

Bugs fixed
----------

- Spurious error when running unit tests with Python 3 and numpy
  installed

- Missing mapping to ggplot2's `geom_dotplot` function

- Warnings are not longer printed (see Changes below)

Changes
-------

- Bumped target version of ggplot2 to 0.9.3.1

- Warnings are not longer printed. The C-level function in R became
  hidden in R-3.0, and the cost of an R-level check/print is relatively
  high if the R code called is very short. This might evolve into
  printing warnings only if interactive mode in Python (if this can
  be checked reliably).


Release 2.3.3
=============

Bugs fixed
----------

- Some of the data.frames converted from :mod:`pandas` were triggering
  a :class:`TypeError` when calling :func:`repr`

- In :mod:`rpy2.robjects.lib.ggplot2`, a mapping to `coord_fixed` was
  missing (PR #120)

- Using the parameter `lib_loc` in a call to
  :func:`rpy2.robjects.packages.importr` was resulting in an error (PR #119)

- Creating a `layer` through the `rpy2.robjects.lib.ggplot2` interface did
  not accept parameters (PR #122)

- Testing the Python version was crashing of a number of unsupported Python
  versions (<= 2.6) (PR #117)

New features
------------

- New module pandas2ri to convert from mod:`pandas` `DataFrame` objects

- New classes :class:`rpy2.robjects.lib.grid.Unit` and
  :class:`rpy2.robjects.lib.grid.Gpar` to model their counterparts in
  R's `grid` package as they were previously missing from rpy2.


Release 2.3.2
=============

Bug fixed
---------

- Building on Win64 (pull request #6)

- Fetching data from an R package through `importr` was masking
  any R object called `data` in that package. The data are now
  under the attribute name `__rdata__`. This is not completely
  safe either, although much less likely, a warning will
  be issued if still masking anything.


Changes
-------

- More informative error message when failing to build because `R CMD config`
  does not return what is expected

Release 2.3.1
=============

Bugs fixed
----------

- default console print callback with Python (issue #112 linked to it)

- deprecation warnings with ggplot2 (issue #111 and contributed patch)
jperkin pushed a commit that referenced this issue Mar 18, 2016
=== Net::LDAP 0.14.0

* Normalize the encryption parameter passed to the LDAP constructor {#264}[ruby-ldap/ruby-net-ldap#264]
* Update Docs: Net::LDAP now requires ruby >= 2 {#261}[ruby-ldap/ruby-net-ldap#261]
* fix symbol proc {#255}[ruby-ldap/ruby-net-ldap#255]
* fix trailing commas {#256}[ruby-ldap/ruby-net-ldap#256]
* fix deprecated hash methods {#254}[ruby-ldap/ruby-net-ldap#254]
* fix space after comma {#253}[ruby-ldap/ruby-net-ldap#253]
* fix space inside brackets {#252}[ruby-ldap/ruby-net-ldap#252]
* Rubocop style fixes {#249}[ruby-ldap/ruby-net-ldap#249]
* Lazy initialize Net::LDAP::Connection's internal socket {#235}[ruby-ldap/ruby-net-ldap#235]
* Support for rfc3062 Password Modify, closes #163 {#178}[ruby-ldap/ruby-net-ldap#178]
jperkin pushed a commit that referenced this issue Jul 17, 2016
--------------------------------------------
Version 5.3.7: (7 May 2016)
 * Fix another MacOS build break, regarding library exports.

Version 5.3.6: (30 April 2016)
 * Add missing `parses-quotes-en.txt` file that python tests need.
 * Fix build break related to lg_fgetc when libeditline is missing.

Version 5.3.5: (28 April 2016)
 * Modified (hacked) Kazakh dictionary.
 * MacOS bug fix: fgetc behaves oddly in OSX, see bug #293.

Version 5.3.4: (16 March 2016)
 * Fix broken handling of apostrophe (issue #281).
 * Revamp the README file; describe transitivity.
 * Revised Turkish dictionary from Tatiana Batura, et al.
 * Prototype Kazakh dictionary from Tatiana Batura, et al.
 * Parse priority tweaks for the OpenCog chatbot.
 * Fix Windows printing problem affecting some utf8 codepoints (issue #285).

Version 5.3.3: (23 December 2015)
 * Improve support for quoted phrases.
 * Fixes for assorted zero-infinitive speech acts.
 * Add 37 paraphrasing verbs.
 * Add Greek mythological names.
 * A few dozen more common computing terms added to dictionary.
 * Misc coordination and question fixes.
 * Misc abbreviations.
 * Vietnamese dictionaries!
 * Major overhaul of subject-verb inversion.
 * Performance improvements on long sentences. (pull #247)
 * Change default setting of 'islands_ok' back to false (bug #140).
 * Fix for build break on Mac OSX el_capitan w/clang (bug #255).
 * Disable perl bindings by default; use Lingua::LinkParser

Version 5.3.2: (4 December 2015)
 * Performance improvements, esp. for long sentences.
 * Use std=c11 (the 2011 C standard) by default.
 * Partial Irish English support.
 * A few dozen common computing terms added to dictionary.
 * Fix for build break on Mac OSX.

Version 5.3.1: (22 November 2015)
 * Fix build break with SAT solver.

Version 5.3.0: (22 November 2015)
 * Major redesign of the python bindings.
 * Major redesign of sentence tokenization (the "wordgraph" design)
 * Verb 'steal' is optionally transitive.
 * Fixes for misc MSVC warnings.
 * Hebrew dictionary expansion.
 * Enhanced diagram printing, giving more space for link names.
 * Minor work on phonetic agreement for 'a' vs. 'an'.
 * Add ability to histogram the costs of different parses.
 * Improve support for splitting sentences.
 * Change default setting of 'islands_ok' to true.
 * Improve performance on long sentences.
 * Fix rare crash due to memory corruption on long sentences.
 * Random morphology generation can be enabled at runtime.
 * Remove obsolete, unmaintained MacOSX build file.
 * Extensive updates to man page.
 * Fix crash on long sentences (issue #137).
 * Fix a memory leak in language bindings (issue #138).
 * Remove bogus post-processor API function.
 * Fix broken domain letter printing.
 * New regex-file feature - negative regex'es.
 * Correct the handling of moprhology stems with non-LL links.
 * Fix !!LEFT-WALL and !!RIGHT-WALL
 * SAT solver now linked statically.
 * Assorted SAT sovler cleanup and improvements.
 * Performance improvement in fast matcher: 15% faster on fixes.batch.
jperkin pushed a commit that referenced this issue Sep 1, 2016
v1.5.3
  Version 1.5.3

  Bugfix release

  - Fixed import error with oauth2client >= 3.0.0. (#270)

v1.5.2
  Version 1.5.2

  Bugfix release

  - Allow using oauth2client >= 1.5.0, < 4.0.0. (#265)
  - Fix project_id argument description. (#257)
  - Retry chunk uploaded on rate limit exceeded errors. (#255)
  - Obtain access token if necessary in BatchHttpRequest.execute(). (#232)
  - Warn when running tests using HttpMock without having a cache. (#261)
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.20.0 [2017-03-10] Michael Granger <ged@FaerieMUD.org>

Enhancements:
- Update error codes to PostgreSQL-9.6
- Update Windows binary gems to Ruby-2.4, PostgreSQL 9.6.1 and
  OpenSSL 1.0.2j.
- Add support for RubyInstaller2 to Windows binary gems.

Bugfixes:
- Use secure JSON methods for JSON (de)serialisation. #248
- Fix Result#inspect on a cleared result.
- Fix test case that failed on Ruby-2.4. #255

Documentation fixes:
- Talk about Integer instead of Fixnum.
- Fix method signature of Coder#encode.
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 5, 2017
## v0.16.0

- **Support for Ruby 1.8 has been discontinued** - [Corey Farwell](https://github.com/frewsxcv) [#256](egonSchiele/contracts.ruby#256)
- Enhancement: Add a `Contracts::Attrs` module containing attribute w/ contracts utilities - [Corey Farwell](https://github.com/frewsxcv) [#255](egonSchiele/contracts.ruby#255)
- Bugfix: Fix StrictHash contract for extra keys - [Maciej Malecki](https://github.com/smt116) [#254](egonSchiele/contracts.ruby#254)

## v0.15.0
- Bugfix: Func contract's return value isn't enforced with blocks - [Piotr Szmielew](https://github.com/esse) [#251](egonSchiele/contracts.ruby#251)
- Bugfx: Fix contracts used in AR-models - [Gert Goet](https://github.com/eval) [#237](egonSchiele/contracts.ruby#237)
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

3 participants