|Version 17 (modified by nwellnhof, 4 years ago)|
This page exists to systematically document all deprecations that apply to core Parrot code. We don't hate our users and while we love ripping out crufty old code, we also don't want anyone developing code on top of Parrot to dread paying the "upgrade tax" when moving from one supported version to the next. The idea behind this page is that by following the instructions for each version transition, developers of HLLs and libraries can have a well-known and deterministic upgrade path.
Any new deprecations must be described on the appropriate page and summarized here before being committed to trunk. This deprecation policy will be instituted shortly before the 2.6 release. Although we will attempt to add notices for previous version transitions, these lists may be incomplete. Notifications for the 2.6->2.9 transition and later will be complete.
For instructions on how to deprecate Parrot code, please see HowToDeprecate.
Changes Between 2.9 and 3.0
This list is a summary. A more complete description and migration path for each change is at ParrotDeprecationsFor3.0. Any deprecations occurring after the 2.9.0 release require an accompanying notice on this page and here, so the list should be exhaustive. If you find a deprecation that should be listed here, file a ticket here or hop on #parrot on irc.parrot.org and let us know.
- PIR string literals with charset and encoding are deprecated. TT #1808
- medium impact expected: the conversion is straightforward.
- Remaining string_* functions are deprecated. TT #1809
- medium impact expected: these functions have been deprecated for a while.
Changes Between 2.6 and 2.9
This list is a summary. A more complete description and migration path for each change is at ParrotDeprecationsFor2.9. If you find a deprecation that should be listed here, file a ticket here or hop on #parrot on irc.parrot.org and let us know.
- Remove charset opcodes. TT #1778
- low impact expected: the conversion to encoding opcodes is straightforward.
- Remove ParrotPCCINVOKE.
- negligible impact expected: this function has been deprecated for a long time.
- Remove Parrot_find_global_s and Parrot_store_global_s TT #1660
- low impact expected: these functions were used rarely outside Parrot.
- Change find_lex opcode behaviour.
- low impact expected: this function has been deprecated for awhile.
- Eliminate Raw NCI.
- negligible impact expected: this functionality has little use that doesn't result in a segfault
- Remove Parrot_get_runtime_prefix. TT #1191
- Zero impact expected, it's been unused since long time.
- Remove is_tty methods. #1689
- negligible impact expected.
Changes Between 2.3 and 2.6
This list is a summary. A more complete description and migration path for each change is at ParrotDeprecationsFor2.6. Because this list was created after the deprecations were committed to trunk, it's likely we've missed a few. If you find a missing deprecation notice, file a ticket here or hop on #parrot on irc.parrot.org and let us know.
- Remove sizeof op. No replacement currently exists. TT #633
- negligible impact expected: this op was not widely used
- Replace STRING_is_null with Parrot_str_is_null. TT #1585
- moderate impact expected: simple textual substitution for C code dealing with STRING* values
- Remove in-place substr op variants. TT #1450
- high impact expected: most PIR code dealing with string substitution will need to be updated