FitNesse Release Notes 2018/12/23
Uncle Bob Consulting LLC.
Requires Java 1.7
Major Changes since 20181221:
20181223
- "StopTestException" is SuiteSetUp is handled as SuiteStopException (1128)
- Improve finding of methods in Java classes (first letter may be a capital) (992)
- Allow today's date and expressions to be evaluated inside preformatted blocks (1017)
- Allow tests which expect an exception (1131)
- Allow Slim custom comparators to use values containing line endings (1142)
- Issues fixed
20181221
- Issues fixed:
- Allow plugins to contain Velocity templates (used when rendering pages) (1127)
20180127
- Improve stability for non pipe based SUT connection (197)
- Fix new style wiki pages for Windows (line ending) (1058)
- SLiM now better handles parameter types in fixture constructors (1024)
- New wiki element: !headings (1025)
- Define table type now work for Script table (1029, 1099)
- JUnit runner supports system property based excludeSuiteFilter annotation (1033)
- A SuiteQuery no longer runs test pages that are excluded (1079)
- Root file pages are now included in the default wiki content by default (1084)
- Table:Table now resizes when the last line contains more results than expected (1055)
- Various documentation updates
- Various small improvements
For a complete list of closed issues and merged pull requests see https://github.com/unclebob/fitnesse/issues?milestone=16&state=closed.
20161130
- Add ability to specify the locale used to format evaluated expressions (929)
- New Slim table type: Baseline decision table (965)
- Add base folder for plugin documentation (971)
- FitNesse and Slim can now communicate over stdin/stdout. This removes the hassle with network ports (977, see UserGuide.WritingAcceptanceTests.SliM.SlimProtocol.PortManagement)
- API changes:
- FitNesse is more strictly propagating exceptions, instead of only logging them (923)
- Updated FixtureInteraction interface (911)
- To improve extensibility, scenario resolution has been moved to ``SlimtestContext (974)
- WikiPage interface now has a remove() method. This will replace the removeChild() method in the near future (930)
- Issues fixed:
For a complete list of closed issues and merged pull requests see https://github.com/unclebob/fitnesse/issues?milestone=15&state=closed.
20160515
- FitNesse requires Java 7 now (872, 877)
- New autocomplete feature for the "move page" page (867)
- Name the link to execution log simply "Execution Log" (851)
- Dynamically add fitnesse jartoclasspath (862, 866)
- Searching for tags across Symbolic links (488, 888)
- Add support for table-in-table editing in rich text editor (669, 885)
- @SystemUnderTest now accepts method calls from subclasses (907)
- Disallow uploading to folder files/fitnesse (889)
- Avoid infinite cycles when using symlinks (888)
- (Slim) Deal with escaping content in hash table (886)
- Properly handle symbol assignment in first column of a query table (914)
- Issues fixed:
- CompareVersions responder is not escaping output properly (861, 869)
- Improve code by honoring InterruptedException (874)
- FitNesse stops again when calling /?shutdown (875)
- Fixed: Running suites does not show the tests summaries (876)
- Fix escaping of HTML in Slim hash tables (878)
- Fix class loading for FitNesse resources (880)
- Change json content type from text/json to applicatioin/json (891)
- JUnit runner now plays nice with Gradle (909)
For a complete list of closed issues and merged pull requests see https://github.com/unclebob/fitnesse/issues?milestone=14&state=closed.
20151230
- Documentation updates (843, 833, 825, 815)
- Slim runs completely in process in when run in debug mode (837)
- Detailed diff for failed Slim tests (824)
- Git version control support is now a plugin (792)
- Customized UnauthorizedResponder (841)
- Slim query table fields are now matched left to right (788)
- Improved search screen (838)
- FitNesse now uses java.util.concurrent thread pools instead of spawning unmanaged threads (830)
- Execution log information is displayed when executing suites and tests with format=xml (816)
- Many, many code consistency fixes thanks to @hansjoachim (807, 808, 810, 811, 812, 817, 818, 829, 836, 840)
- Under the hood:JQueryhas been upgraded to 1.11.3 (was 1.7.2)
- Issues fixed:
For a complete list of closed issues and merged pull requests see https://github.com/unclebob/fitnesse/issues?milestone=13&state=closed.
20150814
- Syntax highlighting in plain text editor (631)
- Support generic behavior in Slim (Java) fixture via when fixtures implement InteractionAwareFixture (724)
- Tag filtering is now all case insensitive (728)
- Improved slim hash table handling (739)
- Supportcustomformatters(764)
- Nonwikiwordpage names are properly resolved when using !include statements
- Page-in-progress formatter has been removed (767)
- Issues fixed:
For a complete list of closed issues and merged pull requests see https://github.com/unclebob/fitnesse/issues?milestone=12&state=closed.
20150428
- !contents has a new -H option (718)
- The JUnit runner is notified of system exceptions (716)
- New Slim table type: Alias table (711)
- Prevention of System.exit() calls is configurable (707)
- Improved error reporting when running test suites from the command line (706)
- Relaxed Test & Page History to only secure-read permissions (696)
- Remove global slim timeout during testing; this issue was introduced in v20150226 (660)
- Expose table of symbols to TableTable fixtures (644)
- Improve messages when Slim server crashes (662)
- Make the "bootstrap" theme the default (679)
- Relaxed Test & Page History to require only secure-read permission (696)
- Slim convertersproduceuserfriendlyerrors(682)
- Documentation updates (668, 672, 681)
- Issues fixed:
For a complete list of closed issues and merged pull requests see https://github.com/unclebob/fitnesse/issues?milestone=11&state=closed.
v20150226
- Fixed lot's of code style issues (588, 618, 619628, 632, 634, 645)
- Table coloring for Slim tables (569)
- Improved extensibility of Slim tables (620)
- Allow graceful names for Slim decision table output columns, when used in conjunction with scenario tables (595)
- Image support for rich text editor (597, 606, 611, 629)
- Hash table editing support for rich text editor (622)
- Rich editor icons are now SVG images (568)
- Improved Slim Converters (613)
- Test execution log is storedinpagehistory. It's no longer stored in ErrorLogs pages (627)
- ?suite and ?test responders can now automatically clean up the test history (636)
- Added JUnit output format for suite runs: ?suite&format=junit (642)
- Issues fixed:
- Fixed errors that occurred when a different XML TransformerFactory was loaded (598)
- Fixed failure navigator in test history pages (580)
- Empty suiteFilter argument on ?suite responder will be ignored (625)
- Test/Suite button is search results worksfromsub-wiki's
- Allow Symlink rename/replace on existing Symlink (610)
- Prevent port conflicts for Slim runner when run in-process (621)
For a complete list of closed issues and merged pull requests see https://github.com/unclebob/fitnesse/issues?milestone=10&state=closed.
20150114
- Big cleanup. Removed classes:
- util.StringUtil, use org.apache.commons.lang.StringUtils instead.
- util.ListUtility, use java.util.Arrays instead.
- fitnesse.wikitext.Utils, use fitnesse.html.HtmlUtil instead.
- fitnesse.FitFilter.
- Page names do no longer have to follow WikiWord syntax (513)
- Implemented Slim StopSuiteException -stopswholesuitefrom executing
- More flexible filter definitions for JUnit runner (555)
- Can customize property characters used in !contents (541)
- Deal more nicely with Slim scenario output parameters (536)
- Allowforurlparametersas variables in wiki pages (531)
- Raise an error if a new page will override an existing page (459)
- Issues fixed:
- Reverted old test behavior: only the current page will be tested (previously also test sub-pages were executed) (538)
- Fix SimpleFileVersionsController so it can be configured in plugins.properties.
- Remember Wrap and Auto-format options in Safari (521)
- ?properties responder is now returning more properties whenaskedforjsonoutput(517)
For a complete list of closed issues and merged pull requests see https://github.com/unclebob/fitnesse/issues?milestone=9&state=closed.
20140901
- Code cleanup for FitNesse JUnit runner (487).
- Improved error message when included page does not exist ((496).
- Slim script tables can now really be addressed with script:MyClass (500).
- Slim can deal with arbitrary length messages (504)
- Plugin classes can support more elements (sub)types (506)
- Make Scenario tables play nice with custom script table (sub)types (507)
- Output parameters in a decision table have been made available in scenarios (510).
- Command pattern can contain quoted parameters (this helps at places where spaces are involved) (508).
- Via the property WikiPageFactories (plural) extra wiki page types can be supported (505).
- Code cleanup in the Wiki module (511).
- Issues fixed:
For a complete list of closed issues and merged pull requests see https://github.com/unclebob/fitnesse/issues?milestone=8&state=closed.
20140630
- Add page wide Expand/Collapse All buttons (bootstrap theme).
- Performance improvements: cache big factory classes and page data.
- Issues fixed:
- Fix issue introduced in Order Query Table comparison in 20140623.
- ErrorLog was not written if test execution was interrupted.
- Include page header when executing test or suite.
- Slow page tags again (bootstrap theme).
- SLIM_VERSION variable is back: allow olderSLiMimplementations to connect.
For a complete list of closed issues and merged pull requests see https://github.com/unclebob/fitnesse/issues?milestone=7&state=closed.
2014-06-23
- Author information for GitVersionController.
- ?suite and ?test are now the same responder.
- More useful failure message forjUnitrunner.
- Use String arrays for commands. This should avoid errors with spaces in path names.
- Improved matching for query tables.
- Plugins are now loaded relative to the FitNesse root path.
- SLIM can handle checks on Map's.
- Refactoring on wiki subsystem.
- Issues fixed:
- Support more than one level of symlinks.
- ErrorLog is written for tests ran with format=text or format=xml.
- Rich Text Format horizontal scrollbar is missing.
- Failure navigator should only show in case of failures.
For a complete list of closed issues and merged pull requests see https://github.com/unclebob/fitnesse/issues?milestone=6&state=closed.
2014-04-18
- Introduced new logo.
- New table type for Slim: Dynamic Decision table.
- Add script: prefix. Script tables can be defined as script:Fixture name.
- Wiki server is no longer started when FitNesse is started with -c option.
- FitNesseRoot location can be changed in JUnit FitNesseSuite annotation.
- Comment columns for slim decision and query tables.
- Shortcut keys (press ?).
- Configurable Context root.
- Updated the .FitNesse.UserGuide structure.
- Improved Where Used feature in the Tools menu.
- JAVA_HOME variable is now used, if set, to find the java executable for java subprocesses.
- Properties slim.timeout and slim.debug.timeout can be used to configure timeouts (start up and finish) for SLIM test runs.
- The rich text editor is now an in-page editor (does not use an iframe anymore).
- Can auto-format on save when editing a page in plain textmode.
- Issues fixed:
- Add menu should only show templates ending on -Page.
- Missing stylesheets added to JUnit test results.
- Fix representation issue with ignored field inSLimTableTable.
For a complete list of closed issues and merged pull requests see https://github.com/unclebob/fitnesse/issues?milestone=6&state=closed.
2014-02-01
- Files outside the http://files section can no longer be accessed!
- Updated bootstrap theme to bootstrap 3.
- Added hooks to add custom test systems.
- Pages can now be defined in a .TemplateLibrary. You can add your own page scaffolding.
- java.util.logging is now used for logging, instead of System.out/err.
- Support for more content types (in particular image types).
- Cleanup: removed packages fitnesse.runner, fitnesse.schedule.
- Refactoring: the code is a more modular than before. This makes it easier to integrate FitNesse components in other applications.
- MakeFittestrunnerno longer dependent on the wiki running: now theFit testsystem starts it's own "socket catcher".
- The jUnit test running is starting a test runner by itself. It's no longer using FitNesseMain.
- Slim server can be kept running after test execution (-d option).
- Issues fixed:
- Unicode issues fixed.
- Stability fixes for Slim.
- Slim tables starting with "comment:" are considered comment tables.
- Bug in Fit that caused flow mode for FitLibrary's DoFixture to break.
- Bug where external HTML page suites were not displayed.
- Hash map rendering in rich text editor.
For a complete list of closed issues and merged pull requests see https://github.com/unclebob/fitnesse/issues?direction=desc&milestone=4&page=1&sort=updated&state=closed.
2013-11-10
- CMSystem functionality is removed. Now only the VersionsController interface can be used.
- Git version control andrecent-changessupport
- Page caching is removed.Changesonthefilesystemarenowdirectly reflected in the wiki
- Test and Page history can show/hide passed tests. This makes it easier to search for failed test runs.
- The "names" responder has new options: "Recursive", "LeafOnly", and "ShowTags" (needs documentation update!)
- Reduce space used by includedpagesontestpage.
- Testsystem, Fit server and wiki code has been cleaned up.
- New command line option -f <config file>. Loads a custom configuration properties file.
- Code cleanup: test system, wiki and reporting (formatters)
- Settings can be configured both on the command line and in the plugins.properties file
- Updated REST API parameter for "names" request
- Issues fixed:
- HTML content is table cells is passed to the SUT as-is
- Sockets are not properly closed after Slim test execution
- StopTestbehaviourchanged in version 20130530. Theoldbehaviourisin place again.
- Fixed issue where stylesheets were not properly loaded in Chrome.
- String arguments are not converted, even if a Converter is registered.
- Rich text editor improvements
2013-05-30
- Many improvements in the JUnit test runner
- New: version comparator
- Wiki: can set image width with -w option, border with -b and margin with -m: !
img -b 2 -m 10 -w 600 http://files/someImage.png - FitNesse loads well with both fitnesse.jar and fitnesse-standalone.jar
- Virtual Wiki functionality has finally been removed
- Big refactoring ofSLiMtestsystem. Output is now XML compliant, introduction of domain classes and cachingofsetup/tear down pages
- Many fixes in the rich text editor: full-screen editing, more lenient parsing of wiki text, improved cut-and-paste
- Optimized wiki page parser performance
- Fixed issue with setting/reading the same field multiple times in aSLiMdecision table
- Stack traces fromSLiMserver are enriched with class information
2012-11-16
- Added new Failure Navigator. Now possible to jump quickly to cells containing failures or exceptions. Works on Tests and Suites. Finds failures in collapsed sections or in scenario tables.
2012-09-18
- Added the concept of a TemplateLibrary and the ability to insert existing templates into the plain text editor.
2012-03-20
- Note: This page has a layoutthat's not conformprevious releases of FitNesse
- Introduced ReleaseNotes page
- Moved a lot of presentation logic to template files
- New style - The layout and style in theWIkitext is changed as well, keep this in mind when comparing test output
- Wysiwyg editor
- Parser fixes
- Theming system
2011-10-25
- New parser
20110923 (Dan Rollo)
maven pom.xml cleanups:- Remove unneeded default <groupId> tags.
- Add plugin <version> tags.
- Add explicit, platform independent UTF-8 file encoding via property: project.build.sourceEncoding
- Remove dependencyonobsoletefitlibrary(the required classes are already in the source tree).
- Replace <system> dependency on json with the latest published json artifact.
- Remove unneeded from <sourceDirectory> tag value.
20081128 (UB)
- Added &debug flag to TestResponderurl. This forces the test to run inside the fitnesse process. If you are running fitnesse in a debugger, you can breakpoint your fixtures.
- Symbols can be java properties or environment variables. Symbols first, env variables second, java properties third.
- If the first cell of a script table is a symbol assignment ($V=) then the rest must be a function call. The symbol is assigned the return value of the function.
Github ids of Contributors to this release:
- Brian Riehman
- Dan Cutting
- Fried Hoeben
- Jeroen Ruijgers
- Juan Ant. Ruzafa
- Juan Antonio Ruzafa
- Michiel Hendriks
- Patrick Bernard
- Paul de COURCEL
- six42
Git History
2018-12-23 | Fried Hoeben | Merge pull request #1172 from fhoeben/includeWikiInJar |
2018-12-23 | Fried Hoeben | Ignore empty lines before request lines, fixes #1042 |
2018-12-23 | Fried Hoeben | Add malformed request to exception message |
2018-12-23 | Fried Hoeben | Also add .wiki files to jars |
2018-12-22 | Fried Hoeben | Merge pull request #1018 from pepeZpew/master |
2018-12-22 | Fried Hoeben | Merge branch 'fix/IdInHeadings' of https://github.com/tavsccn/fitnesse into tavsccn-fix/IdInHeadings |
2018-12-22 | Fried Hoeben | Merge pull request #1142 from dcutting/master |
2018-12-22 | Fried Hoeben | Merge branch '1126-xml-transformer' of https://github.com/briehman/fitnesse into briehman-1126-xml-transformer |
2018-12-22 | Fried Hoeben | Merged in https://github.com/unclebob/fitnesse/pull/1131, ability to check exception |
2018-12-22 | Fried Hoeben | Add test to prevent FITNESSE_VERSION variable not being set (#1170) |
2018-12-22 | Fried Hoeben | Merged #1017 |
2018-12-22 | Fried Hoeben | Merge in changes from #992 |
2018-12-22 | Fried Hoeben | Fix class name in doc |
2018-12-22 | Fried Hoeben | Merge pull request #1128 from elmuerte/master |
2018-06-11 | Dan Cutting | Permit multiline arguments for custom comparators |
2018-03-23 | six42 | added configuration switch to disable exception matching |
2018-03-22 | six42 | fixed EOL settings to get useful diff |
2018-03-22 | six42 | updated test cases and documentation |
2018-03-21 | six42 | Allow to test for exceptions |
2018-03-06 | Juan Ant. Ruzafa | Added test to check that TodaysDate is rendered in Preformatted text blocks |
2018-03-06 | Juan Ant. Ruzafa | Merge remote-tracking branch 'upstream/master' |
2018-03-06 | Juan Ant. Ruzafa | Revert "Added jacoco plugin" |
2018-03-06 | Juan Ant. Ruzafa | Revert "Moved plugin declaration" |
2018-02-21 | Brian Riehman | Remove non-standard XML transformer attribute |
2018-02-21 | Michiel Hendriks | #1126 regard StopTest in SuiteSetUp page as StopSuite |
2018-01-23 | Paul de COURCEL | Fix \!headings when an heading contains literal macro |
2017-06-06 | Juan Antonio Ruzafa | Moved plugin declaration |
2017-06-06 | Juan Antonio Ruzafa | Added jacoco plugin |
2017-01-17 | Patrick Bernard | fit.RowFixture replace ConcurrentHashMap with plain HashMap to handle null keys |
2017-01-16 | Juan Ant. Ruzafa | Evaluate TodaysDate and expresions inside Preformatted blocks |
2016-11-30 | Jeroen Ruijgers | Issue 859: update documentation |
2016-11-30 | Jeroen Ruijgers | Issue 859: improve changed behavior |
2016-11-28 | Jeroen Ruijgers | 859: Change behavor for finding methods by their graceful name |
2016-11-28 | Jeroen Ruijgers | 859: Change behavior for loading classes by graceful name |