Releases: INRIA/spoon
Releases · INRIA/spoon
Release Spoon 9.1.0
Changelog #4104
Spoon 9.0.0
Changelog #3845
Spoon 8.3.0
Changelog: #3647
Release of 8.2.0
Changelog: #3501
Release 8.1.0
Changelog: #3310
Release 8.0.0
New features
- Add new variable refactoring class. (PR: #3162)
- Add role EMODIFIER for extended modifier. (PR: #3098)
- CtImportVisitor#visitUnresolvedImport. (PR: #3086)
- DecompiledResource: Add a SpoonResource that can be used in any launcher. (PR: #3124)
- SpoonifierVisitor: A visitor that generates the spoon code to recreate a spoon model. (PR: #3105)
- decompiler: Add support for procyon. (PR: #3123)
- visualisation
- spoon-visualisation: Spoon AST visualisation tool. (PR: #3072)
Bug Fixes
- CreateVariableAssignment now creates a CtVariableWrite. (PR: #3157)
- Fixes the toString() call on an array. (PR: #3134)
- CtCompilationUnitImpl: Fix regression after auto-import refactoring. (PR: #3131)
- Fix regression when rewriting static field access. (PR: #3115)
- The type of string concatenation is not null. (PR: #3075)
- (ParentExiter.java): set position for implicit loop body block. (PR: #3084)
- Fix regression in field accesses of static fields. (PR: #3139)
- Improve backward compatibility of toString and add toDebugString. (PR: #3099)
- Don't check modifiers in CtVariable#getDeclaringType. (PR: #3066)
- Fix regression in pretty printer (default DJPP is fully qualified). (PR: #3132)
- Fix incorrect model for empty for loop. (PR: #3108)
- Fix more regressions after auto-import refactoring. (PR: #3127)
- ToStringWithImports works even with no position. (PR: #3110)
- Fix regression in auto-import. (PR: #3125)
- Indeed call the preprocessors in toString/autoimports. (PR: #3103)
- CtElementImpl#toString: Fix toString for SniperPrinter. (PR: #3147)
- DefaultJavaPrettyPrinter: Support for inline else if. (PR: #3088)
- ImportCleaner: Import must be kept when they are used in Javadoc. (PR: #3160)
- Iterators: Next() first checks hasNext and throws the correct error. (PR: #3164)
- PositionBuilder: Fix lambda parameters position. (PR: #3137)
- SourceFragmentContext: Visit field reference in import as well. (PR: #3161)
- SourceOptions: Close the output stream in SourceOptions. (PR: #3089)
- TypeNameScope: Order of processing LexicalScope elements of Type. (PR: #3085)
- core: Parsing a one-line class produces correct line numbers. (PR: #3069)
- import: Fix regression after import refactoring. (PR: #3149)
- pom: Update/add license header in poms. (PR: #3143)
Documentation
- Add API documentation to public methods. (PR: #3152)
- Add archunit to related work in architecture enforcement. (PR: #3146)
- Improve documentation while preparing the MadridJUG meetup. (PR: #3141)
- Improve landing page. (PR: #3128)
- Minor improvement to example page. (PR: #3100)
- Add example for snippet filtering. (PR: #3062)
- ROADMAP.md: Roadmap 100% points to issues. (PR: #3119)
- launcher.md: Improve decompilation doc. (PR: #3130)
- visualisation: Mention the visualisation tool on the website. (PR: #3102)
Refactoring
- Use .equals() when comparing Strings and Boxed types. (PR: #3165)
- Rename internal method with particularly confusing name. (PR: #3109)
- Handling of imports in pretty printer. (PR: #2683)
- Decompiler: Update interface (in preparation for DecompiledResource). (PR: #3122)
- NoSourcePosition: Applies the null design pattern to compilation units. (PR: #3151)
Authors
Name | Nb Commit |
---|---|
Martin Monperrus | 30 |
Nicolas Harrand | 14 |
arno | 5 |
Haris Adzemovic | 3 |
Pavel Vojtechovsky | 3 |
Egor Bredikhin | 2 |
Rhys Compton | 1 |
Muhammet Ali AKBAY | 1 |
Simon Urli | 1 |
Thomas Durieux | 1 |
HectorSM | 1 |
Lionel Seinturier | 1 |
spoon-decompiler release 0.1.0
Initial release of spoon-decompiler
This release contains the following functionalities:
- JarLauncher
- DecompiledResource
- SpoonCLassFileTransformer
- Wwrapper for two decompilers (CFR and Procyon)
Release 7.5.0
Changelog at #3057
Release 7.4.0
New features
- Add CtType#toStringWithImports. (PR: #2945)
- Check if a CtType is an array type. (PR: #2882)
- CtBFSIterator: Add an iterator that explores a CtElement's children in breadth first order. (PR: #2904)
- CtElement: Add a method to get all direct children of an element. (PR: #2906)
- CtCommentImpl: Add _setRawContent to be able to bypass cleanComment. (PR: #2889)
Bug Fixes
- Handle special cases in CtAnnotationType. (PR: #2947)
- Test and fix untested method createNewClass(). (PR: #2943)
- Give appropriate permissions of files in doc folder. (PR: #2949)
- Improve getCorrespondingRuntimeObject/convertElementToRuntimeObject to handle shadow fields. (PR: #2899)
- JarLauncher: Fix #2951, Really delete temporary decompiled source directory. (PR: #2952)
- ContextBuilder: Catch PositionBuilder exception and log it instead of crashing. (PR: #2907)
- CtCompilationUnitImpl: ToString() no longer throws a NPE. (PR: #2918)
- position: Type of CtNewClass is implicit without position. (PR: #2834)
- TypeFactory: Raise an exception for deprecated createTypeParameterReference wildcard. (PR: #2890)
Documentation
- Add example for CtAssert#setExpressiont #2917. (PR: #2917)
- Fix links in doc page "Examples of Spoon Usages". (PR: #2932)
- CONTRIBUTING.md mentions our architectural rules. (PR: #2929)
- Add & update links in the example page. (PR: #2925)
- Fix jenkins badge. (PR: #2924)
- Fix typos in slides. (PR: #2948)
- Add example for CtAssert#setExpression. (PR: #2917)
- Fix broken documentation. (PR: #2968)
- Fix remaining Javadoc issues. (PR: #2910)
- Fix doc in JavadocDescription.java. (PR: #2909)
- Improve documentation on AST traversal. (PR: #2905)
- Add slide decks. (PR: #2937)
- Release.md: Improve documentation about releasing after release of 7.3.0. (PR: #2881)
- spoon-control-flow: Fix javadoc errors. (PR: #2916)
- command_line.md: Remove link to decommissioned Gforge. (PR: #2900)
Refactoring
- JDTCommentBuilder: Improve error message with position of offending comment. (PR: #2908)
Tests
- SourcePositionTest: Don't save temporary files in ./src. (PR: #2969)
- Rename ArchitectureTest into DecompilerArchitectureTest in spoon-decompiler to avoid confusion. (PR: #2930)
- CtTypeReference: Add test for methods CtTypeReference#unbox() and box(), fix #1842. (PR: #2919)
- FieldAccessTest: Nested field access, and example for #2884.
Other
- Exclude GUI from coverage. (PR: #2940)
- Switch to junit5. (PR: #2939)
- Add Sonar Quality Gate badge. (PR: #2935)
- Fix javadoc and reporting config and check it in CI. (PR: #2911)
- Clean parent pom.xml. (PR: #2883)
- Bump to 7.4.0-snapshot. (PR: #2874)
Unknown
- Adopt dual licensing MIT-CECILL-C (#2950). (PR: #2950)
- Up. (PR: #2941)
- Update the list of contributors. (PR: #2912)
- Eclipse` in README. (PR: #2903)
Authors
Name | Nb Commit |
---|---|
Martin Monperrus | 28 |
Nicolas Harrand | 9 |
Alexander Shopov | 2 |
Charm | 1 |
Pavel Vojtechovsky | 1 |
GluckZhang | 1 |
Fabien DUMINY | 1 |
Simon Urli | 1 |
Mickael Istria | 1 |
Release 7.3.0
New features
- Introduce the concept of lexical scope (interface LexicalScope). (PR: #2813)
- Allow spoon to support duplicate definitions. (PR: #2772)
- Add module for control-flow analysis. (PR: #2827)
Bug Fixes
- Fix NPE for multicatch qualified exceptions. (PR: #2862)
- Reference of CtImport is fully qualified and has no generics. (PR: #2819)
- IndexOutOfBoundsException in JDTCommentBuilder. (PR: #2840)
- Fix static type wildcard imports. (PR: #2865)
- Refactor code->runtime methods so that CtAnnotation#getValueOfObject does not overflow. (PR: #2866)
- Fix classpath error with surefire. (PR: #2867)
- Security issue with jackson-databind. (PR: #2856)
- CompilationUnit has lineSeparatorPositions even for empty class. (PR: #2824)
- Fix position of type modifier after comment. (PR: #2825)
- NPE in JDTCommentBuilder. (PR: #2822)
- PositionBuilder: Prevents exception for incomplete modifiers' position information. (PR: #2848)
- position
- doc: Fixes#2790 javadoc site deployment, adapting to new modules organization. (PR: #2826)
Documentation
- Fix broken link. (PR: #2871)
- Fix unrendered link in doc. (PR: #2851)
- Fix broken snippet. (PR: #2841)
Refactoring
- Rename getCurrentNameScope to getCurrentLexicalScope. (PR: #2857)
- Access to JDK CompilationUnit contents and lineSeparatorPositions. (PR: #2831)
- Refactor refactoring code :-) in Refactoring#copyType(). (PR: #2820)
- performance: Optimize incremental launcher. (PR: #2821)
Tests
Other
- pom.xml: Updating commons-io and commons-lang3. (PR: #2853)
- Moves JUnit dependency to parent pom. (PR: #2828)
- Clean old Travis scripts. (PR: #2829)
Community
- Nicolas Harrand becomes integrator. (PR: #2818)
Authors
Name | Nb Commit |
---|---|
Pavel Vojtechovsky | 10 |
Martin Monperrus | 9 |
Egor Bredikhin | 3 |
Nicolas Harrand | 3 |
Thomas Durieux | 1 |
Kai Luo | 1 |
Benjamin DANGLOT | 1 |
Lionel Seinturier | 1 |
Simon Urli | 1 |
Clément Fournier | 1 |