# This file shows the history of incompatible changes to
# Parrot that invalidated existing PBC (Parrot Byte Code) files.
#
# The latest version number of the bytecode format in this file
# is used by Parrot to version the bytecode files it writes and
# is able to read. In the future, Parrot should be able to read
# and/or write older bytecode versions too.
#
# Currently known actions that should be entered here
#   (and invalidate PBC are):
#
# - deleting/changing/inserting existing ops in ops.num
# - changing operands of existing ops
# - adding/deleting/renaming a PMC to classes
# - changes in the packfile format itself
# - changes to any PMCs that are frozen into the .pbc like
#   ParrotInterpreter (HLL_info), Subs and more
# - other core changes that invalidate byte code :)
#
# After changing PBC_COMPAT either disable t/native_pbc tests or
# better, if you have an i386 box at hand, regenerate the PBCs
# with tools/dev/mk_native_pbc and commit the changes

# or TODO much better: all .pbc files should make-depend on PBC_COMPAT

# Also, if you're removing an opcode, be sure to run "make opsrenumber"

# please insert tab separated entries at the top of the list

3.33    2009.01.20	chromatic	removed n_neg opcode
3.32    2009.01.19	chromatic	removed remaining n_* math/bitwise ops
3.31    2009.01.12	whiteknight	remove stm.ops and all opcodes therein
3.30	2009.01.10	coke	removed find_global_p_s_s and store_global_s_s_p
3.29	2009.01.07	coke	removed store_global_p_s_p
3.28	2009.01.07	jonathan	changes for bytecode annoations (packfile and ops)
3.27	2008.01.07	coke	removed find_global_p_p_s, find_global_p_s, store_global_p_s
3.26	2008.12.30	chromatic	removed deprecated infix, n_infix, get_mro opcodes
3.25	2008.11.15	tewk	changed size of Parrot_sub structure which effects frozen sub pmc size
3.24	2008.11.24	pmichaud	added capture_lex opcode
3.23	2008.11.15	chromatic	added box opcodes
3.22	2008.11.11	coke	remove morph_p_i, add_multi_i_i_i_p, find_multi_p_i_i_i
3.21	2008.11.06	coke	remove new_p_i, new_p_i_p, find_type_i_p, find_type_i_s, valid_type_i_i, typeof_i_p, typeof_i_p_k, typeof_i_p_ik, typeof_s_i
3.20	2008.10.23	pmichaud	make opsrenumber fix
3.19	2008.08.04	coke	remove getclass opcodes
3.18	2008.07.16	bernhard	remove opcode getfd
3.17    2008.06.26	jonathan	sub PMC freeze format changed
3.16    2008.04.23	pmichaud	remove other user stack opcodes
3.15    2008.04.22	pmichaud	remove saveall/restoreall opcodes
3.14    2008.04.04	chromatic	enabled div_i_ic_ic and div_n_nc_nc opcodes
3.13    2008.03.29	chromatic	added does_i_p_pc opcode
3.12    2008.03.26	coke	deleted classoffset
3.11    2008.03.26	coke	deleted getattribute_p_p_i,setattribute_p_p_i
3.10    2007.12.18	coke	deleted print_newline opcode
3.09	2007.12.13	chromatic	added copy_p_p opcode
3.08	2007.12.12	allison	added addhandler_p opcode
3.07	2007.12.12	tewk	added die_s die_sc die_p die_pc opcodes
3.06	2007.11.28	coke	remove classname opcode
3.05    2007.10.29      allison         add get_eh, get_all_eh, and count_eh opcodes
3.04    2007.10.28      paultcochrane   remove clear_eh opcode
3.03	2007.10.17	coke    	released 0.4.17
3.02	2007.09.20	bernhard	remove opcode hash
3.02	2007.09.07	bernhard	deprecate opcode substr_r
3.01	2007.08.17	chromatic	store HLL names as strings in frozen Sub PMCs
3.0	2007.07.23	jonathan	implementing new PBC header format
2.26	2007.07.17	particle	released 0.4.14
2.25	2007.06.19	allison	released 0.4.13
2.24	2007.05.16	bernhard	remove opcodes adddoes, removedoes, singleton
2.23	2007.05.15	chromatic	released 0.4.12
2.22	2007.04.17	mdiep	released 0.4.11
2.21	2007.04.15	jonathan	added get_class opcodes and clone_p_p_p opcode
2.20	2007.04.07	jonathan	added addrole opcode
2.19	2007.03.20	coke	released 0.4.10
2.18	2007.02.22	pmichaud	released 0.4.9
2.17	2007.01.16	particle	released 0.4.8
2.16	2006.12.16	paultcochrane	deleted fetchmethod opcode
2.15	2006.11.14	chip	released 0.4.7
2.14	2006.11.07	tewk	added comp_flags to parrot_sub_t	
2.13	2006.09.23	bernhard	remove ops from dotgnu.ops
2.12	2006.08.18	leo	removed None PMC from parrot core
2.11	2006.08.16	creiss	added STM opcodes
2.10	2006.08.08	chip	released 0.4.6
2.9	2006.06.19	leo	released 0.4.5
2.8	2006.06.18	leo	reorder opcodes
2.7	2006.05.14	leo	released 0.4.4
2.6	2006.04.02	leo	released 0.4.3
2.5	2006.03.21	leo	remove deleted opcodes
2.4	2006.02.22	leo	released 0.4.2
2.3	2006.01.08	leo	released 0.4.1
2.2	2005.12.04	leo	released 0.4.0, deleted opcodes
2.1	2005.12.01	leo	inserted another pic ops
2.0	2005.11.22	leo	changed PBC format (HLL_info)
1.4	2005.11.13	leo	freeze outer_sub with Subs in PBC
1.3	2005.11.12	leo	freeze lex_info with Subs in PBC
1.2	2005.11.06	leo	deleted newsub, foldup, pack; 0.3.1 release
1.1	2005.10.17	leo	deleted register stack opcodes
1.0	2005.10.15	jonathan	changed debug segment format
0.27	2005.10.11	leo	added reg usage to Subs in PBC
0.26	2005.10.07	leo	deleted lot of opcodes
0.25	2005.10.05	leo	deleted rx_ opcodes
0.24	2005.10.01	leo	0.3.0 release
0.23	2005.08.05	leo	0.2.3 release
0.22	2005.07.03	leo	0.2.2 release; add fixedintegerarray.freeze
0.21	2005.06.04	leo	0.2.1 release
0.20	2005.05.31	leo	added HLL_id to frozen sub structure
0.19	2005.05.11	leo	MMD function number change (rm MMD_I_LOGICAL...)
0.18	2005.05.08	leo	0.2.0 release
0.17	2005.04.22	leo	removed add_p_* and friends, insert infix ops
0.16	2005.03.06	leo	0.1.2 release
0.15	2004.11.27	leo	tossed 36 ops: gt,ge,isgt,isge w. I,N,S args
0.14	2004.11.27	leo	tossed 13 ops: forgot some op_n_i
0.13	2004.11.27	leo	tossed 177 ops: constants only, mixed args
0.12	2004.11.11	leo	updates ops.num with some renumbering
0.11	2004.10.09	leo	0.1.1 release
0.10	2004.09.26	leo	insert non-branching compare ops
0.9	2004.09.24	leo	insert interpinfo_p opcodes
0.8	2004.02.29	leo	0.1.0 release
0.7	2003.11.21	leo	remove unused size fields in front of PF constants
0.6	2003.10.31	leo	0.0.13 release
0.5	2003.10.24	dan	add bogus opcode
0.4	2003.10.24	leo	start using this file for fingerprinting
0.3	2003.10.22	dan	add delegates.pmc
0.2	2003.10.21	dan	delete instantiate op
0.1	2003.10.21	leo	start this file
