Bug #8344

Status of Psych and Syck

Added by Benoit Daloze 12 months ago. Updated 1 day ago.

[ruby-core:54665]
Status:Assigned
Priority:Normal
Assignee:Zachary Scott
Category:lib
Target version:current: 2.2.0
ruby -v:ruby 2.1.0dev (2013-04-28 trunk 40513) [x86_64-darwin10.8.0] Backport:1.9.3: UNKNOWN, 2.0.0: REQUIRED

Description

Hello,

The current state of YAML being Psych is still a bit unclear (see lib/yaml.rb).

I propose to document YAML as always being (=) Psych,
and give a tip about the syck gem which might be used with the Syck constant (but the YAML constant is always Psych).

Do we need to keep Psych::EngineManager? I guess for compatibility it is safer?
May I document it as deprecated so it might removed in a future version?

Related to #6163.


Related issues

Related to ruby-trunk - Feature #6163: Remove syck YAML extension Closed 03/17/2012

Associated revisions

Revision 40516
Added by Benoit Daloze 12 months ago

  • lib/yaml.rb: Clarify documentation about YAML being always Psych. Give a tip about using Syck. See #8344.

Revision 40547
Added by Zachary Scott 12 months ago

  • lib/yaml.rb: nodoc EngineManager, add History doc #8344

History

#1 Updated by Zachary Scott 12 months ago

We should update the YAML module overview in lib/yaml.rb to reflect this more clearly.

Maybe we add a History or just Syck section. I can write this patch.

Regarding the EngineManager, I think it should be deprecated and eventually removed (maybe in 2.1). Maybe this should be proposed as a separate feature.

#2 Updated by Benoit Daloze 12 months ago

  • Assignee changed from Benoit Daloze to Zachary Scott
  • Backport changed from 1.9.3: UNKNOWN, 2.0.0: UNKNOWN to 1.9.3: UNKNOWN, 2.0.0: REQUIRED

I did the doc change and zzak has some nice ideas to improve it, so I give him the ticket.

I would like to hear opinions about removing Psych::EngineManager.

#3 Updated by Yui NARUSE 12 months ago

  • Assignee changed from Zachary Scott to Aaron Patterson

#4 Updated by Zachary Scott 12 months ago

  • Assignee changed from Aaron Patterson to Zachary Scott
  • Target version set to 2.1.0

Aaron has stated that we should remove the EngineManager code for 2.1.0: https://twitter.com/tenderlove/status/328745442970066945

I can write this patch while I'm updating the documentation.

#5 Updated by Anonymous 12 months ago

On Mon, Apr 29, 2013 at 10:06:10PM +0900, zzak (Zachary Scott) wrote:

Issue #8344 has been updated by zzak (Zachary Scott).

Assignee changed from tenderlovemaking (Aaron Patterson) to zzak (Zachary Scott)
Target version set to current: 2.1.0

Aaron has stated that we should remove the EngineManager code for 2.1.0: https://twitter.com/tenderlove/status/328745442970066945

Ya, it's only there for backwards compatibility with 1.9. I will remove
it for 2.1.0

--
Aaron Patterson
http://tenderlovemaking.com/

#6 Updated by Zachary Scott 12 months ago

@tenderlove What about rubygems dependency on EngineManager? See Gem::Specification#toyaml and lib/rubygems/syckhack.rb

#7 Updated by Zachary Scott 11 months ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

Most of the documentation has been updated, and appropriate backports have been made, so I'm going to close this.

When rubygems drops support for 1.8, we can think about removing the syck shim.

#8 Updated by Zachary Scott 25 days ago

  • Target version changed from 2.1.0 to current: 2.2.0
  • Status changed from Closed to Assigned

#9 Updated by Aaron Patterson 1 day ago

On Mon, Mar 24, 2014 at 07:31:31AM +0000, e@zzak.io wrote:

Issue #8344 has been updated by Zachary Scott.

Status changed from Closed to Assigned
Target version changed from 2.1.0 to current: 2.2.0


Bug #8344: Status of Psych and Syck
https://bugs.ruby-lang.org/issues/8344#change-45911

  • Author: Benoit Daloze
  • Status: Assigned
  • Priority: Normal
  • Assignee: Zachary Scott
  • Category: lib
  • Target version: current: 2.2.0
  • ruby -v: ruby 2.1.0dev (2013-04-28 trunk 40513) [x86_64-darwin10.8.0]

* Backport: 1.9.3: UNKNOWN, 2.0.0: REQUIRED

Hello,

The current state of YAML being Psych is still a bit unclear (see lib/yaml.rb).

I propose to document YAML as always being (=) Psych,
and give a tip about the syck gem which might be used with the Syck constant (but the YAML constant is always Psych).

Do we need to keep Psych::EngineManager? I guess for compatibility it is safer?
May I document it as deprecated so it might removed in a future version?

We should document it as deprecated, I want to remove it.

--
Aaron Patterson
http://tenderlovemaking.com/

Also available in: Atom PDF