RPM Remote Print Manager Development Roadmap

This page lists the features added and issues resolved in each RPM Remote Print Manager® (RPM) build beginning with version and continuing through the current version of RPM.

Features and improvements are customer-driven, please contact us for any feature enhancement ideas or needs.

Current Versions:  RPM Elite:
RPM Select:

RPM Remote Print Manager / 2017-06-22

  • Cleaned up an issue that sometimes delays closing a file we've written to, and the resulting log messages
  • Added a 'Jobs' folder to the spool folders
  • The UI now notifies the service when the user manually reprints a job
  • The service now notifies the UI when it reprints a job for any reason
  • Eliminated some tests and messages which falsely said a job file was missing or empty, when in fact it wasn't
  • Sending a crash report is now optional, configured in the UI; this functionality works in both the UI and the service
  • Every program that uses diagnostic logging now has it's own "XML" configuration file based on the program name; RPM still uses "log.xml"
  • Much work in the database interface program to make sure database exceptions are passed as messages back to RPM, where they can be logged
  • Removed the bi-directional print setting from the telnet setup in the UI
  • The RPM installer now adds a different database interface program; dbpipe replaces dbmgr. Dbpipe uses named pipes, which is something Windows uses internally, and provides better stability and performance than the shared memory message queues we were using earlier (which sometimes required an entire system reboot)
  • We now proactively attempt to check incoming job metadata, like an LPD control file or the data in an RPC command, to make sure it's UTF-8 since the database stores UTF-8 in many fields
  • Refactored the way we add or update job metadata in the database in order to avoid a database exception in some instances with long non-ASCII job names
  • RPM now removes at startup job files associated with jobs in the 'xfer' state; this should cut down dramatically on the number of "File found" messages being logged / 2017-04-26

  • Added message logging for transforms
  • Attempt to better handle LPD "probes" where they pretend to submit a print request to a queue but then abort so no data is sent; this is some kind of test, no need for us to create a bunch of log messages
  • The service can now initiate its own job reprint the same way the UI does it; reprint when we modify an action
  • When the device tester is testing an LPR device, do an "lpstat" on queue "lp"
  • The data extraction transform now happens internal to RPM, rather than running an external program; so what was taking up to five seconds is now nearly instantaneous
  • The overrides generated by data extraction are now better supported throughout RPM
  • Complete rewrite of the telnet protocol module; among other things, the "quiet print" logic now works correctly. The new module does not support bi-directional printing since as far as we know, no one was using it
  • Add indent and width as job attributes you can use in data extraction / 2017-04-07

  • Refactored text printing to properly support page ranges
  • If the license is expired, do not add print protocols; this will keep us from acting like a job receiving engine even with an invalid license
  • Increased the number of log messages for actions as we were primarily logging network activity
  • If we fail on an LPR print, use device error not job error
  • Add a program to test network connections by port and simulate an lpq request if we are using LPR
  • configuration export now includes copy queue actions
  • Improvements to the device tester module to test connectivity to an IP device, not simply ping it
  • Simplified reporting by showing just the last line of a traceback, in some instances
  • Put much work into making sure user events, that is user actions in the UI, would schedule any potentially eligible jobs immediately
  • If a device errors, reduce the current use count
  • In some instances if a job errors, we were keeping it around in such a way that eventually jobs that were not otherwise affected would not schedule
  • If the user updates an action, we now attempt to schedule jobs for that action immediately
  • Fixed a condition where we didn't seem to know when outgoing LPR and IP print jobs actually finished and thus eliminated a lengthy delay / 2017-03-08

  • When resolving names from an IP address, check all DNS servers listed until we get a match, or fail
  • Updated code signing certificate
  • Fixed import issue with export files created before dynamic copy to queue actions were implemented
    Should import queue descriptions from 5.x config files
  • Always discard empty files sent by LPD, and add a log message to report it
  • The stdout path was being passed to the object which runs programs for us; split out stdout and output file path
  • Be more careful to ignore user ID if it's invalid
  • Added support for individual spool folders for printers, if the system has defined them
  • Working on support for not adding zero length jobs
  • No longer looking for external program 'jobpump.exe' since that function is internal now
  • Only update 'config.xml' if the RPC port is different from what is listed in the file
  • More proactive regarding user events kicking off print jobs which were held or suspended or in an error state of some kind
  • Restored the job-hold function to the UI, so if the service releases a job, the UI shows it immediately
  • The UI now notifies the service when the user holds a job
  • Resolved a page range issue on text print
  • Better UI refreshing on job hold
  • The message log seemed to focus more on networking than on action events, upgraded the action logging
  • Reconfigured job hold logic in the service to accomodate UI changes
  • The copy queue action now fires an event which makes the new job launch ASAP
  • Attempt to remove the queue if we get an LPD request on a queue that doesn't exist, promising a job that never arrives
  • Disabled page range on raw print
  • Added support for 'escaping' the percent sign in filter command lines, for programs which need the percent
  • Added a variable for filter commands to specify filename only, not the path
  • In the string translator, don't pre-process unprintable characters if we're using regular expressions
  • The setup program can now migrate database settings when the database is in a non-standard location
  • Added support in the service for the Overrides column in the jobs table, since we put data extraction values there / 2016-11-17

  • Attempt to restart rpmftp.exe after it closes for lack of activity
  • updated to use all DNS hosts in reverseDNS, and to not use the task for name lookup / 2016-11-14

  • fix issue where rpm crashes intermittently with pcl to image format transform / 2016-11-09

  • The validator for the General Settings dialog was not being called
  • Fixed issue where IP and LPR actions would not recover after the helper programs shutdown for lack of activity
  • Improved method for finding Firebird programs used during database maintenance
  • Added code to potentially set service recovery options just after the service is created
  • Added hostname validator to allow wildcards in some instances
  • Changed default device tester option to prevent blank "Tester" jobs from piling up in the Windows queue
  • Added command-line export options to control whether jobs, overlays, and/or directories are exported to the file
  • Force the queue display to refresh when a queue is added externally, like in the service
  • Force the actions and transforms list to refresh as well
  • New jobs were not being processed correctly until service restart / 2016-10-18

  • Diagnostic and scheduler settings are now exported and imported; some were left out previously
  • Add option to prevent active jobs from being held on startup
  • Non-admins now get a user-specific config.xml file to allow server switching
  • Create new default XML file if required values are blank
  • If the monitored parent folder is an empty string, Queue Folders now closes / 2016-09-23

  • Fixed issue importing devmodes
  • Added additional code pages to Unidata.db / 2016-09-21

  • Fixed issue adding strings to the sqlite database which could have crashed the UI
  • Force the job pump to check for ready jobs when a job is received over the network / 2016-09-06

  • Some UTF-8 characters were removed during conversion which is no longer the case / 2016-09-02

  • Using a better approach to convert path names correctly
  • Recognize Windows 10 correctly
  • Fix display bug where jobs were not disappearing when moved
  • Fix issue with the option to allow or preventing spaces in filenames / 2016-08-10 (Release)

  • If a job fails using the email action, the job is now placed in an error status preventing that worker task from ever being used again.
  • If using the balanced scheduler, and a new queue is added, jobs in that queue should start to process without requiring a service restart.
  • Reset UI Persistent Settings in the Help menu now clears the allowed cache. This resolves an issue one user encountered where this file became corrupted and prevented the ability to add or edit settings.
  • Now the UI checks the Registry to see where Firebird is installed.
  • Log messages for jobs which have not been removed yet from RPM are now retained longer for diagnostic purposes.
  • Added fix and shrink scripts for manual database maintenance and testlpr script for easier testing. / 2016-06-23 (Release)

  • Fixed issue in Archive to Folder action if the ticket Id was used in naming mask.
  • Resolved issue with generating unique filenames during file collisions. / 2016-06-20

  • Add pylpr.exe and testlpr.bat files to the installer. This will make testing RPM much quicker.
  • Reintroduced the old fixdb.bat and shrinkdb.bat files with improvements for use with the latest version. This allows for running database maintenance in those rare instances where the RPM GUI fails to start.
  • Changed default minimize option so it no longer minimizes to the tray by default.
  • Resolved bug which prevented a successful settings export when job export option was enabled. / 2016-06-16 (Release)

  • Fix issue validating remote clients. This may resolve other unreported issues where JSON arrays need to be accessed. / 2016-06-10 (Release)

  • Resolve issue where file collisions could occur unnecessarily. This resolves an issue with multiple copies, but will positively affect other configurations or heavily used systems as well.
  • When a job or device produces an error, the use counter should now be adjusted so that max use setting works again.
  • Added a job list filter. You can enter a search string and the jobs list will be filtered showing only jobs whose attributes or status contain that word or phrase. The attributes you can select include the source file name, title, job name, user, and originating host.
  • Added descriptions to the queue filtering feature.
  • Fixed issue where the queue list was not refreshed when a new queue is added through the Telnet dialog.
  • Additional GUI improvements including better default column widths and sorting the queue list during the creation of a new queue. / 2016-05-24

  • Resolved filter command line parsing issue when backslash was the last character. / 2016-05-16 (Release)

  • Fixed issue running certain filter programs with 'terminate idle' enabled that may cause the service to crash.
  • Starting with this version, the RPM binaries will now be signed with both SHA-1 and SHA-256 certificates preventing some browsers from reporting the signature is corrupt or invalid. / 2016-05-09

  • Additional improvements for supporting multiple copies with various configurations.
  • Resolve issue creating multi-page PDF files introduced in build 430.
  • Improved error handling added to the job pump to prevent a recently discovered stalling issue. / 2016-05-03

  • Removed JetPCL from installer; available now only from our website
  • Add ticket id to temp filenames in watermark transform for uniqueness
  • Found a better way to keep transform temp files unique
  • Added support for multiple actions and copying
  • Improved copies support which is now set when job data is fetched from the database / 2016-04-27

  • Resolve SCS handling issue with certain complex SCS files
  • Prevent race condition in RPC startup
  • Removes redundant logging for LPR errors
  • Include port number in LPR action description
  • Better support for font size changes in PDF / 2016-04-18

  • Added database procedure to improve job error handling
  • Prevent duplicated queue sequence numbers
  • Prevent duplicate rows in queue sequence number choking UI / 2016-04-13

  • Resolve issue in IP/LPR actions where errors might 'consume' a thread
  • Timed wait with Timeout instead of Hard Wait / 2016-04-12

  • If a job is moved or copied to a another queue, set Last Job column
  • Prevent VeryPDF registration from hanging at the usage screen
  • Do not attempt to create PDF from an empty text markup input file
  • Held jobs now display hold icon rather than the icon for the current status / 2016-04-07

  • Add option in General Settings to prevent jobs in error from retrying automatically
  • Prevent stall due to action errors
  • Add "Last Job" column which will show the last time a queue received a job
  • Now using Visual Studio 2012
  • Modules menu entry now reads "Addon Modules" to clarify they are not part of the base product
  • Fixed queue folders issue of queue and folder comparison (Release)


  • Resolve Remove PCL bug where the first character of a line could be removed incorrectly. (Release)


  • Added internal ticket id to naming variables


  • Resolved export issue in certain instanced with overlays
  • Improved underline support in Text Markup to PDF transforms


  • Fixed issue when code page is not set which occurred initially on older versions but carried over in exported XML files
  • Improved logic when pdfgen-based transforms are set to and from error status.
  • Event log messages reflect local time now rather than UTC


  • Improved aesthetics in line-based data extraction
  • Double-clicking a data extraction item now allows edit
  • Show values extracted by Data Extraction in Job Properties
  • RPM now remembers the size of more dialogs and preserves that across GUI restarts
  • Improvements to line-based data extraction. Indexing for horizontal and vertical position is now 1-based and user now enters the count of characters to extract rather than end position.
  • Copy to Queue action now supports values obtained via Data Extraction


  • The values obtained from Data Extraction are now supported in the Archive to Folder action.


  • Resolved issue parsing control files containing -Z
  • Email action now supports data extraction transform results
  • Added additional logging
  • Resolved issue where multiple actions tried to use the same filename
  • Installer now includes the Firebird 2.5.5 build 26952
  • Added new features to Copy to Queue action dynamically choosing destination queue
  • Set defaults in Copy to Queue action dialog
  • Add option to create dynamic queues that don't already exist. Disabled by default ./li>
  • Fixed issue where jobs entering retry logic automatically had all tickets retried. Only retries non-completed actions for the failed jobs
  • Resolved issue holding or releasing jobs from the Job Properties dialog
  • When certain transforms fail, event messages should now contain diagnostic information
  • Fix buffer overrun issue in non-regex string translation


  • Initial addition of a new data extraction transform which is able to extract information from a print job's data file for use in naming output. (Release)


  • Errors that occur in later stages of transform processing are now job errors
  • Solved issue where RPM was looking for the result file from filter transforms while they were still running
  • Added ticket id when checking for duplicate work in PDFGen which occurs when multiple actions are used
  • Improved error status checking in transforms and actions and halt further processing if either occurs
  • Transform errors are now cleared by the Clear Error State
  • Added feature to drag transforms and actions from the master lists onto the Configure Queue dialog
  • When transforms read from a file, they now enter the process function which is necessary
  • Resolved issue in Check for Updates to allow hiding the beta version when the release version is newer
  • Resolved action issue which could cause a service crash when certain errors were triggered in the open stage (Release)


  • Additional fixes to prevent stalling in the Text Markup to PDF transform
  • Resolved exception during the cleanup process for jobs that did not finish processing due to an error (Release)


  • Address a stalling issue when pdf jobs go active but have a blank callback tag and never process
  • Eliminate the "spin-up" time required before all configured worker tasks begin processing a job


  • RPM Elite x64 should be faster because it now uses more than one worker task as it should
  • Email alerts now work and we made cosmetic improvements to the dialog for configuring them
  • Improved the Job Status dialog so it now shows the individual tickets including the ID, status, and the device path
  • Improvements to error handling for both transforms and actions


  • Fix issue where users could not affect changes to a job if the id column was not the left-most column
  • The ASA and SCS transforms should now honor the gutter option
  • Resolved issue where certain situations caused progress dialogs to not go away
  • Now shows the correct dialog when a database query fails displaying useful troubleshooting information
  • A service restart is no longer required after changing the job retry interval
  • Text Printer actions now support customized page ranges configured on overlays similarly to PDF transforms
  • Added an option in General Settings to disable automatic reprinting of jobs which failed
  • Improved validation for combo boxes (Release)


  • Now removes blank temporary files on transform error with Archive to Folder actions
  • Updates to config.xml handling
  • Resolved overlay handling when specific page ranges are specified
  • Updates to FTP dialog when adding new FTP servers (Release)


  • The User Interface will no longer change the state of Managed queues (3rd Party Integration support)
  • Changes to stop repeated device testing.
  • Prevent an infinite loop when a permissions error is encountered creating temporary files for filter actions.
  • Corrected implementation for interactive Filters / Users.  Interactive filter actions will now run under any logged in user flagged as interactive. (Release)


  • Addressed an issue where renaming queues caused problems submitting jobs via LPR. (Release)


  • Addressed an issue where the FTP Client did not come back online after shutting down while idle.
  • User Interface aesthetics - dialog default sizes, values, etc. (Release)


  • improved vertical tab support in the Remove PCL transform


  • cleanup on RPC sequence counter
  • as the printer test programs no longer use standard output, refactored the device test logic and the test programs themselves
  • if you toggle suspend on a queue off and on, it no longer prevents job processing
  • periodic device check, for devices involved in processing jobs
  • fixes to “dot matches newline” in the string translator regex support
  • fix to the raw printing page range reporting option


  • timers cleanup
  • cleanup connection based events


  • updated the internal support for running programs, not filter actions, which was basically working but had a few issues


  • improve backslash handling in job paths, some had double backslashes
  • eliminate a database round trip for certain job status updates
  • replace handling of standard input, output and error handles with a process that manages that; this seems to have solved the job stalling problem
  • added command shell execution when our filter is a batch file
  • not all timer events need to be added to the database
  • user interface diagnostic logging now uses a list rather than the somewhat awkward table
  • make sure telnet output files are fully written to disk before marking the job as eligible


  • attempt to isolate job stalling problem
  • upgrade margins in Text Markup to six decimal places to accommodate users working with millimeters
  • integrated job pump back into the service
  • updated Copy Queue action to eliminate redundant file copying
  • better retry support when we have a database deadlock


  • fixes to the Remove Until and Remove After transforms to use non-printing characters correctly
  • don’t need to restart the Firebird database on product upgrade
  • attempt to remove empty PDF files if the generating process errors
  • attempt to remove empty result files from running transforms


  • attempt to unstick any stuck jobs every five minutes
  • fix Tray icon “open display” option when user interface is minimized
  • fixes to configuration export and cleaner log export
  • fixes to user interface progress dialogs
  • user interface fix displaying jobs in queues with job retention
  • cleanup of job error handling and reporting
  • fixes to large number of socket connections; seems stable
  • added both event pane and message logging to diagnostic logging
  • attempt to prevent export from hanging when database is offline
  • added option to export log file from command line
  • host name matching is now case insensitive in RPC authorization
  • if the program we run from the service issues a traceback, use only the last line of the traceback in the job error column in the user interface
  • changed support operating system from Server 2003 to Server 2008
  • added support for enabling EUDC fonts


  • updated support for canceling jobs which are “too small”, a configurable option
  • improvements to startup/shutdown diagnostic logging
  • improvements to FTP Server setup; add rotating logs for FTP processing
  • improvements to job completion logging, tracking down stalling issue


  • addressing database deadlocks mostly around job modifications


  • sequence number updates when importing RPM 5 to RPM 6
  • wait less time if we can’t start dbmgr from the service
  • in the telnet protocol, if the target queue does not exist, we now create it
  • send job pump exceptions to event pane on startup
  • updated the way we watch for child processes to finish
  • updates to diagnostic logging


  • upgrades to LPD logging
  • add option to discard small files below “x” bytes
  • diagnostic logging files now include date/time; old log files, empty log files, automatically removed
  • added message logging support to dbmgr
  • added high detail logging for filter process completion


  • addressed the socket issue, turned out to be related to very busy RPC traffic
  • add user interface warning when flagging an action or device as interactive
  • updates to job retry logic
  • refactored startup logic to identify what was causing an error on a customer system
  • improve job retry logging so user knows when it happened and when it’s complete
  • added information missing in lpstat/lpq response
  • changes to limit VeryPDF to one instance in the PCL to Image Format transform


  • added diagnostics for socket issues
  • move queue sequence numbers into a separate table to alleviate deadlocks


  • identifying and fixing occasional startup exceptions
  • better import support
  • user interface fixes for code pages, including identifying and finding aliases
  • updated the version of JetPCL we include for evaluation


  • fixes to license file support


  • fix to regular expression support in string translator


  • improvements to action restart
  • cleanup on some database operations
  • fixes to reprint, stuck in active state issue
  • for actions which rely on an external program, error the action if the executable is missing
  • added a diagnose project in order to do some local system testing; called only manually
  • improved tracking for actions and transforms in an error state; don’t schedule jobs that use those
  • show the name of a process using a TCP/IP port, if possible
  • added more database checks
  • adding support for license diagnostics
  • long error text was overflowing job error column in UI
  • improved font support for PDF creation


  • more cleanup for service shutdown errors
  • upgrades to action error reporting, handling and recovery
  • allow user to override space replacement in Archive to Folder


  • added queue XML edit dialog to user interface
  • adding support for more than 64 simultaneous connections


  • better support for busy RPC traffic
  • added a report module, text file rather than the event pane; we can show a lot more interesting data that way


  • support for removing timers based on action id in case the user deletes an action which is going to be retried
  • prevent log export from hanging if entries are deleted mid-export


  • improvements to error reporting
  • cleanup on action restart


  • fixes on timers, race conditions on startup


  • improvement to handling unlimited devices
  • fixes for color striping support in PDF, backward compatibility
  • invalid times in events pane do not choke the user interface
  • cleaner formatting and display of high value IDs
  • improved spool folder cleanup when removing queues
  • quote Email Recipients so spaces don't cause errant splits
  • added child processes to improve parallel PDF watermarking
  • use template mask for FTP File Name, that is, upload target based on job info


  • fixed queue list sizing in user interface
  • fixed Windows error messages in non-ascii locales
  • added codepage display to user interface


  • added support for quotes and ticks in queries


  • improvements to the way we authorize an RPC connect as some commands were being dropped
  • improvements to code that manages services which depend on RPM, notably custom development projects
  • don’t attempt to clean up job and title fields when receiving a job
  • a job error situation no longer prevents more jobs from being scheduled
  • added job abort logic


  • added process id to dbmgr log filename in order to keep more logs


  • in the spool folder we now use the job ID as the file name, no longer attempting to use the job name, due to difficulties from international language sets
  • attempt to “unstick” jobs by calling action.finish again
  • LPD protocol was looking at what Windows reported as the number of bytes written, now using its internal count
  • added diagnostic logging support to user interface
  • include more job information in log if available, such as transform id, job id and others


  • improvements for version upgrade from RPM 5 to 6
  • fixed a menu bug in RPM Select
  • add eligible job check to job pump when action is finished, driving job processing more consistently
  • add ‘service offline’ warning to job drag & drop
  • prevent filename escaping in email body
  • changed our address in the license
  • fixed partial matching on non-regex string translations


  • add support to get VeryPDF version, use when building PDF
  • fixed raw print copies bug, applied multiple times


  • improvements to message log handling
  • improvements to PCL parsing
  • changes to prevent “not authorized” errors with respect to actions and transforms
  • show Queue Folders module only for RPM Elite
  • removed unnecessary file close, fixed an issue from Adobe PDF Printing


  • folder devices aren’t supposed to be interactive
  • added a job pump process to better manage selecting jobs for execution; many job launcher changes as a result
  • improvements to error processing and reporting
  • improvements to job completion logic
  • logging changes
  • cleanup for RPM shutdown processing
  • some fixes to job copies logic
  • improvements to the message log in the database
  • improvements to the diagnostic logging
  • improvements to handling situations where dbmgr exits
  • fixes to registry import, that is importing old RPM configurations
  • add spool cleanup to Job menu in the user interface
  • added support for retrying actions (in the job processing) when they fail


  • addressed an issue with nested quotes


  • improvements to the event pane logger
  • more careful checking of job names, some are not valid Windows file names
  • added column reordering to user interface
  • improvements on some printing operations


  • fixes to job held logic
  • fixes to job name rendering; give priority to N from control files, then J or T
  • add job columns to Job Properties dialog
  • add Managed checkbox


  • tweaks to the job pump processing efficiently
  • user interface display improvements
  • fixed invalid database query
  • fixes for device testing


  • tweaks to job scheduling, make sure device counts are considered, and don’t accidentally schedule the same job twice (Release)

May 20, 2014

  • added “Scheduled Jobs” to Ineligibility Reasons
  • add Current Use to columns in device list

May 19, 2014

  • fixes to job pump, if it exits, start another; addresses a very occasional problem causing job processing to stall

May 16, 2014

  • fixes to action-modify RPC
  • added Explore option to UI to locate data files for queues & jobs

May 13, 2014

  • improvements to the way job name and title are handled, eliminating unexpected control characters
  • UI improvement to the way device reservation is displayed

May 12, 2014

  • better synchronization between queue suspend and the way jobs are marked for eligibility; suspending a queue will have a more immediate effect now
  • tweaks to timing on PJL responses, bidirectional printing in telnet (JetDirect)
  • UI improvements
  • updates to UI-only installer and language installers
  • improvement to QueueFolders, allow clearing monitored folder to turn it off
  • fix to text markup, adding a extra form feed

May 02, 2014

  • fixed PCL echo response, bidirectional telnet printing
  • fixed race condition getting license in UI only install
  • improvements to UI menus
  • fixes to French and Portuguese language packs
  • improvements to testing Windows printer devices; can now test for online vs. offline

April 29, 2014

  • introduced UI-only installer.
  • certain text files and page range settings could make for pages to be overwritten in text printing; this is fixed.
  • improved support for removing errored jobs, depending on retention policy

April 18, 2014

  • RPM now depends on Windows XP and Server 2003; Server 2000 support is now officially eliminated
  • added support for Windows 8.1
  • updates to language packs
  • introduced new transactional logging; our techs can configure detail logging on site
  • RPC improvements for converting IP addresses to local hostnames
  • added support for non-standard Firebird database port
  • fixed device limit log message
  • improvements to string translator multi-line support, including reliably detecting sub-patterns whether we’re doing regular expression or not

April 11, 2014

  • added option to disable driver version tracking because some print drivers don’t seem to report their version correctly
  • added user notes to actions, displayed in Master List

April 08, 2014

  • additions to some dialogs in UI
  • cut down on certain non-optional logging

April 04, 2014

  • added support in string translator for partial match of regular expression patterns and normal patterns
  • fixes to handling zero length jobs; also changed the way we detect this. It’s only a problem on very busy Windows systems.
  • improvements to using job meta-data on command line.
  • UI changes to string formatting for Chinese language packs.
  • Added Chinese Simplified.

March 27, 2014

  • fixed an issue with job retention and job-order processing
  • fixed issues with new line preservation and bold text in text printing
  • added gutter percent when only chars per inch or page were specified
  • speed-ups for IP printing
  • faster startup for IP and LPR printing
  • COR font now more proportional in edge cases
  • fixed file name processing bug; see Spaces and underscores

March 21, 2014

  • fixes to copies support, some actions were not processing specified copies. Also, job was sometimes removed after first copy is processed.

March 20, 2014

  • introduced static linking on Microsoft runtimes in an effort to help certain customers.
  • improvements to RPM shut down, should take much less time now.
  • the way some print clients were sending multiple jobs confused RPM, delayed waiting for more data.

March 13, 2014

  • allow remote UI to export configuration.

March 10, 2014

  • adding UI only installers
  • Job name and title should show correct results for UTF-8 now
  • allow user to create a new folder when browsing for “CFdir”

March 06, 2014

  • added reporting features to database manager, more autonomy, differentiating fatal errors from everything else.
  • added support for non-unicode code pages for job attributes

March 05, 2014

  • added support to terminal services module for monitoring logins and logouts
  • if you point the UI to an invalid RPM server, the UI will still open.
  • added more job monitoring support to RPC
  • refactored the way RPM waits for programs it launches to finish; under heavy load, things were getting lost
  • improved database performance, the service can now send multiple requests in parallel

February 20, 2014

  • smoother “job complete” handling
  • telnet file name now supports local IP; thanks to Bits&Bytes for requesting this

February 14, 2014

  • suppress output if input job file is empty
  • improvements to job cancelling
  • added support for a filter transform to change the job name, and have that name change register in the actions

February 05, 2014

  • improvements to incoming jobs if their filenames are UTF-8, that is, Unicode but not ASCII
  • automatically restart dbmgr unless we’re shutting down
  • improvements to device release logic
  • if we’re very busy with jobs, reduce impact on disk by not asking for available disk space continuously; occasionally we’d get “zero” which is a bit misleading

January 30, 2014

  • improvements to the way a new database is installed
  • improvements to recognizing and handling very long RPC commands
  • improvements to the way we recognize when an action is finished
  • improvements to the way dbmgr reports fatal errors
  • added job name to FTP action
  • dbmgr will now watch for RPM to exist; if it exits, dbmgr will also exit
  • no longer holding jobs if they error
  • fix to trailing blank page for text print
  • better integration between device status and jobs that use that device
  • if the device errors, don’t error the action as well. That way when the device recovers we’re ready to try the job again.
  • disk space problems will set device error now, not error the job
  • improve list display under high load

January 10, 2014

  • improved XML support
  • faster job refresh; improved performance for large job volume
  • addressed some 64 bit issues
  • telnet bidirectional printing is now active by default
  • after a fatal database error we will retry the last database statement, so that is not lost
  • PCL to image can now rotate result
  • Traditional Chinese installer

December 13, 2013

  • fixes to COR processing
  • various improvements to database traffic, including built-in sweep support
  • better support for actions which included number of copies
  • disabled queue was giving the wrong message as if it were suspended
  • moving database from RPM server to a separate process for robustness
  • improved support for remote user interface doing database maintenance
  • improvements to RPM startup

November 14, 2013

  • The UI won’t try to load the license status if it’s a non-admin user
  • improvements in tracking filter actions (user programs)

November 12, 2013

  • adding support for queue folder watcher
  • move LPR support in RPM from once-per to long running program, improve speed of LPR print actions considerably
  • added explanatory text to Raw Print action dialog
  • adding support for an FTP action
  • UI permissions now checked on every UI connection
  • upgrade Firebird from 2.1 to 2.5

October 25, 2013

  • restored the logic to use number of copies from control file, not dialogs only
  • adding support for LiveTrial in license, full features in the evaluation period
  • detect Windows 8.1 and Server 2012 R2
  • removed “Licensed under Patent” text

October 11, 2013

  • improved handling for stored device modes (printer setup)
  • improvements to import process
  • fixed remote user interface binding issues

October 08, 2013

  • tighten up exception handling for database processing
  • improvements to PDF creation process (Release)

October 02, 2013

  • added gutter percentage (space between lines) to ASA and SCS transforms
  • added line gutter percentage configuration
  • adding support for PJL processing (bidirectional printing in telnet)
  • keep user interface open on database error

September 12, 2013

  • fixes to user interface menus and some default values (Release)

September 12, 2013

  • improvements to job launch scheduler database processing
  • fixes to importing registry files from old versions of RPM

September 03, 2013

  • improvements to 64 bit support

August 29, 2013

  • fixes for problematic registry file imports
  • support for limiting # of VeryPDF processes we run at once
  • added action retry option

August 15, 2013

  • more cautious handling for removing queues that don’t exist
  • added log filtering for action and transform master lists
  • add support for enabling and disabling actions and transforms
  • improved support for switching the UI from one server to another, changes reflected in menus and options
  • improvements to setting error and retrying individual actions
  • default scheduler policy is now FIFO
  • RPC ports have better security in UI
  • improvements to balanced scheduling
  • improvements to detecting non-admin users attempting to create users (Release)

July 25, 2013

  • added German language pack
  • disabled max idle CPU on “PCL to PDF”, we were quitting too soon sometimes

July 11, 2013

  • only reset active jobs
  • update from version 5.2 beta to 6.0
  • remove license on uninstall

July 05, 2013

  • improved service shutdown; improvements to the way we handle service not shutting down
  • improvements to null column handling in queries
  • work around for a 64 bit UAC issue
  • RPM lists can now be refreshed with F5 (Release)

February 15, 2011


  • The GUI now handles imports where you have devices not defined, queues already defined [see below]
  • The devices in the Device tab are numbered, to help you see how many you have defined. The Devices tab also has a "reserved" column to show which ones are currently in use.
  • The status bar shows how many devices you are licensed for. Remember this number represents the total you can use at one time. You can define as many as you want; we don't limit you there.
  • We have added considerable logging. We're moving away from the Windows Event log, using an Sqlite database as a "local events log". We are also logging much more there than we were before.
  • The "local events log" described above is copied to a CSV file (text, compatible with spreadsheets and databases).
  • We've added details on the operating system, software version, and licensing to the "local events log" to facilitate support.
  • RPM also creates an external configuration file for certain items called "config.xml".
  • RPM also creates an external CSV file with license information, such as serial number, etc. This should assist users who need to relicense but don't know what their old serial number was.

Import/export improvements:

  • Let's say you import a configuration. What do you do with the queues if they already exist? RPM was making a new queue called "Copy of ...". Now we have 3 ways to handle this:
    • Overwrite, the existing queue is removed and the new one is put in its place
    • Rename, the existing queue is renamed to "queue"_bak, which will be bad news if that queue name already exists
    • Ignore, don't import a queue if the name is in use.
  • Devices are now imported.
  • If the import needs to prompt for login credentials, we now depend on a check box to specify "prompt for all credentials" or "all devices use the Local System account".
  • Actions are now created regardless of whether the device exists on the system. It's easier to add a device than to recreate all the other settings for an action. We do warn you when this happens, though it should not cause a problem since RPM can already handle missing devices when jobs are printed.
  • Error lists are now text areas, so you can note for yourself what needs to be fixed.

Bugs fixed:

  • the insert file transform was limiting print jobs to 131K at most. This is fixed.
  • RPM Elite recognizes a license with "unlimited devices" correctly.
  • The device list in the GUI now works for many devices, whereas before it would work well only for around a dozen. You can now edit devices in the GUI even if you have hundreds.
  • Files with numerous backspaces or carriage returns were throwing off the "autocalculate" feature in Text Markup; for instance lines that were meant to be 80 column could turn out to be 140.
  • Several fixes to the raw print action, in particular page ranges now work well. It should print whatever range you want, and if the file doesn't contain pages in that range the job will be errored so you can see in the Jobs tab just what happened.
  • RPM correctly removes jobs whose files no longer exist, and files whose job can't be found, from the spool folder.

January 11, 2011

  • Fixed a bug that prevented RPM from processing files over 64K bytes. If you have a previous version, more specifically, please update immediately.

January 6, 2011

  • Fixed a bug that cause the Append Bytes and Insert Bytes transforms to not work correctly when they were used together. The Append Bytes transform didn't append in this instance. Generally this should work for any transform combination now.
  • The Text Markup to PDF transform now expects the input to be UTF-8, rather than trying to detect what the input is. This puts the responsibility back on the administrator to recognize the input data types correctly, as automatic code page recognition is still not a best practice.
  • The email action now correctly reports when a wrong user login or password is used.
  • If you minimized the UI then restored it, it wouldn't always talk with the service as expected. This is fixed.
  • Transforms that use the Edit Bytes dialog, for instance Insert Bytes and Append Bytes, were having JSON encoding issues with some byte sequences. This is fixed.

December 23, 2010

  1. A bug was introduced in the version which prevented RPM from archiving to shared folders. The file was created but was instantly removed. This is fixed. Thank you to the customers who pointed this out to us.
  2. You can no longer set the temp folder to be the same as the spool folder. We never considered anyone would do this, but now we prevent it.
  3. Drag & drop is now available for non-administrative users.
  4. Several user interface "trace messages" have been resolved. These were non-critical runtime errors.

December 14, 2010

  • Lines ending in form feed, that also had an embedded carriage return (not at the end but meant as an overprint operator) were not handle correctly. The symptom was that the portion of the line following the carriage return would be removed, but only on lines ending with a form feed. This is now fixed.
  • We no longer use the data file size in the LPR print request to "reserve" disk space. The Microsoft client is configured incorrectly by default; this was causing too many problems. We now have a system that dynamically watches available disk space and works across both LPR and telnet protocols, as well as queue copy, archive and filter actions.
  • If the print client sends a full file path in the file name field, we now allow it and don't report an RFC 4637 encoded string in queue status requests.

December 3, 2010

  • The Text Markup to PDF transform now supports underlay for the watermark. This is the default.
  • In the GUI, if you close the Log tab, the GUI no longer requests log records from the service. If you have a large log this is a noticeable performance improvement.

November 3, 2010

  • Control file: specifying a folder to save control files was having no effect. This functionality is restored.
  • Interactive text print works. This was briefly broken in version 5.1 when we changed the way we do landscape, if the print job requires landscape and the printer definition is set to portrait.
  • Job status email: the folder path or device path was a JSON encoded string. This is now a regular string.
  • Elite only:
    • the PDF watermark was resulting in a zero length PDF file. This now works.
    • the service was not accepting host access templates with wild cards, like *.brooksnet.com for example. This now works. The problem was related to partial matches in the regular expression code.

October 19, 2010

  • Support for multibyte (Chinese, Japanese, Korean) folder names, printer names and font names. The GUI for both versions and the web interface for Elite have also been updated.
  • The text markup to PDF transform now supports UTF-8. We no longer need to consider the output format for PDF; just specify the appropriate font and the file should display correctly.
  • The text markup to PDF transform can now use either Windows fonts or native Adobe fonts for Asian print jobs  Note that we also support Windows font catalogs which are used for many Asian fonts.
  • RPM Elite now includes a transform for converting PCL to PostScript, JPEG, TIFF and Windows bitmap files. 
  • The text markup option which automatically calculates the best layout for the data is now optimized to use the longest line length if the data has irregular lengths. You can still use the weighted average as before, but longest line is the new default. 
  • You can now use hostname wildcards and IP address wildcards to gain access to the web interface. Previously, you could only use IP addresses.
  • Numerous improvements to database performance and stability. You can also optionally use the Firebird SQL server, if it is installed on your system. 
  • On LPD print jobs, if a job is received from a host and your network can't resolve the hostname in a timely manner, the job is no longer delayed. RPM will use the IP address and resolve the hostname on its own time. You would see this if your network was configured to use WINS for name resolution rather than DNS, and if the IP address wasn't properly registered.
  • Duplex now works correctly in the text markup to PCL transform. 
  • The GUI now runs only a single instance. 
  • The RPM GUI and web interface now support a queue description, optional text which can be updated at any time. 
  • Jobs with multiple actions are no longer shown as processing when they were in fact complete; this happened occasionally under high load 
  • If you imported a configuration that included jobs, the jobs would be reprinted. They no longer reprint.
  • The ASA transform now deals correctly with blank lines in the input. ASA requires a character in the first position to tell it what to do. 
  • If you ran the GUI as a non-privileged user, you would see a menu option for queue status display, but the queue status panel would not display. This is fixed; you see the queue status but you can't change the settings, as is appropriate with non-privileged users. 
  • Transforms are no longer reordered with insert operations always happening first, and append always happening last. The previous behavior was planned but was inconvenient for most users, so we took it out.
  • If a printer recovers from its error, and you have archive folders defined, RPM no longer lists the disks containing the archive folders as recovering from an error. This was a status only and was incorrectly reported. 
  • There was a problem with the idle time handling for filter programs where the program would sometimes be reported as done, when in fact it wasn't. This is fixed. 
  • The log export in the RPA wasn't showing messages related to printing; queue and network messages were available. This is fixed. 
  • Added "Job ID" to the list of job data you can use for file naming. Note that the queue sequence number is unique for each queue, but job ID is unique for the installed life of the application. Unless you reinstall with a new database, you will not get duplicate job IDs with RPM. 
  • The PCL removal transform was not removing font definitions in some cases; this is fixed. 
  • Changed the way that printer output is rotated in the Windows (text) printing action if we had to force landscape output, and the printer setup was portrait. The old method did not work reliably on some print drivers.
  • Added "job total" to the GUI, so you can see for each queue how many jobs it has processed overall. Also added ability to reset this to zero. This is on a per-queue basis.
  • On a system with no printers configured, you were unable to add actions because printers could not be enumerated. This is fixed. You will now see the non-printer related actions. This was also a problem if the Windows spooler was stopped.

December 28, 2009

  • RPM Elite version 5.0 is now released! Please see the RPM Elite comparison page for information on what has been added
  • Speed improvements for very large jobs
  • RPM now performs disk space checks prior to receiving and printing jobs and other disk operations
  • We've added auto-calc layout to the text markup transform. This eliminates the requirement to include a text markup transform before you text print, create PDF, and many other situations. The text print action, the PDF transform and several others will automatically include a text markup transform if the incoming data appears to be plain text. Instead of defaulting to 6 lines per inch, the text markup transform will examine the incoming data and attempt to determine a good fit for line length and page length. This setting is also available in the text markup dialog.
  • The filter action now supports tracking process idle time (for the entire process tree) and terminating filter programs which have hung; and saving the standard error log
  • Added seach for log entries
  • Improvements to importing registry files from previous versions of RPM, including recognizing printer pools
  • The ASA transform was not specifying the font name
  • PCL code removal bug on buffer boundaries, some codes were not removed
  • If RPM warns about unrecognized control file lines, it now tells you what the unknown charater is, though it still does not affect printing
  • We refactored how RPM processes LPR control files, which resolves some unusual bugs
  • The duplex setting in the PCL transform now works correctly
  • Scheduler fixex includes:
    • If you had many held jobs and released them all at once, some wouldn't print. This was due to a race condition between scheduling the job and setting the "held" attribute to zero.
    • If you released very large numbers of jobs, randomly some would not print.
  • Text markup to PDF changes include:
    • Very large PDF files were truncated. It turns out that if you need to make more than 8191 pages, you need to set this at the beginning.
    • Improvements to memory usage for very large files
    • Word wrap was not working correctly in the PDF transform.
  • Telnet protocl changes include:
    • Added support for the job user
    • The job format control now lists job data relevant to telnet, not the entire LPR list
    • You can now edit the default "quiet print" setting
    • Changed the way telnet timeouts are logged; basically, they aren't
  • GUI changes include:
    • The queues list now shows queues without actions with an empty (black and white) printer icon.
    • The job properties dialog how supports start and end page
    • The jobs list now includes a column for the error message
    • The device properties dialog now supports setting the maximum use count, and manually resetting device error
    • The device panel now includes the maximum and current use counts
    • The PCL banner transform can now act as a page separator by drawing from an input tray, and by printing a blank page instead of job data
    • certain controls hung on Windows 2000; these were refactored
    • added support for moving jobs from one queue to another as opposed to copying
    • in the string translator, regular expression support is now optional
    • increased resolution for margins and line settings in the text markup dialog
    • if you selected many jobs in the job list, then deleted, or reprinted, or held (anything you can do to multiple jobs) RPM would frequently complain about an empty list of jobs failing. This now works as expected and fairly quickly.
    • Added a queue description to the Queue Status panel
    • Swapped actions and transforms in the Queue Status panel, and lambelled them more clearly

March 17th, 2009

  • All files in the temp folder are removed on startup.
  • All files in the spool folder which are not associated with jobs are removed on startup.
  • When printing raw, if RPM can't open the printer with full access, we try the partial "print only" access. Some users don't have full access to their printers; they won't be able to set the print job user name or document name for the Windows spooler, but they'll be able to print.
  • Added a script and a program to shrink the database after making a backup. The sevice will be stopped during this operation.
  • Added a script and a program to scan the database and make repairs if needed. The service will be stopped during this operation.
  • Certain errors in actions weren't showing up in the device or the job, so you'd see an error status, but not know why. This has been improved.
  • Device errors are logged once, rather than multiple times.
  • If you drag a job onto the UI, or add jobs by importing the old RPM registry file, the jobs wouldn't print if the queue was suspended and you resumed it.
  • Added more logging so if you reprint a job and nothing happens, you'll be able to determine the reason.
  • Added logging so you could see the progress of the device tester, which works on devices in the error state.
  • Fixed the JOBATTRS index problem that occasionally shows up in the Windows event log.
  • In the email action, if you had two or more recipients in the same domain, they could receive duplicate emails. This may be related to Exchange. At any rate, it's now fixed.
  • RPM was giving incorrect results for lines that contained only space, bold and underscore. This is now fixed.
  • Replaced the PCL removal transform with one that is more lenient regarding incomplete or unexpected PCL sequences.
  • Added a log message for text printing which shows the actual hardware margins; also added socket info to some of the LPD messages.
  • Added a test so if the database copy on startup failed to write the correct number of bytes, this action would prevent us from opening the database.
  • Certain unexpected LPD errors were causing a "bad lexical cast" error. This situation is now logged and handled cleanly.
  • You can now specify a numeric font id for PCL fonts, in the user interface. This way you should be able to select any font your printer supports.
  • Added font spacing support to PCL. If you are using a fixed font like Courier, you can leave the spacing at the default, which is "fixed". If you are using a proportional font, you must change the spacing in order to get your requested font. This applies to the "text markup to PCL" and the PCL banner transforms.
  • Fixed a bug where, if you had multiple actions and "copies" were set to 1, when the first action completed the job would be marked as "complete".
  • Fixed issue with EBCDIC code page IBM1140 which would log an error and not complete.
  • EBCDIC code page CP011 has also been added as a French Canadian variant on IBM037.
  • If RPM prints landscape to a text printer that is set to portrait, the "top" (right) margin is now set correctly. It was too large.
  • Another landscape related issue: if your print job was using characters per line, or lines per page, the text print action was using the wrong metrics. This is now fixed.
  • Added more detailed logging to track down port-related errors.
  • If we run into "device limit exceeded", this is now logged once per device, not for each time the device is considered for a job (which could be a lot). Also, the device status is set to "Device limit exceeded".
  • If the installer finds rpmcfg.reg, a configuration file from RPM 4.5, it now waits for the service to start before continuing, and renames the file afterward so the file is not imported again during an upgrade.
  • The email action now supports the print job as the message body as an option, instead of attaching. Only plain text and HTML are supported for this.
  • You can now use job data in the subject line of an email message. You'll notice it has the same "Format" button that the attachment uses. The default subject is "<subject>" which you'll probably want to change.
  • We fixed a bug in text printing where underlined text could be moved to the end of the line.
  • RPM now gets the MAC address(es) defined on your computer on startup, and checks them with what it has seen before. If the primary MAC address has changed, then most likely the licensing will also be affected. This will let you know when we detect this change. Changes in the IP address(es) are also noted.
  • In the user interface import of registry files, if the "queue type" was raw and you had an SCS action, we now add a "strip markup" action. This is in keeping with the old RPM's behavior. If you would rather print PCL to a printer than plain text, you might want to remove that strip markup transform and add a PCL transform.
  • If Terminal Services is not running, or if the RPM process can't query it, we'll let you know that interactive processes will not run until this is corrected.

January 14th, 2009

  • The user interface now starts reliably. You should no longer see "license.get()" or related messages. If the service truly is not running, you'll still see a message about that.
  • If you sent a very large telnet job, it would fail with "Bad allocation" and start a new job. That is fixed.
  • If you had a queue with a number of archived jobs, suspend the queue, send more jobs, then resume the queue, the archived jobs would reprint, not just the new jobs. That is fixed.
  • If a queue had two or more copy actions, the filenames they used to copy to would be identical and occasionally an error "file exists" would happen. This is fixed. The filename now has the action instance id, which is unique. The other job properties are unaffected.
  • The telnet protocol is supposed to direct jobs to a queue; if this queue was removed, the telnet protocol would signal an error. It now creates a queue named "telnet_" followed by the port number, and uses that. The queue will remain suspended until it is configured in the UI.
  • The email job action is now more robust in handling multiple "to" addresses; also, addresses can be separated by comma or semicolon.
  • The install program now handles the case where the currently installed version is the same as what you are trying to install; you can decide whether or not to go forward.
  • Importing a configuration from the old RPM could result in an internal error in the UI. The symptom was that only some of the queues were created. This is resolved.
  • Addressed contention due to parallel updates in the RPM database, for instance, two completed print jobs updating the device
  • The "archive to folder" action is now logged at normal detail.

December 12th, 2008

  • When deleting a queue, all settings for every transform were removed, not just for the specific queue.
  • When upgrading to the same version, the window would immediately disappear without performing the upgrade.

November 10th, 2008


File placement:

  • The database and the spool and temporary folders are now located under the "All Users" application data directory
    • The old database will be automatically copied (the first time) from the programs folder to the new location.
    • Print jobs are not moved as the entire path is stored in the database. Do not move or delete the existing spool folder without deleting the jobs from RPM first.
    • User interface settings are found under the logged on user's application data directory.

PCL transform:

  • Added support for additional character sets
  • Now supports several hundred commonly used characters
  • Output now changes the line spacing if specified in the source file
  • Tab support in PCL is improved

Saving text:

  • Saving text markup to plain text now supports languages such as Thai where vowels print over consonants, which affects spacing in columnar output

SCS transform:

  • Now supports a combination of horizontal positioning commands and overprinted text.

Email authentication:

  • Now supports a login and password for your SMTP server, if required.

User interface (UI):

  • Added a column for the device status in the Devices tab
  • If a job errors, you can see the text in the Job properties window.


  • If you send a job that is not in text markup to actions (like text printing) or transforms (like PCL) that require it, the job will fail. Previously the job could fail silently or produce incorrect results.
  • When archiving a job to a folder, RPM no longer tries to create the folder if it doesn't exist. Now it sets "device" status (that is, on the folder) to "error"; you can take corrective action by creating the folder, then opening the action in the UI.

Tab support:

  • Tab support is improved in text printing, PCL, and HTML

Bug fixes (these problems are all fixed)

PCL transform:

  • On some files PCL generated an extra page.

Text printing:

  • Null characters were not being removed
  • Text printing could be off on succeeding pages if the last line of a page was empty, or the first line of the next page.
  • If you printed interactively, and set the printer port to write to a file, and canceled the file dialog, the "textprint" program would crash. Now it logs an error.


  • Certain errors would not clear. For instance, if you inserted a file, then removed the file, the job error would not clear even if you replaced the insert file.
  • One customer reported that the event log had messages about the JOBATTRS table. This is resolved.

SCS transform:

  • Long lines, for instance over 132 characters, could have a space character in the 132nd column.

Archive to network:

  • If you tried to save files to the root of a shared folder, the file would be saved to the wrong folder on the local computer.

User interface:

  • If you were logged in as an unprivileged user, or on Vista you did not run the UI elevated, and attempted to add login credentials to an action, the UI would exit. Now it displays a dialog box.
  • If you tried to import a configuration file from previous versions of RPM and the font was corrupt, the UI would exit when you opened the "text markup" dialog. Now it substitutes Courier New size 12 instead.
  • Some users reported that the UI would exit when making a list of network printers for the raw print action.
  • Turning off the "admin required" feature was not completely implemented.
  • If you had a suspended queue, with jobs that were not held, changing the "suspend" setting would not cause the jobs to print.

PDF transform:

  • The top printed line of a PDF page was off by one if the last line of the preceding page was blank.

August 15th, 2008

  • The email message body was blank; that is fixed
  • RPM is now using horizontal positioning hints for SCS files. If the print file includes AHPP commands, we use those with text printing. This affects languages such as Thai where a line of text may be shorter than the number of characters it contains, which throws spacing off.
  • We have dropped the requirement that the logged in user must be an administrator, in order to change things in RPM. However, you can still enforce that requirement if you want. You have to be logged in as an admin user in order to set that.

July 31st, 2008

  • In the character set conversion transform, if you were converting to UTF-8, the transform would occassionally show an error and incorrectly report it for the input code page. Both problems were fixed.
  • Substantial work was done in the SCS transform to handle wide characters.
  • A problem with the user interface preventing actions from importing was resolved.
  • The text print action was not working correctly with the output of the COR transform in some cases. COR was fixed.
  • Fixed issue where the log would incorrectly show that the device didn't exist while adding or changing login credentials.
  • A recent change prevented the characters per inch setting in the text markup action and SCS, ASA, and text markup dialogs from working. This was resolved.
  • It was reported that RPM could fail to archive a file on a shared drive, writing it on the root folder instead. We were unable to reproduce this but attempted to resolve it.
  • The UI incorrectly displayed a setting in the Job Archive dialog. This has been resolved.
  • RPM now logs filter commands at normal detail, and options such as stdin on high detail.
  • Resolved issue with the filter transform not reporting the control file location correctly. Forward slashes were used instead of backslashes.

July 14th, 2008

  • Fixed issue adding ports. The ports dialog was not accessible.
  • Resolved SCS issue where, depending on the SCS command used to move to the next line, the buffer could have been lost.
  • Added code page IBM-Thai (IBM838).

July 3rd, 2008

  • In the UI, you could not enter 1.0 as the value of any margin. The dialog now uses a more intuitive input field.
  • Fixed issue where data that did not end in a new line or form feed character would cause the string translator to drop the last line.
  • Raw printing no longer truncates output.

June 12th, 2008

  • Security checking now supports wildcards in hostnames or IP addresses
  • Fixed socket issue which occasionally caused RPM to output too many jobs
  • Some transforms improved to support byte level regular expressions (\xNN) properly
  • Email validator now allows the period (.) to be used as part of an email address

May 27th, 2008

User Interface

  • Drag and drop files into RPM queues
  • Drag and drop print jobs between queues
  • Easily duplicate queues with copy and paste operations
  • Import queue configuration from any RPM version
  • Select multiple queues or jobs simultaneously
  • View contents of print files with included hexadecimal viewer
  • More intuitive host access configuration
  • Improved log window with sortable columns
  • Better file naming options
    • More intuitive configuration
    • The append to file feature can create new files yearly, monthly, daily, and hourly


  • Improved LPD support:
    • Better handling of multiple print jobs on a single connection
    • Increased speed while receiving print jobs
    • Support for a wider variety of print clients
  • Page count estimate is displayed on incoming print jobs
  • Multi-threaded output
  • Security: each action can have its own login credentials, no longer need to run the server as a privileged user
  • Fully customizable print job workflow
  • Improvements to existing actions: text, raw, filter, and archive
  • The text printing action fully supports UTF-8
  • Specify number of copies when raw printing
  • Added ability to email print jobs
  • Added the ability to perform multiple actions on incoming print jobs (save and print, broadcast print)
  • Print job archiving
  • Reprint jobs
  • Added a number of data filtering options
  • Supports PDF, PCL, and HTML output
  • PDF supports international character sets including Asian languages
  • String translations
  • Supports variety of custom banner pages
  • Computer Output Reduction (COR) adds the ability to automatically rotate from portrait to landscape and scale the font size
  • Added support for more SNA Character Set (SCS) commands
  • Supports a wider variety of code pages, including double-byte character sets (DBCS)
  • Added support to break lines at a configurable width
  • Specify page range on each queue
    • Limit the maximum number of pages on incoming print jobs
    • Eliminate banner pages created on the host system
  • Customize the location of the Spool folder

February 2, 2008

  • Resolved a buffer overflow security vulnerability during the receive data file LPD subcommand. This issue was originally report by Luigi Auriemma here.

November 12, 2004

  • RPM now installs and uninstalls correctly on systems running Windows XP SP2
  • The setup program has been signed with a digital certificate
  • Remote Print Administrator for RPM Elite is signed with a digital certificate for better integration with Windows Server 2003
  • The EBCDIC table has been updated (character 0x9F is converted to 0x80 [euro])

October 23, 2003

  • Corrected a problem upon startup when the license was validated.
  • Improved communication between the user interface and the service.

September 17, 2003

  • Resolved issue with text queues where banner page overwrote the first page of the print job.
  • Corrected a problem with the translate LF to CR/LF function where extra carriage returns were added in the print job.
  • RPM now saves the windows that were opened previously; the same windows come up next time RPM is started.
  • When calling a filter program and %s is not specified in the command line, RPM now inserts the path to the data file as documented.
  • Resolved an issue when specifying an alternate location to save control files.
  • RPM now determines the largest available buffer size per TCP/IP connection and uses it, improving speed when receiving large files.
  • Some files with embedded null characters were printed incorrectly; this was also causing ASA translation issues.

November 12, 2002

  • Remove PCL codes option has been enhanced to remove all PCL codes, including graphics.
  • Batch files are now shown by default when browsing for filter programs.
  • Some files and folders were not properly removed during uninstallation.
  • Users can now successfully specify a range of pages to print.
  • RPM Elite could not be upgraded to unlimited printers.

October 08, 2002

  • Queue List window can now be sorted on the title column; before it would not sort properly.
  • RPM installation failed on Windows NT with service pack 5 or earlier during dll registrations.
  • Queues were not always listed in the Queue List window after upgrading from previous versions.
  • Print jobs and queues with uppercase letters were not displayed properly in the Queue List window.
  • Some escape sequences that were not true PCL, but similar, were improperly removed.
  • When renaming and deleting a queue, the Queue List window was not properly refreshed.
  • The license manager and RPM user interfaces could not be opened by anyone other than a member of the Administrators group.
  • Export configuration was not properly handling file paths, either during uninstallation or when called from the File menu.
  • When receiving multiple copies of a print job, not all copies were printed and RPM logged warning messages.
  • From the Brooks License Manager (BLM), copying to clipboard and printing license information would not work properly, and license information was not displayed properly in the BLM user interface for non-English languages.
  • You can now specify the folder for saving control files on a per queue basis as well as globally.
  • The printer limit during trial was increased from 2 to 5 on RPM Select.
  • Printer module shows actual printers instead of additional printers. The module quantity can now be increased during trial as well, but is reset to the appropriate amount during licensing or after the module expires.
  • Brooks License Manager now allows editing of proxy settings; before it silently used the proxy information defined in Internet Explorer if a normal connection could not be made.
  • RPA can now be accessed securely using secure socket layers (SSL). An example is https://your.website.com/rpm.
  • Various issues with upgrading from RPM 2.3/3.0 NT versions were resolved.

August 14, 2002

  • Remote Print Administrator added to allow RPM to be configured remotely; this requires IIS on the RPM host and a browser at a client computer.
  • Software license manager enhanced for relicensing software and connecting through proxy servers.
  • Queue Status window would not display job names longer than 16 characters. It has now been increased to 40.
  • Many default settings modified in text queues and filter queues to support recent changes in many operating systems.
  • Added support for importing and exporting configuration. This is done from the File menu.
  • Support for specifying the destination folder of the control file information.
  • Added banner page support for all queue types. Previously was only allowed in raw and text type queues.
  • When printing a banner and inserting files or bytes, the file or bytes were inserted only after the banner. RPM now provides a way to select where the information is inserted.
  • The Report2Web style was updated to support the most current version of Report2Web. All versions are supported, but must be modified for previous versions.
  • Opening the Queue Status window after it was closed manually caused too many spaces between print job information.
  • When configuring RPM to preserve more than 7 days of log files, only 7 logfiles were saved.
  • Some tabbed dialogs were not using the system colors, but instead were forced to a gray color.
  • Some blank pages were printed whether the suppress blank pages setting was selected or not.