The change is that scales are now treated as rings. You need to convert to lists and remove extraneous bits at start. To be fair you are using Ruby constructs like << .push .pop and these are not guaranteed to work.
The solution looks like this:
# Not working
# Transformations
puts (scale :a1, :minor).to_a.flatten << 88
puts (scale :a1, :minor).to_a.flatten.unshift(33)
puts (scale :a1, :minor).to_a.flatten.push(33)
puts (scale :a1, :minor).to_a.flatten.pop
puts (scale :a1, :minor).to_a.flatten.shift
puts (scale :a1, :minor).to_a.flatten.delete_at(1)
# Removing Duplicates
puts (scale :c1,:major).to_a.flatten.concat((scale :d1, :major).to_a.flatten)
# Querying
puts (scale :c1,:major).to_a.flatten.include? 29
puts (scale :c1,:major).to_a.flatten.count 29
# Iterations
(scale :c1, :major).to_a.flatten.reverse_each {|i| puts i}
The addition of .to_a.flatten appropriately sorts it out.
puts scale :a1,:minor) => (ring <SonicPi::Scale :A :minor [33, 35, 36, 38, 40, 41, 43, 45])
puts scale( :a1, :minor).to_a => #<SonicPi::Scale :A :minor [33, 35, 36, 38, 40, 41, 43, 45]>
puts scale:a1, :minor).to_a.flatten. => [33, 35, 36, 38, 40, 41, 43, 45]
EDIT you can add .ring at the end if you want a ring as the final result.
I’m not sure why the format of scale includes SonicPi::Scale, .flatten by itself removes this
@samaaron might like to comment