Versioning for breaking releases
itsdfish opened this issue · 5 comments
Hello,
Thank you for this package. I found it to be quite useful for several of my projects. I am opening an issue because there were breaking changes sometime between 2.0 and 2.3.1, specifically in the keyword names used in pretty_table
. Here is a description of the problem on Discourse. Based on the docs for Pkg.jl, my understanding is that a breaking change should have changed the major version to 3.0. The documentation notes:
After 1.0.0 only make breaking changes when incrementing the major version.
Hi @itsdfish !
Ouch, I might have removed the deprecated keywords in the wrong branch. I will revert this problem and tag a new version this weekend. Thanks for the report.
No problem! I completely understand how that can happen.
Thank you for fixing the versions.
Also, it appears that I may have misunderstood the nature of the problem here. If I understand correctly, the deprecation warnings are hidden by default, and fallback on the deprecated method. So it looks like I was unknowingly using the old method, and only noticed the problem once the deprecation warning was removed. I updated my code accordingly. Sorry for the confusion!
Ok! So let's just issue open and if anyone else complain I will revert the commit. Thanks!
I had this issue. For anyone else who runs across it, a simple fix is to downgrade to v2.2.7
Here's the relevant error message, which make help Google searches:
ERROR: LoadError: MethodError: no method matching _print_table_with_text_back_end(::PrettyTables.PrintInfo; row_names::Vector{Symbol},
row_name_alignment::Symbol, tf::PrettyTables.TextFormat, row_name_column_title::String)
Closest candidates are:
_print_table_with_text_back_end(::PrettyTables.PrintInfo; alignment_anchor_fallback, alignment_anchor_fallback_override, alignment_anchor_regex, autowrap, body_hlines, body_hlines_format, continuation_row_alignment, crop, crop_subheader, columns_width, display_size, equal_columns_width, ellipsis_line_skip, highlighters, hlines, linebreaks, maximum_columns_width, minimum_columns_width, newline_at_end, overwrite, reserved_display_lines, show_omitted_cell_summary, sortkeys, tf, title_autowrap, title_same_width_as_table, vcrop_mode, vlines, border_crayon, header_crayon, omitted_cell_summary_crayon, row_label_crayon, row_label_header_crayon, row_number_header_crayon, subheader_crayon, text_crayon, title_crayon, T, T) got unsupported keyword arguments "row_names", "row_name_alignment", "row_name_column_title"
@ PrettyTables ~/.julia/packages/PrettyTables/E8rPJ/src/backends/text/text_backend.jl:11
Stacktrace:
[1] kwerr(::NamedTuple{(:row_names, :row_name_alignment, :tf, :row_name_column_title), Tuple{Vector{Symbol}, Symbol, PrettyTables.TextFormat, String}}, ::Function, ::PrettyTables.PrintInfo)
@ Base ./error.jl:165
[2] _print_table(io::IO, data::Any; alignment::Symbol, backend::Val{:auto}, cell_alignment::Nothing, cell_first_line_only::Bool, compact_printing::Bool, formatters::PrettyTables.var"#38#41"{Vector{Int64}, Vector{Printf.Format{Base.CodeUnits{UInt8, String}, Tuple{Printf.Spec{Val{'f'}}}}}}, header::Tuple{Vector{String}, Vector{String}}, header_alignment::Symbol, header_cell_alignment::Nothing, limit_printing::Bool, max_num_of_columns::Int64, max_num_of_rows::Int64, renderer::Symbol, row_labels::Nothing, row_label_alignment::Symbol, row_label_column_title::String, row_number_alignment::Symbol, row_number_column_title::String, show_header::Bool, show_row_number::Bool, show_subheader::Bool, title::String, title_alignment::Symbol, kwargs::Base.Pairs{Symbol, Any, NTuple{4, Symbol}, NamedTuple{(:row_names, :row_name_alignment, :tf, :row_name_column_title), Tuple{Vector{Symbol}, Symbol, PrettyTables.TextFormat, String}}})
@ PrettyTables ~/.julia/packages/PrettyTables/E8rPJ/src/print.jl:1005
[3] _print_table
@ ~/.julia/packages/PrettyTables/E8rPJ/src/print.jl:880 [inlined]
[4] pretty_table(io::IO, data::Any; header::Tuple{Vector{String}, Vector{String}}, kwargs::Base.Pairs{Symbol, Any, NTuple{7, Symbol}, NamedTuple{(:row_names, :title, :title_alignment, :row_name_alignment, :tf, :formatters, :row_name_column_title), Tuple{Vector{Symbol}, String, Symbol, Symbol, PrettyTables.TextFormat, PrettyTables.var"#38#41"{Vector{Int64}, Vector{Printf.Format{Base.CodeUnits{UInt8, String}, Tuple{Printf.Spec{Val{'f'}}}}}}, String}}})
@ PrettyTables ~/.julia/packages/PrettyTables/E8rPJ/src/print.jl:771
[5] pretty_table
@ ~/.julia/packages/PrettyTables/E8rPJ/src/print.jl:740 [inlined]
[6] pretty_table(data::Any; kwargs::Base.Pairs{Symbol, Any, NTuple{8, Symbol}, NamedTuple{(:header, :row_names, :title, :title_alignment, :row_name_alignment, :tf, :formatters, :row_name_column_title), Tuple{Tuple{Vector{String}, Vector{String}}, Vector{Symbol}, String, Symbol, Symbol, PrettyTables.TextFormat, PrettyTables.var"#38#41"{Vector{Int64}, Vector{Printf.Format{Base.CodeUnits{UInt8, String}, Tuple{Printf.Spec{Val{'f'}}}}}}, String}}})
@ PrettyTables ~/.julia/packages/PrettyTables/E8rPJ/src/print.jl:719