On Fri, Jan 14, 2022 at 9:52 AM sebb <seb...@gmail.com> wrote:
>
> On Fri, 14 Jan 2022 at 14:04, Sam Ruby <ru...@intertwingly.net> wrote:
> >
> > On Fri, Jan 14, 2022 at 8:30 AM sebb <seb...@gmail.com> wrote:
> > >
> > > I'm wondering whether we should pin major version numbers of Gems.
> > >
> > > Combined with a regular job to look for outdated Gems,
> > > I think that would have given us advance warning.
> >
> > I gather that the gem in question that was updated was psych.  We
> > don't directly reference it in our Gemfile.
>
> It also affected yaml, but we don't seem to reference that either

Yaml is part of the Ruby core runtime library.  It does not provide a
safe_load method.  But all classes in Ruby are "open".

Looking at Gemfile.lock for the board agenda tool, rdoc -- of all
things -- pulls in psych.  It specifies ">= 4.0.0".

Here is the history for psych: https://rubygems.org/gems/psych

> > There are two major strategies for dealing with dependencies:
> >
> > * The one we currently deploy aggressively pulls fixes, which has the
> > benefit of being automatic, and ensures we are up to date
> > (particularly with security fixes).
>
> But does it need to pull in changes to major versions?
> Could we not pin the major versions but allow minor updates?

It looks to me like this was released as a minor version.

> > * The other is to check in Gemfile.lock files and only run in
> > production what has been tested locally.  This would request
> > frequently updating Gemfile.lock files for each whimsy application
> > locally and checking in the results.
>
> Is there any way to get advance notification of which gems have updates?
> And which have security implications?
> That would be closer to the way that other ecosystems such as Java work.
>
> Or at least if we had notification when there has been a change to a
> major version of a Gem that would alert us to possible
> incompatibilities.

In summary, we are using an API that is not part of the documented
interface for YAML, and might be considered "private" to psych.  It
changed in a minor version in a way that broke our code.

I don't know of any notification mechanism that would help with that
combination.

- Sam Ruby

> >
> > > On Fri, 14 Jan 2022 at 00:52, Sam Ruby <ru...@intertwingly.net> wrote:
> > > >
> > > > I was debugging the same thing, and came to the same conclusion.  By
> > > > the way this affects the roster tool as well as the board agenda.
> > > >
> > > > - Sam Ruby
> > > >
> > > > On Thu, Jan 13, 2022 at 7:44 PM sebb <seb...@gmail.com> wrote:
> > > > >
> > > > > Looks like the API for YAML.safe_load has changed. It now requires 
> > > > > named
> > > > > parameters.
> > >
> > > ...

Reply via email to